瀏覽代碼

Ticket #4514 - Add 'Cancel' button in edit content forms. Core and Contents.

AntonLV 1 年之前
父節點
當前提交
54e7930e3f

+ 23 - 2
modules/base/general/classes/BxBaseModGeneralFormEntry.php

@@ -124,7 +124,9 @@ class BxBaseModGeneralFormEntry extends BxTemplFormView
         
         
         if(!$bDynamicMode && bx_is_dynamic_request())
         if(!$bDynamicMode && bx_is_dynamic_request())
             $bDynamicMode = true;
             $bDynamicMode = true;
-       
+
+        $this->_replaceMarkersInControls();
+
         $sResult = parent::getCode($bDynamicMode);
         $sResult = parent::getCode($bDynamicMode);
 
 
         $aPrivacyFields = $this->_getPrivacyFields();
         $aPrivacyFields = $this->_getPrivacyFields();
@@ -375,7 +377,12 @@ class BxBaseModGeneralFormEntry extends BxTemplFormView
         $bValues = $aValues && !empty($aValues['id']);
         $bValues = $aValues && !empty($aValues['id']);
         
         
         $this->_iContentId = isset($aValues['id']) ? $aValues['id'] : false;
         $this->_iContentId = isset($aValues['id']) ? $aValues['id'] : false;
-        
+
+        if (!empty($CNF['URI_VIEW_ENTRY']) && $this->_iContentId)
+            $this->addMarkers([
+                'edit_cancel_url' => bx_absolute_url(BxDolPermalinks::getInstance()->permalink('page.php?i=' . $CNF['URI_VIEW_ENTRY'] . '&id=' . $this->_iContentId))
+            ]);
+
         if (!empty($CNF['FIELD_LOCATION_PREFIX']) && isset($this->aInputs[$CNF['FIELD_LOCATION_PREFIX']]) && isset($aValues[$CNF['FIELD_ID']]) && !empty($CNF['OBJECT_METATAGS']) && ($oMetatags = BxDolMetatags::getObjectInstance($CNF['OBJECT_METATAGS'])) && $oMetatags->locationsIsEnabled())
         if (!empty($CNF['FIELD_LOCATION_PREFIX']) && isset($this->aInputs[$CNF['FIELD_LOCATION_PREFIX']]) && isset($aValues[$CNF['FIELD_ID']]) && !empty($CNF['OBJECT_METATAGS']) && ($oMetatags = BxDolMetatags::getObjectInstance($CNF['OBJECT_METATAGS'])) && $oMetatags->locationsIsEnabled())
             $this->aInputs[$CNF['FIELD_LOCATION_PREFIX']]['value'] = $oMetatags->locationsString($aValues[$CNF['FIELD_ID']], false);
             $this->aInputs[$CNF['FIELD_LOCATION_PREFIX']]['value'] = $oMetatags->locationsString($aValues[$CNF['FIELD_ID']], false);
 
 
@@ -1279,6 +1286,20 @@ class BxBaseModGeneralFormEntry extends BxTemplFormView
         $CNF = $this->_oModule->_oConfig->CNF;
         $CNF = $this->_oModule->_oConfig->CNF;
         return isset($CNF['PARAM_MULTICAT_ENABLED']) && $CNF['PARAM_MULTICAT_ENABLED'] === true && isset($CNF['FIELD_MULTICAT']);
         return isset($CNF['PARAM_MULTICAT_ENABLED']) && $CNF['PARAM_MULTICAT_ENABLED'] === true && isset($CNF['FIELD_MULTICAT']);
     }
     }
+
+    protected function _replaceMarkersInControls($sKey = 'controls')
+    {
+        if(!isset($this->aInputs[$sKey]) || !is_array($this->aInputs[$sKey])) 
+            return;
+
+        array_walk($this->aInputs[$sKey], function(&$aItem, $mKey) {
+            if(!is_int($mKey))
+                return;
+
+            if(!empty($aItem['attrs']) && is_array($aItem['attrs']))
+                $aItem['attrs'] = $this->_replaceMarkers($aItem['attrs']);
+        });
+    }
 }
 }
 
 
 /** @} */
 /** @} */

+ 8 - 1
modules/boonex/ads/install/sql/install.sql

@@ -820,6 +820,8 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 ('bx_ads', 'bx_ads', 'allow_view_to', '', '', 0, 'custom', '_bx_ads_form_entry_input_sys_allow_view_to', '_bx_ads_form_entry_input_allow_view_to', '', 1, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_ads', 'bx_ads', 'allow_view_to', '', '', 0, 'custom', '_bx_ads_form_entry_input_sys_allow_view_to', '_bx_ads_form_entry_input_allow_view_to', '', 1, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_ads', 'bx_ads', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_ads_form_entry_input_sys_delete_confirm', '_bx_ads_form_entry_input_delete_confirm', '_bx_ads_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_ads_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_ads', 'bx_ads', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_ads_form_entry_input_sys_delete_confirm', '_bx_ads_form_entry_input_delete_confirm', '_bx_ads_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_ads_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_ads', 'bx_ads', 'do_submit', '_bx_ads_form_entry_input_do_submit', '', 0, 'submit', '_bx_ads_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_ads', 'bx_ads', 'do_submit', '_bx_ads_form_entry_input_do_submit', '', 0, 'submit', '_bx_ads_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_ads', 'bx_ads', 'do_cancel', '_sys_form_input_cancel', '', 0, 'button', '_sys_form_input_sys_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:41:"window.open(''{edit_cancel_url}'', ''_self'')";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 0, 0),
+('bx_ads', 'bx_ads', 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '_sys_form_input_sys_controls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
 ('bx_ads', 'bx_ads', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_ads', 'bx_ads', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_ads', 'bx_ads', 'covers', 'a:1:{i:0;s:12:"bx_ads_html5";}', 'a:1:{s:12:"bx_ads_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_ads_form_entry_input_sys_covers', '_bx_ads_form_entry_input_covers', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_ads', 'bx_ads', 'covers', 'a:1:{i:0;s:12:"bx_ads_html5";}', 'a:1:{s:12:"bx_ads_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_ads_form_entry_input_sys_covers', '_bx_ads_form_entry_input_covers', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_ads', 'bx_ads', 'pictures', 'a:1:{i:0;s:19:"bx_ads_photos_html5";}', 'a:1:{s:19:"bx_ads_photos_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_ads_form_entry_input_sys_pictures', '_bx_ads_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_ads', 'bx_ads', 'pictures', 'a:1:{i:0;s:19:"bx_ads_photos_html5";}', 'a:1:{s:19:"bx_ads_photos_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_ads_form_entry_input_sys_pictures', '_bx_ads_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
@@ -923,7 +925,9 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_ads_entry_price_edit', 'seg_age', 2147483647, 1, 24),
 ('bx_ads_entry_price_edit', 'seg_age', 2147483647, 1, 24),
 ('bx_ads_entry_price_edit', 'seg_country', 2147483647, 1, 25),
 ('bx_ads_entry_price_edit', 'seg_country', 2147483647, 1, 25),
 ('bx_ads_entry_price_edit', 'seg_header_end', 2147483647, 1, 26),
 ('bx_ads_entry_price_edit', 'seg_header_end', 2147483647, 1, 26),
-('bx_ads_entry_price_edit', 'do_submit', 2147483647, 1, 27),
+('bx_ads_entry_price_edit', 'controls', 2147483647, 1, 27),
+('bx_ads_entry_price_edit', 'do_submit', 2147483647, 1, 28),
+('bx_ads_entry_price_edit', 'do_cancel', 2147483647, 1, 29),
 
 
 ('bx_ads_entry_price_view', 'category_view', 2147483647, 1, 1),
 ('bx_ads_entry_price_view', 'category_view', 2147483647, 1, 1),
 ('bx_ads_entry_price_view', 'price', 2147483647, 1, 2),
 ('bx_ads_entry_price_view', 'price', 2147483647, 1, 2),
@@ -991,6 +995,9 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_ads_entry_price_year_edit', 'seg_country', 2147483647, 1, 26),
 ('bx_ads_entry_price_year_edit', 'seg_country', 2147483647, 1, 26),
 ('bx_ads_entry_price_year_edit', 'seg_header_end', 2147483647, 1, 27),
 ('bx_ads_entry_price_year_edit', 'seg_header_end', 2147483647, 1, 27),
 ('bx_ads_entry_price_year_edit', 'do_submit', 2147483647, 1, 28),
 ('bx_ads_entry_price_year_edit', 'do_submit', 2147483647, 1, 28),
+('bx_ads_entry_price_year_edit', 'controls', 2147483647, 1, 29),
+('bx_ads_entry_price_year_edit', 'do_submit', 2147483647, 1, 30),
+('bx_ads_entry_price_year_edit', 'do_cancel', 2147483647, 1, 31),
 
 
 ('bx_ads_entry_price_year_view', 'category_view', 2147483647, 1, 1),
 ('bx_ads_entry_price_year_view', 'category_view', 2147483647, 1, 1),
 ('bx_ads_entry_price_year_view', 'price', 2147483647, 1, 2),
 ('bx_ads_entry_price_year_view', 'price', 2147483647, 1, 2),

+ 5 - 1
modules/boonex/albums/install/sql/install.sql

@@ -447,6 +447,8 @@ INSERT INTO `sys_form_displays`(`object`, `display_name`, `module`, `view_mode`,
 INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `checked`, `type`, `caption_system`, `caption`, `info`, `required`, `collapsed`, `html`, `attrs`, `attrs_tr`, `attrs_wrapper`, `checker_func`, `checker_params`, `checker_error`, `db_pass`, `db_params`, `editable`, `deletable`) VALUES 
 INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `checked`, `type`, `caption_system`, `caption`, `info`, `required`, `collapsed`, `html`, `attrs`, `attrs_tr`, `attrs_wrapper`, `checker_func`, `checker_params`, `checker_error`, `db_pass`, `db_params`, `editable`, `deletable`) VALUES 
 ('bx_albums', 'bx_albums', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_albums_form_entry_input_sys_delete_confirm', '_bx_albums_form_entry_input_delete_confirm', '_bx_albums_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_albums_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_albums', 'bx_albums', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_albums_form_entry_input_sys_delete_confirm', '_bx_albums_form_entry_input_delete_confirm', '_bx_albums_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_albums_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_albums', 'bx_albums', 'do_submit', '_bx_albums_form_entry_input_do_submit', '', 0, 'submit', '_bx_albums_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_albums', 'bx_albums', 'do_submit', '_bx_albums_form_entry_input_do_submit', '', 0, 'submit', '_bx_albums_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_albums', 'bx_albums', 'do_cancel', '_sys_form_input_cancel', '', 0, 'button', '_sys_form_input_sys_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:41:"window.open(''{edit_cancel_url}'', ''_self'')";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 0, 0),
+('bx_albums', 'bx_albums', 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '_sys_form_input_sys_controls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
 ('bx_albums', 'bx_albums', 'title', '', '', 0, 'text', '_bx_albums_form_entry_input_sys_title', '_bx_albums_form_entry_input_title', '', 1, 0, 0, '', '', '', 'avail', '', '_bx_albums_form_entry_input_title_err', 'Xss', '', 1, 0),
 ('bx_albums', 'bx_albums', 'title', '', '', 0, 'text', '_bx_albums_form_entry_input_sys_title', '_bx_albums_form_entry_input_title', '', 1, 0, 0, '', '', '', 'avail', '', '_bx_albums_form_entry_input_title_err', 'Xss', '', 1, 0),
 ('bx_albums', 'bx_albums', 'text', '', '', 0, 'textarea', '_bx_albums_form_entry_input_sys_text', '_bx_albums_form_entry_input_text', '', 0, 0, 2, '', '', '', '', '', '', 'XssHtml', '', 1, 0),
 ('bx_albums', 'bx_albums', 'text', '', '', 0, 'textarea', '_bx_albums_form_entry_input_sys_text', '_bx_albums_form_entry_input_text', '', 0, 0, 2, '', '', '', '', '', '', 'XssHtml', '', 1, 0),
 ('bx_albums', 'bx_albums', 'pictures', 'a:2:{i:0;s:15:"bx_albums_html5";i:1;s:22:"bx_albums_record_video";}', 'a:3:{s:15:"bx_albums_html5";s:25:"_sys_uploader_html5_title";s:22:"bx_albums_record_video";s:32:"_sys_uploader_record_video_title";s:14:"bx_albums_crop";s:24:"_sys_uploader_crop_title";}', 0, 'files', '_bx_albums_form_entry_input_sys_pictures', '_bx_albums_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_albums', 'bx_albums', 'pictures', 'a:2:{i:0;s:15:"bx_albums_html5";i:1;s:22:"bx_albums_record_video";}', 'a:3:{s:15:"bx_albums_html5";s:25:"_sys_uploader_html5_title";s:22:"bx_albums_record_video";s:32:"_sys_uploader_record_video_title";s:14:"bx_albums_crop";s:24:"_sys_uploader_crop_title";}', 0, 'files', '_bx_albums_form_entry_input_sys_pictures', '_bx_albums_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
@@ -474,7 +476,9 @@ INSERT INTO `sys_form_display_inputs` (`display_name`, `input_name`, `visible_fo
 ('bx_albums_entry_edit', 'allow_view_to', 2147483647, 1, 5),
 ('bx_albums_entry_edit', 'allow_view_to', 2147483647, 1, 5),
 ('bx_albums_entry_edit', 'cf', 2147483647, 1, 6),
 ('bx_albums_entry_edit', 'cf', 2147483647, 1, 6),
 ('bx_albums_entry_edit', 'location', 2147483647, 1, 7),
 ('bx_albums_entry_edit', 'location', 2147483647, 1, 7),
-('bx_albums_entry_edit', 'do_submit', 2147483647, 1, 8),
+('bx_albums_entry_edit', 'controls', 2147483647, 1, 8),
+('bx_albums_entry_edit', 'do_submit', 2147483647, 1, 9),
+('bx_albums_entry_edit', 'do_cancel', 2147483647, 1, 10),
 
 
 ('bx_albums_entry_add_images', 'delete_confirm', 2147483647, 0, 1),
 ('bx_albums_entry_add_images', 'delete_confirm', 2147483647, 0, 1),
 ('bx_albums_entry_add_images', 'title', 2147483647, 0, 2),
 ('bx_albums_entry_add_images', 'title', 2147483647, 0, 2),

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

@@ -506,6 +506,8 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 ('bx_classes', 'bx_classes', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_classes_form_entry_input_sys_delete_confirm', '_bx_classes_form_entry_input_delete_confirm', '_bx_classes_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_classes_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_classes', 'bx_classes', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_classes_form_entry_input_sys_delete_confirm', '_bx_classes_form_entry_input_delete_confirm', '_bx_classes_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_classes_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_classes', 'bx_classes', 'do_publish', '_bx_classes_form_entry_input_do_publish', '', 0, 'submit', '_bx_classes_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_classes', 'bx_classes', 'do_publish', '_bx_classes_form_entry_input_do_publish', '', 0, 'submit', '_bx_classes_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_classes', 'bx_classes', 'do_submit', '_bx_classes_form_entry_input_do_submit', '', 0, 'submit', '_bx_classes_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_classes', 'bx_classes', 'do_submit', '_bx_classes_form_entry_input_do_submit', '', 0, 'submit', '_bx_classes_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_classes', 'bx_classes', 'do_cancel', '_sys_form_input_cancel', '', 0, 'button', '_sys_form_input_sys_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:41:"window.open(''{edit_cancel_url}'', ''_self'')";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 0, 0),
+('bx_classes', 'bx_classes', 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '_sys_form_input_sys_controls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
 ('bx_classes', 'bx_classes', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_classes', 'bx_classes', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_classes', 'bx_classes', 'covers', 'a:1:{i:0;s:16:"bx_classes_html5";}', 'a:1:{s:16:"bx_classes_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_classes_form_entry_input_sys_covers', '_bx_classes_form_entry_input_covers', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_classes', 'bx_classes', 'covers', 'a:1:{i:0;s:16:"bx_classes_html5";}', 'a:1:{s:16:"bx_classes_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_classes_form_entry_input_sys_covers', '_bx_classes_form_entry_input_covers', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_classes', 'bx_classes', 'pictures', 'a:1:{i:0;s:23:"bx_classes_photos_html5";}', 'a:1:{s:23:"bx_classes_photos_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_classes_form_entry_input_sys_pictures', '_bx_classes_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_classes', 'bx_classes', 'pictures', 'a:1:{i:0;s:23:"bx_classes_photos_html5";}', 'a:1:{s:23:"bx_classes_photos_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_classes_form_entry_input_sys_pictures', '_bx_classes_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
@@ -572,7 +574,9 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_classes_entry_edit', 'cmts', 2147483647, 1, 16),
 ('bx_classes_entry_edit', 'cmts', 2147483647, 1, 16),
 ('bx_classes_entry_edit', 'allow_view_to', 2147483647, 1, 17),
 ('bx_classes_entry_edit', 'allow_view_to', 2147483647, 1, 17),
 ('bx_classes_entry_edit', 'cf', 2147483647, 1, 18),
 ('bx_classes_entry_edit', 'cf', 2147483647, 1, 18),
-('bx_classes_entry_edit', 'do_submit', 2147483647, 1, 19),
+('bx_classes_entry_edit', 'controls', 2147483647, 1, 19),
+('bx_classes_entry_edit', 'do_submit', 2147483647, 1, 20),
+('bx_classes_entry_edit', 'do_cancel', 2147483647, 1, 21),
 
 
 ('bx_classes_entry_view', 'module_id', 2147483647, 1, 1),
 ('bx_classes_entry_view', 'module_id', 2147483647, 1, 1),
 ('bx_classes_entry_view', 'completed_when', 2147483647, 1, 2),
 ('bx_classes_entry_view', 'completed_when', 2147483647, 1, 2),

+ 5 - 2
modules/boonex/english/data/langs/system/en.xml

@@ -2810,10 +2810,13 @@ If it is not enabled then please consider implement this optimization, since it
 	<string name="_sys_form_input_sys_location"><![CDATA[Location]]></string>
 	<string name="_sys_form_input_sys_location"><![CDATA[Location]]></string>
 	<string name="_sys_form_input_location"><![CDATA[Location]]></string>
 	<string name="_sys_form_input_location"><![CDATA[Location]]></string>
         <string name="_sys_form_input_location_radius_label"><![CDATA[Radius (in km)]]></string>
         <string name="_sys_form_input_location_radius_label"><![CDATA[Radius (in km)]]></string>
-  <string name="_sys_form_input_nested_form_button_add_new_item"><![CDATA[Add new item]]></string>
-  <string name="_sys_form_input_nested_form_button_delete_item"><![CDATA[Delete item]]></string>
+        <string name="_sys_form_input_nested_form_button_add_new_item"><![CDATA[Add new item]]></string>
+        <string name="_sys_form_input_nested_form_button_delete_item"><![CDATA[Delete item]]></string>
 	<string name="_sys_form_input_sys_anonymous"><![CDATA[Post as anonymous]]></string>
 	<string name="_sys_form_input_sys_anonymous"><![CDATA[Post as anonymous]]></string>
 	<string name="_sys_form_input_anonymous"><![CDATA[Post as anonymous]]></string>
 	<string name="_sys_form_input_anonymous"><![CDATA[Post as anonymous]]></string>
+        <string name="_sys_form_input_sys_cancel"><![CDATA[Cancel]]></string>
+        <string name="_sys_form_input_cancel"><![CDATA[Cancel]]></string>
+        <string name="_sys_form_input_sys_controls"><![CDATA[Controls]]></string>
         <string name="_sys_form_input_sys_labels"><![CDATA[Labels]]></string>
         <string name="_sys_form_input_sys_labels"><![CDATA[Labels]]></string>
         <string name="_sys_form_input_labels"><![CDATA[Labels]]></string>
         <string name="_sys_form_input_labels"><![CDATA[Labels]]></string>
         <string name="_sys_form_input_labels_placeholder"><![CDATA[Add Label]]></string>
         <string name="_sys_form_input_labels_placeholder"><![CDATA[Add Label]]></string>

+ 5 - 1
modules/boonex/files/install/sql/install.sql

@@ -345,6 +345,8 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 ('bx_files', 'bx_files', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_files_form_entry_input_sys_delete_confirm', '_bx_files_form_entry_input_delete_confirm', '_bx_files_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_files_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_files', 'bx_files', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_files_form_entry_input_sys_delete_confirm', '_bx_files_form_entry_input_delete_confirm', '_bx_files_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_files_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_files', 'bx_files', 'do_publish', '_bx_files_form_entry_input_do_publish', '', 0, 'submit', '_bx_files_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_files', 'bx_files', 'do_publish', '_bx_files_form_entry_input_do_publish', '', 0, 'submit', '_bx_files_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_files', 'bx_files', 'do_submit', '_bx_files_form_entry_input_do_submit', '', 0, 'submit', '_bx_files_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_files', 'bx_files', 'do_submit', '_bx_files_form_entry_input_do_submit', '', 0, 'submit', '_bx_files_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_files', 'bx_files', 'do_cancel', '_sys_form_input_cancel', '', 0, 'button', '_sys_form_input_sys_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:41:"window.open(''{edit_cancel_url}'', ''_self'')";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 0, 0),
+('bx_files', 'bx_files', 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '_sys_form_input_sys_controls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
 ('bx_files', 'bx_files', 'attachments', 'a:1:{i:0;s:14:"bx_files_html5";}', 'a:1:{s:14:"bx_files_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_files_form_entry_input_sys_attachment', '_bx_files_form_entry_input_attachment', '', 1, 0, 0, '', '', '', 'avail', '', '_bx_files_form_entry_input_attachment', '', '', 1, 0),
 ('bx_files', 'bx_files', 'attachments', 'a:1:{i:0;s:14:"bx_files_html5";}', 'a:1:{s:14:"bx_files_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_files_form_entry_input_sys_attachment', '_bx_files_form_entry_input_attachment', '', 1, 0, 0, '', '', '', 'avail', '', '_bx_files_form_entry_input_attachment', '', '', 1, 0),
 ('bx_files', 'bx_files', 'desc', '', '', 0, 'textarea', '_bx_files_form_entry_input_sys_desc', '_bx_files_form_entry_input_desc', '', 0, 0, 2, '', '', '', '', '', '', 'XssHtml', '', 1, 0),
 ('bx_files', 'bx_files', 'desc', '', '', 0, 'textarea', '_bx_files_form_entry_input_sys_desc', '_bx_files_form_entry_input_desc', '', 0, 0, 2, '', '', '', '', '', '', 'XssHtml', '', 1, 0),
 ('bx_files', 'bx_files', 'data', '', '', 0, 'textarea', '_bx_files_form_entry_input_sys_data', '_bx_files_form_entry_input_data', '', 0, 0, 0, '', '', '', '', '', '', 'Xss', '', 0, 0),
 ('bx_files', 'bx_files', 'data', '', '', 0, 'textarea', '_bx_files_form_entry_input_sys_data', '_bx_files_form_entry_input_data', '', 0, 0, 0, '', '', '', '', '', '', 'Xss', '', 0, 0),
@@ -372,7 +374,9 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_files_entry_edit', 'attachments', 2147483647, 1, 5),
 ('bx_files_entry_edit', 'attachments', 2147483647, 1, 5),
 ('bx_files_entry_edit', 'allow_view_to', 2147483647, 1, 6),
 ('bx_files_entry_edit', 'allow_view_to', 2147483647, 1, 6),
 ('bx_files_entry_edit', 'cf', 2147483647, 1, 7),
 ('bx_files_entry_edit', 'cf', 2147483647, 1, 7),
-('bx_files_entry_edit', 'do_submit', 2147483647, 1, 8),
+('bx_files_entry_edit', 'controls', 2147483647, 1, 8),
+('bx_files_entry_edit', 'do_submit', 2147483647, 1, 9),
+('bx_files_entry_edit', 'do_cancel', 2147483647, 1, 10),
 
 
 ('bx_files_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_files_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_files_entry_view', 'added', 2147483647, 1, 2),
 ('bx_files_entry_view', 'added', 2147483647, 1, 2),

+ 5 - 1
modules/boonex/forum/install/sql/install.sql

@@ -484,6 +484,8 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 (@sName, @sName, 'allow_view_to', '', '', 0, 'custom', '_bx_forum_form_entry_input_sys_allow_view_to', '_bx_forum_form_entry_input_allow_view_to', '', 1, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 (@sName, @sName, 'allow_view_to', '', '', 0, 'custom', '_bx_forum_form_entry_input_sys_allow_view_to', '_bx_forum_form_entry_input_allow_view_to', '', 1, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 (@sName, @sName, 'delete_confirm', 1, '', 0, 'checkbox', '_bx_forum_form_entry_input_sys_delete_confirm', '_bx_forum_form_entry_input_delete_confirm', '_bx_forum_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_forum_form_entry_input_delete_confirm_error', '', '', 1, 0),
 (@sName, @sName, 'delete_confirm', 1, '', 0, 'checkbox', '_bx_forum_form_entry_input_sys_delete_confirm', '_bx_forum_form_entry_input_delete_confirm', '_bx_forum_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_forum_form_entry_input_delete_confirm_error', '', '', 1, 0),
 (@sName, @sName, 'do_submit', '_bx_forum_form_entry_input_do_submit', '', 0, 'submit', '_bx_forum_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 (@sName, @sName, 'do_submit', '_bx_forum_form_entry_input_do_submit', '', 0, 'submit', '_bx_forum_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+(@sName, @sName, 'do_cancel', '_sys_form_input_cancel', '', 0, 'button', '_sys_form_input_sys_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:41:"window.open(''{edit_cancel_url}'', ''_self'')";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 0, 0),
+(@sName, @sName, 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '_sys_form_input_sys_controls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
 (@sName, @sName, 'text', '', '', 0, 'textarea', '_bx_forum_form_entry_input_sys_text', '_bx_forum_form_entry_input_text', '', 1, 0, 2, '', '', '', 'Avail', '', '_bx_forum_form_entry_input_text_err', 'XssHtml', '', 1, 0),
 (@sName, @sName, 'text', '', '', 0, 'textarea', '_bx_forum_form_entry_input_sys_text', '_bx_forum_form_entry_input_text', '', 1, 0, 2, '', '', '', 'Avail', '', '_bx_forum_form_entry_input_text_err', 'XssHtml', '', 1, 0),
 (@sName, @sName, 'title', '', '', 0, 'text', '_bx_forum_form_entry_input_sys_title', '_bx_forum_form_entry_input_title', '', 1, 0, 0, '', '', '', 'Avail', '', '_bx_forum_form_entry_input_title_err', 'Xss', '', 1, 0),
 (@sName, @sName, 'title', '', '', 0, 'text', '_bx_forum_form_entry_input_sys_title', '_bx_forum_form_entry_input_title', '', 1, 0, 0, '', '', '', 'Avail', '', '_bx_forum_form_entry_input_title_err', 'Xss', '', 1, 0),
 (@sName, @sName, 'cat', '', '#!bx_forum_cats', 0, 'select', '_bx_forum_form_entry_input_sys_cat', '_bx_forum_form_entry_input_cat', '', 1, 0, 0, '', '', '', 'avail', '', '_bx_forum_form_entry_input_cat_err', 'Xss', '', 1, 0),
 (@sName, @sName, 'cat', '', '#!bx_forum_cats', 0, 'select', '_bx_forum_form_entry_input_sys_cat', '_bx_forum_form_entry_input_cat', '', 1, 0, 0, '', '', '', 'avail', '', '_bx_forum_form_entry_input_cat_err', 'Xss', '', 1, 0),
@@ -536,7 +538,9 @@ INSERT INTO `sys_form_display_inputs` (`display_name`, `input_name`, `visible_fo
 ('bx_forum_entry_edit', 'allow_view_to', 2147483647, 1, 11),
 ('bx_forum_entry_edit', 'allow_view_to', 2147483647, 1, 11),
 ('bx_forum_entry_edit', 'cf', 2147483647, 1, 12),
 ('bx_forum_entry_edit', 'cf', 2147483647, 1, 12),
 ('bx_forum_entry_edit', 'resolvable', 2147483647, 1, 13),
 ('bx_forum_entry_edit', 'resolvable', 2147483647, 1, 13),
-('bx_forum_entry_edit', 'do_submit', 2147483647, 1, 14),
+('bx_forum_entry_edit', 'controls', 2147483647, 1, 14),
+('bx_forum_entry_edit', 'do_submit', 2147483647, 1, 15),
+('bx_forum_entry_edit', 'do_cancel', 2147483647, 1, 16),
 
 
 ('bx_forum_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_forum_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_forum_entry_view', 'added', 2147483647, 1, 2),
 ('bx_forum_entry_view', 'added', 2147483647, 1, 2),

+ 5 - 1
modules/boonex/glossary/install/sql/install.sql

@@ -274,6 +274,8 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 ('bx_glossary', 'bx_glossary', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_glossary_form_entry_input_sys_delete_confirm', '_bx_glossary_form_entry_input_delete_confirm', '_bx_glossary_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_glossary_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_glossary', 'bx_glossary', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_glossary_form_entry_input_sys_delete_confirm', '_bx_glossary_form_entry_input_delete_confirm', '_bx_glossary_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_glossary_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_glossary', 'bx_glossary', 'do_publish', '_bx_glossary_form_entry_input_do_publish', '', 0, 'submit', '_bx_glossary_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_glossary', 'bx_glossary', 'do_publish', '_bx_glossary_form_entry_input_do_publish', '', 0, 'submit', '_bx_glossary_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_glossary', 'bx_glossary', 'do_submit', '_bx_glossary_form_entry_input_do_submit', '', 0, 'submit', '_bx_glossary_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_glossary', 'bx_glossary', 'do_submit', '_bx_glossary_form_entry_input_do_submit', '', 0, 'submit', '_bx_glossary_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_glossary', 'bx_glossary', 'do_cancel', '_sys_form_input_cancel', '', 0, 'button', '_sys_form_input_sys_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:41:"window.open(''{edit_cancel_url}'', ''_self'')";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 0, 0),
+('bx_glossary', 'bx_glossary', 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '_sys_form_input_sys_controls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
 ('bx_glossary', 'bx_glossary', 'pictures', 'a:1:{i:0;s:17:"bx_glossary_html5";}', 'a:1:{s:17:"bx_glossary_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_glossary_form_entry_input_sys_pictures', '_bx_glossary_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_glossary', 'bx_glossary', 'pictures', 'a:1:{i:0;s:17:"bx_glossary_html5";}', 'a:1:{s:17:"bx_glossary_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_glossary_form_entry_input_sys_pictures', '_bx_glossary_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_glossary', 'bx_glossary', 'text', '', '', 0, 'textarea', '_bx_glossary_form_entry_input_sys_text', '_bx_glossary_form_entry_input_text', '', 1, 0, 2, '', '', '', 'Avail', '', '_bx_glossary_form_entry_input_text_err', 'XssHtml', '', 1, 0),
 ('bx_glossary', 'bx_glossary', 'text', '', '', 0, 'textarea', '_bx_glossary_form_entry_input_sys_text', '_bx_glossary_form_entry_input_text', '', 1, 0, 2, '', '', '', 'Avail', '', '_bx_glossary_form_entry_input_text_err', 'XssHtml', '', 1, 0),
 ('bx_glossary', 'bx_glossary', 'title', '', '', 0, 'text', '_bx_glossary_form_entry_input_sys_title', '_bx_glossary_form_entry_input_title', '', 1, 0, 0, '', '', '', 'Avail', '', '_bx_glossary_form_entry_input_title_err', 'Xss', '', 1, 0),
 ('bx_glossary', 'bx_glossary', 'title', '', '', 0, 'text', '_bx_glossary_form_entry_input_sys_title', '_bx_glossary_form_entry_input_title', '', 1, 0, 0, '', '', '', 'Avail', '', '_bx_glossary_form_entry_input_title_err', 'Xss', '', 1, 0),
@@ -313,7 +315,9 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_glossary_entry_edit', 'allow_view_to', 2147483647, 1, 7),
 ('bx_glossary_entry_edit', 'allow_view_to', 2147483647, 1, 7),
 ('bx_glossary_entry_edit', 'cf', 2147483647, 1, 8),
 ('bx_glossary_entry_edit', 'cf', 2147483647, 1, 8),
 ('bx_glossary_entry_edit', 'status_admin', 192, 1, 9),
 ('bx_glossary_entry_edit', 'status_admin', 192, 1, 9),
-('bx_glossary_entry_edit', 'do_submit', 2147483647, 1, 10),
+('bx_glossary_entry_edit', 'controls', 2147483647, 1, 10),
+('bx_glossary_entry_edit', 'do_submit', 2147483647, 1, 11),
+('bx_glossary_entry_edit', 'do_cancel', 2147483647, 1, 12),
 
 
 ('bx_glossary_entry_view', 'pictures', 2147483647, 0, 0),
 ('bx_glossary_entry_view', 'pictures', 2147483647, 0, 0),
 ('bx_glossary_entry_view', 'delete_confirm', 2147483647, 0, 0),
 ('bx_glossary_entry_view', 'delete_confirm', 2147483647, 0, 0),

+ 5 - 1
modules/boonex/market/install/sql/install.sql

@@ -415,6 +415,8 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 ('bx_market', 'bx_market', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_market_form_entry_input_sys_delete_confirm', '_bx_market_form_entry_input_delete_confirm', '_bx_market_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_market_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_market', 'bx_market', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_market_form_entry_input_sys_delete_confirm', '_bx_market_form_entry_input_delete_confirm', '_bx_market_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_market_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_market', 'bx_market', 'do_publish', '_bx_market_form_entry_input_do_publish', '', 0, 'submit', '_bx_market_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_market', 'bx_market', 'do_publish', '_bx_market_form_entry_input_do_publish', '', 0, 'submit', '_bx_market_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_market', 'bx_market', 'do_submit', '_bx_market_form_entry_input_do_submit', '', 0, 'submit', '_bx_market_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_market', 'bx_market', 'do_submit', '_bx_market_form_entry_input_do_submit', '', 0, 'submit', '_bx_market_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_market', 'bx_market', 'do_cancel', '_sys_form_input_cancel', '', 0, 'button', '_sys_form_input_sys_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:41:"window.open(''{edit_cancel_url}'', ''_self'')";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 0, 0),
+('bx_market', 'bx_market', 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '_sys_form_input_sys_controls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
 ('bx_market', 'bx_market', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_market', 'bx_market', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_market', 'bx_market', 'cover_raw', '', '', 0, 'textarea', '_bx_market_form_entry_input_sys_cover_raw', '_bx_market_form_entry_input_cover_raw', '_bx_market_form_entry_input_cover_raw_inf', 0, 0, 0, '', '', '', '', '', '', 'XssHtml', '', 1, 0),
 ('bx_market', 'bx_market', 'cover_raw', '', '', 0, 'textarea', '_bx_market_form_entry_input_sys_cover_raw', '_bx_market_form_entry_input_cover_raw', '_bx_market_form_entry_input_cover_raw_inf', 0, 0, 0, '', '', '', '', '', '', 'XssHtml', '', 1, 0),
 ('bx_market', 'bx_market', 'pictures', 'a:1:{i:0;s:15:"bx_market_html5";}', 'a:1:{s:15:"bx_market_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_market_form_entry_input_sys_pictures', '_bx_market_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_market', 'bx_market', 'pictures', 'a:1:{i:0;s:15:"bx_market_html5";}', 'a:1:{s:15:"bx_market_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_market_form_entry_input_sys_pictures', '_bx_market_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
@@ -516,7 +518,9 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_market_entry_edit', 'location', 2147483647, 1, 30),
 ('bx_market_entry_edit', 'location', 2147483647, 1, 30),
 ('bx_market_entry_edit', 'subentries', 2147483647, 1, 31),
 ('bx_market_entry_edit', 'subentries', 2147483647, 1, 31),
 ('bx_market_entry_edit', 'header_end_other', 2147483647, 1, 32),
 ('bx_market_entry_edit', 'header_end_other', 2147483647, 1, 32),
-('bx_market_entry_edit', 'do_submit', 2147483647, 1, 33),
+('bx_market_entry_edit', 'controls', 2147483647, 1, 33),
+('bx_market_entry_edit', 'do_submit', 2147483647, 1, 34),
+('bx_market_entry_edit', 'do_cancel', 2147483647, 1, 35),
 
 
 ('bx_market_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_market_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_market_entry_view', 'added', 2147483647, 1, 2),
 ('bx_market_entry_view', 'added', 2147483647, 1, 2),

+ 5 - 1
modules/boonex/photos/install/sql/install.sql

@@ -323,6 +323,8 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 ('bx_photos', 'bx_photos', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_photos_form_entry_input_sys_delete_confirm', '_bx_photos_form_entry_input_delete_confirm', '_bx_photos_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_photos_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_photos', 'bx_photos', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_photos_form_entry_input_sys_delete_confirm', '_bx_photos_form_entry_input_delete_confirm', '_bx_photos_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_photos_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_photos', 'bx_photos', 'do_publish', '_bx_photos_form_entry_input_do_publish', '', 0, 'submit', '_bx_photos_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_photos', 'bx_photos', 'do_publish', '_bx_photos_form_entry_input_do_publish', '', 0, 'submit', '_bx_photos_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_photos', 'bx_photos', 'do_submit', '_bx_photos_form_entry_input_do_submit', '', 0, 'submit', '_bx_photos_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_photos', 'bx_photos', 'do_submit', '_bx_photos_form_entry_input_do_submit', '', 0, 'submit', '_bx_photos_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_photos', 'bx_photos', 'do_cancel', '_sys_form_input_cancel', '', 0, 'button', '_sys_form_input_sys_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:41:"window.open(''{edit_cancel_url}'', ''_self'')";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 0, 0),
+('bx_photos', 'bx_photos', 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '_sys_form_input_sys_controls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
 ('bx_photos', 'bx_photos', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_photos', 'bx_photos', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_photos', 'bx_photos', 'pictures', 'a:1:{i:0;s:15:"bx_photos_html5";}', 'a:1:{s:15:"bx_photos_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_photos_form_entry_input_sys_picture', '_bx_photos_form_entry_input_picture', '', 1, 0, 0, '', '', '', 'avail', '', '_bx_photos_form_entry_input_picture_err', '', '', 1, 0),
 ('bx_photos', 'bx_photos', 'pictures', 'a:1:{i:0;s:15:"bx_photos_html5";}', 'a:1:{s:15:"bx_photos_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_photos_form_entry_input_sys_picture', '_bx_photos_form_entry_input_picture', '', 1, 0, 0, '', '', '', 'avail', '', '_bx_photos_form_entry_input_picture_err', '', '', 1, 0),
 ('bx_photos', 'bx_photos', 'text', '', '', 0, 'textarea', '_bx_photos_form_entry_input_sys_text', '_bx_photos_form_entry_input_text', '', 0, 0, 3, '', '', '', '', '', '', 'XssHtml', '', 1, 0),
 ('bx_photos', 'bx_photos', 'text', '', '', 0, 'textarea', '_bx_photos_form_entry_input_sys_text', '_bx_photos_form_entry_input_text', '', 0, 0, 3, '', '', '', '', '', '', 'XssHtml', '', 1, 0),
@@ -357,7 +359,9 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_photos_entry_edit', 'allow_view_to', 2147483647, 1, 5),
 ('bx_photos_entry_edit', 'allow_view_to', 2147483647, 1, 5),
 ('bx_photos_entry_edit', 'cf', 2147483647, 1, 6),
 ('bx_photos_entry_edit', 'cf', 2147483647, 1, 6),
 ('bx_photos_entry_edit', 'location', 2147483647, 1, 7),
 ('bx_photos_entry_edit', 'location', 2147483647, 1, 7),
-('bx_photos_entry_edit', 'do_submit', 2147483647, 1, 8),
+('bx_photos_entry_edit', 'controls', 2147483647, 1, 8),
+('bx_photos_entry_edit', 'do_submit', 2147483647, 1, 9),
+('bx_photos_entry_edit', 'do_cancel', 2147483647, 1, 10),
 
 
 ('bx_photos_entry_view', 'cat', 2147483647, 1, 2),
 ('bx_photos_entry_view', 'cat', 2147483647, 1, 2),
 ('bx_photos_entry_view', 'added', 2147483647, 1, 3),
 ('bx_photos_entry_view', 'added', 2147483647, 1, 3),

+ 5 - 1
modules/boonex/polls/install/sql/install.sql

@@ -321,6 +321,8 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 ('bx_polls', 'bx_polls', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_polls_form_entry_input_sys_delete_confirm', '_bx_polls_form_entry_input_delete_confirm', '_bx_polls_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_polls_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_polls', 'bx_polls', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_polls_form_entry_input_sys_delete_confirm', '_bx_polls_form_entry_input_delete_confirm', '_bx_polls_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_polls_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_polls', 'bx_polls', 'do_publish', '_bx_polls_form_entry_input_do_publish', '', 0, 'submit', '_bx_polls_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_polls', 'bx_polls', 'do_publish', '_bx_polls_form_entry_input_do_publish', '', 0, 'submit', '_bx_polls_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_polls', 'bx_polls', 'do_submit', '_bx_polls_form_entry_input_do_submit', '', 0, 'submit', '_bx_polls_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_polls', 'bx_polls', 'do_submit', '_bx_polls_form_entry_input_do_submit', '', 0, 'submit', '_bx_polls_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_polls', 'bx_polls', 'do_cancel', '_sys_form_input_cancel', '', 0, 'button', '_sys_form_input_sys_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:41:"window.open(''{edit_cancel_url}'', ''_self'')";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 0, 0),
+('bx_polls', 'bx_polls', 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '_sys_form_input_sys_controls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
 ('bx_polls', 'bx_polls', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_polls', 'bx_polls', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_polls', 'bx_polls', 'pictures', 'a:1:{i:0;s:9:"sys_html5";}', 'a:1:{s:9:"sys_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_polls_form_entry_input_sys_pictures', '_bx_polls_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_polls', 'bx_polls', 'pictures', 'a:1:{i:0;s:9:"sys_html5";}', 'a:1:{s:9:"sys_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_polls_form_entry_input_sys_pictures', '_bx_polls_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_polls', 'bx_polls', 'text', '', '', 0, 'textarea', '_bx_polls_form_entry_input_sys_text', '_bx_polls_form_entry_input_text', '', 1, 0, 2, '', '', '', 'Avail', '', '_bx_polls_form_entry_input_text_err', 'Xss', '', 1, 0),
 ('bx_polls', 'bx_polls', 'text', '', '', 0, 'textarea', '_bx_polls_form_entry_input_sys_text', '_bx_polls_form_entry_input_text', '', 1, 0, 2, '', '', '', 'Avail', '', '_bx_polls_form_entry_input_text_err', 'Xss', '', 1, 0),
@@ -356,7 +358,9 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_polls_entry_edit', 'cf', 2147483647, 1, 6),
 ('bx_polls_entry_edit', 'cf', 2147483647, 1, 6),
 ('bx_polls_entry_edit', 'hidden_results', 2147483647, 1, 7),
 ('bx_polls_entry_edit', 'hidden_results', 2147483647, 1, 7),
 ('bx_polls_entry_edit', 'location', 2147483647, 1, 8),
 ('bx_polls_entry_edit', 'location', 2147483647, 1, 8),
-('bx_polls_entry_edit', 'do_submit', 2147483647, 1, 9),
+('bx_polls_entry_edit', 'controls', 2147483647, 1, 9),
+('bx_polls_entry_edit', 'do_submit', 2147483647, 1, 10),
+('bx_polls_entry_edit', 'do_cancel', 2147483647, 1, 11),
 
 
 ('bx_polls_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_polls_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_polls_entry_view', 'added', 2147483647, 1, 2),
 ('bx_polls_entry_view', 'added', 2147483647, 1, 2),

+ 5 - 1
modules/boonex/posts/install/sql/install.sql

@@ -499,6 +499,8 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 ('bx_posts', 'bx_posts', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_posts_form_entry_input_sys_delete_confirm', '_bx_posts_form_entry_input_delete_confirm', '_bx_posts_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_posts_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_posts', 'bx_posts', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_posts_form_entry_input_sys_delete_confirm', '_bx_posts_form_entry_input_delete_confirm', '_bx_posts_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_posts_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_posts', 'bx_posts', 'do_publish', '_bx_posts_form_entry_input_do_publish', '', 0, 'submit', '_bx_posts_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_posts', 'bx_posts', 'do_publish', '_bx_posts_form_entry_input_do_publish', '', 0, 'submit', '_bx_posts_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_posts', 'bx_posts', 'do_submit', '_bx_posts_form_entry_input_do_submit', '', 0, 'submit', '_bx_posts_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_posts', 'bx_posts', 'do_submit', '_bx_posts_form_entry_input_do_submit', '', 0, 'submit', '_bx_posts_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_posts', 'bx_posts', 'do_cancel', '_sys_form_input_cancel', '', 0, 'button', '_sys_form_input_sys_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:41:"window.open(''{edit_cancel_url}'', ''_self'')";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 0, 0),
+('bx_posts', 'bx_posts', 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '_sys_form_input_sys_controls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
 ('bx_posts', 'bx_posts', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_posts', 'bx_posts', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_posts', 'bx_posts', 'covers', 'a:1:{i:0;s:14:"bx_posts_html5";}', 'a:1:{s:14:"bx_posts_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_posts_form_entry_input_sys_covers', '_bx_posts_form_entry_input_covers', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_posts', 'bx_posts', 'covers', 'a:1:{i:0;s:14:"bx_posts_html5";}', 'a:1:{s:14:"bx_posts_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_posts_form_entry_input_sys_covers', '_bx_posts_form_entry_input_covers', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_posts', 'bx_posts', 'pictures', 'a:1:{i:0;s:21:"bx_posts_photos_html5";}', 'a:1:{s:21:"bx_posts_photos_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_posts_form_entry_input_sys_pictures', '_bx_posts_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_posts', 'bx_posts', 'pictures', 'a:1:{i:0;s:21:"bx_posts_photos_html5";}', 'a:1:{s:21:"bx_posts_photos_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_posts_form_entry_input_sys_pictures', '_bx_posts_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
@@ -565,7 +567,9 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_posts_entry_edit', 'location', 2147483647, 1, 17),
 ('bx_posts_entry_edit', 'location', 2147483647, 1, 17),
 ('bx_posts_entry_edit', 'allow_comments', 192, 1, 18),
 ('bx_posts_entry_edit', 'allow_comments', 192, 1, 18),
 ('bx_posts_entry_edit', 'published', 192, 0, 19),
 ('bx_posts_entry_edit', 'published', 192, 0, 19),
-('bx_posts_entry_edit', 'do_submit', 2147483647, 1, 20),
+('bx_posts_entry_edit', 'controls', 2147483647, 1, 20),
+('bx_posts_entry_edit', 'do_submit', 2147483647, 1, 21),
+('bx_posts_entry_edit', 'do_cancel', 2147483647, 1, 22),
 
 
 ('bx_posts_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_posts_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_posts_entry_view', 'added', 2147483647, 1, 2),
 ('bx_posts_entry_view', 'added', 2147483647, 1, 2),

+ 4 - 0
modules/boonex/russian/data/langs/bx_tasks/ru.xml

@@ -26,6 +26,10 @@
     <string name="_bx_tasks_form_entry_input_do_publish"><![CDATA[Опубликовать]]></string>
     <string name="_bx_tasks_form_entry_input_do_publish"><![CDATA[Опубликовать]]></string>
     <string name="_bx_tasks_form_entry_input_sys_do_cancel"><![CDATA[Отменить]]></string>
     <string name="_bx_tasks_form_entry_input_sys_do_cancel"><![CDATA[Отменить]]></string>
     <string name="_bx_tasks_form_entry_input_do_cancel"><![CDATA[Отменить]]></string>
     <string name="_bx_tasks_form_entry_input_do_cancel"><![CDATA[Отменить]]></string>
+    <string name="_bx_tasks_form_entry_input_sys_do_cancel_edit"><![CDATA[Отменить (Форма редактирования)]]></string>
+    <string name="_bx_tasks_form_entry_input_do_cancel_edit"><![CDATA[Отменить]]></string>
+    <string name="_bx_tasks_form_entry_input_sys_controls"><![CDATA[Управление]]></string>
+    <string name="_bx_tasks_form_entry_input_sys_controls_edit"><![CDATA[Управление (Форма редактирования)]]></string>
     <string name="_bx_tasks_form_entry_input_sys_title"><![CDATA[Заголовок]]></string>
     <string name="_bx_tasks_form_entry_input_sys_title"><![CDATA[Заголовок]]></string>
     <string name="_bx_tasks_form_entry_input_title"><![CDATA[Заголовок]]></string>
     <string name="_bx_tasks_form_entry_input_title"><![CDATA[Заголовок]]></string>
     <string name="_bx_tasks_form_entry_input_title_err"><![CDATA[Заголовок обязателен. Пожалуйста, заполните это поле]]></string>
     <string name="_bx_tasks_form_entry_input_title_err"><![CDATA[Заголовок обязателен. Пожалуйста, заполните это поле]]></string>

+ 5 - 2
modules/boonex/russian/data/langs/system/ru.xml

@@ -2787,10 +2787,13 @@
 	<string name="_sys_form_input_sys_location"><![CDATA[Расположение]]></string>
 	<string name="_sys_form_input_sys_location"><![CDATA[Расположение]]></string>
         <string name="_sys_form_input_location"><![CDATA[Местоположение]]></string>
         <string name="_sys_form_input_location"><![CDATA[Местоположение]]></string>
         <string name="_sys_form_input_location_radius_label"><![CDATA[Радиус (в км)]]></string>
         <string name="_sys_form_input_location_radius_label"><![CDATA[Радиус (в км)]]></string>
-  <string name="_sys_form_input_nested_form_button_add_new_item"><![CDATA[Добавить новый]]></string>
-  <string name="_sys_form_input_nested_form_button_delete_item"><![CDATA[Удалить]]></string>
+        <string name="_sys_form_input_nested_form_button_add_new_item"><![CDATA[Добавить новый]]></string>
+        <string name="_sys_form_input_nested_form_button_delete_item"><![CDATA[Удалить]]></string>
         <string name="_sys_form_input_sys_anonymous"><![CDATA[Анонимная публикация]]></string>
         <string name="_sys_form_input_sys_anonymous"><![CDATA[Анонимная публикация]]></string>
         <string name="_sys_form_input_anonymous"><![CDATA[Анонимная публикация]]></string>
         <string name="_sys_form_input_anonymous"><![CDATA[Анонимная публикация]]></string>
+        <string name="_sys_form_input_sys_cancel"><![CDATA[Отмена]]></string>
+        <string name="_sys_form_input_cancel"><![CDATA[Отмена]]></string>
+        <string name="_sys_form_input_sys_controls"><![CDATA[Управление]]></string>
         <string name="_sys_form_input_sys_labels"><![CDATA[Метки]]></string>
         <string name="_sys_form_input_sys_labels"><![CDATA[Метки]]></string>
         <string name="_sys_form_input_labels"><![CDATA[Метки]]></string>
         <string name="_sys_form_input_labels"><![CDATA[Метки]]></string>
 	<string name="_sys_form_input_labels_placeholder"><![CDATA[Добавить метку]]></string>
 	<string name="_sys_form_input_labels_placeholder"><![CDATA[Добавить метку]]></string>

+ 5 - 1
modules/boonex/shopify/install/sql/install.sql

@@ -242,6 +242,8 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 ('bx_shopify', 'bx_shopify', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_shopify_form_entry_input_sys_delete_confirm', '_bx_shopify_form_entry_input_delete_confirm', '_bx_shopify_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_shopify_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_shopify', 'bx_shopify', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_shopify_form_entry_input_sys_delete_confirm', '_bx_shopify_form_entry_input_delete_confirm', '_bx_shopify_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_shopify_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_shopify', 'bx_shopify', 'do_publish', '_bx_shopify_form_entry_input_do_publish', '', 0, 'submit', '_bx_shopify_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_shopify', 'bx_shopify', 'do_publish', '_bx_shopify_form_entry_input_do_publish', '', 0, 'submit', '_bx_shopify_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_shopify', 'bx_shopify', 'do_submit', '_bx_shopify_form_entry_input_do_submit', '', 0, 'submit', '_bx_shopify_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_shopify', 'bx_shopify', 'do_submit', '_bx_shopify_form_entry_input_do_submit', '', 0, 'submit', '_bx_shopify_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_shopify', 'bx_shopify', 'do_cancel', '_sys_form_input_cancel', '', 0, 'button', '_sys_form_input_sys_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:41:"window.open(''{edit_cancel_url}'', ''_self'')";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 0, 0),
+('bx_shopify', 'bx_shopify', 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '_sys_form_input_sys_controls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
 ('bx_shopify', 'bx_shopify', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_shopify', 'bx_shopify', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_shopify', 'bx_shopify', 'title', '', '', 0, 'text', '_bx_shopify_form_entry_input_sys_title', '_bx_shopify_form_entry_input_title', '', 1, 0, 0, '', '', '', 'Avail', '', '_bx_shopify_form_entry_input_title_err', 'Xss', '', 1, 0),
 ('bx_shopify', 'bx_shopify', 'title', '', '', 0, 'text', '_bx_shopify_form_entry_input_sys_title', '_bx_shopify_form_entry_input_title', '', 1, 0, 0, '', '', '', 'Avail', '', '_bx_shopify_form_entry_input_title_err', 'Xss', '', 1, 0),
 ('bx_shopify', 'bx_shopify', 'code', '', '', 0, 'text', '_bx_shopify_form_entry_input_sys_code', '_bx_shopify_form_entry_input_code', '_bx_shopify_form_entry_input_code_inf', 1, 0, 0, '', '', '', 'Avail', '', '_bx_shopify_form_entry_input_code_err', 'Xss', '', 1, 0),
 ('bx_shopify', 'bx_shopify', 'code', '', '', 0, 'text', '_bx_shopify_form_entry_input_sys_code', '_bx_shopify_form_entry_input_code', '_bx_shopify_form_entry_input_code_inf', 1, 0, 0, '', '', '', 'Avail', '', '_bx_shopify_form_entry_input_code_err', 'Xss', '', 1, 0),
@@ -271,7 +273,9 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_shopify_entry_edit', 'allow_view_to', 2147483647, 1, 4),
 ('bx_shopify_entry_edit', 'allow_view_to', 2147483647, 1, 4),
 ('bx_shopify_entry_edit', 'cf', 2147483647, 1, 5),
 ('bx_shopify_entry_edit', 'cf', 2147483647, 1, 5),
 ('bx_shopify_entry_edit', 'location', 2147483647, 1, 6),
 ('bx_shopify_entry_edit', 'location', 2147483647, 1, 6),
-('bx_shopify_entry_edit', 'do_submit', 2147483647, 1, 7),
+('bx_shopify_entry_edit', 'controls', 2147483647, 1, 7),
+('bx_shopify_entry_edit', 'do_submit', 2147483647, 1, 8),
+('bx_shopify_entry_edit', 'do_cancel', 2147483647, 1, 9),
 
 
 ('bx_shopify_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_shopify_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_shopify_entry_view', 'added', 2147483647, 1, 2),
 ('bx_shopify_entry_view', 'added', 2147483647, 1, 2),

+ 5 - 1
modules/boonex/snipcart/install/sql/install.sql

@@ -295,6 +295,8 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 ('bx_snipcart', 'bx_snipcart', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_snipcart_form_entry_input_sys_delete_confirm', '_bx_snipcart_form_entry_input_delete_confirm', '_bx_snipcart_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_snipcart_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_snipcart', 'bx_snipcart', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_snipcart_form_entry_input_sys_delete_confirm', '_bx_snipcart_form_entry_input_delete_confirm', '_bx_snipcart_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_snipcart_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_snipcart', 'bx_snipcart', 'do_publish', '_bx_snipcart_form_entry_input_do_publish', '', 0, 'submit', '_bx_snipcart_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_snipcart', 'bx_snipcart', 'do_publish', '_bx_snipcart_form_entry_input_do_publish', '', 0, 'submit', '_bx_snipcart_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_snipcart', 'bx_snipcart', 'do_submit', '_bx_snipcart_form_entry_input_do_submit', '', 0, 'submit', '_bx_snipcart_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_snipcart', 'bx_snipcart', 'do_submit', '_bx_snipcart_form_entry_input_do_submit', '', 0, 'submit', '_bx_snipcart_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_snipcart', 'bx_snipcart', 'do_cancel', '_sys_form_input_cancel', '', 0, 'button', '_sys_form_input_sys_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:41:"window.open(''{edit_cancel_url}'', ''_self'')";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 0, 0),
+('bx_snipcart', 'bx_snipcart', 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '_sys_form_input_sys_controls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
 ('bx_snipcart', 'bx_snipcart', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_snipcart', 'bx_snipcart', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_snipcart', 'bx_snipcart', 'pictures', 'a:1:{i:0;s:9:"sys_html5";}', 'a:1:{s:9:"sys_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_snipcart_form_entry_input_sys_pictures', '_bx_snipcart_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_snipcart', 'bx_snipcart', 'pictures', 'a:1:{i:0;s:9:"sys_html5";}', 'a:1:{s:9:"sys_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_snipcart_form_entry_input_sys_pictures', '_bx_snipcart_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_snipcart', 'bx_snipcart', 'text', '', '', 0, 'textarea', '_bx_snipcart_form_entry_input_sys_text', '_bx_snipcart_form_entry_input_text', '', 1, 0, 2, '', '', '', 'Avail', '', '_bx_snipcart_form_entry_input_text_err', 'XssHtml', '', 1, 0),
 ('bx_snipcart', 'bx_snipcart', 'text', '', '', 0, 'textarea', '_bx_snipcart_form_entry_input_sys_text', '_bx_snipcart_form_entry_input_text', '', 1, 0, 2, '', '', '', 'Avail', '', '_bx_snipcart_form_entry_input_text_err', 'XssHtml', '', 1, 0),
@@ -335,7 +337,9 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_snipcart_entry_edit', 'allow_view_to', 2147483647, 1, 7),
 ('bx_snipcart_entry_edit', 'allow_view_to', 2147483647, 1, 7),
 ('bx_snipcart_entry_edit', 'cf', 2147483647, 1, 8),
 ('bx_snipcart_entry_edit', 'cf', 2147483647, 1, 8),
 ('bx_snipcart_entry_edit', 'location', 2147483647, 1, 9),
 ('bx_snipcart_entry_edit', 'location', 2147483647, 1, 9),
-('bx_snipcart_entry_edit', 'do_submit', 2147483647, 1, 10),
+('bx_snipcart_entry_edit', 'controls', 2147483647, 1, 10),
+('bx_snipcart_entry_edit', 'do_submit', 2147483647, 1, 11),
+('bx_snipcart_entry_edit', 'do_cancel', 2147483647, 1, 12),
 
 
 ('bx_snipcart_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_snipcart_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_snipcart_entry_view', 'weight', 2147483647, 1, 2),
 ('bx_snipcart_entry_view', 'weight', 2147483647, 1, 2),

+ 5 - 1
modules/boonex/stories/install/sql/install.sql

@@ -283,6 +283,8 @@ INSERT INTO `sys_form_displays`(`object`, `display_name`, `module`, `view_mode`,
 INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `checked`, `type`, `caption_system`, `caption`, `info`, `required`, `collapsed`, `html`, `attrs`, `attrs_tr`, `attrs_wrapper`, `checker_func`, `checker_params`, `checker_error`, `db_pass`, `db_params`, `editable`, `deletable`) VALUES 
 INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `checked`, `type`, `caption_system`, `caption`, `info`, `required`, `collapsed`, `html`, `attrs`, `attrs_tr`, `attrs_wrapper`, `checker_func`, `checker_params`, `checker_error`, `db_pass`, `db_params`, `editable`, `deletable`) VALUES 
 ('bx_stories', 'bx_stories', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_stories_form_entry_input_sys_delete_confirm', '_bx_stories_form_entry_input_delete_confirm', '_bx_stories_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_stories_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_stories', 'bx_stories', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_stories_form_entry_input_sys_delete_confirm', '_bx_stories_form_entry_input_delete_confirm', '_bx_stories_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_stories_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_stories', 'bx_stories', 'do_submit', '_bx_stories_form_entry_input_do_submit', '', 0, 'submit', '_bx_stories_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_stories', 'bx_stories', 'do_submit', '_bx_stories_form_entry_input_do_submit', '', 0, 'submit', '_bx_stories_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_stories', 'bx_stories', 'do_cancel', '_sys_form_input_cancel', '', 0, 'button', '_sys_form_input_sys_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:41:"window.open(''{edit_cancel_url}'', ''_self'')";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 0, 0),
+('bx_stories', 'bx_stories', 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '_sys_form_input_sys_controls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
 ('bx_stories', 'bx_stories', 'title', '', '', 0, 'text', '_bx_stories_form_entry_input_sys_title', '_bx_stories_form_entry_input_title', '', 1, 0, 0, '', '', '', 'avail', '', '_bx_stories_form_entry_input_title_err', 'Xss', '', 1, 0),
 ('bx_stories', 'bx_stories', 'title', '', '', 0, 'text', '_bx_stories_form_entry_input_sys_title', '_bx_stories_form_entry_input_title', '', 1, 0, 0, '', '', '', 'avail', '', '_bx_stories_form_entry_input_title_err', 'Xss', '', 1, 0),
 ('bx_stories', 'bx_stories', 'text', '', '', 0, 'textarea', '_bx_stories_form_entry_input_sys_text', '_bx_stories_form_entry_input_text', '', 0, 0, 2, '', '', '', '', '', '', 'XssHtml', '', 1, 0),
 ('bx_stories', 'bx_stories', 'text', '', '', 0, 'textarea', '_bx_stories_form_entry_input_sys_text', '_bx_stories_form_entry_input_text', '', 0, 0, 2, '', '', '', '', '', '', 'XssHtml', '', 1, 0),
 ('bx_stories', 'bx_stories', 'pictures', 'a:1:{i:0;s:16:"bx_stories_html5";}', 'a:3:{s:16:"bx_stories_html5";s:25:"_sys_uploader_html5_title";s:23:"bx_stories_record_video";s:32:"_sys_uploader_record_video_title";s:15:"bx_stories_crop";s:24:"_sys_uploader_crop_title";}', 0, 'files', '_bx_stories_form_entry_input_sys_pictures', '_bx_stories_form_entry_input_pictures', '', 1, 0, 0, '', '', '', 'avail', '', '_bx_stories_form_entry_input_pictures_err', '', '', 1, 0),
 ('bx_stories', 'bx_stories', 'pictures', 'a:1:{i:0;s:16:"bx_stories_html5";}', 'a:3:{s:16:"bx_stories_html5";s:25:"_sys_uploader_html5_title";s:23:"bx_stories_record_video";s:32:"_sys_uploader_record_video_title";s:15:"bx_stories_crop";s:24:"_sys_uploader_crop_title";}', 0, 'files', '_bx_stories_form_entry_input_sys_pictures', '_bx_stories_form_entry_input_pictures', '', 1, 0, 0, '', '', '', 'avail', '', '_bx_stories_form_entry_input_pictures_err', '', '', 1, 0),
@@ -300,7 +302,9 @@ INSERT INTO `sys_form_display_inputs` (`display_name`, `input_name`, `visible_fo
 
 
 ('bx_stories_entry_edit', 'pictures', 2147483647, 1, 1),
 ('bx_stories_entry_edit', 'pictures', 2147483647, 1, 1),
 ('bx_stories_entry_edit', 'allow_view_to', 2147483647, 1, 2),
 ('bx_stories_entry_edit', 'allow_view_to', 2147483647, 1, 2),
-('bx_stories_entry_edit', 'do_submit', 2147483647, 1, 3),
+('bx_stories_entry_edit', 'controls', 2147483647, 1, 3),
+('bx_stories_entry_edit', 'do_submit', 2147483647, 1, 4),
+('bx_stories_entry_edit', 'do_cancel', 2147483647, 1, 5),
 
 
 ('bx_stories_entry_view', 'added', 2147483647, 1, 1),
 ('bx_stories_entry_view', 'added', 2147483647, 1, 1),
 ('bx_stories_entry_view', 'changed', 2147483647, 1, 2),
 ('bx_stories_entry_view', 'changed', 2147483647, 1, 2),

+ 5 - 1
modules/boonex/stream/install/sql/install.sql

@@ -301,6 +301,8 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 ('bx_stream', 'bx_stream', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_stream_form_entry_input_sys_delete_confirm', '_bx_stream_form_entry_input_delete_confirm', '_bx_stream_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_stream_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_stream', 'bx_stream', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_stream_form_entry_input_sys_delete_confirm', '_bx_stream_form_entry_input_delete_confirm', '_bx_stream_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_stream_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_stream', 'bx_stream', 'do_publish', '_bx_stream_form_entry_input_do_publish', '', 0, 'submit', '_bx_stream_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_stream', 'bx_stream', 'do_publish', '_bx_stream_form_entry_input_do_publish', '', 0, 'submit', '_bx_stream_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_stream', 'bx_stream', 'do_submit', '_bx_stream_form_entry_input_do_submit', '', 0, 'submit', '_bx_stream_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_stream', 'bx_stream', 'do_submit', '_bx_stream_form_entry_input_do_submit', '', 0, 'submit', '_bx_stream_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_stream', 'bx_stream', 'do_cancel', '_sys_form_input_cancel', '', 0, 'button', '_sys_form_input_sys_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:41:"window.open(''{edit_cancel_url}'', ''_self'')";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 0, 0),
+('bx_stream', 'bx_stream', 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '_sys_form_input_sys_controls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
 ('bx_stream', 'bx_stream', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_stream', 'bx_stream', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_stream', 'bx_stream', 'covers', 'a:1:{i:0;s:15:"bx_stream_html5";}', 'a:1:{s:15:"bx_stream_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_stream_form_entry_input_sys_covers', '_bx_stream_form_entry_input_covers', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_stream', 'bx_stream', 'covers', 'a:1:{i:0;s:15:"bx_stream_html5";}', 'a:1:{s:15:"bx_stream_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_stream_form_entry_input_sys_covers', '_bx_stream_form_entry_input_covers', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_stream', 'bx_stream', 'text', '', '', 0, 'textarea', '_bx_stream_form_entry_input_sys_text', '_bx_stream_form_entry_input_text', '', 1, 0, 2, '', '', '', 'Avail', '', '_bx_stream_form_entry_input_text_err', 'XssHtml', '', 1, 0),
 ('bx_stream', 'bx_stream', 'text', '', '', 0, 'textarea', '_bx_stream_form_entry_input_sys_text', '_bx_stream_form_entry_input_text', '', 1, 0, 2, '', '', '', 'Avail', '', '_bx_stream_form_entry_input_text_err', 'XssHtml', '', 1, 0),
@@ -340,7 +342,9 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_stream_entry_edit', 'cf', 2147483647, 1, 8),
 ('bx_stream_entry_edit', 'cf', 2147483647, 1, 8),
 ('bx_stream_entry_edit', 'location', 2147483647, 1, 9),
 ('bx_stream_entry_edit', 'location', 2147483647, 1, 9),
 ('bx_stream_entry_edit', 'allow_comments', 192, 1, 10),
 ('bx_stream_entry_edit', 'allow_comments', 192, 1, 10),
-('bx_stream_entry_edit', 'do_submit', 2147483647, 1, 11),
+('bx_stream_entry_edit', 'controls', 2147483647, 1, 11),
+('bx_stream_entry_edit', 'do_submit', 2147483647, 1, 12),
+('bx_stream_entry_edit', 'do_cancel', 2147483647, 1, 13),
 
 
 ('bx_stream_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_stream_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_stream_entry_view', 'added', 2147483647, 1, 2),
 ('bx_stream_entry_view', 'added', 2147483647, 1, 2),

+ 4 - 4
modules/boonex/tasks/classes/BxTasksFormEntry.php

@@ -85,13 +85,13 @@ class BxTasksFormEntry extends BxBaseModTextFormEntry
         }
         }
     }
     }
 
 
-	function getCode($bDynamicMode = false)
+    function getCode($bDynamicMode = false)
     {
     {
-        $CNF = &$this->_oModule->_oConfig->CNF;
+        $this->_replaceMarkersInControls('controls_edit');
 
 
         $sResult = parent::getCode($bDynamicMode);
         $sResult = parent::getCode($bDynamicMode);
-		$sInclude = $this->_oModule->_oTemplate->addJs(array('tasks.js'), $bDynamicMode);
-		$sResult .= ($bDynamicMode ? $sInclude : '') . $this->_oModule->_oTemplate->getJsCode('tasks');
+        $sInclude = $this->_oModule->_oTemplate->addJs(array('tasks.js'), $bDynamicMode);
+        $sResult .= ($bDynamicMode ? $sInclude : '') . $this->_oModule->_oTemplate->getJsCode('tasks');
     	return $sResult;
     	return $sResult;
     }
     }
 	
 	

+ 4 - 0
modules/boonex/tasks/install/langs/en.xml

@@ -26,6 +26,10 @@
     <string name="_bx_tasks_form_entry_input_do_publish"><![CDATA[Publish]]></string>
     <string name="_bx_tasks_form_entry_input_do_publish"><![CDATA[Publish]]></string>
     <string name="_bx_tasks_form_entry_input_sys_do_cancel"><![CDATA[Cancel]]></string>
     <string name="_bx_tasks_form_entry_input_sys_do_cancel"><![CDATA[Cancel]]></string>
     <string name="_bx_tasks_form_entry_input_do_cancel"><![CDATA[Cancel]]></string>
     <string name="_bx_tasks_form_entry_input_do_cancel"><![CDATA[Cancel]]></string>
+    <string name="_bx_tasks_form_entry_input_sys_do_cancel_edit"><![CDATA[Cancel (Edit form)]]></string>
+    <string name="_bx_tasks_form_entry_input_do_cancel_edit"><![CDATA[Cancel]]></string>
+    <string name="_bx_tasks_form_entry_input_sys_controls"><![CDATA[Controls]]></string>
+    <string name="_bx_tasks_form_entry_input_sys_controls_edit"><![CDATA[Controls (Edit form)]]></string>
     <string name="_bx_tasks_form_entry_input_sys_title"><![CDATA[Title]]></string>
     <string name="_bx_tasks_form_entry_input_sys_title"><![CDATA[Title]]></string>
     <string name="_bx_tasks_form_entry_input_title"><![CDATA[Title]]></string>
     <string name="_bx_tasks_form_entry_input_title"><![CDATA[Title]]></string>
     <string name="_bx_tasks_form_entry_input_title_err"><![CDATA[Title is essential. Please, fill in this field]]></string>
     <string name="_bx_tasks_form_entry_input_title_err"><![CDATA[Title is essential. Please, fill in this field]]></string>

+ 6 - 2
modules/boonex/tasks/install/sql/install.sql

@@ -386,7 +386,9 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 ('bx_tasks', 'bx_tasks', 'do_publish', '_bx_tasks_form_entry_input_do_publish', '', 0, 'submit', '_bx_tasks_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_tasks', 'bx_tasks', 'do_publish', '_bx_tasks_form_entry_input_do_publish', '', 0, 'submit', '_bx_tasks_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_tasks', 'bx_tasks', 'do_submit', '_bx_tasks_form_entry_input_do_submit', '', 0, 'submit', '_bx_tasks_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_tasks', 'bx_tasks', 'do_submit', '_bx_tasks_form_entry_input_do_submit', '', 0, 'submit', '_bx_tasks_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_tasks', 'bx_tasks', 'do_cancel', '_bx_tasks_form_entry_input_do_cancel', '', 0, 'button', '_bx_tasks_form_entry_input_sys_do_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:45:"$(''.bx-popup-applied:visible'').dolPopupHide()";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 1, 0),
 ('bx_tasks', 'bx_tasks', 'do_cancel', '_bx_tasks_form_entry_input_do_cancel', '', 0, 'button', '_bx_tasks_form_entry_input_sys_do_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:45:"$(''.bx-popup-applied:visible'').dolPopupHide()";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 1, 0),
-('bx_tasks', 'bx_tasks', 'controls', '', 'do_publish,do_cancel', 0, 'input_set', '', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_tasks', 'bx_tasks', 'do_cancel_edit', '_bx_tasks_form_entry_input_do_cancel_edit', '', 0, 'button', '_bx_tasks_form_entry_input_sys_do_cancel_edit', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:41:"window.open(''{edit_cancel_url}'', ''_self'')";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 0, 0),
+('bx_tasks', 'bx_tasks', 'controls', '', 'do_publish,do_cancel', 0, 'input_set', '_bx_tasks_form_entry_input_sys_controls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_tasks', 'bx_tasks', 'controls_edit', '', 'do_submit,do_cancel_edit', 0, 'input_set', '_bx_tasks_form_entry_input_sys_controls_edit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_tasks', 'bx_tasks', 'covers', 'a:1:{i:0;s:14:"bx_tasks_html5";}', 'a:1:{s:14:"bx_tasks_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_tasks_form_entry_input_sys_covers', '_bx_tasks_form_entry_input_covers', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_tasks', 'bx_tasks', 'covers', 'a:1:{i:0;s:14:"bx_tasks_html5";}', 'a:1:{s:14:"bx_tasks_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_tasks_form_entry_input_sys_covers', '_bx_tasks_form_entry_input_covers', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_tasks', 'bx_tasks', 'pictures', 'a:1:{i:0;s:21:"bx_tasks_photos_html5";}', 'a:1:{s:21:"bx_tasks_photos_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_tasks_form_entry_input_sys_pictures', '_bx_tasks_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_tasks', 'bx_tasks', 'pictures', 'a:1:{i:0;s:21:"bx_tasks_photos_html5";}', 'a:1:{s:21:"bx_tasks_photos_html5";s:25:"_sys_uploader_html5_title";}', 0, 'files', '_bx_tasks_form_entry_input_sys_pictures', '_bx_tasks_form_entry_input_pictures', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_tasks', 'bx_tasks', 'videos', 'a:2:{i:0;s:21:"bx_tasks_videos_html5";i:1;s:28:"bx_tasks_videos_record_video";}', 'a:2:{s:21:"bx_tasks_videos_html5";s:25:"_sys_uploader_html5_title";s:28:"bx_tasks_videos_record_video";s:32:"_sys_uploader_record_video_title";}', 0, 'files', '_bx_tasks_form_entry_input_sys_videos', '_bx_tasks_form_entry_input_videos', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_tasks', 'bx_tasks', 'videos', 'a:2:{i:0;s:21:"bx_tasks_videos_html5";i:1;s:28:"bx_tasks_videos_record_video";}', 'a:2:{s:21:"bx_tasks_videos_html5";s:25:"_sys_uploader_html5_title";s:28:"bx_tasks_videos_record_video";s:32:"_sys_uploader_record_video_title";}', 0, 'files', '_bx_tasks_form_entry_input_sys_videos', '_bx_tasks_form_entry_input_videos', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
@@ -431,7 +433,9 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_tasks_entry_edit', 'tasks_list', 192, 1, 11),
 ('bx_tasks_entry_edit', 'tasks_list', 192, 1, 11),
 ('bx_tasks_entry_edit', 'initial_members', 192, 1, 12),
 ('bx_tasks_entry_edit', 'initial_members', 192, 1, 12),
 ('bx_tasks_entry_edit', 'due_date', 192, 1, 13),
 ('bx_tasks_entry_edit', 'due_date', 192, 1, 13),
-('bx_tasks_entry_edit', 'do_submit', 2147483647, 1, 14),
+('bx_tasks_entry_edit', 'controls_edit', 2147483647, 1, 14),
+('bx_tasks_entry_edit', 'do_submit', 2147483647, 1, 15),
+('bx_tasks_entry_edit', 'do_cancel_edit', 2147483647, 1, 16),
 
 
 ('bx_tasks_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_tasks_entry_view', 'cat', 2147483647, 1, 1),
 ('bx_tasks_entry_view', 'added', 2147483647, 1, 2),
 ('bx_tasks_entry_view', 'added', 2147483647, 1, 2),

+ 5 - 1
modules/boonex/videos/install/sql/install.sql

@@ -364,6 +364,8 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 ('bx_videos', 'bx_videos', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_videos_form_entry_input_sys_delete_confirm', '_bx_videos_form_entry_input_delete_confirm', '_bx_videos_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_videos_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_videos', 'bx_videos', 'delete_confirm', 1, '', 0, 'checkbox', '_bx_videos_form_entry_input_sys_delete_confirm', '_bx_videos_form_entry_input_delete_confirm', '_bx_videos_form_entry_input_delete_confirm_info', 1, 0, 0, '', '', '', 'Avail', '', '_bx_videos_form_entry_input_delete_confirm_error', '', '', 1, 0),
 ('bx_videos', 'bx_videos', 'do_publish', '_bx_videos_form_entry_input_do_publish', '', 0, 'submit', '_bx_videos_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_videos', 'bx_videos', 'do_publish', '_bx_videos_form_entry_input_do_publish', '', 0, 'submit', '_bx_videos_form_entry_input_sys_do_publish', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_videos', 'bx_videos', 'do_submit', '_bx_videos_form_entry_input_do_submit', '', 0, 'submit', '_bx_videos_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_videos', 'bx_videos', 'do_submit', '_bx_videos_form_entry_input_do_submit', '', 0, 'submit', '_bx_videos_form_entry_input_sys_do_submit', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
+('bx_videos', 'bx_videos', 'do_cancel', '_sys_form_input_cancel', '', 0, 'button', '_sys_form_input_sys_cancel', '', '', 0, 0, 0, 'a:2:{s:7:"onclick";s:41:"window.open(''{edit_cancel_url}'', ''_self'')";s:5:"class";s:22:"bx-def-margin-sec-left";}', '', '', '', '', '', '', '', 0, 0),
+('bx_videos', 'bx_videos', 'controls', '', 'do_submit,do_cancel', 0, 'input_set', '_sys_form_input_sys_controls', '', '', 0, 0, 0, '', '', '', '', '', '', '', '', 0, 0),
 ('bx_videos', 'bx_videos', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_videos', 'bx_videos', 'location', '', '', 0, 'location', '_sys_form_input_sys_location', '_sys_form_input_location', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0),
 ('bx_videos', 'bx_videos', 'video_source', 'upload', '#!bx_videos_source', 0, 'radio_set', '_bx_videos_form_entry_input_sys_video_source', '_bx_videos_form_entry_input_video_source', '', 0, 0, 0, '', '', '', '', '', '', 'Xss', '', 1, 0),
 ('bx_videos', 'bx_videos', 'video_source', 'upload', '#!bx_videos_source', 0, 'radio_set', '_bx_videos_form_entry_input_sys_video_source', '_bx_videos_form_entry_input_video_source', '', 0, 0, 0, '', '', '', '', '', '', 'Xss', '', 1, 0),
 ('bx_videos', 'bx_videos', 'video_embed', '', '', 0, 'custom', '_bx_videos_form_entry_input_sys_video_embed', '_bx_videos_form_entry_input_video_embed', '', 1, 0, 0, '', '', '', 'EmbedVideoAvail', '', '_bx_videos_form_entry_input_video_embed_error', 'Xss', '', 1, 0),
 ('bx_videos', 'bx_videos', 'video_embed', '', '', 0, 'custom', '_bx_videos_form_entry_input_sys_video_embed', '_bx_videos_form_entry_input_video_embed', '', 1, 0, 0, '', '', '', 'EmbedVideoAvail', '', '_bx_videos_form_entry_input_video_embed_error', 'Xss', '', 1, 0),
@@ -404,7 +406,9 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_videos_entry_edit', 'allow_view_to', 2147483647, 1, 8),
 ('bx_videos_entry_edit', 'allow_view_to', 2147483647, 1, 8),
 ('bx_videos_entry_edit', 'cf', 2147483647, 1, 9),
 ('bx_videos_entry_edit', 'cf', 2147483647, 1, 9),
 ('bx_videos_entry_edit', 'location', 2147483647, 1, 10),
 ('bx_videos_entry_edit', 'location', 2147483647, 1, 10),
-('bx_videos_entry_edit', 'do_submit', 2147483647, 1, 11),
+('bx_videos_entry_edit', 'controls', 2147483647, 1, 11),
+('bx_videos_entry_edit', 'do_submit', 2147483647, 1, 12),
+('bx_videos_entry_edit', 'do_cancel', 2147483647, 1, 13),
 
 
 ('bx_videos_entry_view', 'duration', 2147483647, 1, 1),
 ('bx_videos_entry_view', 'duration', 2147483647, 1, 1),
 ('bx_videos_entry_view', 'cat', 2147483647, 1, 2),
 ('bx_videos_entry_view', 'cat', 2147483647, 1, 2),