Browse Source

Ticket #537 - integration with ACL module.

AntonLV 9 years ago
parent
commit
e4f2402445

+ 1 - 0
modules/boonex/acl/classes/BxAclConfig.php

@@ -38,6 +38,7 @@ class BxAclConfig extends BxBaseModGeneralConfig
         	'OBJECT_FORM_PRICE' => 'bx_acl_price',
             'OBJECT_FORM_PRICE_DISPLAY_ADD' => 'bx_acl_price_add',
         	'OBJECT_FORM_PRICE_DISPLAY_EDIT' => 'bx_acl_price_edit',
+        	'OBJECT_FORM_PRELISTS_PERIOD_UNITS' => 'bx_acl_period_units',
         );
 
 		$this->_aGridObjects = array(

+ 1 - 0
modules/boonex/acl/classes/BxAclDb.php

@@ -97,6 +97,7 @@ class BxAclDb extends BxDolModuleDb
 			`tap`.`period` AS `period`,
 			`tap`.`period_unit` AS `period_unit`,
 			`tap`.`price` AS `price`,
+			`tap`.`trial` AS `trial`,
 			`tap`.`order` AS `order`";
 
         if(!isset($aParams['order']) || empty($aParams['order']))

+ 2 - 20
modules/boonex/acl/classes/BxAclGridAdministration.php

@@ -9,20 +9,15 @@
  * @{
  */
 
+require_once('BxAclGridLevels.php');
 
-class BxAclGridAdministration extends BxTemplGrid
+class BxAclGridAdministration extends BxAclGridLevels
 {
-	protected $MODULE;
-	protected $_oModule;
-
 	protected $_sParamsDivider = '#-#';
 	protected $_iLevelId = 0;
 
     public function __construct ($aOptions, $oTemplate = false)
     {
-    	$this->MODULE = 'bx_acl';
-    	$this->_oModule = BxDolModule::getInstance($this->MODULE);
-
         parent::__construct ($aOptions, $oTemplate);
 
         $iLevel = (int)bx_get('level');
@@ -171,19 +166,6 @@ class BxAclGridAdministration extends BxTemplGrid
         $oForm->addCssJs();
     }
 
-    protected function _getCellPeriodUnit($mixedValue, $sKey, $aField, $aRow)
-    {
-    	$mixedValue = _t('_bx_acl_pre_values_' . $mixedValue);
-    	return parent::_getCellDefault($mixedValue, $sKey, $aField, $aRow);
-    }
-
-	protected function _getCellPrice($mixedValue, $sKey, $aField, $aRow)
-    {
-    	$aCurrency = $this->_oModule->_oConfig->getCurrency();
-
-        return parent::_getCellDefault($aCurrency['sign'] . $mixedValue, $sKey, $aField, $aRow);
-    }
-
 	protected function _getActionAdd ($sType, $sKey, $a, $isSmall = false, $isDisabled = false, $aRow = array())
     {
         if(empty($this->_iLevelId))

+ 54 - 0
modules/boonex/acl/classes/BxAclGridLevels.php

@@ -0,0 +1,54 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    PaidLevels Paid Levels
+ * @ingroup     UnaModules
+ * 
+ * @{
+ */
+
+
+class BxAclGridLevels extends BxTemplGrid
+{
+	protected $MODULE;
+	protected $_oModule;
+
+	protected $_aPeriodUnits;
+
+    public function __construct ($aOptions, $oTemplate = false)
+    {
+    	$this->MODULE = 'bx_acl';
+    	$this->_oModule = BxDolModule::getInstance($this->MODULE);
+
+        parent::__construct ($aOptions, $oTemplate);
+
+        $CNF = $this->_oModule->_oConfig->CNF;
+
+        $this->_aPeriodUnits = BxDolForm::getDataItems($CNF['OBJECT_FORM_PRELISTS_PERIOD_UNITS']);
+    }
+
+	protected function _getCellPeriod($mixedValue, $sKey, $aField, $aRow)
+    {
+    	$mixedValue = _t('_bx_acl_txt_n_unit', $mixedValue, _t($this->_aPeriodUnits[$aRow['period_unit']]));
+
+    	return parent::_getCellDefault($mixedValue, $sKey, $aField, $aRow);
+    }
+
+	protected function _getCellPrice($mixedValue, $sKey, $aField, $aRow)
+    {
+    	$aCurrency = $this->_oModule->_oConfig->getCurrency();
+
+        return parent::_getCellDefault($aCurrency['sign'] . $mixedValue, $sKey, $aField, $aRow);
+    }
+
+	protected function _getCellTrial($mixedValue, $sKey, $aField, $aRow)
+    {
+        $mixedValue = (int)$mixedValue != 0 ? _t('_bx_acl_txt_n_unit', $mixedValue, _t($this->_aPeriodUnits['day'])) : _t('_bx_acl_txt_none');
+
+        return parent::_getCellDefault($mixedValue, $sKey, $aField, $aRow);
+    }
+}
+
+/** @} */

+ 3 - 21
modules/boonex/acl/classes/BxAclGridView.php

@@ -9,21 +9,16 @@
  * @{
  */
 
+require_once('BxAclGridLevels.php');
 
-class BxAclGridView extends BxTemplGrid
+class BxAclGridView extends BxAclGridLevels
 {
-	protected $MODULE;
-	protected $_oModule;
-
 	protected $_iOwner;
 	protected $_oPayment;
 
     public function __construct ($aOptions, $oTemplate = false)
     {
-    	$this->MODULE = 'bx_acl';
-    	$this->_oModule = BxDolModule::getInstance($this->MODULE);
-
-        parent::__construct ($aOptions, $this->_oModule->_oTemplate);
+        parent::__construct ($aOptions, $oTemplate);
 
         $this->_iOwner = $this->_oModule->_oConfig->getOwner();
         $this->_oPayment = BxDolPayments::getInstance();
@@ -34,19 +29,6 @@ class BxAclGridView extends BxTemplGrid
     	return $this->_oPayment->getCartJs() . parent::getCode($isDisplayHeader);
     }
 
-	protected function _getCellPeriodUnit($mixedValue, $sKey, $aField, $aRow)
-    {
-    	$mixedValue = _t('_bx_acl_pre_values_' . $mixedValue);
-    	return parent::_getCellDefault($mixedValue, $sKey, $aField, $aRow);
-    }
-
-	protected function _getCellPrice($mixedValue, $sKey, $aField, $aRow)
-    {
-    	$aCurrency = $this->_oModule->_oConfig->getCurrency();
-
-        return parent::_getCellDefault($aCurrency['sign'] . $mixedValue, $sKey, $aField, $aRow);
-    }
-
 	protected function _getActionBuy ($sType, $sKey, $a, $isSmall = false, $isDisabled = false, $aRow = array())
     {
     	$aJs = $this->_oPayment->getAddToCartJs($this->_iOwner, $this->MODULE, $aRow['id'], 1, true);

+ 12 - 2
modules/boonex/acl/classes/BxAclModule.php

@@ -81,6 +81,7 @@ class BxAclModule extends BxDolModule
 			'url' => BX_DOL_URL_ROOT . BxDolPermalinks::getInstance()->permalink($CNF['URL_VIEW']),
 			'price_single' => $aItem['price'],
 			'price_recurring' => $aItem['price'],
+			'trial_recurring' => $aItem['trial']
         );
     }
 
@@ -103,6 +104,7 @@ class BxAclModule extends BxDolModule
 				'url' => $sUrl,
 				'price_single' => $aItem['price'],
             	'price_recurring' => $aItem['price'],
+            	'trial_recurring' => $aItem['trial']
            );
 
         return $aResult;
@@ -134,8 +136,16 @@ class BxAclModule extends BxDolModule
         if(empty($aItem) || !is_array($aItem))
 			return array();
 
-		$aItemInfo = $this->_oDb->getPrices(array('type' => 'by_id', 'value' => $iItemId));
-        if(!BxDolAcl::getInstance()->setMembership($iClientId, $aItemInfo['level_id'], array('period' => $aItemInfo['period'], 'period_unit' => $aItemInfo['period_unit']), false, $sLicense))
+        $aItemInfo = $this->_oDb->getPrices(array('type' => 'by_id', 'value' => $iItemId));
+
+        $iPeriod = (int)$aItemInfo['period'];
+        $sPeriodUnit = $aItemInfo['period_unit'];
+		if($sType == BX_ACL_LICENSE_TYPE_RECURRING && (int)$aItemInfo['trial'] > 0) {
+		    $iPeriod = (int)$aItemInfo['trial'];
+		    $sPeriodUnit = 'day';
+		}
+
+        if(!BxDolAcl::getInstance()->setMembership($iClientId, $aItemInfo['level_id'], array('period' => $iPeriod, 'period_unit' => $sPeriodUnit), false, $sLicense))
             return array();
 
         return $aItem;

+ 10 - 5
modules/boonex/acl/install/langs/en.xml

@@ -26,6 +26,9 @@
 	<string name="_bx_acl_form_price_input_sys_price"><![CDATA[Price]]></string>
 	<string name="_bx_acl_form_price_input_price"><![CDATA[Price]]></string>
 	<string name="_bx_acl_form_price_input_err_price"><![CDATA[You need to enter a price here.]]></string>
+	<string name="_bx_acl_form_price_input_sys_trial"><![CDATA[Trial]]></string>
+    <string name="_bx_acl_form_price_input_trial"><![CDATA[Trial]]></string>
+    <string name="_bx_acl_form_price_input_inf_trial"><![CDATA[The number of days new customers should receive a free trial. Leave empty to disable trial period.]]></string>
 	<string name="_bx_acl_form_price_input_sys_do_submit"><![CDATA[Submit]]></string>
 	<string name="_bx_acl_form_price_input_do_submit"><![CDATA[Submit]]></string>
 	<string name="_bx_acl_form_price_input_sys_do_cancel"><![CDATA[Cancel]]></string>
@@ -34,18 +37,18 @@
 
 	<!-- Pre Lists -->
 	<string name="_bx_acl_pre_lists_period_units"><![CDATA[Billing Interval]]></string>
-	<string name="_bx_acl_pre_values_day"><![CDATA[Day(s)]]></string>
-	<string name="_bx_acl_pre_values_week"><![CDATA[Week(s)]]></string>
-	<string name="_bx_acl_pre_values_month"><![CDATA[Month(s)]]></string>
-	<string name="_bx_acl_pre_values_year"><![CDATA[Year(s)]]></string>
+	<string name="_bx_acl_pre_values_day"><![CDATA[day]]></string>
+	<string name="_bx_acl_pre_values_week"><![CDATA[week]]></string>
+	<string name="_bx_acl_pre_values_month"><![CDATA[month]]></string>
+	<string name="_bx_acl_pre_values_year"><![CDATA[year]]></string>
 
 
 	<!-- Grids -->
 	<string name="_bx_acl_grid_column_level_name"><![CDATA[Level]]></string>
 	<string name="_bx_acl_grid_column_name"><![CDATA[Name]]></string>
 	<string name="_bx_acl_grid_column_period"><![CDATA[Period]]></string>
-	<string name="_bx_acl_grid_column_period_unit"><![CDATA[Period Unit]]></string>
 	<string name="_bx_acl_grid_column_price"><![CDATA[Price]]></string>
+	<string name="_bx_acl_grid_column_trial"><![CDATA[Trial]]></string>
 
 	<string name="_bx_acl_grid_action_add"><![CDATA[Add]]></string>
 	<string name="_bx_acl_grid_action_edit"><![CDATA[Edit]]></string>
@@ -71,4 +74,6 @@
 	<string name="_bx_acl_txt_cart_item_title"><![CDATA[{0} ({1} {2})]]></string>
 	<string name="_bx_acl_txt_upgrade"><![CDATA[Upgrade]]></string>
 	<string name="_bx_acl_txt_manage"><![CDATA[Manage]]></string>
+	<string name="_bx_acl_txt_n_unit"><![CDATA[{0} ({1})]]></string>
+	<string name="_bx_acl_txt_none"><![CDATA[none]]></string>
 </resources>

+ 23 - 19
modules/boonex/acl/install/sql/install.sql

@@ -8,6 +8,7 @@ CREATE TABLE `bx_acl_level_prices` (
   `name` varchar(128) NOT NULL default '',
   `period` int(11) unsigned NOT NULL default '1',
   `period_unit` varchar(32) NOT NULL default '',
+  `trial` int(11) unsigned NOT NULL default '0',
   `price` float unsigned NOT NULL default '1',
   `order` int(11) NOT NULL,
   PRIMARY KEY (`id`),
@@ -29,6 +30,7 @@ INSERT INTO `sys_form_inputs` (`object`, `module`, `name`, `value`, `values`, `c
 ('bx_acl_price', @sName, 'level_id', '', '', 0, 'hidden', '_bx_acl_form_price_input_sys_level_id', '', '', 1, 0, 0, '', '', '', '', '', '', 'Int', '', 1, 0),
 ('bx_acl_price', @sName, 'period', '', '', 0, 'text', '_bx_acl_form_price_input_sys_period', '_bx_acl_form_price_input_period', '_bx_acl_form_price_input_inf_period', 1, 0, 0, '', '', '', 'Avail', '', '_bx_acl_form_price_input_err_period', 'Int', '', 1, 0),
 ('bx_acl_price', @sName, 'period_unit', '', '#!bx_acl_period_units', 0, 'select', '_bx_acl_form_price_input_sys_period_unit', '_bx_acl_form_price_input_period_unit', '', 1, 0, 0, '', '', '', 'Avail', '', '_bx_acl_form_price_input_err_period_unit', 'Xss', '', 1, 0),
+('bx_acl_price', @sName, 'trial', '', '', 0, 'text', '_bx_acl_form_price_input_sys_trial', '_bx_acl_form_price_input_trial', '_bx_acl_form_price_input_inf_trial', 0, 0, 0, '', '', '', '', '', '', 'Int', '', 1, 0),
 ('bx_acl_price', @sName, 'price', '', '', 0, 'text', '_bx_acl_form_price_input_sys_price', '_bx_acl_form_price_input_price', '', 1, 0, 0, '', '', '', 'Avail', '', '_bx_acl_form_price_input_err_price', 'Float', '', 1, 0),
 ('bx_acl_price', @sName, 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_acl_price', @sName, 'do_submit', '_bx_acl_form_price_input_do_submit', '', 0, 'submit', '_bx_acl_form_price_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
@@ -37,20 +39,22 @@ INSERT INTO `sys_form_inputs` (`object`, `module`, `name`, `value`, `values`, `c
 INSERT INTO `sys_form_display_inputs` (`display_name`, `input_name`, `visible_for_levels`, `active`, `order`) VALUES
 ('bx_acl_price_add', 'id', 2147483647, 0, 1),
 ('bx_acl_price_add', 'level_id', 2147483647, 1, 2),
-('bx_acl_price_add', 'period', 2147483647, 1, 3),
-('bx_acl_price_add', 'period_unit', 2147483647, 1, 4),
-('bx_acl_price_add', 'price', 2147483647, 1, 5),
-('bx_acl_price_add', 'controls', 2147483647, 1, 6),
-('bx_acl_price_add', 'do_submit', 2147483647, 1, 7),
-('bx_acl_price_add', 'do_cancel', 2147483647, 1, 8),
+('bx_acl_price_add', 'price', 2147483647, 1, 3),
+('bx_acl_price_add', 'period', 2147483647, 1, 4),
+('bx_acl_price_add', 'period_unit', 2147483647, 1, 5),
+('bx_acl_price_add', 'trial', 2147483647, 1, 6),
+('bx_acl_price_add', 'controls', 2147483647, 1, 7),
+('bx_acl_price_add', 'do_submit', 2147483647, 1, 8),
+('bx_acl_price_add', 'do_cancel', 2147483647, 1, 9),
 
 ('bx_acl_price_edit', 'id', 2147483647, 1, 1),
 ('bx_acl_price_edit', 'level_id', 2147483647, 1, 2),
-('bx_acl_price_edit', 'period', 2147483647, 1, 3),
-('bx_acl_price_edit', 'price', 2147483647, 1, 4),
-('bx_acl_price_edit', 'controls', 2147483647, 1, 5),
-('bx_acl_price_edit', 'do_submit', 2147483647, 1, 6),
-('bx_acl_price_edit', 'do_cancel', 2147483647, 1, 7);
+('bx_acl_price_edit', 'price', 2147483647, 1, 3),
+('bx_acl_price_edit', 'period', 2147483647, 1, 4),
+('bx_acl_price_edit', 'trial', 2147483647, 1, 5),
+('bx_acl_price_edit', 'controls', 2147483647, 1, 6),
+('bx_acl_price_edit', 'do_submit', 2147483647, 1, 7),
+('bx_acl_price_edit', 'do_cancel', 2147483647, 1, 8);
 
 
 -- PRE-VALUES
@@ -73,16 +77,16 @@ INSERT INTO `sys_objects_grid` (`object`, `source_type`, `source`, `table`, `fie
 INSERT INTO `sys_grid_fields` (`object`, `name`, `title`, `width`, `translatable`, `chars_limit`, `params`, `order`) VALUES
 ('bx_acl_administration', 'checkbox', '_sys_select', '1%', 0, '', '', 1),
 ('bx_acl_administration', 'order', '', '1%', 0, '', '', 2),
-('bx_acl_administration', 'name', '_bx_acl_grid_column_name', '20%', 0, 16, '', 3),
-('bx_acl_administration', 'period', '_bx_acl_grid_column_period', '20%', 0, 16, '', 4),
-('bx_acl_administration', 'period_unit', '_bx_acl_grid_column_period_unit', '20%', 0, 16, '', 5),
-('bx_acl_administration', 'price', '_bx_acl_grid_column_price', '20%', 0, 16, '', 6),
-('bx_acl_administration', 'actions', '', '18%', 0, '', '', 7),
+('bx_acl_administration', 'name', '_bx_acl_grid_column_name', '33%', 0, 32, '', 3),
+('bx_acl_administration', 'price', '_bx_acl_grid_column_price', '15%', 0, 16, '', 4),
+('bx_acl_administration', 'period', '_bx_acl_grid_column_period', '15%', 0, 16, '', 5),
+('bx_acl_administration', 'trial', '_bx_acl_grid_column_trial', '15%', 0, 16, '', 6),
+('bx_acl_administration', 'actions', '', '20%', 0, '', '', 7),
 
 ('bx_acl_view', 'level_name', '_bx_acl_grid_column_level_name', '35%', 1, 36, '', 1),
-('bx_acl_view', 'period', '_bx_acl_grid_column_period', '15%', 0, 16, '', 2),
-('bx_acl_view', 'period_unit', '_bx_acl_grid_column_period_unit', '15%', 0, 16, '', 3),
-('bx_acl_view', 'price', '_bx_acl_grid_column_price', '15%', 0, 16, '', 4),
+('bx_acl_view', 'price', '_bx_acl_grid_column_price', '15%', 0, 16, '', 2),
+('bx_acl_view', 'period', '_bx_acl_grid_column_period', '15%', 0, 16, '', 3),
+('bx_acl_view', 'trial', '_bx_acl_grid_column_trial', '15%', 0, 16, '', 4),
 ('bx_acl_view', 'actions', '', '20%', 0, '', '', 5);
 
 INSERT INTO `sys_grid_actions` (`object`, `type`, `name`, `title`, `icon`, `icon_only`, `confirm`, `order`) VALUES

+ 1 - 1
modules/boonex/market/install/langs/en.xml

@@ -42,7 +42,7 @@
     <string name="_bx_market_form_entry_input_duration_recurring"><![CDATA[Billing period]]></string>
     <string name="_bx_market_form_entry_input_sys_trial_recurring"><![CDATA[Recurring trial]]></string>
     <string name="_bx_market_form_entry_input_trial_recurring"><![CDATA[Trial period]]></string>
-    <string name="_bx_market_form_entry_input_trial_recurring_inf"><![CDATA[The number of days new customers should receive a free trial. Leave empty to disable Trial Period.]]></string>
+    <string name="_bx_market_form_entry_input_trial_recurring_inf"><![CDATA[The number of days new customers should receive a free trial. Leave empty to disable trial period.]]></string>
     <string name="_bx_market_form_entry_input_sys_header_beg_single"><![CDATA[One-time payment: begin]]></string>
     <string name="_bx_market_form_entry_input_header_beg_single"><![CDATA[One-time payment]]></string>
     <string name="_bx_market_form_entry_input_sys_header_beg_recurring"><![CDATA[Recurring payment: begin]]></string>

+ 2 - 2
modules/boonex/payment/install/sql/install.sql

@@ -214,8 +214,8 @@ INSERT INTO `sys_grid_fields` (`object`, `name`, `title`, `width`, `translatable
 ('bx_payment_grid_sbs_list', 'customer_id', '_bx_payment_grid_column_title_sbs_customer_id', '20%', 0, '24', '', 3),
 ('bx_payment_grid_sbs_list', 'subscription_id', '_bx_payment_grid_column_title_sbs_subscription_id', '20%', 0, '24', '', 4),
 ('bx_payment_grid_sbs_list', 'provider', '_bx_payment_grid_column_title_sbs_provider', '10%', 0, '16', '', 5),
-('bx_payment_grid_sbs_list', 'date', '_bx_payment_grid_column_title_sbs_date', '10%', 0, '10', '', 6),
-('bx_payment_grid_sbs_list', 'actions', '', '18%', 0, '', '', 7),
+('bx_payment_grid_sbs_list', 'date', '_bx_payment_grid_column_title_sbs_date', '14%', 0, '10', '', 6),
+('bx_payment_grid_sbs_list', 'actions', '', '14%', 0, '', '', 7),
 
 ('bx_payment_grid_sbs_history', 'seller_id', '_bx_payment_grid_column_title_sbs_seller_id', '24%', 0, '20', '', 1),
 ('bx_payment_grid_sbs_history', 'transaction', '_bx_payment_grid_column_title_sbs_transaction', '22%', 0, '18', '', 2),

+ 10 - 5
modules/boonex/russian/data/langs/bx_acl/ru.xml

@@ -26,6 +26,9 @@
 	<string name="_bx_acl_form_price_input_sys_price"><![CDATA[Цена]]></string>
 	<string name="_bx_acl_form_price_input_price"><![CDATA[Цена]]></string>
 	<string name="_bx_acl_form_price_input_err_price"><![CDATA[Здесь Вам необходимо ввести цену.]]></string>
+	<string name="_bx_acl_form_price_input_sys_trial"><![CDATA[Пробный период]]></string>
+    <string name="_bx_acl_form_price_input_trial"><![CDATA[Пробный период]]></string>
+    <string name="_bx_acl_form_price_input_inf_trial"><![CDATA[Количество пробных дней, которое новые пользователи получат бесплатно. Оставьте пустым для отключения пробного периода.]]></string>
 	<string name="_bx_acl_form_price_input_sys_do_submit"><![CDATA[Выполнить]]></string>
 	<string name="_bx_acl_form_price_input_do_submit"><![CDATA[Выполнить]]></string>
 	<string name="_bx_acl_form_price_input_sys_do_cancel"><![CDATA[Отменить]]></string>
@@ -34,18 +37,18 @@
 
 	<!-- Pre Lists -->
 	<string name="_bx_acl_pre_lists_period_units"><![CDATA[Платежный интервал]]></string>
-	<string name="_bx_acl_pre_values_day"><![CDATA[День(и)]]></string>
-	<string name="_bx_acl_pre_values_week"><![CDATA[Неделя(и)]]></string>
-	<string name="_bx_acl_pre_values_month"><![CDATA[Месяц(ы)]]></string>
-	<string name="_bx_acl_pre_values_year"><![CDATA[Год(ы)]]></string>
+	<string name="_bx_acl_pre_values_day"><![CDATA[день]]></string>
+	<string name="_bx_acl_pre_values_week"><![CDATA[неделя]]></string>
+	<string name="_bx_acl_pre_values_month"><![CDATA[месяц]]></string>
+	<string name="_bx_acl_pre_values_year"><![CDATA[год]]></string>
 
 
 	<!-- Grids -->
 	<string name="_bx_acl_grid_column_level_name"><![CDATA[Уровень]]></string>
 	<string name="_bx_acl_grid_column_name"><![CDATA[Имя]]></string>
 	<string name="_bx_acl_grid_column_period"><![CDATA[Период]]></string>
-	<string name="_bx_acl_grid_column_period_unit"><![CDATA[Единица периода]]></string>
 	<string name="_bx_acl_grid_column_price"><![CDATA[Цена]]></string>
+	<string name="_bx_acl_grid_column_trial"><![CDATA[Пробный период]]></string>
 
 	<string name="_bx_acl_grid_action_add"><![CDATA[Добавить]]></string>
 	<string name="_bx_acl_grid_action_edit"><![CDATA[Редактировать]]></string>
@@ -71,4 +74,6 @@
 	<string name="_bx_acl_txt_cart_item_title"><![CDATA[{0} ({1} {2})]]></string>
 	<string name="_bx_acl_txt_upgrade"><![CDATA[Улучшить]]></string>
 	<string name="_bx_acl_txt_manage"><![CDATA[Изменить]]></string>
+	<string name="_bx_acl_txt_n_unit"><![CDATA[{0} ({1})]]></string>
+    <string name="_bx_acl_txt_none"><![CDATA[нет]]></string>
 </resources>

+ 1 - 1
modules/boonex/russian/data/langs/bx_market/ru.xml

@@ -42,7 +42,7 @@
     <string name="_bx_market_form_entry_input_duration_recurring"><![CDATA[Период оплаты]]></string>
     <string name="_bx_market_form_entry_input_sys_trial_recurring"><![CDATA[Пробный период]]></string>
     <string name="_bx_market_form_entry_input_trial_recurring"><![CDATA[Пробный период]]></string>
-    <string name="_bx_market_form_entry_input_trial_recurring_inf"><![CDATA[Количество пробных дней, которое новые пользователи получат бесплатно. Оставьте пустым для отключения Пробного Периода.]]></string>
+    <string name="_bx_market_form_entry_input_trial_recurring_inf"><![CDATA[Количество пробных дней, которое новые пользователи получат бесплатно. Оставьте пустым для отключения пробного периода.]]></string>
     <string name="_bx_market_form_entry_input_sys_header_beg_single"><![CDATA[Разовая оплата: начало]]></string>
     <string name="_bx_market_form_entry_input_header_beg_single"><![CDATA[Разовая оплата]]></string>
     <string name="_bx_market_form_entry_input_sys_header_beg_recurring"><![CDATA[Подписка: начало]]></string>