Changeset 15870
- Timestamp:
- 01/13/12 01:22:31 (5 months ago)
- Location:
- trunk
- Files:
-
- 2 deleted
- 7 edited
-
inc/languages.inc.php (deleted)
-
inc/membership_levels.inc.php (deleted)
-
modules/boonex/english/install/data/langs/en.xml (modified) (2 diffs)
-
studio/classes/BxDolStudioFormsField.php (modified) (1 diff)
-
studio/js/forms_fields.js (modified) (1 diff)
-
studio/templates/base/scripts/BxBaseStudioFormsField.php (modified) (8 diffs)
-
studio/templates/base/scripts/BxBaseStudioFormsFields.php (modified) (3 diffs)
-
studio/templates/base/scripts/BxBaseStudioFormsForms.php (modified) (1 diff)
-
studio/templates/tmpl_uni/scripts/BxTemplStudioFormsField.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/modules/boonex/english/install/data/langs/en.xml
r15864 r15870 2291 2291 <string name="_adm_form_txt_field_type"><![CDATA[Type]]></string> 2292 2292 <string name="_adm_form_txt_field_type_empty"><![CDATA[Select type]]></string> 2293 <string name="_adm_form_txt_field_type_block_header"><![CDATA[block header]]></string> 2293 2294 <string name="_adm_form_txt_field_type_text"><![CDATA[text]]></string> 2295 <string name="_adm_form_txt_field_type_datepicker"><![CDATA[date]]></string> 2296 <string name="_adm_form_txt_field_type_datetime"><![CDATA[date time]]></string> 2297 <string name="_adm_form_txt_field_type_number"><![CDATA[number]]></string> 2298 <string name="_adm_form_txt_field_type_checkbox"><![CDATA[checkbox]]></string> 2299 <string name="_adm_form_txt_field_type_file"><![CDATA[file]]></string> 2300 <string name="_adm_form_txt_field_type_image"><![CDATA[image]]></string> 2301 <string name="_adm_form_txt_field_type_password"><![CDATA[password]]></string> 2302 <string name="_adm_form_txt_field_type_slider"><![CDATA[slider]]></string> 2303 <string name="_adm_form_txt_field_type_doublerange"><![CDATA[double range slider]]></string> 2304 <string name="_adm_form_txt_field_type_hidden"><![CDATA[hidden]]></string> 2305 <string name="_adm_form_txt_field_type_switcher"><![CDATA[switcher]]></string> 2306 <string name="_adm_form_txt_field_type_button"><![CDATA[button]]></string> 2307 <string name="_adm_form_txt_field_type_reset"><![CDATA[reset]]></string> 2308 <string name="_adm_form_txt_field_type_submit"><![CDATA[submit]]></string> 2309 <string name="_adm_form_txt_field_type_textarea"><![CDATA[textarea]]></string> 2310 <string name="_adm_form_txt_field_type_select"><![CDATA[select]]></string> 2311 <string name="_adm_form_txt_field_type_select_multiple"><![CDATA[select (multiple)]]></string> 2312 <string name="_adm_form_txt_field_type_checkbox_set"><![CDATA[checkbox set]]></string> 2313 <string name="_adm_form_txt_field_type_radio_set"><![CDATA[radio set]]></string> 2314 <string name="_adm_form_txt_field_type_input_set"><![CDATA[input set]]></string> 2315 <string name="_adm_form_txt_field_type_custom"><![CDATA[custom]]></string> 2316 <string name="_adm_form_txt_field_type_value"><![CDATA[value]]></string> 2317 <string name="_adm_form_txt_field_type_captcha"><![CDATA[captcha]]></string> 2318 <string name=""><![CDATA[]]></string> 2319 <string name=""><![CDATA[]]></string> 2320 <string name=""><![CDATA[]]></string> 2321 <string name="_adm_form_txt_field_type_display"><![CDATA[Type]]></string> 2294 2322 <string name="_adm_form_txt_field_name"><![CDATA[Name]]></string> 2295 2323 <string name="_adm_form_dsc_field_name"><![CDATA[You need to enter field name]]></string> … … 2300 2328 <string name="_adm_form_txt_field_value"><![CDATA[Value]]></string> 2301 2329 <string name="_adm_form_dsc_field_value"><![CDATA[Enter default value (optional)]]></string> 2330 <string name="_adm_form_txt_field_values"><![CDATA[Values]]></string> 2331 <string name="_adm_form_dsc_field_values"><![CDATA[Enter values each one in new line]]></string> 2332 <string name="_adm_form_txt_field_checked"><![CDATA[Checked]]></string> 2333 <string name="_adm_form_dsc_field_checked"><![CDATA[Is checked by default]]></string> 2302 2334 <string name="_adm_form_txt_field_info"><![CDATA[Description]]></string> 2303 2335 <string name="_adm_form_dsc_field_info"><![CDATA[Enter field description (optional)]]></string> 2336 <string name="_adm_form_txt_field_html"><![CDATA[HTML Editor]]></string> 2337 <string name="_adm_form_dsc_field_html"><![CDATA[Select type of HTML editor]]></string> 2338 <string name="_adm_form_txt_field_html_none"><![CDATA[no editor]]></string> 2339 <string name="_adm_form_txt_field_html_micro"><![CDATA[micro]]></string> 2340 <string name="_adm_form_txt_field_html_default"><![CDATA[default]]></string> 2341 <string name="_adm_form_txt_field_html_mini"><![CDATA[mini]]></string> 2342 <string name="_adm_form_txt_field_attrs_min"><![CDATA[Min Value]]></string> 2343 <string name="_adm_form_dsc_field_attrs_min"><![CDATA[Enter numeric value]]></string> 2344 <string name="_adm_form_txt_field_attrs_max"><![CDATA[Max Value]]></string> 2345 <string name="_adm_form_dsc_field_attrs_max"><![CDATA[Enter numeric value]]></string> 2346 <string name="_adm_form_txt_field_attrs_step"><![CDATA[Step]]></string> 2347 <string name="_adm_form_dsc_field_attrs_step"><![CDATA[Enter numeric value]]></string> 2348 <string name="_adm_form_txt_field_attrs_src"><![CDATA[Image Source]]></string> 2349 <string name="_adm_form_dsc_field_attrs_src"><![CDATA[Enter correct image URL]]></string> 2304 2350 <string name="_adm_form_txt_field_required"><![CDATA[Mandatory]]></string> 2305 2351 <string name="_adm_form_dsc_field_required"><![CDATA[Check it if the field should have value]]></string> 2306 2307 <string name=""><![CDATA[]]></string> 2308 <string name=""><![CDATA[]]></string> 2309 <string name=""><![CDATA[]]></string> 2310 <string name=""><![CDATA[]]></string> 2311 <string name=""><![CDATA[]]></string> 2312 <string name=""><![CDATA[]]></string> 2313 <string name=""><![CDATA[]]></string> 2314 <string name=""><![CDATA[]]></string> 2315 <string name=""><![CDATA[]]></string> 2316 <string name=""><![CDATA[]]></string> 2317 <string name=""><![CDATA[]]></string> 2318 <string name=""><![CDATA[]]></string> 2319 <string name=""><![CDATA[]]></string> 2320 <string name=""><![CDATA[]]></string> 2321 <string name=""><![CDATA[]]></string> 2322 <string name=""><![CDATA[]]></string> 2323 <string name=""><![CDATA[]]></string> 2324 <string name=""><![CDATA[]]></string> 2325 <string name=""><![CDATA[]]></string> 2326 <string name=""><![CDATA[]]></string> 2327 <string name=""><![CDATA[]]></string> 2328 <string name=""><![CDATA[]]></string> 2329 <string name=""><![CDATA[]]></string> 2330 <string name=""><![CDATA[]]></string> 2331 <string name=""><![CDATA[]]></string> 2332 <string name=""><![CDATA[]]></string> 2352 <string name="_adm_form_txt_field_collapsed"><![CDATA[Collapsed]]></string> 2353 <string name="_adm_form_dsc_field_collapsed"><![CDATA[Display group of field collapsed by default]]></string> 2354 <string name="_adm_form_txt_field_checker_func"><![CDATA[Check Function]]></string> 2355 <string name="_adm_form_err_field_checker_func"><![CDATA[Check Function should be selected]]></string> 2356 <string name="_adm_form_txt_field_checker_empty"><![CDATA[Select function]]></string> 2357 <string name="_adm_form_txt_field_checker_avail"><![CDATA[Avail]]></string> 2358 <string name="_adm_form_txt_field_checker_length"><![CDATA[Length]]></string> 2359 <string name="_adm_form_txt_field_checker_date"><![CDATA[Date]]></string> 2360 <string name="_adm_form_txt_field_checker_date_time"><![CDATA[Date Time]]></string> 2361 <string name="_adm_form_txt_field_checker_preg"><![CDATA[Preg]]></string> 2362 <string name="_adm_form_txt_field_checker_email"><![CDATA[Email]]></string> 2363 <string name="_adm_form_txt_field_checker_captcha"><![CDATA[Captcha]]></string> 2364 <string name="_adm_form_txt_field_checker_no_spam"><![CDATA[No Spam]]></string> 2365 <string name="_adm_form_txt_field_checker_params_length_min"><![CDATA[Min Value]]></string> 2366 <string name="_adm_form_err_field_checker_params_length_min"><![CDATA[Enter Min Value, non-zero integer number]]></string> 2367 <string name="_adm_form_txt_field_checker_params_length_max"><![CDATA[Max Value]]></string> 2368 <string name="_adm_form_err_field_checker_params_length_max"><![CDATA[Enter Max Value, non-zero integer number]]></string> 2369 <string name="_adm_form_txt_field_checker_params_preg"><![CDATA[Expression]]></string> 2370 <string name="_adm_form_err_field_checker_params_preg"><![CDATA[Enter valid regular expression]]></string> 2333 2371 <string name=""><![CDATA[]]></string> 2334 2372 <string name=""><![CDATA[]]></string> -
trunk/studio/classes/BxDolStudioFormsField.php
r15857 r15870 32 32 return str_replace(' ', '', ucwords(str_replace('_', ' ', $sValue))); 33 33 } 34 35 /* 36 * Adds $aValues in $aArray after $sKey key. 37 */ 38 protected function addInArray($aInput, $sKey, $aValues) { 39 reset($aInput); 40 $iInput = count($aInput); 41 for($i = 0; $i < $iInput; $i++, next($aInput)) 42 if(key($aInput) == $sKey) 43 break; 44 45 $aOutput = array_slice($aInput, 0, $i + 1); 46 $aOutput = array_merge($aOutput, $aValues); 47 $aOutput = array_merge($aOutput, array_slice($aInput, $i + 1)); 48 49 return $aOutput; 50 } 34 51 } 35 52 /** @} */ -
trunk/studio/js/forms_fields.js
r15857 r15870 27 27 glGrids[this.sObjNameGrid].action('add', {}, 'type=' + sType, false, false); 28 28 }; 29 30 BxDolStudioFormsFields.prototype.onSelectChecker = function(oSelect) { 31 var sChecker = $(oSelect).val(); 32 33 $('#bx-form-element-checker_params_length_min, #bx-form-element-checker_params_length_max, #bx-form-element-checker_params_preg').hide().find('input').val(''); 34 35 switch(sChecker) { 36 case 'length': 37 $('#bx-form-element-checker_params_length_min, #bx-form-element-checker_params_length_max').show(); 38 break; 39 case 'preg': 40 $('#bx-form-element-checker_params_preg').show(); 41 break; 42 } 43 }; 44 45 BxDolStudioFormsFields.prototype.onCheckRequired = function(oCheckbox) { 46 var sId = 'bx-form-element-checker_func'; 47 if($(oCheckbox).attr('checked') != undefined) 48 $('#' + sId).show(); 49 else { 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(''); 52 } 53 }; 29 54 /** @} */ -
trunk/studio/templates/base/scripts/BxBaseStudioFormsField.php
r15857 r15870 17 17 18 18 class BxBaseStudioFormsField extends BxDolStudioFormsField { 19 function __construct($aField = array()) { 20 parent::__construct($aField); 21 } 22 23 function getJsObject() { 24 return BX_DOL_STUDIO_FORMS_FIELDS_JS_OBJECT; 25 } 26 27 function getCode($sAction, $sObject, $sDisplay) { 28 $sFunction = 'getCode' . $this->getClassName($sAction); 29 if(method_exists($this, $sFunction)) 30 return $this->$sFunction($sObject, $sDisplay); 31 32 return false; 33 } 34 35 protected function getCodeAdd($sObject, $sDisplay) { 36 $sAction = 'add'; 37 38 $aForm = $this->getForm(); 39 $aForm['form_attrs']['id'] = 'adm-form-field-add'; 40 $aForm['form_attrs']['action'] = BX_DOL_URL_ROOT . 'grid.php?o=' . $sObject . '&a=' . $sAction . '&display=' . $sDisplay; 41 42 $oForm = new BxTemplStudioFormView($aForm); 43 return BxTemplStudioFunctions::getInstance()->popupBox('adm-form-field-add-popup', _t('_adm_form_txt_field_add_popup'), BxDolStudioTemplate::getInstance()->parseHtmlByName('form_add_field.html', array( 44 'form_id' => $aForm['form_attrs']['id'], 45 'form' => $oForm->getCode(), 46 'object' => $sObject, 47 'action' => $sAction 48 ))); 49 } 50 51 protected function getForm() { 52 return array( 19 protected $aForm; 20 21 function __construct($aField = array()) { 22 parent::__construct($aField); 23 24 $this->aForm = array( 53 25 'form_attrs' => array( 54 26 'id' => '', … … 74 46 'values' => array( 75 47 array('key' => '', 'value' => _t('_adm_form_txt_field_type_empty')), 76 array('key' => 'text', 'value' => _t('_adm_form_txt_field_type_text')) 48 array('key' => 'block_header', 'value' => _t('_adm_form_txt_field_type_block_header')), 49 array('key' => 'text', 'value' => _t('_adm_form_txt_field_type_text')), 50 array('key' => 'datepicker', 'value' => _t('_adm_form_txt_field_type_datepicker')), 51 array('key' => 'datetime', 'value' => _t('_adm_form_txt_field_type_datetime')), 52 array('key' => 'number', 'value' => _t('_adm_form_txt_field_type_number')), 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 array('key' => 'password', 'value' => _t('_adm_form_txt_field_type_password')), 57 array('key' => 'slider', 'value' => _t('_adm_form_txt_field_type_slider')), 58 array('key' => 'doublerange', 'value' => _t('_adm_form_txt_field_type_doublerange')), 59 array('key' => 'hidden', 'value' => _t('_adm_form_txt_field_type_hidden')), 60 array('key' => 'switcher', 'value' => _t('_adm_form_txt_field_type_switcher')), 61 array('key' => 'button', 'value' => _t('_adm_form_txt_field_type_button')), 62 array('key' => 'reset', 'value' => _t('_adm_form_txt_field_type_reset')), 63 array('key' => 'submit', 'value' => _t('_adm_form_txt_field_type_submit')), 64 array('key' => 'textarea', 'value' => _t('_adm_form_txt_field_type_textarea')), 65 array('key' => 'select', 'value' => _t('_adm_form_txt_field_type_select')), 66 array('key' => 'select_multiple', 'value' => _t('_adm_form_txt_field_type_select_multiple')), 67 array('key' => 'checkbox_set', 'value' => _t('_adm_form_txt_field_type_checkbox_set')), 68 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 array('key' => 'value', 'value' => _t('_adm_form_txt_field_type_value')), 72 array('key' => 'captcha', 'value' => _t('_adm_form_txt_field_type_captcha')), 77 73 ), 78 74 'required' => '1', … … 102 98 ); 103 99 } 104 } 105 106 class BxBaseStudioFormsFieldText extends BxBaseStudioFormsField { 107 function __construct($aField = array()) { 108 parent::__construct($aField); 109 } 110 111 protected function getCodeAdd($sObject, $sDisplay) { 112 $sAction = 'add'; 113 114 $aForm = $this->getForm(); 115 $aForm['form_attrs']['id'] = 'adm-form-field-add-' . $sDisplay; 116 $aForm['form_attrs']['action'] = BX_DOL_URL_ROOT . 'grid.php?o=' . $sObject . '&a=' . $sAction . '&display=' . $sDisplay; 117 118 $aDisplay = array(); 119 $this->oDb->getDisplays(array('type' => 'by_name', 'value' => $sDisplay), $aDisplay, false); 120 if(!empty($aDisplay)) 121 $aForm['inputs']['object']['value'] = $aDisplay['object']; 122 100 101 function getJsObject() { 102 return BX_DOL_STUDIO_FORMS_FIELDS_JS_OBJECT; 103 } 104 105 function getCode($sAction, $sObject, $sDisplay) { 106 $sFunction = 'getCode' . $this->getClassName($sAction); 107 if(method_exists($this, $sFunction)) 108 return $this->$sFunction($sAction, $sObject, $sDisplay); 109 110 return false; 111 } 112 113 protected function getCodeAdd($sAction, $sObject, $sDisplay) { 114 $aForm = $this->getFormAdd($sAction, $sObject, $sDisplay); 123 115 $oForm = new BxTemplStudioFormView($aForm); 124 116 $oForm->initChecker(); 125 117 126 118 if($oForm->isSubmittedAndValid()) { 127 $sTitleValue = $oForm->getCleanValue('caption'); 128 $sTitleKey = '_sys_form_txt_caption_' . $this->getSystemName($sTitleValue); 129 BxDolForm::setSubmittedValue('caption', $sTitleKey, $aForm['form_attrs']['method']); 119 $sName = $oForm->getCleanValue('name'); 120 BxDolForm::setSubmittedValue('name', $this->getSystemName($sName), $aForm['form_attrs']['method']); 121 122 $sTitleKey = $sTitleValue = ''; 123 if(($bCaption = isset($aForm['inputs']['caption'])) === true) { 124 $sTitleValue = $oForm->getCleanValue('caption'); 125 $sTitleKey = '_sys_form_txt_caption_' . $this->getSystemName($sTitleValue); 126 BxDolForm::setSubmittedValue('caption', $sTitleKey, $aForm['form_attrs']['method']); 127 } 128 129 if(isset($aForm['inputs']['values'])) { 130 $sValues = $oForm->getCleanValue('values'); 131 BxDolForm::setSubmittedValue('values', serialize(explode("\n", $sValues)), $aForm['form_attrs']['method']); 132 } 133 134 //--- Checker related fields 135 $aCheckerParams = array(); 136 if(isset($aForm['inputs']['checker_params_length_min'], $aForm['inputs']['checker_params_length_max'])) { 137 $aCheckerParams['min'] = $oForm->getCleanValue('checker_params_length_min'); 138 $aCheckerParams['max'] = $oForm->getCleanValue('checker_params_length_max'); 139 } 140 else if(isset($aForm['inputs']['checker_params_preg'])) 141 $aCheckerParams['preg'] = $oForm->getCleanValue('checker_params_preg'); 142 143 unset($oForm->aInputs['checker_params_length_min'], $oForm->aInputs['checker_params_length_max'], $oForm->aInputs['checker_params_preg']); 144 BxDolForm::setSubmittedValue('checker_params', serialize($aCheckerParams), $aForm['form_attrs']['method']); 145 146 //--- Attrs related fields 147 $aAttrs = array(); 148 if(isset($aForm['inputs']['attrs_min'], $aForm['inputs']['attrs_max'], $aForm['inputs']['attrs_step'])) { 149 $aAttrs['min'] = $oForm->getCleanValue('attrs_min'); 150 $aAttrs['max'] = $oForm->getCleanValue('attrs_max'); 151 $aAttrs['step'] = $oForm->getCleanValue('attrs_step'); 152 } 153 else if(isset($aForm['inputs']['attrs_src'])) 154 $aAttrs['src'] = $oForm->getCleanValue('attrs_src'); 155 156 unset($oForm->aInputs['attrs_min'], $oForm->aInputs['attrs_max'], $oForm->aInputs['attrs_step'], $oForm->aInputs['attrs_src']); 157 BxDolForm::setSubmittedValue('attrs', serialize($aAttrs), $aForm['form_attrs']['method']); 130 158 131 159 if(($iId = $oForm->insert()) === false) 132 160 return false; 133 161 134 $oLanguages = BxDolStudioLanguagesUtils::getInstance()->addLanguageString($sTitleKey, $sTitleValue); 162 if($bCaption) 163 $oLanguages = BxDolStudioLanguagesUtils::getInstance()->addLanguageString($sTitleKey, $sTitleValue); 164 135 165 return true; 136 166 } … … 144 174 } 145 175 146 protected function getCodeEdit($sObject, $sDisplay) { 147 $sAction = 'edit'; 148 149 $aForm = $this->getForm(); 150 $aForm['form_attrs']['id'] = 'adm-form-field-edit-' . $sDisplay; 151 $aForm['form_attrs']['action'] = BX_DOL_URL_ROOT . 'grid.php?o=' . $sObject . '&a=' . $sAction . '&display=' . $sDisplay . '&di_id=' . (int)$this->aField['di_id']; 152 153 unset($aForm['inputs']['object'], $aForm['inputs']['module'], $aForm['inputs']['type'], $aForm['inputs']['name']); 154 foreach($aForm['inputs'] as $sKey => $aInput) 155 if(!in_array($sKey, array('controls'))) 156 switch($sKey) { 157 case 'required': 158 $aForm['inputs'][$sKey]['checked'] = (int)$this->aField[$sKey]; 159 break; 160 default: 161 $aForm['inputs'][$sKey]['value'] = $this->aField[$sKey]; 162 } 163 $aForm['inputs']['caption']['value'] = _t($aForm['inputs']['caption']['value']); 164 $aForm['inputs']['controls'][0]['value'] = _t('_adm_form_btn_field_save'); 165 176 protected function getCodeEdit($sAction, $sObject, $sDisplay) { 177 $aForm = $this->getFormEdit($sAction, $sObject, $sDisplay); 166 178 $oForm = new BxTemplStudioFormView($aForm); 167 179 $oForm->initChecker(); 168 180 169 181 if($oForm->isSubmittedAndValid()) { 170 $sTitleValue = $oForm->getCleanValue('caption'); 171 BxDolForm::setSubmittedValue('caption', $this->aField['caption'], $aForm['form_attrs']['method']); 182 $sTitleValue = ''; 183 if(($bCaption = isset($aForm['inputs']['caption'])) === true) { 184 $sTitleValue = $oForm->getCleanValue('caption'); 185 BxDolForm::setSubmittedValue('caption', $this->aField['caption'], $aForm['form_attrs']['method']); 186 } 187 188 if(isset($aForm['inputs']['values'])) { 189 $sValues = $oForm->getCleanValue('values'); 190 BxDolForm::setSubmittedValue('values', serialize(explode("\n", $sValues)), $aForm['form_attrs']['method']); 191 } 192 193 //--- Checker related fields 194 $aCheckerParams = array(); 195 if(isset($aForm['inputs']['checker_params_length_min'], $aForm['inputs']['checker_params_length_max'])) { 196 $aCheckerParams['min'] = $oForm->getCleanValue('checker_params_length_min'); 197 $aCheckerParams['max'] = $oForm->getCleanValue('checker_params_length_max'); 198 } 199 else if(isset($aForm['inputs']['checker_params_preg'])) 200 $aCheckerParams['preg'] = $oForm->getCleanValue('checker_params_preg'); 201 202 unset($oForm->aInputs['checker_params_length_min'], $oForm->aInputs['checker_params_length_max'], $oForm->aInputs['checker_params_preg']); 203 BxDolForm::setSubmittedValue('checker_params', serialize($aCheckerParams), $aForm['form_attrs']['method']); 204 205 //--- Attrs related fields 206 $aAttrs = array(); 207 if(isset($aForm['inputs']['attrs_min'], $aForm['inputs']['attrs_max'], $aForm['inputs']['attrs_step'])) { 208 $aAttrs['min'] = $oForm->getCleanValue('attrs_min'); 209 $aAttrs['max'] = $oForm->getCleanValue('attrs_max'); 210 $aAttrs['step'] = $oForm->getCleanValue('attrs_step'); 211 } 212 else if(isset($aForm['inputs']['attrs_src'])) 213 $aAttrs['src'] = $oForm->getCleanValue('attrs_src'); 214 215 unset($oForm->aInputs['attrs_min'], $oForm->aInputs['attrs_max'], $oForm->aInputs['attrs_step'], $oForm->aInputs['attrs_src']); 216 BxDolForm::setSubmittedValue('attrs', serialize($aAttrs), $aForm['form_attrs']['method']); 172 217 173 218 if($oForm->update((int)$this->aField['id']) === false) 174 219 return false; 175 220 176 $oLanguages = BxDolStudioLanguagesUtils::getInstance()->updateLanguageString($this->aField['caption'], $sTitleValue); 221 if($bCaption) 222 $oLanguages = BxDolStudioLanguagesUtils::getInstance()->updateLanguageString($this->aField['caption'], $sTitleValue); 223 177 224 return true; 178 225 } … … 186 233 } 187 234 188 protected function getForm() { 235 protected function getFormAdd($sAction, $sObject, $sDisplay) { 236 $aForm = $this->aForm; 237 $aForm['form_attrs']['id'] = 'adm-form-field-add-' . $sDisplay; 238 $aForm['form_attrs']['action'] = BX_DOL_URL_ROOT . 'grid.php?o=' . $sObject . '&a=' . $sAction . '&display=' . $sDisplay; 239 240 if(isset($aForm['inputs']['object'])) { 241 $aDisplay = array(); 242 $this->oDb->getDisplays(array('type' => 'by_name', 'value' => $sDisplay), $aDisplay, false); 243 if(!empty($aDisplay)) 244 $aForm['inputs']['object']['value'] = $aDisplay['object']; 245 } 246 247 return $aForm; 248 } 249 250 protected function getFormEdit($sAction, $sObject, $sDisplay) { 251 $aForm = $this->aForm; 252 $aForm['form_attrs']['id'] = 'adm-form-field-edit-' . $sDisplay; 253 $aForm['form_attrs']['action'] = BX_DOL_URL_ROOT . 'grid.php?o=' . $sObject . '&a=' . $sAction . '&display=' . $sDisplay . '&di_id=' . (int)$this->aField['di_id']; 254 255 unset($aForm['inputs']['object'], $aForm['inputs']['module'], $aForm['inputs']['type'], $aForm['inputs']['name']); 256 foreach($aForm['inputs'] as $sKey => $aInput) 257 if(!in_array($sKey, array('controls'))) 258 switch($sKey) { 259 case 'type_display': 260 break; 261 case 'values': 262 if(!empty($this->aField[$sKey])) 263 $aForm['inputs'][$sKey]['value'] = $this->getFieldValues($this->aField); 264 break; 265 case 'checked': 266 $aForm['inputs'][$sKey]['checked'] = (int)$this->aField[$sKey]; 267 break; 268 case 'collapsed': 269 $aForm['inputs'][$sKey]['checked'] = (int)$this->aField[$sKey]; 270 break; 271 case 'required': 272 $aForm['inputs'][$sKey]['checked'] = (int)$this->aField[$sKey]; 273 if($aForm['inputs'][$sKey]['checked'] == 1 && isset($aForm['inputs']['checker_func'])) 274 unset($aForm['inputs']['checker_func']['tr_attrs']['style']); 275 break; 276 case 'checker_func': 277 $aForm['inputs'][$sKey]['value'] = $this->aField[$sKey]; 278 switch($aForm['inputs'][$sKey]['value']) { 279 case 'length': 280 unset($aForm['inputs']['checker_params_length_min']['tr_attrs']['style'], $aForm['inputs']['checker_params_length_max']['tr_attrs']['style']); 281 break; 282 case 'preg': 283 unset($aForm['inputs']['checker_params_preg']['tr_attrs']['style']); 284 break; 285 } 286 break; 287 case 'checker_params_length_min': 288 $aParams = unserialize($this->aField['checker_params']); 289 $aForm['inputs'][$sKey]['value'] = isset($aParams['min']) ? (int)$aParams['min'] : 0; 290 break; 291 case 'checker_params_length_max': 292 $aParams = unserialize($this->aField['checker_params']); 293 $aForm['inputs'][$sKey]['value'] = isset($aParams['max']) ? (int)$aParams['max'] : 0; 294 break; 295 case 'checker_params_preg': 296 $aParams = unserialize($this->aField['checker_params']); 297 $aForm['inputs'][$sKey]['value'] = isset($aParams['preg']) ? $aParams['preg'] : ''; 298 break; 299 case 'attrs_min': 300 $aParams = unserialize($this->aField['attrs']); 301 $aForm['inputs'][$sKey]['value'] = isset($aParams['min']) ? (int)$aParams['min'] : 0; 302 break; 303 case 'attrs_max': 304 $aParams = unserialize($this->aField['attrs']); 305 $aForm['inputs'][$sKey]['value'] = isset($aParams['max']) ? (int)$aParams['max'] : 100; 306 break; 307 case 'attrs_step': 308 $aParams = unserialize($this->aField['attrs']); 309 $aForm['inputs'][$sKey]['value'] = isset($aParams['step']) ? (int)$aParams['step'] : 1; 310 break; 311 case 'attrs_src': 312 $aParams = unserialize($this->aField['attrs']); 313 $aForm['inputs'][$sKey]['value'] = isset($aParams['src']) ? $aParams['src'] : ''; 314 break; 315 default: 316 $aForm['inputs'][$sKey]['value'] = $this->aField[$sKey]; 317 } 318 319 if(isset($aForm['inputs']['caption'])) 320 $aForm['inputs']['caption']['value'] = _t($aForm['inputs']['caption']['value']); 321 322 $aForm['inputs']['controls'][0]['value'] = _t('_adm_form_btn_field_save'); 323 324 return $aForm; 325 } 326 protected function getFieldValues($aField) { 327 $mixedResult = null; 328 329 switch($aField['type']) { 330 case 'select': 331 case 'select_multiple': 332 case 'checkbox_set': 333 case 'radio_set': 334 $mixedResult = implode("\n", unserialize($this->aField['values'])); 335 break; 336 case 'input_set': 337 $mixedResult = $this->aField['values']; 338 break; 339 } 340 341 return $mixedResult; 342 } 343 protected function getCheckerFields() { 189 344 return array( 345 'checker_func' => array( 346 'type' => 'select', 347 'name' => 'checker_func', 348 'caption' => _t('_adm_form_txt_field_checker_func'), 349 'info' => '', 350 'value' => '', 351 'values' => array( 352 array('key' => '', 'value' => _t('_adm_form_txt_field_checker_empty')), 353 array('key' => 'avail', 'value' => _t('_adm_form_txt_field_checker_avail')), 354 array('key' => 'length', 'value' => _t('_adm_form_txt_field_checker_length')), 355 array('key' => 'date', 'value' => _t('_adm_form_txt_field_checker_date')), 356 array('key' => 'date_time', 'value' => _t('_adm_form_txt_field_checker_date_time')), 357 array('key' => 'preg', 'value' => _t('_adm_form_txt_field_checker_preg')), 358 array('key' => 'email', 'value' => _t('_adm_form_txt_field_checker_email')), 359 array('key' => 'captcha', 'value' => _t('_adm_form_txt_field_checker_captcha')), 360 array('key' => 'no_spam', 'value' => _t('_adm_form_txt_field_checker_no_spam')) 361 ), 362 'required' => '0', 363 'attrs' => array( 364 'id' => 'bx-form-field-type', 365 'onchange' => $this->getJsObject() . ".onSelectChecker(this)" 366 ), 367 'tr_attrs' => array( 368 'style' => 'display:none' 369 ), 370 'db' => array ( 371 'pass' => 'Xss', 372 ), 373 'checker' => array ( 374 'func' => '', 375 'params' => array(), 376 'error' => '_adm_form_err_field_checker_func', 377 ), 378 ), 379 'checker_params' => array( 380 'type' => 'hidden', 381 'name' => 'checker_params', 382 'value' => '', 383 'db' => array ( 384 'pass' => 'Xss', 385 ), 386 ), 387 'checker_params_length_min' => array( 388 'type' => 'text', 389 'name' => 'checker_params_length_min', 390 'caption' => _t('_adm_form_txt_field_checker_params_length_min'), 391 'info' => '', 392 'value' => '', 393 'required' => '0', 394 'tr_attrs' => array( 395 'style' => 'display:none' 396 ), 397 'db' => array ( 398 'pass' => 'Int', 399 ) 400 ), 401 'checker_params_length_max' => array( 402 'type' => 'text', 403 'name' => 'checker_params_length_max', 404 'caption' => _t('_adm_form_txt_field_checker_params_length_max'), 405 'info' => '', 406 'value' => '', 407 'required' => '0', 408 'tr_attrs' => array( 409 'style' => 'display:none' 410 ), 411 'db' => array ( 412 'pass' => 'Int', 413 ) 414 ), 415 'checker_params_preg' => array( 416 'type' => 'text', 417 'name' => 'checker_params_preg', 418 'caption' => _t('_adm_form_txt_field_checker_params_preg'), 419 'info' => '', 420 'value' => '', 421 'required' => '0', 422 'tr_attrs' => array( 423 'style' => 'display:none' 424 ), 425 'db' => array ( 426 'pass' => 'Xss', 427 ) 428 ), 429 430 ); 431 } 432 } 433 434 class BxBaseStudioFormsFieldBlockHeader extends BxBaseStudioFormsField { 435 function __construct($aField = array()) { 436 parent::__construct($aField); 437 438 $this->aForm = array( 190 439 'form_attrs' => array( 191 440 'id' => '', … … 222 471 'type' => 'hidden', 223 472 'name' => 'type', 224 'value' => ' text',473 'value' => 'block_header', 225 474 'db' => array ( 226 475 'pass' => 'Xss', 227 476 ), 477 ), 478 'type_display' => array( 479 'type' => 'value', 480 'name' => 'type_display', 481 'caption' => _t('_adm_form_txt_field_type_display'), 482 'value' => 'block_header', 228 483 ), 229 484 'name' => array( … … 249 504 'info' => _t('_adm_form_dsc_field_caption'), 250 505 'value' => '', 251 'required' => '1', 252 'db' => array ( 253 'pass' => 'Xss', 254 ), 255 'checker' => array ( 256 'func' => 'length', 257 'params' => array(3,100), 258 'error' => _t('_adm_form_err_field_caption'), 259 ), 260 ), 261 'value' => array( 262 'type' => 'text', 263 'name' => 'value', 264 'caption' => _t('_adm_form_txt_field_value'), 265 'info' => _t('_adm_form_dsc_field_value'), 266 'value' => '', 267 'required' => '0', 506 'required' => '', 268 507 'db' => array ( 269 508 'pass' => 'Xss', 270 509 ) 271 510 ), 272 'info' => array( 273 'type' => 'textarea', 274 'name' => 'info', 275 'caption' => _t('_adm_form_txt_field_info'), 276 'info' => _t('_adm_form_dsc_field_info'), 277 'value' => '', 278 'required' => '0', 279 'db' => array ( 280 'pass' => 'Xss', 281 ) 282 ), 283 'required' => array( 511 'collapsed' => array( 284 512 'type' => 'checkbox', 285 'name' => ' required',286 'caption' => _t('_adm_form_txt_field_ required'),287 'info' => _t('_adm_form_dsc_field_ required'),513 'name' => 'collapsed', 514 'caption' => _t('_adm_form_txt_field_collapsed'), 515 'info' => _t('_adm_form_dsc_field_collapsed'), 288 516 'value' => '1', 289 517 'required' => '0', … … 314 542 } 315 543 } 544 545 class BxBaseStudioFormsFieldValue extends BxBaseStudioFormsFieldBlockHeader { 546 function __construct($aField = array()) { 547 parent::__construct($aField); 548 549 $this->aForm['inputs']['type']['value'] = 'value'; 550 $this->aForm['inputs']['type_display']['value'] = 'value'; 551 552 $aFields = array( 553 'value' => array( 554 'type' => 'text', 555 'name' => 'value', 556 'caption' => _t('_adm_form_txt_field_value'), 557 'info' => _t('_adm_form_dsc_field_value'), 558 'value' => '', 559 'required' => '0', 560 'db' => array ( 561 'pass' => 'Xss', 562 ) 563 ), 564 ); 565 $this->aForm['inputs'] = $this->addInArray($this->aForm['inputs'], 'caption', $aFields); 566 567 unset( 568 $this->aForm['inputs']['collapsed'] 569 ); 570 } 571 } 572 573 class BxBaseStudioFormsFieldText extends BxBaseStudioFormsFieldBlockHeader { 574 function __construct($aField = array()) { 575 parent::__construct($aField); 576 577 $this->aForm['inputs']['type']['value'] = 'text'; 578 $this->aForm['inputs']['type_display']['value'] = 'text'; 579 580 $aFields = array( 581 'value' => array( 582 'type' => 'text', 583 'name' => 'value', 584 'caption' => _t('_adm_form_txt_field_value'), 585 'info' => _t('_adm_form_dsc_field_value'), 586 'value' => '', 587 'required' => '0', 588 'db' => array ( 589 'pass' => 'Xss', 590 ) 591 ), 592 'info' => array( 593 'type' => 'textarea', 594 'name' => 'info', 595 'caption' => _t('_adm_form_txt_field_info'), 596 'info' => _t('_adm_form_dsc_field_info'), 597 'value' => '', 598 'required' => '0', 599 'db' => array ( 600 'pass' => 'Xss', 601 ) 602 ), 603 'required' => array( 604 'type' => 'checkbox', 605 'name' => 'required', 606 'caption' => _t('_adm_form_txt_field_required'), 607 'info' => _t('_adm_form_dsc_field_required'), 608 'value' => '1', 609 'required' => '0', 610 'attrs' => array( 611 'id' => 'bx-form-field-required', 612 'onchange' => $this->getJsObject() . ".onCheckRequired(this)" 613 ), 614 'db' => array ( 615 'pass' => 'Int', 616 ) 617 ) 618 ); 619 620 $aFields = array_merge($aFields, $this->getCheckerFields()); 621 622 $this->aForm['inputs'] = $this->addInArray($this->aForm['inputs'], 'caption', $aFields); 623 624 unset( 625 $this->aForm['inputs']['collapsed'] 626 ); 627 } 628 } 629 630 class BxBaseStudioFormsFieldPassword extends BxBaseStudioFormsFieldText { 631 function __construct($aField = array()) { 632 parent::__construct($aField); 633 634 $this->aForm['inputs']['type']['value'] = 'password'; 635 $this->aForm['inputs']['type_display']['value'] = 'password'; 636 } 637 } 638 639 class BxBaseStudioFormsFieldTextarea extends BxBaseStudioFormsFieldText { 640 function __construct($aField = array()) { 641 parent::__construct($aField); 642 643 $this->aForm['inputs']['type']['value'] = 'textarea'; 644 $this->aForm['inputs']['type_display']['value'] = 'textarea'; 645 646 $aFields = array( 647 'html' => array( 648 'type' => 'select', 649 'name' => 'html', 650 'caption' => _t('_adm_form_txt_field_html'), 651 'info' => _t('_adm_form_dsc_field_html'), 652 'value' => '0', 653 'values' => array( 654 array('key' => '0', 'value' => _t('_adm_form_txt_field_html_none')), 655 array('key' => '1', 'value' => _t('_adm_form_txt_field_html_micro')), 656 array('key' => '3', 'value' => _t('_adm_form_txt_field_html_mini')), 657 array('key' => '2', 'value' => _t('_adm_form_txt_field_html_default')) 658 ), 659 'required' => '0', 660 'db' => array ( 661 'pass' => 'Xss', 662 ) 663 ), 664 ); 665 666 $this->aForm['inputs'] = $this->addInArray($this->aForm['inputs'], 'info', $aFields); 667 } 668 } 669 670 class BxBaseStudioFormsFieldNumber extends BxBaseStudioFormsFieldText { 671 function __construct($aField = array()) { 672 parent::__construct($aField); 673 674 $this->aForm['inputs']['type']['value'] = 'number'; 675 $this->aForm['inputs']['type_display']['value'] = 'number'; 676 } 677 } 678 679 class BxBaseStudioFormsFieldDatepicker extends BxBaseStudioFormsFieldText { 680 function __construct($aField = array()) { 681 parent::__construct($aField); 682 683 $this->aForm['inputs']['type']['value'] = 'date'; 684 $this->aForm['inputs']['type_display']['value'] = 'date'; 685 } 686 } 687 688 class BxBaseStudioFormsFieldDatetime extends BxBaseStudioFormsFieldDatepicker { 689 function __construct($aField = array()) { 690 parent::__construct($aField); 691 692 $this->aForm['inputs']['type']['value'] = 'datetime'; 693 $this->aForm['inputs']['type_display']['value'] = 'datetime'; 694 } 695 } 696 697 class BxBaseStudioFormsFieldCheckbox extends BxBaseStudioFormsFieldText { 698 function __construct($aField = array()) { 699 parent::__construct($aField); 700 701 $this->aForm['inputs']['type']['value'] = 'checkbox'; 702 $this->aForm['inputs']['type_display']['value'] = 'checkbox'; 703 704 $aFields = array( 705 'checked' => array( 706 'type' => 'checkbox', 707 'name' => 'checked', 708 'caption' => _t('_adm_form_txt_field_checked'), 709 'info' => _t('_adm_form_dsc_field_checked'), 710 'value' => '1', 711 'required' => '0', 712 'db' => array ( 713 'pass' => 'Int', 714 ) 715 ) 716 ); 717 $this->aForm['inputs'] = $this->addInArray($this->aForm['inputs'], 'value', $aFields); 718 } 719 } 720 721 class BxBaseStudioFormsFieldSwitcher extends BxBaseStudioFormsFieldCheckbox { 722 function __construct($aField = array()) { 723 parent::__construct($aField); 724 725 $this->aForm['inputs']['type']['value'] = 'switcher'; 726 $this->aForm['inputs']['type_display']['value'] = 'switcher'; 727 } 728 } 729 730 class BxBaseStudioFormsFieldFile extends BxBaseStudioFormsFieldText { 731 function __construct($aField = array()) { 732 parent::__construct($aField); 733 734 $this->aForm['inputs']['type']['value'] = 'file'; 735 $this->aForm['inputs']['type_display']['value'] = 'file'; 736 737 unset( 738 $this->aForm['inputs']['value'] 739 ); 740 } 741 } 742 743 class BxBaseStudioFormsFieldSlider extends BxBaseStudioFormsFieldText { 744 function __construct($aField = array()) { 745 parent::__construct($aField); 746 747 $this->aForm['inputs']['type']['value'] = 'slider'; 748 $this->aForm['inputs']['type_display']['value'] = 'slider'; 749 750 $aFields = array( 751 'attrs' => array( 752 'type' => 'hidden', 753 'name' => 'attrs', 754 'value' => '', 755 'db' => array ( 756 'pass' => 'Xss', 757 ), 758 ), 759 'attrs_min' => array( 760 'type' => 'text', 761 'name' => 'attrs_min', 762 'caption' => _t('_adm_form_txt_field_attrs_min'), 763 'info' => _t('_adm_form_dsc_field_attrs_min'), 764 'value' => '', 765 'required' => '0', 766 'db' => array ( 767 'pass' => 'Int', 768 ) 769 ), 770 'attrs_max' => array( 771 'type' => 'text', 772 'name' => 'attrs_max', 773 'caption' => _t('_adm_form_txt_field_attrs_max'), 774 'info' => _t('_adm_form_dsc_field_attrs_max'), 775 'value' => '', 776 'required' => '0', 777 'db' => array ( 778 'pass' => 'Int', 779 ) 780 ), 781 'attrs_step' => array( 782 'type' => 'text', 783 'name' => 'attrs_step', 784 'caption' => _t('_adm_form_txt_field_attrs_step'), 785 'info' => _t('_adm_form_dsc_field_attrs_step'), 786 'value' => '', 787 'required' => '0', 788 'db' => array ( 789 'pass' => 'Int', 790 ) 791 ), 792 ); 793 $this->aForm['inputs'] = $this->addInArray($this->aForm['inputs'], 'value', $aFields); 794 } 795 } 796 797 class BxBaseStudioFormsFieldDoublerange extends BxBaseStudioFormsFieldSlider { 798 function __construct($aField = array()) { 799 parent::__construct($aField); 800 801 $this->aForm['inputs']['type']['value'] = 'doublerange'; 802 $this->aForm['inputs']['type_display']['value'] = 'doublerange'; 803 } 804 } 805 806 class BxBaseStudioFormsFieldHidden extends BxBaseStudioFormsFieldText { 807 function __construct($aField = array()) { 808 parent::__construct($aField); 809 810 $this->aForm['inputs']['type']['value'] = 'hidden'; 811 $this->aForm['inputs']['type_display']['value'] = 'hidden'; 812 813 unset( 814 $this->aForm['inputs']['caption'], 815 $this->aForm['inputs']['info'] 816 ); 817 } 818 } 819 820 class BxBaseStudioFormsFieldButton extends BxBaseStudioFormsFieldText { 821 function __construct($aField = array()) { 822 parent::__construct($aField); 823 824 $this->aForm['inputs']['type']['value'] = 'button'; 825 $this->aForm['inputs']['type_display']['value'] = 'button'; 826 827 unset( 828 $this->aForm['inputs']['caption'], 829 $this->aForm['inputs']['info'], 830 $this->aForm['inputs']['required'], 831 $this->aForm['inputs']['checker_func'], 832 $this->aForm['inputs']['checker_params'], 833 $this->aForm['inputs']['checker_params_length_min'], 834 $this->aForm['inputs']['checker_params_length_max'], 835 $this->aForm['inputs']['checker_params_preg'] 836 ); 837 } 838 } 839 840 class BxBaseStudioFormsFieldReset extends BxBaseStudioFormsFieldButton { 841 function __construct($aField = array()) { 842 parent::__construct($aField); 843 844 $this->aForm['inputs']['type']['value'] = 'reset'; 845 $this->aForm['inputs']['type_display']['value'] = 'reset'; 846 } 847 } 848 849 class BxBaseStudioFormsFieldSubmit extends BxBaseStudioFormsFieldButton { 850 function __construct($aField = array()) { 851 parent::__construct($aField); 852 853 $this->aForm['inputs']['type']['value'] = 'submit'; 854 $this->aForm['inputs']['type_display']['value'] = 'submit'; 855 } 856 } 857 858 class BxBaseStudioFormsFieldImage extends BxBaseStudioFormsFieldButton { 859 function __construct($aField = array()) { 860 parent::__construct($aField); 861 862 $this->aForm['inputs']['type']['value'] = 'image'; 863 $this->aForm['inputs']['type_display']['value'] = 'image'; 864 865 $aFields = array( 866 'attrs' => array( 867 'type' => 'hidden', 868 'name' => 'attrs', 869 'value' => '', 870 'db' => array ( 871 'pass' => 'Xss', 872 ), 873 ), 874 'attrs_src' => array( 875 'type' => 'text', 876 'name' => 'attrs_src', 877 'caption' => _t('_adm_form_txt_field_attrs_src'), 878 'info' => _t('_adm_form_dsc_field_attrs_src'), 879 'value' => '', 880 'required' => '0', 881 'db' => array ( 882 'pass' => 'Xss', 883 ) 884 ), 885 ); 886 $this->aForm['inputs'] = $this->addInArray($this->aForm['inputs'], 'value', $aFields); 887 888 unset( 889 $this->aForm['inputs']['value'] 890 ); 891 } 892 } 893 894 class BxBaseStudioFormsFieldSelect extends BxBaseStudioFormsFieldText { 895 function __construct($aField = array()) { 896 parent::__construct($aField); 897 898 $this->aForm['inputs']['type']['value'] = 'select'; 899 $this->aForm['inputs']['type_display']['value'] = 'select'; 900 901 $aFields = array( 902 'values' => array( 903 'type' => 'textarea', 904 'name' => 'values', 905 'caption' => _t('_adm_form_txt_field_values'), 906 'info' => _t('_adm_form_dsc_field_values'), 907 'value' => '', 908 'required' => '0', 909 'db' => array ( 910 'pass' => 'Xss', 911 ) 912 ) 913 ); 914 $this->aForm['inputs'] = $this->addInArray($this->aForm['inputs'], 'value', $aFields); 915 } 916 } 917 918 class BxBaseStudioFormsFieldRadioSet extends BxBaseStudioFormsFieldSelect { 919 function __construct($aField = array()) { 920 parent::__construct($aField); 921 922 $this->aForm['inputs']['type']['value'] = 'radio_set'; 923 $this->aForm['inputs']['type_display']['value'] = 'radio_set'; 924 } 925 } 926 927 class BxBaseStudioFormsFieldSelectMultiple extends BxBaseStudioFormsFieldSelect { 928 function __construct($aField = array()) { 929 parent::__construct($aField); 930 931 $this->aForm['inputs']['type']['value'] = 'select_multiple'; 932 $this->aForm['inputs']['type_display']['value'] = 'select_multiple'; 933 } 934 } 935 936 class BxBaseStudioFormsFieldCheckboxSet extends BxBaseStudioFormsFieldSelect { 937 function __construct($aField = array()) { 938 parent::__construct($aField); 939 940 $this->aForm['inputs']['type']['value'] = 'checkbox_set'; 941 $this->aForm['inputs']['type_display']['value'] = 'checkbox_set'; 942 } 943 } 944 945 class BxBaseStudioFormsFieldCustom extends BxBaseStudioFormsFieldText { 946 function __construct($aField = array()) { 947 parent::__construct($aField); 948 949 $this->aForm['inputs']['type']['value'] = 'custom'; 950 $this->aForm['inputs']['type_display']['value'] = 'custom'; 951 952 unset( 953 $this->aForm['inputs']['required'], 954 $this->aForm['inputs']['checker_func'], 955 $this->aForm['inputs']['checker_params'], 956 $this->aForm['inputs']['checker_params_length_min'], 957 $this->aForm['inputs']['checker_params_length_max'], 958 $this->aForm['inputs']['checker_params_preg'] 959 ); 960 } 961 } 962 963 class BxBaseStudioFormsFieldInputSet extends BxBaseStudioFormsFieldCustom { 964 function __construct($aField = array()) { 965 parent::__construct($aField); 966 967 $this->aForm['inputs']['type']['value'] = 'input_set'; 968 $this->aForm['inputs']['type_display']['value'] = 'input_set'; 969 970 $aFields = array( 971 'values' => array( 972 'type' => 'value', 973 'name' => 'values', 974 'caption' => _t('_adm_form_txt_field_values'), 975 'value' => '' 976 ) 977 ); 978 $this->aForm['inputs'] = $this->addInArray($this->aForm['inputs'], 'value', $aFields); 979 980 unset( 981 $this->aForm['inputs']['value'] 982 ); 983 } 984 } 985 986 class BxBaseStudioFormsFieldCaptcha extends BxBaseStudioFormsFieldText { 987 function __construct($aField = array()) { 988 parent::__construct($aField); 989 990 $this->aForm['inputs']['type']['value'] = 'captcha'; 991 $this->aForm['inputs']['type_display']['value'] = 'captcha'; 992 993 unset( 994 $this->aForm['inputs']['value'] 995 ); 996 } 997 } 316 998 /** @} */ -
trunk/studio/templates/base/scripts/BxBaseStudioFormsFields.php
r15857 r15870 27 27 28 28 bx_import('BxTemplStudioFormsField'); 29 $sClass = 'BxTemplStudioFormsField' . $ sType;29 $sClass = 'BxTemplStudioFormsField' . $this->getClassName($sType); 30 30 $oClass = new $sClass(); 31 31 … … 77 77 $this->_echoResultJson($aResult, true); 78 78 } 79 80 79 } 81 80 … … 112 111 $this->_echoResultJson($iAffected ? array('grid' => $this->getCode(false), 'blink' => $aIdsAffected) : array('msg' => _t('_adm_from_err_fields_delete'))); 113 112 } 113 114 114 function getJsObject() { 115 115 return BX_DOL_STUDIO_FORMS_FIELDS_JS_OBJECT; -
trunk/studio/templates/base/scripts/BxBaseStudioFormsForms.php
r15857 r15870 80 80 ), 81 81 ), 82 'action' => array(83 'type' => 'text',84 'name' => 'action',85 'caption' => _t('_adm_form_txt_forms_action'),86 'info' => _t('_adm_form_dsc_forms_action'),87 'value' => $aFormData['action'],88 'required' => '1',89 'db' => array (90 'pass' => 'Xss',91 ),92 'checker' => array (93 'func' => 'length',94 'params' => array(5,100),95 'error' => _t('_adm_form_err_forms_action'),96 ),97 ),98 'table' => array(99 'type' => 'text',100 'name' => 'table',101 'caption' => _t('_adm_form_txt_forms_table'),102 'info' => _t('_adm_form_dsc_forms_table'),103 'value' => $aFormData['table'],104 'required' => '0',105 'db' => array (106 'pass' => 'Xss',107 ),108 'checker' => array (109 'func' => '',110 'params' => array(),111 'error' => '',112 ),113 ),114 'key' => array(115 'type' => 'text',116 'name' => 'key',117 'caption' => _t('_adm_form_txt_forms_key'),118 'info' => _t('_adm_form_dsc_forms_key'),119 'value' => $aFormData['key'],120 'required' => '0',121 'db' => array (122 'pass' => 'Xss',123 ),124 'checker' => array (125 'func' => '',126 'params' => array(),127 'error' => '',128 ),129 ),130 'uri' => array(131 'type' => 'text',132 'name' => 'uri',133 'caption' => _t('_adm_form_txt_forms_uri'),134 'info' => _t('_adm_form_dsc_forms_uri'),135 'value' => $aFormData['uri'],136 'required' => '0',137 'db' => array (138 'pass' => 'Xss',139 ),140 'checker' => array (141 'func' => '',142 'params' => array(),143 'error' => '',144 ),145 ),146 'uri_title' => array(147 'type' => 'text',148 'name' => 'uri_title',149 'caption' => _t('_adm_form_txt_forms_uri_title'),150 'info' => _t('_adm_form_dsc_forms_uri_title'),151 'value' => $aFormData['uri_title'],152 'required' => '0',153 'db' => array (154 'pass' => 'Xss',155 ),156 'checker' => array (157 'func' => '',158 'params' => array(),159 'error' => '',160 ),161 ),162 'submit_name' => array(163 'type' => 'text',164 'name' => 'submit_name',165 'caption' => _t('_adm_form_txt_forms_uri_submit_name'),166 'info' => _t('_adm_form_dsc_forms_uri_submit_name'),167 'value' => $aFormData['submit_name'],168 'required' => '0',169 'db' => array (170 'pass' => 'Xss',171 ),172 'checker' => array (173 'func' => '',174 'params' => array(),175 'error' => '',176 ),177 ),178 82 'controls' => array( 179 83 'name' => 'controls', -
trunk/studio/templates/tmpl_uni/scripts/BxTemplStudioFormsField.php
r15857 r15870 18 18 } 19 19 20 class BxTemplStudioFormsFieldBlockHeader extends BxBaseStudioFormsFieldBlockHeader { 21 function __construct($aField = array()) { 22 parent::__construct($aField); 23 } 24 } 25 26 class BxTemplStudioFormsFieldValue extends BxBaseStudioFormsFieldValue { 27 function __construct($aField = array()) { 28 parent::__construct($aField); 29 } 30 } 31 20 32 class BxTemplStudioFormsFieldText extends BxBaseStudioFormsFieldText { 21 33 function __construct($aField = array()) { … … 23 35 } 24 36 } 37 38 class BxTemplStudioFormsFieldPassword extends BxBaseStudioFormsFieldPassword { 39 function __construct($aField = array()) { 40 parent::__construct($aField); 41 } 42 } 43 44 class BxTemplStudioFormsFieldTextarea extends BxBaseStudioFormsFieldTextarea { 45 function __construct($aField = array()) { 46 parent::__construct($aField); 47 } 48 } 49 50 class BxTemplStudioFormsFieldNumber extends BxBaseStudioFormsFieldNumber { 51 function __construct($aField = array()) { 52 parent::__construct($aField); 53 } 54 } 55 56 class BxTemplStudioFormsFieldDatepicker extends BxBaseStudioFormsFieldDatepicker { 57 function __construct($aField = array()) { 58 parent::__construct($aField); 59 } 60 } 61 62 class BxTemplStudioFormsFieldDatetime extends BxBaseStudioFormsFieldDatetime { 63 function __construct($aField = array()) { 64 parent::__construct($aField); 65 } 66 } 67 68 class BxTemplStudioFormsFieldCheckbox extends BxBaseStudioFormsFieldCheckbox { 69 function __construct($aField = array()) { 70 parent::__construct($aField); 71 } 72 } 73 74 class BxTemplStudioFormsFieldSwitcher extends BxBaseStudioFormsFieldSwitcher { 75 function __construct($aField = array()) { 76 parent::__construct($aField); 77 } 78 } 79 80 class BxTemplStudioFormsFieldFile extends BxBaseStudioFormsFieldFile { 81 function __construct($aField = array()) { 82 parent::__construct($aField); 83 } 84 } 85 86 class BxTemplStudioFormsFieldSlider extends BxBaseStudioFormsFieldSlider { 87 function __construct($aField = array()) { 88 parent::__construct($aField); 89 } 90 } 91 92 class BxTemplStudioFormsFieldDoublerange extends BxBaseStudioFormsFieldDoublerange { 93 function __construct($aField = array()) { 94 parent::__construct($aField); 95 } 96 } 97 98 class BxTemplStudioFormsFieldHidden extends BxBaseStudioFormsFieldHidden { 99 function __construct($aField = array()) { 100 parent::__construct($aField); 101 } 102 } 103 104 class BxTemplStudioFormsFieldButton extends BxBaseStudioFormsFieldButton { 105 function __construct($aField = array()) { 106 parent::__construct($aField); 107 } 108 } 109 110 class BxTemplStudioFormsFieldReset extends BxBaseStudioFormsFieldReset { 111 function __construct($aField = array()) { 112 parent::__construct($aField); 113 } 114 } 115 116 class BxTemplStudioFormsFieldSubmit extends BxBaseStudioFormsFieldSubmit { 117 function __construct($aField = array()) { 118 parent::__construct($aField); 119 } 120 } 121 122 class BxTemplStudioFormsFieldImage extends BxBaseStudioFormsFieldImage { 123 function __construct($aField = array()) { 124 parent::__construct($aField); 125 } 126 } 127 128 class BxTemplStudioFormsFieldSelect extends BxBaseStudioFormsFieldSelect { 129 function __construct($aField = array()) { 130 parent::__construct($aField); 131 } 132 } 133 134 class BxTemplStudioFormsFieldSelectMultiple extends BxBaseStudioFormsFieldSelectMultiple { 135 function __construct($aField = array()) { 136 parent::__construct($aField); 137 } 138 } 139 140 class BxTemplStudioFormsFieldCheckboxSet extends BxBaseStudioFormsFieldCheckboxSet { 141 function __construct($aField = array()) { 142 parent::__construct($aField); 143 } 144 } 145 146 class BxTemplStudioFormsFieldRadioSet extends BxBaseStudioFormsFieldRadioSet { 147 function __construct($aField = array()) { 148 parent::__construct($aField); 149 } 150 } 151 152 class BxTemplStudioFormsFieldCustom extends BxBaseStudioFormsFieldCustom { 153 function __construct($aField = array()) { 154 parent::__construct($aField); 155 } 156 } 157 158 class BxTemplStudioFormsFieldInputSet extends BxBaseStudioFormsFieldInputSet { 159 function __construct($aField = array()) { 160 parent::__construct($aField); 161 } 162 } 163 164 class BxTemplStudioFormsFieldCaptcha extends BxBaseStudioFormsFieldCaptcha { 165 function __construct($aField = array()) { 166 parent::__construct($aField); 167 } 168 } 25 169 /** @} */
Note: See TracChangeset
for help on using the changeset viewer.