Przeglądaj źródła

Merge branch 'master' of https://github.com/unaio/una

AntonLV 6 lat temu
rodzic
commit
d3e1d97647

+ 12 - 2
modules/boonex/classes/classes/BxClssModule.php

@@ -14,6 +14,8 @@ define('BX_CLASSES_AVAIL_ALWAYS', 1);
 define('BX_CLASSES_AVAIL_PREV_CLASS_COMPLETED', 2);
 define('BX_CLASSES_AVAIL_AFTER_START_DATE', 3);
 define('BX_CLASSES_AVAIL_AFTER_START_DATE_PREV_CLASS_COMPLETED', 4);
+define('BX_CLASSES_AVAIL_BETWEEN_START_END_DATES', 5);
+define('BX_CLASSES_AVAIL_BETWEEN_START_END_DATES_PREV_CLASS_COMPLETED', 6);
 
 /**
  * Classes module
@@ -478,12 +480,20 @@ class BxClssModule extends BxBaseModTextModule
             return CHECK_ACTION_RESULT_ALLOWED;
 
         // check start date
-        if ((BX_CLASSES_AVAIL_AFTER_START_DATE == $aDataEntry['avail'] || BX_CLASSES_AVAIL_AFTER_START_DATE_PREV_CLASS_COMPLETED == $aDataEntry['avail']) && $aDataEntry['start_date'] > time()) {
+        $a = array(BX_CLASSES_AVAIL_AFTER_START_DATE, BX_CLASSES_AVAIL_AFTER_START_DATE_PREV_CLASS_COMPLETED, BX_CLASSES_AVAIL_BETWEEN_START_END_DATES, BX_CLASSES_AVAIL_BETWEEN_START_END_DATES_PREV_CLASS_COMPLETED);
+        if (in_array($aDataEntry['avail'], $a) && $aDataEntry['start_date'] && $aDataEntry['start_date'] > time()) {
             return _t('_bx_classes_txt_err_not_avail_before_start_date', bx_time_js($aDataEntry['start_date'], BX_FORMAT_DATE_TIME, true));
         }
 
+        // check due date
+        $a = array(BX_CLASSES_AVAIL_BETWEEN_START_END_DATES, BX_CLASSES_AVAIL_BETWEEN_START_END_DATES_PREV_CLASS_COMPLETED);
+        if (in_array($aDataEntry['avail'], $a) && $aDataEntry['end_date'] && $aDataEntry['end_date'] < time()) {
+            return _t('_bx_classes_txt_err_not_avail_after_end_date', bx_time_js($aDataEntry['end_date'], BX_FORMAT_DATE_TIME, true));
+        }
+
         // check availability
-        if ((BX_CLASSES_AVAIL_PREV_CLASS_COMPLETED == $aDataEntry['avail'] || BX_CLASSES_AVAIL_AFTER_START_DATE_PREV_CLASS_COMPLETED == $aDataEntry['avail']) && !$this->serviceIsPrevClassCompleted($aDataEntry, $iProfileId)) {
+        $a = array(BX_CLASSES_AVAIL_PREV_CLASS_COMPLETED, BX_CLASSES_AVAIL_AFTER_START_DATE_PREV_CLASS_COMPLETED);
+        if (in_array($aDataEntry['avail'], $a) && !$this->serviceIsPrevClassCompleted($aDataEntry, $iProfileId)) {
             if (!($aPrevClass = $this->_oDb->getPrevEntry ($aDataEntry['id'])))
                 return _t('_sys_txt_error_occured');
             return _t('_bx_classes_txt_err_not_avail_before_prev_class_completed', $this->serviceGetLink($aPrevClass['id']), bx_process_output($aPrevClass['title']));

+ 3 - 0
modules/boonex/classes/install/langs/en.xml

@@ -214,6 +214,8 @@
     <string name="_bx_classes_avail_prev_class_completed"><![CDATA[When previous class is completed]]></string>
     <string name="_bx_classes_avail_after_start_date"><![CDATA[After start date]]></string>
     <string name="_bx_classes_avail_after_start_date_prev_class_completed"><![CDATA[After start date & previous class is completed]]></string>
+    <string name="_bx_classes_avail_between_start_end_dates"><![CDATA[Between start & due dates]]></string>
+    <string name="_bx_classes_avail_between_start_end_dates_prev_completed"><![CDATA[Between start and due dates & previous class is completed]]></string>
 
     <string name="_bx_classes_pre_lists_cmts"><![CDATA[Comments Settings]]></string>
     <string name="_bx_classes_cmts_disabled"><![CDATA[Disabled]]></string>
@@ -247,6 +249,7 @@
     <string name="_bx_classes_txt_err_cant_add_class_without_context"><![CDATA[Class can be added into context only]]></string>
     <string name="_bx_classes_txt_err_cant_add_class_without_modules"><![CDATA[Please create classes module first]]></string>
     <string name="_bx_classes_txt_err_not_avail_before_start_date"><![CDATA[Class will be available {0}]]></string>
+    <string name="_bx_classes_txt_err_not_avail_after_end_date"><![CDATA[Class isn't available after {0}]]></string>
     <string name="_bx_classes_txt_err_not_avail_before_prev_class_completed"><![CDATA[Class will be available after completing previous class - <a href="{0}">{1}</a>]]></string>
     <string name="_bx_classes_txt_err_modules_with_classes_cannot_be_deleted"><![CDATA[Modules with classes can't be deleted]]></string>
 

+ 3 - 1
modules/boonex/classes/install/sql/install.sql

@@ -517,7 +517,9 @@ INSERT INTO `sys_form_pre_values`(`Key`, `Value`, `Order`, `LKey`, `LKey2`) VALU
 ('bx_classes_avail', '1', 1, '_bx_classes_avail_always', ''),
 ('bx_classes_avail', '2', 2, '_bx_classes_avail_prev_class_completed', ''),
 ('bx_classes_avail', '3', 3, '_bx_classes_avail_after_start_date', ''),
-('bx_classes_avail', '4', 4, '_bx_classes_avail_after_start_date_prev_class_completed', '');
+('bx_classes_avail', '4', 4, '_bx_classes_avail_after_start_date_prev_class_completed', ''),
+('bx_classes_avail', '5', 5, '_bx_classes_avail_between_start_end_dates', ''),
+('bx_classes_avail', '6', 6, '_bx_classes_avail_between_start_end_dates_prev_completed', '');
 
 INSERT INTO `sys_form_pre_lists`(`key`, `title`, `module`, `use_for_sets`) VALUES
 ('bx_classes_cmts', '_bx_classes_pre_lists_cmts', 'bx_classes', '0');