- Timestamp:
- 02/08/12 00:34:05 (4 months ago)
- Location:
- trunk
- Files:
-
- 5 edited
-
install/sql/v70.sql (modified) (1 diff)
-
modules/boonex/english/install/data/langs/en.xml (modified) (1 diff)
-
studio/classes/BxDolStudioNavigationQuery.php (modified) (1 diff)
-
studio/js/navigation_items.js (modified) (1 diff)
-
studio/templates/base/scripts/BxBaseStudioNavigationItems.php (modified) (13 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/install/sql/v70.sql
r15956 r15962 2725 2725 `onclick` varchar(255) NOT NULL, 2726 2726 `target` varchar(255) NOT NULL, 2727 `icon` varchar(255) NOT NULL, 2727 `icon` varchar(255) NOT NULL, 2728 `submenu_object` varchar(32) NOT NULL, 2728 2729 `visible_for_levels` int(11) NOT NULL DEFAULT '2147483647', 2729 2730 `active` tinyint(4) NOT NULL DEFAULT '1', -
trunk/modules/boonex/english/install/data/langs/en.xml
r15957 r15962 2214 2214 <string name="_adm_nav_dsc_items_title"><![CDATA[Link name displayed in site menus. Use at least 3 characters.]]></string> 2215 2215 <string name="_adm_nav_err_items_title"><![CDATA[A title with at least 3 characters is required.]]></string> 2216 <string name="_adm_nav_txt_items_submenu"><![CDATA[Submenu]]></string> 2217 <string name="_adm_nav_dsc_items_submenu"><![CDATA[Select if you want the link to have a submenu.]]></string> 2218 <string name="_adm_nav_txt_items_submenu_empty"><![CDATA[No Submenu]]></string> 2216 2219 <string name="_adm_nav_txt_items_link"><![CDATA[URL]]></string> 2217 2220 <string name="_adm_nav_dsc_items_link"><![CDATA[Enter the link URL]]></string> 2218 2221 <string name="_adm_nav_err_items_link"><![CDATA[You need to enter item URL]]></string> 2219 <string name="_adm_nav_txt_items_icon"><![CDATA[Icon]]></string> 2220 <string name="_adm_nav_dsc_items_icon"><![CDATA[Upload a small image to be displayed near the link.]]></string> 2222 <string name="_adm_nav_txt_items_target"><![CDATA[Target]]></string> 2223 <string name="_adm_nav_dsc_items_target"><![CDATA[Select if you want the link to open as a new page or within current page.]]></string> 2224 <string name="_adm_nav_txt_items_target_self"><![CDATA[Same Page]]></string> 2225 <string name="_adm_nav_txt_items_target_blank"><![CDATA[New Page]]></string> 2226 <string name="_adm_nav_txt_items_target_custom"><![CDATA[Custom Target]]></string> 2227 <string name="_adm_nav_txt_items_icon"><![CDATA[Icon]]></string> 2228 <string name="_adm_nav_dsc_items_icon"><![CDATA[Upload a small image to be displayed near the link.]]></string> 2221 2229 <string name="_adm_nav_err_items_icon"><![CDATA[Cannot process image]]></string> 2222 2230 <string name="_adm_nav_err_items_icon_remove"><![CDATA[Cannot remove icon image]]></string> 2223 2231 <string name="_adm_nav_err_items_icon_copy"><![CDATA[Cannot copy icon image]]></string> 2224 <string name="_adm_nav_txt_items_target"><![CDATA[Target]]></string>2225 <string name="_adm_nav_dsc_items_target"><![CDATA[Select if you want the link to open as a new page or within current page.]]></string>2226 <string name="_adm_nav_err_items_target"><![CDATA[You need to select target]]></string>2227 <string name="_adm_nav_txt_items_target_self"><![CDATA[Same Page]]></string>2228 <string name="_adm_nav_txt_items_target_blank"><![CDATA[New Page]]></string>2229 2232 <string name="_adm_nav_btn_items_add"><![CDATA[Add]]></string> 2230 2233 <string name="_adm_nav_btn_items_save"><![CDATA[Save]]></string> -
trunk/studio/classes/BxDolStudioNavigationQuery.php
r15924 r15962 172 172 `tmi`.`target` AS `target`, 173 173 `tmi`.`icon` AS `icon`, 174 `tmi`.`submenu_object` AS `submenu_object`, 174 175 `tmi`.`visible_for_levels` AS `visible_for_levels`, 175 176 `tmi`.`active` AS `active`, -
trunk/studio/js/navigation_items.js
r15802 r15962 18 18 } 19 19 20 BxDolStudioNavigationItems.prototype.onChangeSubmenu = function(oSelect) { 21 var sSubmenu = $(oSelect).val(); 22 $('#bx-form-element-link, #bx-form-element-target').bx_anim(sSubmenu == '' ? 'show' : 'hide', this.sAnimationEffect, this.iAnimationSpeed); 23 }; 24 20 25 BxDolStudioNavigationItems.prototype.onChangeSet = function() { 21 26 var sSet = $('#bx-grid-set-' + this.sObjNameGrid).val(); -
trunk/studio/templates/base/scripts/BxBaseStudioNavigationItems.php
r15953 r15962 64 64 ), 65 65 ), 66 'onclick' => array( 67 'type' => 'hidden', 68 'name' => 'onclick', 69 'value' => '', 70 'db' => array ( 71 'pass' => 'Xss', 72 ), 73 ), 66 74 'title' => array( 67 75 'type' => 'text', … … 80 88 ), 81 89 ), 90 'submenu_object' => array( 91 'type' => 'select', 92 'name' => 'submenu_object', 93 'caption' => _t('_adm_nav_txt_items_submenu'), 94 'info' => _t('_adm_nav_dsc_items_submenu'), 95 'value' => '', 96 'values' => array(), 97 'required' => '0', 98 'attrs' => array( 99 'onChange' => 'javascript:' . $this->getJsObject() . '.onChangeSubmenu(this)' 100 ), 101 'db' => array ( 102 'pass' => 'Xss', 103 ), 104 ), 82 105 'link' => array( 83 106 'type' => 'text', … … 95 118 'error' => _t('_adm_nav_err_items_link'), 96 119 ), 120 ), 121 'target' => array( 122 'type' => 'select', 123 'name' => 'target', 124 'caption' => _t('_adm_nav_txt_items_target'), 125 'info' => _t('_adm_nav_dsc_items_target'), 126 'value' => '_self', 127 'values' => array( 128 array('key' => '', 'value' => _t('_adm_nav_txt_items_target_self')), 129 array('key' => '_blank', 'value' => _t('_adm_nav_txt_items_target_blank')) 130 ), 131 'required' => '0', 132 'db' => array ( 133 'pass' => 'Xss', 134 ) 97 135 ), 98 136 'icon' => array( … … 106 144 'params' => '', 107 145 'error' => _t('_adm_nav_err_items_icon'), 108 ),109 ),110 'target' => array(111 'type' => 'select',112 'name' => 'target',113 'caption' => _t('_adm_nav_txt_items_target'),114 'info' => _t('_adm_nav_dsc_items_target'),115 'value' => '_self',116 'values' => array(117 array('key' => '_self', 'value' => _t('_adm_nav_txt_items_target_self')),118 array('key' => '_blank', 'value' => _t('_adm_nav_txt_items_target_blank'))119 ),120 'required' => '1',121 'db' => array (122 'pass' => 'Xss',123 ),124 'checker' => array (125 'func' => 'avail',126 'params' => array(),127 'error' => _t('_adm_nav_err_items_target'),128 146 ), 129 147 ), … … 149 167 ); 150 168 169 $aMenus = array(); 170 $this->oDb->getMenus(array('type' => 'all'), $aMenus, false); 171 foreach($aMenus as $aMenu) 172 $aForm['inputs']['submenu_object']['values'][$aMenu['object']] = _t($aMenu['title']); 173 174 asort($aForm['inputs']['submenu_object']['values']); 175 $aForm['inputs']['submenu_object']['values'] = array_merge(array('' => _t('_adm_nav_txt_items_submenu_empty')), $aForm['inputs']['submenu_object']['values']); 176 151 177 bx_import('BxTemplStudioFormView'); 152 178 $oForm = new BxTemplStudioFormView($aForm); … … 173 199 BxDolForm::setSubmittedValue('title', $sTitleKey, $aForm['form_attrs']['method']); 174 200 201 $sSubmenu = $oForm->getCleanValue('submenu_object'); 202 if(!empty($sSubmenu)) { 203 BxDolForm::setSubmittedValue('link', 'javascript:void(0)', $aForm['form_attrs']['method']); 204 BxDolForm::setSubmittedValue('target', '', $aForm['form_attrs']['method']); 205 BxDolForm::setSubmittedValue('onclick', 'bx_menu_popup(\'' . $sSubmenu . '\', this);', $aForm['form_attrs']['method']); 206 } 207 175 208 $iId = (int)$oForm->insert(array('module' => BX_DOL_STUDIO_MODULE_CUSTOM, 'name' => $sName, 'icon' => $mixedIcon, 'active' => 1, 'order' => $this->oDb->getItemOrderMax($this->sSet) + 1)); 176 209 if($iId != 0) { … … 220 253 } 221 254 255 $sSubmenu = ""; 256 222 257 $aForm = array( 223 258 'form_attrs' => array( … … 245 280 ), 246 281 ), 282 'onclick' => array( 283 'type' => 'hidden', 284 'name' => 'onclick', 285 'value' => $aItem['onclick'], 286 'db' => array ( 287 'pass' => 'Xss', 288 ), 289 ), 247 290 'title' => array( 248 291 'type' => 'text', … … 261 304 ), 262 305 ), 306 'submenu_object' => array( 307 'type' => 'select', 308 'name' => 'submenu_object', 309 'caption' => _t('_adm_nav_txt_items_submenu'), 310 'info' => _t('_adm_nav_dsc_items_submenu'), 311 'value' => $aItem['submenu_object'], 312 'values' => array(), 313 'required' => '0', 314 'attrs' => array( 315 'onChange' => 'javascript:' . $this->getJsObject() . '.onChangeSubmenu(this)' 316 ), 317 'db' => array ( 318 'pass' => 'Xss', 319 ), 320 ), 263 321 'link' => array( 264 322 'type' => 'text', … … 276 334 'error' => _t('_adm_nav_err_items_link'), 277 335 ), 336 ), 337 'target' => array( 338 'type' => 'select', 339 'name' => 'target', 340 'caption' => _t('_adm_nav_txt_items_target'), 341 'info' => _t('_adm_nav_dsc_items_target'), 342 'value' => $aItem['target'], 343 'values' => array( 344 array('key' => '', 'value' => _t('_adm_nav_txt_items_target_self')), 345 array('key' => '_blank', 'value' => _t('_adm_nav_txt_items_target_blank')) 346 ), 347 'required' => '0', 348 'db' => array ( 349 'pass' => 'Xss', 350 ) 278 351 ), 279 352 'icon' => array( … … 287 360 'params' => '', 288 361 'error' => _t('_adm_nav_err_items_icon'), 289 ),290 ),291 'target' => array(292 'type' => 'select',293 'name' => 'target',294 'caption' => _t('_adm_nav_txt_items_target'),295 'info' => _t('_adm_nav_dsc_items_target'),296 'value' => $aItem['target'],297 'values' => array(298 array('key' => '_self', 'value' => _t('_adm_nav_txt_items_target_self')),299 array('key' => '_blank', 'value' => _t('_adm_nav_txt_items_target_blank'))300 ),301 'required' => '1',302 'db' => array (303 'pass' => 'Xss',304 ),305 'checker' => array (306 'func' => 'avail',307 'params' => array(),308 'error' => _t('_adm_nav_err_items_target'),309 362 ), 310 363 ), … … 330 383 ); 331 384 332 if(!in_array($aItem['target'], array('_self', '_blank'))) 333 unset($aForm['inputs']['target']); 385 $aMenus = array(); 386 $this->oDb->getMenus(array('type' => 'all'), $aMenus, false); 387 foreach($aMenus as $aMenu) 388 $aForm['inputs']['submenu_object']['values'][$aMenu['object']] = _t($aMenu['title']); 389 390 asort($aForm['inputs']['submenu_object']['values']); 391 $aForm['inputs']['submenu_object']['values'] = array_merge(array('' => _t('_adm_nav_txt_items_submenu_empty')), $aForm['inputs']['submenu_object']['values']); 392 393 if(($bSubmenu = !empty($aItem['submenu_object'])) === true) { 394 $aForm['inputs']['link']['tr_attrs']['style'] = 'display:none;'; 395 $aForm['inputs']['target']['tr_attrs']['style'] = 'display:none;'; 396 } 397 398 if(!$bSubmenu && !in_array($aItem['target'], array('', '_blank'))) { 399 $aForm['inputs']['target']['attrs']['disabled'] = 'disabled'; 400 $aForm['inputs']['target']['values'][$aItem['target']] = _t('_adm_nav_txt_items_target_custom'); 401 } 334 402 335 403 bx_import('BxTemplStudioFormView'); … … 358 426 $sTitleValue = $oForm->getCleanValue('title'); 359 427 BxDolForm::setSubmittedValue('title', $aItem['title'], $aForm['form_attrs']['method']); 428 429 $sSubmenu = $oForm->getCleanValue('submenu_object'); 430 if(!empty($sSubmenu)) { 431 BxDolForm::setSubmittedValue('link', 'javascript:void(0)', $aForm['form_attrs']['method']); 432 BxDolForm::setSubmittedValue('target', '', $aForm['form_attrs']['method']); 433 BxDolForm::setSubmittedValue('onclick', 'bx_menu_popup(\'' . $sSubmenu . '\', this);', $aForm['form_attrs']['method']); 434 } 435 else 436 BxDolForm::setSubmittedValue('onclick', '', $aForm['form_attrs']['method']); 437 438 $sTarget = $oForm->getCleanValue('target'); 439 if($sTarget === false && !in_array($aItem['target'], array('', '_blank'))) 440 unset($oForm->aInputs['target']); 360 441 361 442 if($oForm->update($iId, (int)$mixedIcon != 0 ? array('icon' => $mixedIcon) : array()) !== false) {
Note: See TracChangeset
for help on using the changeset viewer.