AntonLV před 6 roky
rodič
revize
9731ee1bfc

+ 7 - 0
inc/classes/BxDolAclQuery.php

@@ -235,6 +235,7 @@ class BxDolAclQuery extends BxDolDb implements iBxDolSingleton
                     `sys_acl_levels`.`QuotaMaxFileSize` AS `quota_max_file_size`,
                     UNIX_TIMESTAMP(`sys_acl_levels_members`.`DateStarts`) as `date_starts`,
                     UNIX_TIMESTAMP(`sys_acl_levels_members`.`DateExpires`) as `date_expires`,
+                    `sys_acl_levels_members`.`State` AS `state`,
                     `sys_acl_levels_members`.`TransactionID` AS `transaction_id`,
                     `sys_profiles`.`status`
             FROM `sys_acl_levels_members`
@@ -354,6 +355,12 @@ class BxDolAclQuery extends BxDolDb implements iBxDolSingleton
 
             if(!empty($sSetClause))
                 $sSetClause = ", `DateExpires`=" . $sSetClause;
+
+            if(isset($aPeriod['period_trial']) && $aPeriod['period_trial'] === true) {
+                $aBindings['state'] = 'trial';
+
+                $sSetClause .= ", `State`=:state";
+            }
     	}
 
         $sQuery = $this->prepare("INSERT `sys_acl_levels_members` SET `IDMember`=:member_id, `IDLevel`=:level_id, `DateStarts`=FROM_UNIXTIME(:date_starts), `TransactionID`=:transaction_id" . $sSetClause);

+ 1 - 0
install/sql/system.sql

@@ -1059,6 +1059,7 @@ CREATE TABLE `sys_acl_levels_members` (
   `IDLevel` int(10) unsigned NOT NULL DEFAULT '0',
   `DateStarts` datetime NOT NULL default '0000-00-00 00:00:00',
   `DateExpires` datetime default NULL,
+  `State` varchar(16) NOT NULL default '',
   `TransactionID` varchar(16) NOT NULL default '',
   PRIMARY KEY  (`IDMember`,`IDLevel`,`DateStarts`)
 );

+ 1 - 1
modules/boonex/acl/classes/BxAclModule.php

@@ -504,7 +504,7 @@ class BxAclModule extends BxDolModule
 
         $aPeriod = array('period' => (int)$aItemInfo['period'], 'period_unit' => $aItemInfo['period_unit']);
         if($sType == BX_ACL_LICENSE_TYPE_RECURRING && (int)$aItemInfo['trial'] > 0 && (int)$aItemInfo['level_id'] != (int)$aMembershipInfo['id'])
-            $aPeriod = array('period' => (int)$aItemInfo['trial'], 'period_unit' => 'day');
+            $aPeriod = array('period' => (int)$aItemInfo['trial'], 'period_unit' => 'day', 'period_trial' => true);
 
         $iReserve = (int)getParam($CNF['PARAM_RECURRING_RESERVE']);
         if(!empty($iReserve))

+ 13 - 11
modules/boonex/english/data/langs/system/en.xml

@@ -1778,22 +1778,22 @@
 	<string name="_sys_acl_action_not_allowed"><![CDATA[Your current membership ({2}) doesn't allow you to '{1}'.]]></string>
 	<string name="_sys_acl_action_not_allowed_after"><![CDATA[Your current membership ({2}) stopped to allow you to '{1}' {5}.]]></string>
 	<string name="_sys_acl_action_not_allowed_before"><![CDATA[Your current membership ({2}) will allow you to '{1}' {6}.]]></string>
-    <string name="_sys_acl_action_pending"><![CDATA[You are currently not an active member. Please, ask the site <a href="mailto:{7}">administrator</a> to make you an active member so you would be able to <b>{1}</b>.]]></string>
+        <string name="_sys_acl_action_pending"><![CDATA[You are currently not an active member. Please, ask the site <a href="mailto:{7}">administrator</a> to make you an active member so you would be able to <b>{1}</b>.]]></string>
 	<string name="_sys_acl_action_post_links"><![CDATA[Post links]]></string>
 	<string name="_sys_acl_action_post_links_desc"><![CDATA[Post links in text and textarea form fields]]></string>
 	<string name="_sys_acl_action_use_macros"><![CDATA[Use Macros]]></string>
-    <string name="_sys_acl_action_use_macros_desc"><![CDATA[Use special constructions to insert dynamic content almost anywhere]]></string>
+        <string name="_sys_acl_action_use_macros_desc"><![CDATA[Use special constructions to insert dynamic content almost anywhere]]></string>
 	<string name="_sys_acl_action_set_acl_level"><![CDATA[Set membership level]]></string>
 	<string name="_sys_acl_action_set_acl_level_desc"><![CDATA[Set membership level for profiles]]></string>
-  <string name="_sys_acl_action_show_membership_levels_in_privacy_groups"><![CDATA[Show membership levels in privacy groups]]></string>
-  <string name="_sys_acl_action_show_membership_levels_in_privacy_groups_desc"><![CDATA[Show membership levels in privacy groups]]></string>
-  <string name="_sys_acl_action_show_membership_private_info"><![CDATA[Show membership private info]]></string>
-  <string name="_sys_acl_action_show_membership_private_info_desc"><![CDATA[Show membership private info]]></string>
-  <string name="_sys_acl_action_set_badge"><![CDATA[Set badge]]></string>
-  <string name="_sys_acl_action_set_badge_desc"><![CDATA[Set badge for content]]></string>
-  <string name="_sys_acl_action_switch_to_any_profile"><![CDATA[Switch to any profile]]></string>
-  <string name="_sys_acl_action_switch_to_any_profile_desc"><![CDATA[Allow switch to any profile]]></string>
-  <string name="_sys_acl_action_set_acl_as_privacy"><![CDATA[Choose membership level as privacy]]></string>
+        <string name="_sys_acl_action_show_membership_levels_in_privacy_groups"><![CDATA[Show membership levels in privacy groups]]></string>
+        <string name="_sys_acl_action_show_membership_levels_in_privacy_groups_desc"><![CDATA[Show membership levels in privacy groups]]></string>
+        <string name="_sys_acl_action_show_membership_private_info"><![CDATA[Show membership private info]]></string>
+        <string name="_sys_acl_action_show_membership_private_info_desc"><![CDATA[Show membership private info]]></string>
+        <string name="_sys_acl_action_set_badge"><![CDATA[Set badge]]></string>
+        <string name="_sys_acl_action_set_badge_desc"><![CDATA[Set badge for content]]></string>
+        <string name="_sys_acl_action_switch_to_any_profile"><![CDATA[Switch to any profile]]></string>
+        <string name="_sys_acl_action_switch_to_any_profile_desc"><![CDATA[Allow switch to any profile]]></string>
+        <string name="_sys_acl_action_set_acl_as_privacy"><![CDATA[Choose membership level as privacy]]></string>
 	<string name="_sys_acl_action_set_acl_as_privacy_desc"><![CDATA[Choose membership level as privacy in add content forms]]></string>
         <string name="_sys_acl_action_set_form_fields_privacy"><![CDATA[Set form fields privacy]]></string>
 	<string name="_sys_acl_action_set_form_fields_privacy_desc"><![CDATA[Allow to set privacy for form fields]]></string>
@@ -1815,6 +1815,8 @@
 	<string name="_sys_acl_start"><![CDATA[Started: ]]></string>
 	<string name="_sys_acl_expire"><![CDATA[Expires: ]]></string>
 	<string name="_sys_acl_expire_never"><![CDATA[never]]></string>
+        <string name="_sys_acl_state"><![CDATA[State: ]]></string>
+        <string name="_sys_acl_state_trial"><![CDATA[Trial]]></string>
 
   <string name="_sys_audit_action_edit_content"><![CDATA[Content edited]]></string>
   <string name="_sys_audit_action_add_content"><![CDATA[Content added]]></string>

+ 13 - 11
modules/boonex/russian/data/langs/system/ru.xml

@@ -1762,21 +1762,21 @@
 	<string name="_sys_acl_action_not_allowed"><![CDATA[Ваше текущее членство ({2}) не позволяет '{1}'.]]></string>
 	<string name="_sys_acl_action_not_allowed_after"><![CDATA[Ваше текущее членство ({2}) более не позволяет '{1}' {5}.]]></string>
 	<string name="_sys_acl_action_not_allowed_before"><![CDATA[Ваше текущее членство ({2}) позволит '{1}' {6}.]]></string>
-    <string name="_sys_acl_action_pending"><![CDATA[В данный момент вы неактивный пользователь. Пожалуйста, попросите <a href="mailto:{7}">администратора сайта</a> активировать Вас, чтобы Вы могли <b>{1}</b>.]]></string>
+        <string name="_sys_acl_action_pending"><![CDATA[В данный момент вы неактивный пользователь. Пожалуйста, попросите <a href="mailto:{7}">администратора сайта</a> активировать Вас, чтобы Вы могли <b>{1}</b>.]]></string>
 	<string name="_sys_acl_action_post_links"><![CDATA[Публикация ссылок]]></string>
-    <string name="_sys_acl_action_post_links_desc"><![CDATA[Публикация ссылок в формах]]></string>
+        <string name="_sys_acl_action_post_links_desc"><![CDATA[Публикация ссылок в формах]]></string>
 	<string name="_sys_acl_action_use_macros"><![CDATA[Использовать макросы]]></string>
-    <string name="_sys_acl_action_use_macros_desc"><![CDATA[Использовать специально сконструированный вызов, для вставки динамического контента практически в любой текст]]></string>
+        <string name="_sys_acl_action_use_macros_desc"><![CDATA[Использовать специально сконструированный вызов, для вставки динамического контента практически в любой текст]]></string>
 	<string name="_sys_acl_action_set_acl_level"><![CDATA[Назначить членство]]></string>
 	<string name="_sys_acl_action_set_acl_level_desc"><![CDATA[Назначить членство для профилей]]></string>
-  <string name="_sys_acl_action_show_membership_levels_in_privacy_groups"><![CDATA[Показывать членство в группах конфиденциальности]]></string>
-  <string name="_sys_acl_action_show_membership_levels_in_privacy_groups_desc"><![CDATA[Показывать членство в группах конфиденциальности]]></string>
-  <string name="_sys_acl_action_show_membership_private_info"><![CDATA[Показывать конфиденциальную информацию о членстве]]></string>
-  <string name="_sys_acl_action_show_membership_private_info_desc"><![CDATA[Показывать конфиденциальную информацию о членстве]]></string>
-  <string name="_sys_acl_action_set_badge"><![CDATA[Назначение бейджей]]></string>
-  <string name="_sys_acl_action_set_badge_desc"><![CDATA[Назначение бейджей для контента]]></string>
-  <string name="_sys_acl_action_switch_to_any_profile"><![CDATA[Переключиться на любой профиль]]></string>
-  <string name="_sys_acl_action_switch_to_any_profile_desc"><![CDATA[Разрешать переключаться на любой профиль]]></string>
+        <string name="_sys_acl_action_show_membership_levels_in_privacy_groups"><![CDATA[Показывать членство в группах конфиденциальности]]></string>
+        <string name="_sys_acl_action_show_membership_levels_in_privacy_groups_desc"><![CDATA[Показывать членство в группах конфиденциальности]]></string>
+        <string name="_sys_acl_action_show_membership_private_info"><![CDATA[Показывать конфиденциальную информацию о членстве]]></string>
+        <string name="_sys_acl_action_show_membership_private_info_desc"><![CDATA[Показывать конфиденциальную информацию о членстве]]></string>
+        <string name="_sys_acl_action_set_badge"><![CDATA[Назначение бейджей]]></string>
+        <string name="_sys_acl_action_set_badge_desc"><![CDATA[Назначение бейджей для контента]]></string>
+        <string name="_sys_acl_action_switch_to_any_profile"><![CDATA[Переключиться на любой профиль]]></string>
+        <string name="_sys_acl_action_switch_to_any_profile_desc"><![CDATA[Разрешать переключаться на любой профиль]]></string>
         <string name="_sys_acl_action_set_acl_as_privacy"><![CDATA[Использовать уровень членства в настройках приватности]]></string>
 	<string name="_sys_acl_action_set_acl_as_privacy_desc"><![CDATA[Использовать уровень членства в настройках приватности в формах добавления контента]]></string>
         <string name="_sys_acl_action_set_form_fields_privacy"><![CDATA[Назначение приватности для полей форм]]></string>
@@ -1799,6 +1799,8 @@
 	<string name="_sys_acl_start"><![CDATA[Начало: ]]></string>
 	<string name="_sys_acl_expire"><![CDATA[Окончание: ]]></string>
 	<string name="_sys_acl_expire_never"><![CDATA[никогда]]></string>
+        <string name="_sys_acl_state"><![CDATA[Состояние: ]]></string>
+        <string name="_sys_acl_state_trial"><![CDATA[Пробный]]></string>
 
   <string name="_sys_audit_action_edit_content"><![CDATA[Контент изменен]]></string>
   <string name="_sys_audit_action_add_content"><![CDATA[Контент добавлен]]></string>

+ 1 - 1
template/acl_membership.html

@@ -2,6 +2,6 @@
     <div class="bx-acl-m-title bx-def-font-h3">__level__</div>
     <div class="bx-acl-m-thumbnail bx-def-margin-sec-top">__thumbnail__</div>
     <bx_if:show_private_info>
-        <div class="bx-acl-m-info bx-def-margin-sec-top bx-def-font-small"><bx_text:_sys_acl_start /> <b>__date_start__</b> <bx_text:_sys_acl_expire /> <b>__date_expire__</b></div>
+        <div class="bx-acl-m-info bx-def-margin-sec-top bx-def-font-small"><bx_text:_sys_acl_start /> <b>__date_start__</b> <bx_text:_sys_acl_expire /> <b>__date_expire__</b><bx_if:show_state><br /><bx_text:_sys_acl_state /> <b>__state__</b></bx_if:show_state></div>
     </bx_if:show_private_info>
 </div>

+ 7 - 1
template/scripts/BxBaseAcl.php

@@ -36,7 +36,13 @@ class BxBaseAcl extends BxDolAcl
         if($bTmplVarsPrivateInfo)
             $aTmplVarsPrivateInfo = array(
                 'date_start' => bx_time_js($aLevel['date_starts']),
-                'date_expire' => (int)$aLevel['date_expires'] > 0 ? bx_time_js($aLevel['date_expires']) : _t('_sys_acl_expire_never')
+                'date_expire' => (int)$aLevel['date_expires'] > 0 ? bx_time_js($aLevel['date_expires']) : _t('_sys_acl_expire_never'),
+                'bx_if:show_state' => array(
+                    'condition' => !empty($aLevel['state']),
+                    'content' => array(
+                        'state' => _t('_sys_acl_state_' . $aLevel['state'])
+                    )
+                )
             );
 
         $oTemplate = BxDolTemplate::getInstance();