Changeset 15902
- Timestamp:
- 01/20/12 03:24:28 (4 months ago)
- Location:
- trunk
- Files:
-
- 9 edited
-
install/sql/v70.sql (modified) (2 diffs)
-
modules/boonex/english/install/data/langs/en.xml (modified) (4 diffs)
-
studio/classes/BxDolStudioFormsQuery.php (modified) (2 diffs)
-
studio/classes/BxDolStudioGrid.php (modified) (1 diff)
-
studio/classes/BxDolStudioNavigationQuery.php (modified) (1 diff)
-
studio/js/forms_fields.js (modified) (1 diff)
-
studio/templates/base/scripts/BxBaseStudioFormsField.php (modified) (20 diffs)
-
studio/templates/base/scripts/BxBaseStudioFormsFields.php (modified) (3 diffs)
-
studio/templates/base/scripts/BxBaseStudioNavigationItems.php (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/install/sql/v70.sql
r15901 r15902 4681 4681 ('sys_studio_nav_items', 'link', '_adm_nav_txt_items_link', '23%', '23', '', 5), 4682 4682 ('sys_studio_nav_items', 'module', '_adm_nav_txt_items_module', '12%', '12', '', 6), 4683 ('sys_studio_nav_items', ' hidden_for_levels', '_adm_nav_txt_items_hidden', '10%', '10', '', 7),4683 ('sys_studio_nav_items', 'visible_for_levels', '_adm_nav_txt_items_visible', '10%', '10', '', 7), 4684 4684 ('sys_studio_nav_items', 'actions', '', '17%', '', '', 8), 4685 4685 ('sys_studio_nav_import', 'icon', '_adm_nav_txt_items_icon', '10%', '', '', 1), … … 4751 4751 ('sys_studio_nav_items', 'single', 'edit', '', 'document--pencil.png', 0, 1), 4752 4752 ('sys_studio_nav_items', 'single', 'delete', '', 'cross.png', 1, 2), 4753 ('sys_studio_nav_items', 'single', ' hide_from', '_adm_nav_btn_items_hidden', '', 0, 3),4753 ('sys_studio_nav_items', 'single', 'show_to', '_adm_nav_btn_items_visible', '', 0, 3), 4754 4754 ('sys_studio_nav_import', 'single', 'import', '', 'tables__plus.png', 0, 1), 4755 4755 ('sys_studio_nav_import', 'bulk', 'done', '_adm_nav_btn_items_done', '', 0, 1), -
trunk/modules/boonex/english/install/data/langs/en.xml
r15896 r15902 2195 2195 <string name="_adm_nav_txt_items_link"><![CDATA[URL]]></string> 2196 2196 <string name="_adm_nav_txt_items_module"><![CDATA[Module]]></string> 2197 <string name="_adm_nav_txt_items_ hidden"><![CDATA[Hide From]]></string>2198 <string name="_adm_nav_btn_items_ hidden"><![CDATA[Hide From]]></string>2197 <string name="_adm_nav_txt_items_visible"><![CDATA[Visibile For]]></string> 2198 <string name="_adm_nav_btn_items_visible"><![CDATA[Visibile For]]></string> 2199 2199 <string name="_adm_nav_txt_items_n_user_levels"><![CDATA[{0} User Levels]]></string> 2200 2200 <string name="_adm_nav_txt_items_create_popup"><![CDATA[Add New Item]]></string> … … 2226 2226 <string name="_adm_nav_btn_items_done"><![CDATA[Done]]></string> 2227 2227 <string name="_adm_nav_err_items_import"><![CDATA[Cannot import item(s)]]></string> 2228 <string name="_adm_nav_txt_items_ hide_from_popup"><![CDATA[Hide From]]></string>2229 <string name="_adm_nav_err_items_ hide_from"><![CDATA[Cannot update item]]></string>2228 <string name="_adm_nav_txt_items_show_to_popup"><![CDATA[Show To]]></string> 2229 <string name="_adm_nav_err_items_show_to"><![CDATA[Cannot update item]]></string> 2230 2230 <string name="_adm_lmi_cpt_forms"><![CDATA[Forms]]></string> 2231 2231 <string name="_adm_lmi_cpt_displays"><![CDATA[Displays]]></string> … … 2369 2369 <string name="_adm_form_txt_field_checker_params_preg"><![CDATA[Expression]]></string> 2370 2370 <string name="_adm_form_err_field_checker_params_preg"><![CDATA[Enter valid regular expression]]></string> 2371 <string name="_adm_form_txt_field_checker_error"><![CDATA[Error message]]></string> 2372 <string name="_adm_form_err_field_checker_error"><![CDATA[You need to enter error message]]></string> 2371 2373 <string name="_adm_form_txt_pre_lists_no"><![CDATA[No]]></string> 2372 2374 <string name="_adm_form_txt_pre_lists_yes"><![CDATA[Yes]]></string> … … 2427 2429 <string name="_adm_form_btn_pre_values_save"><![CDATA[Save]]></string> 2428 2430 <string name="_adm_form_btn_pre_values_cancel"><![CDATA[Cancel]]></string> 2429 <string name=""><![CDATA[]]></string> 2430 <string name=""><![CDATA[]]></string> 2431 2431 2432 <string name=""><![CDATA[]]></string> 2432 2433 <string name=""><![CDATA[]]></string> -
trunk/studio/classes/BxDolStudioFormsQuery.php
r15896 r15902 74 74 $aMethod['name'] = 'getRow'; 75 75 $sWhereClause = $this->prepare(" AND `td`.`id`=? ", $aParams['value']); 76 $sLimitClause = "LIMIT 1"; 76 77 break; 77 78 case 'by_name': 78 79 $aMethod['name'] = 'getRow'; 79 80 $sWhereClause = $this->prepare(" AND `td`.`display_name`=? ", $aParams['value']); 81 $sLimitClause = "LIMIT 1"; 80 82 break; 81 83 case 'by_object': … … 132 134 $sWhereClause = $this->prepare(" AND `tdi`.`id`=? ", $aParams['value']); 133 135 break; 134 case 'by_id_ full':136 case 'by_id_object': 135 137 $aMethod['name'] = 'getRow'; 136 138 $sSelectClause = "`ti`.*, `tdi`.`id` AS `di_id`, `tdi`.`display_name` AS `display_name`"; 137 $sWhereClause = $this->prepare(" AND `tdi`.`id`=? ", $aParams['value']);139 $sWhereClause = $this->prepare(" AND `tdi`.`id`=? AND `ti`.`object`=? ", $aParams['id'], $aParams['object']); 138 140 break; 139 141 case 'by_display_name': -
trunk/studio/classes/BxDolStudioGrid.php
r15857 r15902 26 26 $this->sParamsDivider = BX_DOL_STUDIO_GRID_PARAMS_DIVIDER; 27 27 } 28 29 protected function _isVisibleGrid ($a) { 30 return isAdmin(); 31 } 32 28 33 protected function getSystemName($sValue) { 29 34 return str_replace(' ', '_', strtolower($sValue)); 30 35 } 31 function getClassName($sValue) { 36 37 protected function getClassName($sValue) { 32 38 return str_replace(' ', '', ucwords(str_replace('_', ' ', $sValue))); 33 39 } -
trunk/studio/classes/BxDolStudioNavigationQuery.php
r15820 r15902 161 161 `tmi`.`target` AS `target`, 162 162 `tmi`.`icon` AS `icon`, 163 `tmi`.` hidden_for_levels` AS `hidden_for_levels`,163 `tmi`.`visible_for_levels` AS `visible_for_levels`, 164 164 `tmi`.`active` AS `active`, 165 165 `tmi`.`order` AS `order`" . $sSelectClause . " -
trunk/studio/js/forms_fields.js
r15870 r15902 46 46 var sId = 'bx-form-element-checker_func'; 47 47 if($(oCheckbox).attr('checked') != undefined) 48 $('#' + sId ).show();48 $('#' + sId + ',#bx-form-element-checker_error').show(); 49 49 else { 50 50 $('#' + sId).hide().find('select').val(''); 51 $('#bx-form-element-checker_params_length_min, #bx-form-element-checker_params_length_max, #bx-form-element-checker_params_preg ').hide().find('input').val('');51 $('#bx-form-element-checker_params_length_min, #bx-form-element-checker_params_length_max, #bx-form-element-checker_params_preg, #bx-form-element-checker_error').hide().find('input').val(''); 52 52 } 53 53 }; -
trunk/studio/templates/base/scripts/BxBaseStudioFormsField.php
r15896 r15902 52 52 array('key' => 'number', 'value' => _t('_adm_form_txt_field_type_number')), 53 53 array('key' => 'checkbox', 'value' => _t('_adm_form_txt_field_type_checkbox')), 54 array('key' => 'file', 'value' => _t('_adm_form_txt_field_type_file')),55 array('key' => 'image', 'value' => _t('_adm_form_txt_field_type_image')),56 54 array('key' => 'password', 'value' => _t('_adm_form_txt_field_type_password')), 57 55 array('key' => 'slider', 'value' => _t('_adm_form_txt_field_type_slider')), … … 67 65 array('key' => 'checkbox_set', 'value' => _t('_adm_form_txt_field_type_checkbox_set')), 68 66 array('key' => 'radio_set', 'value' => _t('_adm_form_txt_field_type_radio_set')), 69 array('key' => 'input_set', 'value' => _t('_adm_form_txt_field_type_input_set')),70 array('key' => 'custom', 'value' => _t('_adm_form_txt_field_type_custom')),71 67 array('key' => 'value', 'value' => _t('_adm_form_txt_field_type_value')), 72 array('key' => 'captcha', 'value' => _t('_adm_form_txt_field_type_captcha')) ,68 array('key' => 'captcha', 'value' => _t('_adm_form_txt_field_type_captcha')) 73 69 ), 74 70 'required' => '1', … … 114 110 $aForm = $this->getFormAdd($sAction, $sObject, $sDisplay); 115 111 $oForm = new BxTemplStudioFormView($aForm); 112 113 if($oForm->isSubmitted() && isset($oForm->aInputs['required'])) 114 $this->updateCheckerFields($oForm); 115 116 116 $oForm->initChecker(); 117 118 117 if($oForm->isSubmittedAndValid()) { 119 118 $sName = $oForm->getCleanValue('name'); 120 BxDolForm::setSubmittedValue('name', $this->getSystemName($sName), $aForm['form_attrs']['method']); 121 119 BxDolForm::setSubmittedValue('name', $this->getSystemName($sName), $oForm->aFormAttrs['method']); 120 121 $bCaption = false; 122 122 $sTitleKey = $sTitleValue = ''; 123 if(($bCaption = isset($ aForm['inputs']['caption'])) === true) {123 if(($bCaption = isset($oForm->aInputs['caption'])) === true) { 124 124 $sTitleValue = $oForm->getCleanValue('caption'); 125 125 $sTitleKey = '_sys_form_txt_caption_' . $this->getSystemName($sTitleValue); 126 BxDolForm::setSubmittedValue('caption', $sTitleKey, $ aForm['form_attrs']['method']);126 BxDolForm::setSubmittedValue('caption', $sTitleKey, $oForm->aFormAttrs['method']); 127 127 } 128 128 129 if(isset($ aForm['inputs']['values'])) {129 if(isset($oForm->aInputs['values'])) { 130 130 $sValues = $oForm->getCleanValue('values'); 131 131 if(is_string($sValues) && strpos($sValues, BX_DOL_STUDIO_FIELD_PRE_LIST_PREFIX) === false) 132 BxDolForm::setSubmittedValue('values', serialize(explode("\n", $sValues)), $ aForm['form_attrs']['method']);132 BxDolForm::setSubmittedValue('values', serialize(explode("\n", $sValues)), $oForm->aFormAttrs['method']); 133 133 } 134 134 135 135 //--- Checker related fields 136 136 $aCheckerParams = array(); 137 if(isset($ aForm['inputs']['checker_params_length_min'], $aForm['inputs']['checker_params_length_max'])) {137 if(isset($oForm->aInputs['checker_params_length_min'], $oForm->aInputs['checker_params_length_max'])) { 138 138 $aCheckerParams['min'] = $oForm->getCleanValue('checker_params_length_min'); 139 139 $aCheckerParams['max'] = $oForm->getCleanValue('checker_params_length_max'); 140 140 } 141 else if(isset($aForm['inputs']['checker_params_preg']))141 if(isset($oForm->aInputs['checker_params_preg'])) 142 142 $aCheckerParams['preg'] = $oForm->getCleanValue('checker_params_preg'); 143 143 144 144 unset($oForm->aInputs['checker_params_length_min'], $oForm->aInputs['checker_params_length_max'], $oForm->aInputs['checker_params_preg']); 145 BxDolForm::setSubmittedValue('checker_params', serialize($aCheckerParams), $aForm['form_attrs']['method']); 146 145 BxDolForm::setSubmittedValue('checker_params', serialize($aCheckerParams), $oForm->aFormAttrs['method']); 146 147 $bCheckError = false; 148 $sCheckerErrorValue = ""; 149 if(($bCheckError = isset($oForm->aInputs['checker_error'])) === true) { 150 $sInputObject = $oForm->getCleanValue('object'); 151 $sInputName = $oForm->getCleanValue('name'); 152 $sCheckerErrorKey = '_adm_form_txt_field_checker_error_' . $this->getSystemName($sInputObject . ' ' . $sInputName); 153 $sCheckerErrorValue = $oForm->getCleanValue('checker_error'); 154 155 BxDolForm::setSubmittedValue('checker_error', $sCheckerErrorKey, $oForm->aFormAttrs['method']); 156 } 157 147 158 //--- Attrs related fields 148 159 $aAttrs = array(); 149 if(isset($ aForm['inputs']['attrs_min'], $aForm['inputs']['attrs_max'], $aForm['inputs']['attrs_step'])) {160 if(isset($oForm->aInputs['attrs_min'], $oForm->aInputs['attrs_max'], $oForm->aInputs['attrs_step'])) { 150 161 $aAttrs['min'] = $oForm->getCleanValue('attrs_min'); 151 162 $aAttrs['max'] = $oForm->getCleanValue('attrs_max'); 152 163 $aAttrs['step'] = $oForm->getCleanValue('attrs_step'); 153 164 } 154 else if(isset($ aForm['inputs']['attrs_src']))165 else if(isset($oForm->aInputs['attrs_src'])) 155 166 $aAttrs['src'] = $oForm->getCleanValue('attrs_src'); 156 167 157 168 unset($oForm->aInputs['attrs_min'], $oForm->aInputs['attrs_max'], $oForm->aInputs['attrs_step'], $oForm->aInputs['attrs_src']); 158 BxDolForm::setSubmittedValue('attrs', serialize($aAttrs), $ aForm['form_attrs']['method']);169 BxDolForm::setSubmittedValue('attrs', serialize($aAttrs), $oForm->aFormAttrs['method']); 159 170 160 171 if(($iId = $oForm->insert()) === false) 161 172 return false; 162 173 174 $oLanguages = BxDolStudioLanguagesUtils::getInstance(); 163 175 if($bCaption) 164 $oLanguages = BxDolStudioLanguagesUtils::getInstance()->addLanguageString($sTitleKey, $sTitleValue); 176 $oLanguages->addLanguageString($sTitleKey, $sTitleValue); 177 if($bCheckError) 178 $oLanguages->addLanguageString($sCheckerErrorKey, $sCheckerErrorValue); 165 179 166 180 return true; … … 178 192 $aForm = $this->getFormEdit($sAction, $sObject, $sDisplay); 179 193 $oForm = new BxTemplStudioFormView($aForm); 194 195 if($oForm->isSubmitted() && isset($oForm->aInputs['required'])) 196 $this->updateCheckerFields($oForm); 197 180 198 $oForm->initChecker(); 181 182 199 if($oForm->isSubmittedAndValid()) { 183 200 $sTitleValue = ''; 184 if(($bCaption = isset($ aForm['inputs']['caption'])) === true) {201 if(($bCaption = isset($oForm->aInputs['caption'])) === true) { 185 202 $sTitleValue = $oForm->getCleanValue('caption'); 186 BxDolForm::setSubmittedValue('caption', $this->aField['caption'], $ aForm['form_attrs']['method']);203 BxDolForm::setSubmittedValue('caption', $this->aField['caption'], $oForm->aFormAttrs['method']); 187 204 } 188 205 189 if(isset($ aForm['inputs']['values']['db'])) {206 if(isset($oForm->aInputs['values']['db'])) { 190 207 $sValues = $oForm->getCleanValue('values'); 191 208 if(is_string($sValues) && strpos($sValues, BX_DOL_STUDIO_FIELD_PRE_LIST_PREFIX) === false) 192 BxDolForm::setSubmittedValue('values', serialize(explode("\n", $sValues)), $ aForm['form_attrs']['method']);209 BxDolForm::setSubmittedValue('values', serialize(explode("\n", $sValues)), $oForm->aFormAttrs['method']); 193 210 } 194 211 195 212 //--- Checker related fields 196 213 $aCheckerParams = array(); 197 if(isset($ aForm['inputs']['checker_params_length_min'], $aForm['inputs']['checker_params_length_max'])) {214 if(isset($oForm->aInputs['checker_params_length_min'], $oForm->aInputs['checker_params_length_max'])) { 198 215 $aCheckerParams['min'] = $oForm->getCleanValue('checker_params_length_min'); 199 216 $aCheckerParams['max'] = $oForm->getCleanValue('checker_params_length_max'); 200 217 } 201 else if(isset($aForm['inputs']['checker_params_preg']))218 if(isset($oForm->aInputs['checker_params_preg'])) 202 219 $aCheckerParams['preg'] = $oForm->getCleanValue('checker_params_preg'); 203 220 204 221 unset($oForm->aInputs['checker_params_length_min'], $oForm->aInputs['checker_params_length_max'], $oForm->aInputs['checker_params_preg']); 205 BxDolForm::setSubmittedValue('checker_params', serialize($aCheckerParams), $aForm['form_attrs']['method']); 222 BxDolForm::setSubmittedValue('checker_params', serialize($aCheckerParams), $oForm->aFormAttrs['method']); 223 224 $bCheckError = false; 225 $sCheckerErrorValue = ""; 226 if(($bCheckError = isset($oForm->aInputs['checker_error'])) === true) { 227 $sInputObject = $oForm->getCleanValue('object'); 228 $sInputName = $oForm->getCleanValue('name'); 229 $sCheckerErrorKey = !empty($this->aField['checker_error']) ? $this->aField['checker_error'] : '_adm_form_txt_field_checker_error' . $this->getSystemName($sInputObject . ' ' . $sInputName); 230 $sCheckerErrorValue = $oForm->getCleanValue('checker_error'); 231 232 BxDolForm::setSubmittedValue('checker_error', $sCheckerErrorKey, $oForm->aFormAttrs['method']); 233 } 206 234 207 235 //--- Attrs related fields 208 236 $aAttrs = array(); 209 if(isset($ aForm['inputs']['attrs_min'], $aForm['inputs']['attrs_max'], $aForm['inputs']['attrs_step'])) {237 if(isset($oForm->aInputs['attrs_min'], $oForm->aInputs['attrs_max'], $oForm->aInputs['attrs_step'])) { 210 238 $aAttrs['min'] = $oForm->getCleanValue('attrs_min'); 211 239 $aAttrs['max'] = $oForm->getCleanValue('attrs_max'); 212 240 $aAttrs['step'] = $oForm->getCleanValue('attrs_step'); 213 241 } 214 else if(isset($ aForm['inputs']['attrs_src']))242 else if(isset($oForm->aInputs['attrs_src'])) 215 243 $aAttrs['src'] = $oForm->getCleanValue('attrs_src'); 216 244 217 245 unset($oForm->aInputs['attrs_min'], $oForm->aInputs['attrs_max'], $oForm->aInputs['attrs_step'], $oForm->aInputs['attrs_src']); 218 BxDolForm::setSubmittedValue('attrs', serialize($aAttrs), $ aForm['form_attrs']['method']);246 BxDolForm::setSubmittedValue('attrs', serialize($aAttrs), $oForm->aFormAttrs['method']); 219 247 220 248 if($oForm->update((int)$this->aField['id']) === false) 221 249 return false; 222 250 251 $oLanguages = BxDolStudioLanguagesUtils::getInstance(); 252 223 253 if($bCaption) 224 $oLanguages = BxDolStudioLanguagesUtils::getInstance()->updateLanguageString($this->aField['caption'], $sTitleValue); 254 $oLanguages->updateLanguageString($this->aField['caption'], $sTitleValue); 255 if($bCheckError) 256 $oLanguages->updateLanguageString($sCheckerErrorKey, $sCheckerErrorValue); 225 257 226 258 return true; … … 289 321 $aForm['inputs'][$sKey]['checked'] = (int)$this->aField[$sKey]; 290 322 if($aForm['inputs'][$sKey]['checked'] == 1 && isset($aForm['inputs']['checker_func'])) 291 unset($aForm['inputs']['checker_func']['tr_attrs']['style'] );323 unset($aForm['inputs']['checker_func']['tr_attrs']['style'], $aForm['inputs']['checker_error']['tr_attrs']['style']); 292 324 break; 293 325 case 'checker_func': … … 314 346 $aForm['inputs'][$sKey]['value'] = isset($aParams['preg']) ? $aParams['preg'] : ''; 315 347 break; 348 case 'checker_error': 349 $aForm['inputs'][$sKey]['value'] = _t($this->aField[$sKey]); 350 break; 316 351 case 'attrs_min': 317 352 $aParams = unserialize($this->aField['attrs']); … … 334 369 } 335 370 371 if(isset($aForm['inputs']['name'])) 372 $aForm['inputs']['name']['type'] = 'hidden'; 373 336 374 if(isset($aForm['inputs']['caption'])) 337 375 $aForm['inputs']['caption']['value'] = _t($aForm['inputs']['caption']['value']); … … 339 377 $aForm['inputs']['controls'][0]['value'] = _t('_adm_form_btn_field_save'); 340 378 341 unset($aForm['inputs']['object'], $aForm['inputs']['module'], $aForm['inputs']['type'], $aForm['inputs']['name']);379 //unset($aForm['inputs']['object'], $aForm['inputs']['module'], $aForm['inputs']['type'], $aForm['inputs']['name']); 342 380 return $aForm; 343 381 } … … 379 417 array('key' => 'no_spam', 'value' => _t('_adm_form_txt_field_checker_no_spam')) 380 418 ), 381 'required' => ' 0',419 'required' => '1', 382 420 'attrs' => array( 383 421 'id' => 'bx-form-field-type', … … 391 429 ), 392 430 'checker' => array ( 393 'func' => ' ',431 'func' => 'avail', 394 432 'params' => array(), 395 'error' => '_adm_form_err_field_checker_func',433 'error' => _t('_adm_form_err_field_checker_func'), 396 434 ), 397 435 ), … … 410 448 'info' => '', 411 449 'value' => '', 412 'required' => ' 0',450 'required' => '1', 413 451 'tr_attrs' => array( 414 452 'style' => 'display:none' … … 416 454 'db' => array ( 417 455 'pass' => 'Int', 418 ) 456 ), 457 'checker' => array ( 458 'func' => 'preg', 459 'params' => array('/^[0-9]+$/'), 460 'error' => _t('_adm_form_err_field_checker_params_length_min'), 461 ), 419 462 ), 420 463 'checker_params_length_max' => array( … … 424 467 'info' => '', 425 468 'value' => '', 426 'required' => ' 0',469 'required' => '1', 427 470 'tr_attrs' => array( 428 471 'style' => 'display:none' … … 430 473 'db' => array ( 431 474 'pass' => 'Int', 432 ) 475 ), 476 'checker' => array ( 477 'func' => 'preg', 478 'params' => array('/^[0-9]+$/'), 479 'error' => _t('_adm_form_err_field_checker_params_length_max'), 480 ), 433 481 ), 434 482 'checker_params_preg' => array( … … 438 486 'info' => '', 439 487 'value' => '', 440 'required' => ' 0',488 'required' => '1', 441 489 'tr_attrs' => array( 442 490 'style' => 'display:none' … … 444 492 'db' => array ( 445 493 'pass' => 'Xss', 446 ) 447 ), 448 449 ); 494 ), 495 'checker' => array ( 496 'func' => 'avail', 497 'params' => array(), 498 'error' => _t('_adm_form_err_field_checker_params_preg'), 499 ), 500 ), 501 'checker_error' => array( 502 'type' => 'text', 503 'name' => 'checker_error', 504 'caption' => _t('_adm_form_txt_field_checker_error'), 505 'info' => '', 506 'value' => '', 507 'required' => '1', 508 'tr_attrs' => array( 509 'style' => 'display:none' 510 ), 511 'db' => array ( 512 'pass' => 'Xss', 513 ), 514 'checker' => array ( 515 'func' => 'avail', 516 'params' => array(), 517 'error' => _t('_adm_form_err_field_checker_error'), 518 ), 519 ), 520 ); 521 } 522 523 protected function updateCheckerFields(&$oForm) { 524 if((int)$oForm->getCleanValue('required') == 0) 525 $this->unmarkCheckerFieldsRequired($oForm); 526 else { 527 unset($oForm->aInputs['checker_func']['tr_attrs']['style'], $oForm->aInputs['checker_error']['tr_attrs']['style']); 528 switch($oForm->getCleanValue('checker_func')) { 529 case 'length': 530 unset($oForm->aInputs['checker_params_length_min']['tr_attrs']['style'], $oForm->aInputs['checker_params_length_max']['tr_attrs']['style']); 531 $this->unmarkCheckerFieldsRequired($oForm, 'preg'); 532 break; 533 case 'preg': 534 unset($oForm->aInputs['checker_params_preg']['tr_attrs']['style']); 535 $this->unmarkCheckerFieldsRequired($oForm, 'length'); 536 break; 537 default: 538 $this->unmarkCheckerFieldsRequired($oForm, 'params'); 539 } 540 } 541 } 542 543 protected function unmarkCheckerFieldsRequired(&$oForm, $sCheckerFunc = 'all') { 544 switch($sCheckerFunc) { 545 case 'length': 546 unset($oForm->aInputs['checker_params_length_min']['checker'], $oForm->aInputs['checker_params_length_max']['checker']); 547 break; 548 case 'preg': 549 unset($oForm->aInputs['checker_params_preg']['checker']); 550 break; 551 case 'params': 552 unset( 553 $oForm->aInputs['checker_params_length_min']['checker'], 554 $oForm->aInputs['checker_params_length_max']['checker'], 555 $oForm->aInputs['checker_params_preg']['checker'] 556 ); 557 break; 558 case 'all': 559 unset( 560 $oForm->aInputs['checker_func']['checker'], 561 $oForm->aInputs['checker_params_length_min']['checker'], 562 $oForm->aInputs['checker_params_length_max']['checker'], 563 $oForm->aInputs['checker_params_preg']['checker'], 564 $oForm->aInputs['checker_error']['checker'] 565 ); 566 } 450 567 } 451 568 } … … 832 949 unset( 833 950 $this->aForm['inputs']['caption'], 834 $this->aForm['inputs']['info'] 951 $this->aForm['inputs']['info'], 952 $this->aForm['inputs']['required'], 953 $this->aForm['inputs']['checker_func'], 954 $this->aForm['inputs']['checker_params'], 955 $this->aForm['inputs']['checker_params_length_min'], 956 $this->aForm['inputs']['checker_params_length_max'], 957 $this->aForm['inputs']['checker_params_preg'], 958 $this->aForm['inputs']['checker_error'] 835 959 ); 836 960 } … … 852 976 $this->aForm['inputs']['checker_params_length_min'], 853 977 $this->aForm['inputs']['checker_params_length_max'], 854 $this->aForm['inputs']['checker_params_preg'] 978 $this->aForm['inputs']['checker_params_preg'], 979 $this->aForm['inputs']['checker_error'] 855 980 ); 856 981 } … … 982 1107 $this->aForm['inputs']['checker_params_length_min'], 983 1108 $this->aForm['inputs']['checker_params_length_max'], 984 $this->aForm['inputs']['checker_params_preg'] 1109 $this->aForm['inputs']['checker_params_preg'], 1110 $this->aForm['inputs']['checker_error'] 985 1111 ); 986 1112 } … … 1017 1143 $this->aForm['inputs']['type_display']['value'] = 'captcha'; 1018 1144 1145 $this->aForm['inputs']['required'] = array( 1146 'type' => 'hidden', 1147 'name' => 'required', 1148 'value' => '1', 1149 'db' => array ( 1150 'pass' => 'Int', 1151 ) 1152 ); 1153 1154 $this->aForm['inputs']['checker_func']['value'] = 'captcha'; 1155 $this->aForm['inputs']['checker_func']['values'] = array( 1156 array('key' => '', 'value' => _t('_adm_form_txt_field_checker_empty')), 1157 array('key' => 'captcha', 'value' => _t('_adm_form_txt_field_checker_captcha')) 1158 ); 1159 1019 1160 unset( 1020 $this->aForm['inputs']['value'] 1161 $this->aForm['inputs']['value'], 1162 $this->aForm['inputs']['checker_func']['tr_attrs']['style'], 1163 $this->aForm['inputs']['checker_error']['tr_attrs']['style'] 1021 1164 ); 1022 1165 } -
trunk/studio/templates/base/scripts/BxBaseStudioFormsFields.php
r15896 r15902 55 55 $iId = $aIds[0]; 56 56 57 $aDisplay = array(); 58 $this->oDb->getDisplays(array('type' => 'by_name', 'value' => $this->sDisplay), $aDisplay, false); 59 if(!is_array($aDisplay) || empty($aDisplay)){ 60 $this->_echoResultJson(array()); 61 exit; 62 } 63 57 64 $aField = array(); 58 $ iField = $this->oDb->getFields(array('type' => 'by_id_full', 'value' => $iId), $aField);59 if( $iField != 1 || empty($aField)){65 $this->oDb->getFields(array('type' => 'by_id_object', 'id' => $iId, 'object' => $aDisplay['object']), $aField, false); 66 if(!is_array($aField) || empty($aField)) { 60 67 $this->_echoResultJson(array()); 61 68 exit; … … 89 96 } 90 97 98 $aDisplay = array(); 99 $this->oDb->getDisplays(array('type' => 'by_name', 'value' => $this->sDisplay), $aDisplay, false); 100 if(!is_array($aDisplay) || empty($aDisplay)){ 101 $this->_echoResultJson(array()); 102 exit; 103 } 104 91 105 $aIdsAffected = array (); 92 106 foreach($aIds as $iId) { 93 107 $aField = array(); 94 $iField = $this->oDb->getFields(array('type' => 'by_id_ full', 'value' => (int)$iId), $aField);108 $iField = $this->oDb->getFields(array('type' => 'by_id_object', 'id' => (int)$iId, 'object' => $aDisplay['object']), $aField); 95 109 if($iField != 1 || empty($aField)) 96 110 continue; … … 103 117 104 118 bx_import('BxDolStudioLanguagesUtils'); 105 BxDolStudioLanguagesUtils::getInstance()->deleteLanguageString($aField['caption']); 119 $oLanguage = BxDolStudioLanguagesUtils::getInstance(); 120 if(!empty($aField['caption'])) 121 $oLanguage->deleteLanguageString($aField['caption']); 122 if(!empty($aField['checker_error'])) 123 $oLanguage->deleteLanguageString($aField['checker_error']); 106 124 107 125 $aIdsAffected[] = $iId; -
trunk/studio/templates/base/scripts/BxBaseStudioNavigationItems.php
r15820 r15902 12 12 bx_import('BxDolStudioNavigationItems'); 13 13 14 class BxBaseStudioNavigationItems extends BxDolStudioNavigationItems { 14 class BxBaseStudioNavigationItems extends BxDolStudioNavigationItems { 15 private $aMemberships; 16 15 17 function __construct($aOptions, $oTemplate = false) { 16 18 parent::__construct($aOptions, $oTemplate); 19 20 bx_import('BxDolAcl'); 21 $this->aMemberships = BxDolAcl::getInstance()->getMemberships(); 17 22 } 18 23 … … 396 401 } 397 402 398 public function performAction HideFrom() {399 $sAction = ' hide_from';403 public function performActionShowTo() { 404 $sAction = 'show_to'; 400 405 401 406 $aIds = bx_get('ids'); … … 443 448 ), 444 449 ), 445 ' hidden_for_levels' => array(450 'visible_for_levels' => array( 446 451 'type' => 'checkbox_set', 447 'name' => ' hidden_for_levels',452 'name' => 'visible_for_levels', 448 453 'value' => '', 449 454 'values' => array(), … … 481 486 $aLevels = BxDolAcl::getInstance()->getMemberships(); 482 487 foreach($aLevels as $iKey => $sValue) { 483 if(((int)$aItem[' hidden_for_levels'] & pow(2, (int)$iKey - 1)) != 0)484 $aForm['inputs'][' hidden_for_levels']['value'][] = $iKey;488 if(((int)$aItem['visible_for_levels'] & pow(2, (int)$iKey - 1)) != 0) 489 $aForm['inputs']['visible_for_levels']['value'][] = $iKey; 485 490 486 $aForm['inputs'][' hidden_for_levels']['values'][$iKey] = _t($sValue);491 $aForm['inputs']['visible_for_levels']['values'][$iKey] = _t($sValue); 487 492 } 488 493 … … 493 498 if($oForm->isSubmittedAndValid()) { 494 499 $iHideFrom = 0; 495 $aLevelIds = $oForm->getCleanValue(' hidden_for_levels');500 $aLevelIds = $oForm->getCleanValue('visible_for_levels'); 496 501 foreach($aLevelIds as $iLevelId) 497 502 $iHideFrom += pow(2, $iLevelId - 1); 498 BxDolForm::setSubmittedValue(' hidden_for_levels', $iHideFrom, $aForm['form_attrs']['method']);503 BxDolForm::setSubmittedValue('visible_for_levels', $iHideFrom, $aForm['form_attrs']['method']); 499 504 500 505 if($oForm->update($iId) !== false) 501 506 $aRes = array('grid' => $this->getCode(false), 'blink' => $iId); 502 507 else 503 $aRes = array('msg' => _t('_adm_nav_err_items_ hide_from'));508 $aRes = array('msg' => _t('_adm_nav_err_items_show_to')); 504 509 505 510 $this->_echoResultJson($aRes, true); … … 507 512 else { 508 513 bx_import('BxTemplFunctions'); 509 $sContent = BxTemplFunctions::getInstance()->popupBox('adm-nav-item-hide-from-popup', _t('_adm_nav_txt_items_ hide_from_popup'), $this->_oTemplate->parseHtmlByName('nav_add_item.html', array(514 $sContent = BxTemplFunctions::getInstance()->popupBox('adm-nav-item-hide-from-popup', _t('_adm_nav_txt_items_show_to_popup'), $this->_oTemplate->parseHtmlByName('nav_add_item.html', array( 510 515 'form_id' => $aForm['form_attrs']['id'], 511 516 'form' => $oForm->getCode(), … … 566 571 } 567 572 568 protected function _getCellHiddenForLevels ($mixedValue, $sKey, $aField, $aRow) { 573 protected function _getCellVisibleForLevels ($mixedValue, $sKey, $aField, $aRow) { 574 $iIndex = 1; 569 575 $iCount = 0; 570 $mixedValue = (int)$aRow[' hidden_for_levels'];576 $mixedValue = (int)$aRow['visible_for_levels']; 571 577 if(($mixedValue = (int)$mixedValue) != 0) { 572 578 do { 573 $iCount += $mixedValue & 1; 579 if(array_key_exists($iIndex++, $this->aMemberships)) 580 $iCount += $mixedValue & 1; 574 581 } while(($mixedValue = $mixedValue >> 1) != 0); 575 582 } … … 579 586 'title' => _t('_adm_nav_txt_manage_items'), 580 587 'bx_repeat:attrs' => array( 581 array('key' => 'bx_grid_action_single', 'value' => ' hide_from'),588 array('key' => 'bx_grid_action_single', 'value' => 'show_to'), 582 589 array('key' => 'bx_grid_action_data', 'value' => $aRow['id']) 583 590 ), … … 609 616 } 610 617 611 protected function _getAction HideFrom($sType, $sKey, $a, $isSmall = false, $isDisabled = false, $aRow = array()) {618 protected function _getActionShowTo ($sType, $sKey, $a, $isSmall = false, $isDisabled = false, $aRow = array()) { 612 619 return ''; 613 620 }
Note: See TracChangeset
for help on using the changeset viewer.