AntonLV il y a 7 ans
Parent
commit
fc3620353c

+ 28 - 0
modules/boonex/developer/classes/BxDevNavigationItems.php

@@ -76,6 +76,9 @@ class BxDevNavigationItems extends BxTemplStudioNavigationItems
             exit;
         }
 
+        $this->_prepareServiceEdit('addon', $aItem);
+        $this->_prepareServiceEdit('visibility_custom', $aItem);
+
         $oForm = BxDolForm::getObjectInstance($sFormObject, $sFormDisplay, $this->oModule->_oTemplate);
         $oForm->aFormAttrs['action'] = BX_DOL_URL_ROOT . 'grid.php?o=' . $this->_sObject . '&a=' . $sAction . '&set=' . $this->sSet;
         $oForm->aInputs['controls'][0]['value'] = _t('_bx_dev_nav_btn_items_save');
@@ -83,6 +86,9 @@ class BxDevNavigationItems extends BxTemplStudioNavigationItems
 
         $oForm->initChecker($aItem);
         if($oForm->isSubmittedAndValid()) {
+            $this->_prepareServiceSave('addon', $oForm);
+            $this->_prepareServiceSave('visibility_custom', $oForm);
+
             if($oForm->update($aItem['id']) !== false)
                 $aRes = array('grid' => $this->getCode(false), 'blink' => $aItem['id']);
             else
@@ -101,6 +107,21 @@ class BxDevNavigationItems extends BxTemplStudioNavigationItems
         }
     }
 
+    protected function _prepareServiceEdit($sField, &$aItem)
+    {
+        if(empty($aItem[$sField]))
+            return;
+
+        $aItem[$sField] = BxDevFunctions::unserializeString($aItem[$sField]);
+    }
+
+    protected function _prepareServiceSave($sField, &$oForm)
+    {
+        $sValue = $oForm->getCleanValue($sField);
+        $sValue = BxDevFunctions::serializeString($sValue);
+        BxDolForm::setSubmittedValue($sField, $sValue, $oForm->aFormAttrs['method']);
+    }
+
     protected function _getActionDelete ($sType, $sKey, $a, $isSmall = false, $isDisabled = false, $aRow = array())
     {
         return  parent::_getActionDefault($sType, $sKey, $a, false, $isDisabled, $aRow);
@@ -122,6 +143,13 @@ class BxDevNavigationItems extends BxTemplStudioNavigationItems
         $aInputs['module']['value'] = $this->sModule;
 
         $aInputs['set_name']['value'] = $this->sSet;
+
+        $aInputs['hidden_on']['values'] = array(
+            BX_DB_HIDDEN_PHONE => _t('_bx_dev_nav_txt_sys_items_hidden_on_phone'),
+            BX_DB_HIDDEN_TABLET => _t('_bx_dev_nav_txt_sys_items_hidden_on_tablet'),
+            BX_DB_HIDDEN_DESKTOP => _t('_bx_dev_nav_txt_sys_items_hidden_on_desktop'),
+            BX_DB_HIDDEN_MOBILE => _t('_bx_dev_nav_txt_sys_items_hidden_on_mobile')
+        );
     }
 }
 /** @} */

+ 12 - 0
modules/boonex/developer/install/langs/en.xml

@@ -350,8 +350,20 @@
     <string name="_bx_dev_nav_txt_items_target"><![CDATA[Target]]></string>
     <string name="_bx_dev_nav_txt_sys_items_icon"><![CDATA[Icon]]></string>
     <string name="_bx_dev_nav_txt_items_icon"><![CDATA[Icon]]></string>
+    <string name="_bx_dev_nav_txt_sys_items_addon"><![CDATA[Addon]]></string>
+    <string name="_bx_dev_nav_txt_items_addon"><![CDATA[Addon]]></string>
     <string name="_bx_dev_nav_txt_sys_items_submenu_object"><![CDATA[Submenu Object]]></string>
     <string name="_bx_dev_nav_txt_items_submenu_object"><![CDATA[Submenu Object]]></string>
+    <string name="_bx_dev_nav_txt_sys_items_submenu_popup"><![CDATA[Submenu Popup]]></string>
+    <string name="_bx_dev_nav_txt_items_submenu_popup"><![CDATA[Submenu Popup]]></string>
+    <string name="_bx_dev_nav_txt_sys_items_visibility_custom"><![CDATA[Custom Visibility]]></string>
+    <string name="_bx_dev_nav_txt_items_visibility_custom"><![CDATA[Custom Visibility]]></string>
+    <string name="_bx_dev_nav_txt_sys_items_hidden_on"><![CDATA[Hidden on]]></string>
+    <string name="_bx_dev_nav_txt_items_hidden_on"><![CDATA[Hidden on]]></string>
+    <string name="_bx_dev_nav_txt_sys_items_hidden_on_phone"><![CDATA[phone]]></string>
+    <string name="_bx_dev_nav_txt_sys_items_hidden_on_tablet"><![CDATA[tablet]]></string>
+    <string name="_bx_dev_nav_txt_sys_items_hidden_on_desktop"><![CDATA[desktop]]></string>
+    <string name="_bx_dev_nav_txt_sys_items_hidden_on_mobile"><![CDATA[mobile app]]></string>
     <string name="_bx_dev_nav_txt_sys_items_copyable"><![CDATA[Copyable]]></string>
     <string name="_bx_dev_nav_txt_items_copyable"><![CDATA[Copyable]]></string>
     <string name="_bx_dev_nav_btn_sys_items_add"><![CDATA[Add]]></string>

+ 24 - 11
modules/boonex/developer/install/sql/install.sql

@@ -292,7 +292,7 @@ INSERT INTO `sys_form_display_inputs` (`display_name`, `input_name`, `visible_fo
 -- Forms Builder -> Search Forms.
 --
 INSERT INTO `sys_objects_form` (`object`, `module`, `title`, `action`, `form_attrs`, `submit_name`, `table`, `key`, `uri`, `uri_title`, `params`, `deletable`, `active`, `override_class_name`, `override_class_file`) VALUES
-('bx_developer_forms_search_form', @sName, '_bx_dev_frm_txt_search_forms', '', '', 'do_submit', 'sys_objects_search_extended', 'id', '', '', '', 0, 1, 'BxDevFormView', 'modules/boonex/developer/classes/BxDevFormView.php');
+('bx_developer_forms_search_form', @sName, '_bx_dev_frm_txt_search_forms_form', '', '', 'do_submit', 'sys_objects_search_extended', 'id', '', '', '', 0, 1, 'BxDevFormView', 'modules/boonex/developer/classes/BxDevFormView.php');
 
 INSERT INTO `sys_form_displays` (`display_name`, `module`, `object`, `title`, `view_mode`) VALUES
 ('bx_developer_forms_search_form_add', @sName, 'bx_developer_forms_search_form', '_bx_dev_frm_txt_search_forms_display_add', 0),
@@ -518,7 +518,11 @@ INSERT INTO `sys_form_inputs` (`object`, `module`, `name`, `value`, `values`, `c
 ('bx_developer_nav_item', @sName, 'onclick', '', '', 0, 'text', '_bx_dev_nav_txt_sys_items_onclick', '_bx_dev_nav_txt_items_onclick', '', 0, 0, 0, '', '', '', '', '', '', 'Xss', '', 0, 0),
 ('bx_developer_nav_item', @sName, 'target', '', '', 0, 'text', '_bx_dev_nav_txt_sys_items_target', '_bx_dev_nav_txt_items_target', '', 0, 0, 0, '', '', '', '', '', '', 'Xss', '', 0, 0),
 ('bx_developer_nav_item', @sName, 'icon', '', '', 0, 'text', '_bx_dev_nav_txt_sys_items_icon', '_bx_dev_nav_txt_items_icon', '', 0, 0, 0, '', '', '', '', '', '', 'Xss', '', 0, 0),
+('bx_developer_nav_item', @sName, 'addon', '', '', 0, 'textarea', '_bx_dev_nav_txt_sys_items_addon', '_bx_dev_nav_txt_items_addon', '', 0, 0, 0, '', '', '', '', '', '', 'Xss', '', 0, 0),
 ('bx_developer_nav_item', @sName, 'submenu_object', '', '', 0, 'text', '_bx_dev_nav_txt_sys_items_submenu_object', '_bx_dev_nav_txt_items_submenu_object', '', 0, 0, 0, '', '', '', '', '', '', 'Xss', '', 0, 0),
+('bx_developer_nav_item', @sName, 'submenu_popup', '1', '', 0, 'switcher', '_bx_dev_nav_txt_sys_items_submenu_popup', '_bx_dev_nav_txt_items_submenu_popup', '', 0, 0, 0, '', '', '', '', '', '', 'Int', '', 0, 0),
+('bx_developer_nav_item', @sName, 'visibility_custom', '', '', 0, 'textarea', '_bx_dev_nav_txt_sys_items_visibility_custom', '_bx_dev_nav_txt_items_visibility_custom', '', 0, 0, 0, '', '', '', '', '', '', 'Xss', '', 0, 0),
+('bx_developer_nav_item', @sName, 'hidden_on', '', '', 0, 'select_multiple', '_bx_dev_nav_txt_sys_items_hidden_on', '_bx_dev_nav_txt_items_hidden_on', '', 0, 0, 0, '', '', '', '', '', '', 'Set', '', 0, 0),
 ('bx_developer_nav_item', @sName, 'copyable', '1', '', 0, 'switcher', '_bx_dev_nav_txt_sys_items_copyable', '_bx_dev_nav_txt_items_copyable', '', 0, 0, 0, '', '', '', '', '', '', 'Int', '', 0, 0),
 ('bx_developer_nav_item', @sName, 'controls', '', 'do_submit,cancel', 0, 'input_set', '', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
 ('bx_developer_nav_item', @sName, 'do_submit', '_bx_dev_nav_btn_items_add', '', 0, 'submit', '_bx_dev_nav_btn_sys_items_add', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
@@ -534,11 +538,16 @@ INSERT INTO `sys_form_display_inputs` (`display_name`, `input_name`, `visible_fo
 ('bx_developer_nav_item_add', 'onclick', 2147483647, 1, 7),
 ('bx_developer_nav_item_add', 'target', 2147483647, 1, 8),
 ('bx_developer_nav_item_add', 'icon', 2147483647, 1, 9),
-('bx_developer_nav_item_add', 'submenu_object', 2147483647, 1, 10),
-('bx_developer_nav_item_add', 'copyable', 2147483647, 1, 11),
-('bx_developer_nav_item_add', 'controls', 2147483647, 1, 12),
-('bx_developer_nav_item_add', 'do_submit', 2147483647, 1, 13),
-('bx_developer_nav_item_add', 'cancel', 2147483647, 1, 14),
+('bx_developer_nav_item_add', 'addon', 2147483647, 1, 10),
+('bx_developer_nav_item_add', 'submenu_object', 2147483647, 1, 11),
+('bx_developer_nav_item_add', 'submenu_popup', 2147483647, 1, 12),
+('bx_developer_nav_item_add', 'visibility_custom', 2147483647, 1, 13),
+('bx_developer_nav_item_add', 'hidden_on', 2147483647, 1, 14),
+('bx_developer_nav_item_add', 'copyable', 2147483647, 1, 15),
+('bx_developer_nav_item_add', 'controls', 2147483647, 1, 16),
+('bx_developer_nav_item_add', 'do_submit', 2147483647, 1, 17),
+('bx_developer_nav_item_add', 'cancel', 2147483647, 1, 18),
+
 ('bx_developer_nav_item_edit', 'id', 2147483647, 1, 1),
 ('bx_developer_nav_item_edit', 'module', 2147483647, 1, 2),
 ('bx_developer_nav_item_edit', 'set_name', 2147483647, 1, 3),
@@ -549,11 +558,15 @@ INSERT INTO `sys_form_display_inputs` (`display_name`, `input_name`, `visible_fo
 ('bx_developer_nav_item_edit', 'onclick', 2147483647, 1, 8),
 ('bx_developer_nav_item_edit', 'target', 2147483647, 1, 9),
 ('bx_developer_nav_item_edit', 'icon', 2147483647, 1, 10),
-('bx_developer_nav_item_edit', 'submenu_object', 2147483647, 1, 11),
-('bx_developer_nav_item_edit', 'copyable', 2147483647, 1, 12),
-('bx_developer_nav_item_edit', 'controls', 2147483647, 1, 13),
-('bx_developer_nav_item_edit', 'do_submit', 2147483647, 1, 14),
-('bx_developer_nav_item_edit', 'cancel', 2147483647, 1, 15);
+('bx_developer_nav_item_edit', 'addon', 2147483647, 1, 11),
+('bx_developer_nav_item_edit', 'submenu_object', 2147483647, 1, 12),
+('bx_developer_nav_item_edit', 'submenu_popup', 2147483647, 1, 13),
+('bx_developer_nav_item_edit', 'visibility_custom', 2147483647, 1, 14),
+('bx_developer_nav_item_edit', 'hidden_on', 2147483647, 1, 15),
+('bx_developer_nav_item_edit', 'copyable', 2147483647, 1, 16),
+('bx_developer_nav_item_edit', 'controls', 2147483647, 1, 17),
+('bx_developer_nav_item_edit', 'do_submit', 2147483647, 1, 18),
+('bx_developer_nav_item_edit', 'cancel', 2147483647, 1, 19);
 
 --
 -- Page Builder -> Page.

+ 14 - 2
modules/boonex/russian/data/langs/bx_developer/ru.xml

@@ -350,8 +350,20 @@
     <string name="_bx_dev_nav_txt_items_target"><![CDATA[Target]]></string>
     <string name="_bx_dev_nav_txt_sys_items_icon"><![CDATA[Иконка]]></string>
     <string name="_bx_dev_nav_txt_items_icon"><![CDATA[Иконка]]></string>
-    <string name="_bx_dev_nav_txt_sys_items_submenu_object"><![CDATA[Объект подменю]]></string>
-    <string name="_bx_dev_nav_txt_items_submenu_object"><![CDATA[Объект подменю]]></string>
+    <string name="_bx_dev_nav_txt_sys_items_addon"><![CDATA[Дополнение]]></string>
+    <string name="_bx_dev_nav_txt_items_addon"><![CDATA[Дополнение]]></string>
+    <string name="_bx_dev_nav_txt_sys_items_submenu_object"><![CDATA[Подменю: Объект]]></string>
+    <string name="_bx_dev_nav_txt_items_submenu_object"><![CDATA[Подменю]]></string>
+    <string name="_bx_dev_nav_txt_sys_items_submenu_popup"><![CDATA[Подменю: Попап]]></string>
+    <string name="_bx_dev_nav_txt_items_submenu_popup"><![CDATA[Выводить подменю во всплывающем окне]]></string>
+    <string name="_bx_dev_nav_txt_sys_items_visibility_custom"><![CDATA[Видимость]]></string>
+    <string name="_bx_dev_nav_txt_items_visibility_custom"><![CDATA[Видимость]]></string>
+    <string name="_bx_dev_nav_txt_sys_items_hidden_on"><![CDATA[Скрыть на]]></string>
+    <string name="_bx_dev_nav_txt_items_hidden_on"><![CDATA[Скрыть на]]></string>
+    <string name="_bx_dev_nav_txt_sys_items_hidden_on_phone"><![CDATA[телефоне]]></string>
+    <string name="_bx_dev_nav_txt_sys_items_hidden_on_tablet"><![CDATA[планшете]]></string>
+    <string name="_bx_dev_nav_txt_sys_items_hidden_on_desktop"><![CDATA[настольном компьютере]]></string>
+    <string name="_bx_dev_nav_txt_sys_items_hidden_on_mobile"><![CDATA[мобильное приложение]]></string>
     <string name="_bx_dev_nav_txt_sys_items_copyable"><![CDATA[Можно копировать]]></string>
     <string name="_bx_dev_nav_txt_items_copyable"><![CDATA[Можно копировать]]></string>
     <string name="_bx_dev_nav_btn_sys_items_add"><![CDATA[Добавить]]></string>

+ 1 - 0
studio/classes/BxDolStudioNavigationQuery.php

@@ -264,6 +264,7 @@ class BxDolStudioNavigationQuery extends BxDolDb
                 `tmi`.`submenu_object` AS `submenu_object`,
                 `tmi`.`submenu_popup` AS `submenu_popup`,
                 `tmi`.`visible_for_levels` AS `visible_for_levels`,
+                `tmi`.`visibility_custom` AS `visibility_custom`,
                 `tmi`.`active` AS `active`,
                 `tmi`.`copyable` AS `copyable`,
                 `tmi`.`editable` AS `editable`,