HomeHelpTrac

Changeset 15906 for trunk


Ignore:
Timestamp:
01/23/12 05:07:47 (4 months ago)
Author:
Anton Lesnikov
Message:

Studio -> Form Builder.

Location:
trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/install/sql/v70.sql

    r15905 r15906  
    46234623('sys_studio_forms', 'Sql', 'SELECT * FROM `sys_objects_form` WHERE 1 ', 'sys_objects_form', 'id', '', 'active', '', 100, NULL, 'start', '', 'title,module', 'auto', '', 'BxTemplStudioFormsForms', ''), 
    46244624('sys_studio_forms_displays', 'Sql', 'SELECT `td`.`id` AS `id`, `td`.`object` AS `object`, `td`.`display_name` AS `display_name`, `td`.`title` AS `title`, `td`.`module` AS `module`, `tf`.`title` AS `form_title` FROM `sys_form_displays` AS `td` LEFT JOIN `sys_objects_form` AS `tf` ON `td`.`object`=`tf`.`object` WHERE 1 ', 'sys_form_displays', 'id', '', '', '', 100, NULL, 'start', '', 'td`.`title,td`.`module', 'auto', '', 'BxTemplStudioFormsDisplays', ''), 
    4625 ('sys_studio_forms_fields', 'Sql', 'SELECT `tdi`.`id` AS `id`, `ti`.`caption` AS `title`, `ti`.`type` AS `type`, `ti`.`module` AS `module`, `tdi`.`active` AS `active`, `ti`.`editable` AS `editable`, `ti`.`deletable` AS `deletable`, `tdi`.`order` AS `order` FROM `sys_form_display_inputs` AS `tdi` LEFT JOIN `sys_form_inputs` AS `ti` ON `tdi`.`input_name`=`ti`.`name` AND `ti`.`object`=? WHERE 1 AND `tdi`.`display_name`=?', 'sys_form_display_inputs', 'id', 'order', 'active', '', 100, NULL, 'start', '', 'ti`.`type,ti`.`caption', 'auto', '', 'BxTemplStudioFormsFields', ''), 
     4625('sys_studio_forms_fields', 'Sql', 'SELECT `tdi`.`id` AS `id`, `ti`.`caption` AS `title`, `ti`.`type` AS `type`, `ti`.`module` AS `module`, `tdi`.`visible_for_levels` AS `visible_for_levels`, `tdi`.`active` AS `active`, `ti`.`editable` AS `editable`, `ti`.`deletable` AS `deletable`, `tdi`.`order` AS `order` FROM `sys_form_display_inputs` AS `tdi` LEFT JOIN `sys_form_inputs` AS `ti` ON `tdi`.`input_name`=`ti`.`name` AND `ti`.`object`=? WHERE 1 AND `tdi`.`display_name`=?', 'sys_form_display_inputs', 'id', 'order', 'active', '', 100, NULL, 'start', '', 'ti`.`type,ti`.`caption', 'auto', '', 'BxTemplStudioFormsFields', ''), 
    46264626('sys_studio_forms_pre_lists', 'Sql', 'SELECT * FROM `sys_form_pre_lists` WHERE 1 ', 'sys_form_pre_lists', 'id', '', '', '', 100, NULL, 'start', '', 'module,key,title', 'auto', '', 'BxTemplStudioFormsPreLists', ''), 
    46274627('sys_studio_forms_pre_values', 'Sql', 'SELECT * FROM `sys_form_pre_values` WHERE 1 ', 'sys_form_pre_values', 'id', 'Order', '', '', 100, NULL, 'start', '', 'Key,Value,LKey,LKey2', 'auto', '', 'BxTemplStudioFormsPreValues', ''); 
  • trunk/modules/boonex/english/install/data/langs/en.xml

    r15902 r15906  
    23272327    <string name="_adm_form_txt_field_value"><![CDATA[Value]]></string> 
    23282328    <string name="_adm_form_dsc_field_value"><![CDATA[Enter default value (optional)]]></string> 
     2329    <string name="_adm_form_txt_field_value_button"><![CDATA[Title]]></string> 
     2330    <string name="_adm_form_dsc_field_value_button"><![CDATA[Enter button title here]]></string> 
     2331    <string name="_adm_form_txt_field_value_checkbox"><![CDATA[Value]]></string> 
     2332    <string name="_adm_form_dsc_field_value_checkbox"><![CDATA[If enabled the value to be passed on form submit]]></string> 
    23292333    <string name="_adm_form_txt_field_values"><![CDATA[Values]]></string> 
    23302334    <string name="_adm_form_txt_field_manage_values"><![CDATA[Manage values]]></string> 
  • trunk/studio/classes/BxDolStudioFormsField.php

    r15870 r15906  
    1515class BxDolStudioFormsField extends BxDol { 
    1616    protected $oDb; 
     17    protected $aParams = array(); 
    1718    protected $aField = array(); 
     19    protected $aCheckFunctions = array(); 
    1820 
    19     public function __construct($aField = array()) { 
     21    public function __construct($aParams = array(), $aField = array()) { 
    2022        parent::__construct(); 
    2123 
    2224        $this->oDb = new BxDolStudioFormsQuery();  
    2325 
     26        $this->aParams = $aParams; 
    2427        $this->aField = $aField; 
     28 
     29        if(isset($this->aParams['object']) && isset($this->aParams['display'])) { 
     30            $aForm = array(); 
     31            $this->oDb->getForms(array('type' => 'by_object_display', 'object' => $this->aParams['object'], 'display' => $this->aParams['display']), $aForm, false); 
     32 
     33            $this->aParams['table'] = $aForm['table']; 
     34        } 
     35    } 
     36 
     37    function alterAdd($sName) { 
     38        if(!isset($this->aParams['table']) || !isset($this->aParams['table_field_type'])) 
     39            return ''; 
     40 
     41        return $this->oDb->alterAdd($this->aParams['table'], $sName, $this->aParams['table_field_type']); 
     42    } 
     43 
     44    function alterRemove($sName) { 
     45        if(!isset($this->aParams['table'])) 
     46            return ''; 
     47 
     48        return $this->oDb->alterRemove($this->aParams['table'], $sName); 
    2549    } 
    2650 
  • trunk/studio/classes/BxDolStudioFormsFields.php

    r15896 r15906  
    1616 
    1717class BxDolStudioFormsFields extends BxTemplStudioGrid { 
     18    protected $sObject = ''; 
    1819    protected $sDisplay = ''; 
    1920 
     
    2324        $this->oDb = new BxDolStudioFormsQuery(); 
    2425 
     26        $sObject = bx_process_input(bx_get('object')); 
     27        if($sObject != '') 
     28            $this->sObject = $sObject; 
     29 
    2530        $sDisplay = bx_process_input(bx_get('display')); 
    2631        if($sDisplay != '') 
    2732            $this->sDisplay = $sDisplay; 
    2833 
     34        $this->_aQueryAppend['object'] = $this->sObject; 
    2935        $this->_aQueryAppend['display'] = $this->sDisplay; 
    3036    } 
    3137 
    3238    protected function _getDataSql($sFilter, $sOrderField, $sOrderDir, $iStart, $iPerPage) { 
    33         if(empty($this->sDisplay)) 
     39        if(empty($this->sObject) || empty($this->sDisplay)) 
    3440            return array(); 
    3541 
    36         $this->oDb->checkFieldsInDisplays($this->sDisplay); 
     42        $this->oDb->checkFieldsInDisplays($this->sObject, $this->sDisplay); 
    3743 
    38         $aDisplay = array(); 
    39         $this->oDb->getDisplays(array('type' => 'by_name', 'value' => $this->sDisplay), $aDisplay, false); 
    40         if(empty($aDisplay) || !is_array($aDisplay)) 
    41             return array(); 
    42  
    43         $this->_aOptions['source'] = $this->oDb->prepare($this->_aOptions['source'], $aDisplay['object'], $aDisplay['name']); 
     44        $this->_aOptions['source'] = $this->oDb->prepare($this->_aOptions['source'], $this->sObject, $this->sDisplay); 
    4445        return parent::_getDataSql($sFilter, $sOrderField, $sOrderDir, $iStart, $iPerPage); 
    4546    } 
  • trunk/studio/classes/BxDolStudioFormsQuery.php

    r15905 r15906  
    2828                $sWhereClause = $this->prepare(" AND `tf`.`id`=? ", $aParams['value']); 
    2929                break; 
    30             case 'by_object': 
    31                 $sWhereClause = $this->prepare(" AND `tf`.`object`=? ", $aParams['value']); 
     30            case 'by_object_display': 
     31                $aMethod['name'] = 'getRow'; 
     32                $sJoinClause = "LEFT JOIN `sys_form_displays` AS `td` ON `tf`.`object`=`td`.`object` "; 
     33                $sWhereClause = $this->prepare(" AND `td`.`object`=? AND `td`.`display_name`=? ", $aParams['object'], $aParams['display']); 
    3234                break; 
    3335            case 'all': 
     
    7678                $sLimitClause = "LIMIT 1"; 
    7779                break; 
     80            case 'by_object_display': 
     81                $aMethod['name'] = 'getRow'; 
     82                $sWhereClause = $this->prepare(" AND `td`.`object`=? AND `td`.`display_name`=? ", $aParams['object'], $aParams['display']); 
     83                $sLimitClause = "LIMIT 1"; 
     84                break; 
    7885            case 'by_name': 
    79                 $aMethod['name'] = 'getRow'; 
    8086                $sWhereClause = $this->prepare(" AND `td`.`display_name`=? ", $aParams['value']); 
    8187                $sLimitClause = "LIMIT 1"; 
     
    111117            LIMIT 1"; 
    112118        return (int)$this->getOne($sQuery); 
     119    } 
     120 
     121    function isField($sObject, $sName) { 
     122        $sSql = $this->prepare("SELECT `id` FROM `sys_form_inputs` WHERE `object`=? AND `name`=? LIMIT 1", $sObject, $sName); 
     123        return (int)$this->getOne($sSql) > 0; 
    113124    } 
    114125 
     
    134145                $sWhereClause = $this->prepare(" AND `tdi`.`id`=? ", $aParams['value']); 
    135146                break; 
    136             case 'by_id_object': 
     147            case 'by_object_id': 
    137148                $aMethod['name'] = 'getRow'; 
    138149                $sSelectClause = "`ti`.*, `tdi`.`id` AS `di_id`, `tdi`.`display_name` AS `display_name`"; 
    139                 $sWhereClause = $this->prepare(" AND `tdi`.`id`=? AND `ti`.`object`=? ", $aParams['id'], $aParams['object']); 
    140                 break; 
    141             case 'by_display_name': 
    142                 $sWhereClause = $this->prepare(" AND `tdi`.`display_name`=? ", $aParams['value']); 
    143                 break; 
    144             case 'by_object_display_names': 
     150                $sWhereClause = $this->prepare(" AND `ti`.`object`=? AND `tdi`.`id`=? ", $aParams['object'], $aParams['id']); 
     151                break; 
     152            case 'by_object_display': 
    145153                $sWhereClause = $this->prepare(" AND `ti`.`object`=? AND `tdi`.`display_name`=? ", $aParams['object'], $aParams['display']); 
    146154                break; 
     
    181189    } 
    182190 
    183     function checkFieldsInDisplays($sDisplayName) { 
    184         $aDisplay = array(); 
    185         $this->getDisplays(array('type' => 'by_name', 'value' => $sDisplayName), $aDisplay, false); 
    186         if(empty($aDisplay) || !is_array($aDisplay)) 
    187             return false; 
    188  
    189         $sSql = $this->prepare("INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`) SELECT ? AS `display_name`,`ti`.`name` AS `input_name`  FROM `sys_form_inputs` AS `ti` LEFT JOIN `sys_form_display_inputs` AS `tdi` ON  `ti`.`name`=`tdi`.`input_name` AND `tdi`.`display_name`=? WHERE 1 AND `ti`.`object`=? AND `tdi`.`id` IS NULL", $sDisplayName, $sDisplayName, $aDisplay['object']); 
     191    function checkFieldsInDisplays($sObject, $sDisplayName) { 
     192        $sSql = $this->prepare("INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`) SELECT ? AS `display_name`,`ti`.`name` AS `input_name` FROM `sys_form_inputs` AS `ti` LEFT JOIN `sys_form_display_inputs` AS `tdi` ON  `ti`.`name`=`tdi`.`input_name` AND `tdi`.`display_name`=? WHERE 1 AND `ti`.`object`=? AND `tdi`.`id` IS NULL", $sDisplayName, $sDisplayName, $sObject); 
    190193        return (int)$this->query($sSql) > 0; 
    191194    } 
     
    309312        return (int)$this->getOne($sSql); 
    310313    } 
     314 
     315    function alterAdd($sTable, $sField, $sType) { 
     316        $sSql = "ALTER TABLE `" . $sTable . "` ADD `" . $sField . "` " . $sType; 
     317        $this->query($sSql); 
     318    } 
     319 
     320    function alterRemove($sTable, $sField) { 
     321        $sSql = "ALTER TABLE `" . $sTable . "` DROP `" . $sField . "`"; 
     322        $this->query($sSql); 
     323    } 
    311324} 
    312325/** @} */ 
  • trunk/studio/js/forms_fields.js

    r15902 r15906  
    1919 
    2020BxDolStudioFormsFields.prototype.onChangeDisplay = function() { 
    21     var sDisplay = $('#bx-grid-display-' + this.sObjNameGrid).val(); 
    22     document.location.href = this.sPageUrl + (sDisplay.length > 0 ? '&display=' + sDisplay : '');  
     21    var aValue = $('#bx-grid-display-' + this.sObjNameGrid).val().split(this.sParamsDivider); 
     22 
     23    document.location.href = this.sPageUrl + (aValue.length == 2 ? '&object=' + aValue[0] + '&display=' + aValue[1] : '');  
    2324}; 
    2425 
  • trunk/studio/templates/base/scripts/BxBaseStudioFormsDisplays.php

    r15878 r15906  
    167167    protected function _getCellFields ($mixedValue, $sKey, $aField, $aRow) { 
    168168        $aFields = array(); 
    169         $this->oDb->getFields(array('type' => 'by_object_display_names', 'object' => $aRow['object'], 'display' => $aRow['display_name']), $aFields, false); 
     169        $this->oDb->getFields(array('type' => 'by_object_display', 'object' => $aRow['object'], 'display' => $aRow['display_name']), $aFields, false); 
    170170 
    171171        $mixedValue = $this->_oTemplate->parseHtmlByName('bx_a.html', array( 
    172             'href' => BX_DOL_URL_STUDIO . 'builder_forms.php?page=fields&display=' . $aRow['display_name'], 
     172            'href' => BX_DOL_URL_STUDIO . 'builder_forms.php?page=fields&object=' . $aRow['object'] . '&display=' . $aRow['display_name'], 
    173173            'title' => _t('_adm_form_txt_displays_manage_fields'), 
    174174            'bx_repeat:attrs' => array(), 
  • trunk/studio/templates/base/scripts/BxBaseStudioFormsField.php

    r15902 r15906  
    1919    protected $aForm; 
    2020 
    21     function __construct($aField = array()) { 
    22         parent::__construct($aField); 
     21    function __construct($aParams = array(), $aField = array()) { 
     22        parent::__construct($aParams, $aField); 
    2323 
    2424        $this->aForm = array( 
     
    9999    } 
    100100 
    101     function getCode($sAction, $sObject, $sDisplay) { 
     101    function getCode($sAction, $sObject) { 
    102102        $sFunction = 'getCode' . $this->getClassName($sAction); 
    103103        if(method_exists($this, $sFunction)) 
    104             return $this->$sFunction($sAction, $sObject, $sDisplay); 
     104            return $this->$sFunction($sAction, $sObject); 
    105105 
    106106        return false; 
    107107    } 
    108108 
    109     protected function getCodeAdd($sAction, $sObject, $sDisplay) { 
    110         $aForm = $this->getFormAdd($sAction, $sObject, $sDisplay); 
     109    protected function getCodeAdd($sAction, $sObject) { 
     110        $aForm = $this->getFormAdd($sAction, $sObject); 
    111111        $oForm = new BxTemplStudioFormView($aForm); 
    112112 
     
    116116        $oForm->initChecker(); 
    117117        if($oForm->isSubmittedAndValid()) { 
    118             $sName = $oForm->getCleanValue('name'); 
    119             BxDolForm::setSubmittedValue('name', $this->getSystemName($sName), $oForm->aFormAttrs['method']); 
     118            $sFormObject = $oForm->getCleanValue('object'); 
     119 
     120            $sName = $this->getSystemName($oForm->getCleanValue('name')); 
     121            if($this->oDb->isField($sFormObject, $sName)) 
     122                return false; 
     123 
     124            BxDolForm::setSubmittedValue('name', $sName, $oForm->aFormAttrs['method']); 
    120125 
    121126            $bCaption = false; 
     
    123128            if(($bCaption = isset($oForm->aInputs['caption'])) === true) { 
    124129                $sTitleValue = $oForm->getCleanValue('caption'); 
    125                 $sTitleKey = '_sys_form_txt_caption_' . $this->getSystemName($sTitleValue); 
     130                $sTitleKey = '_sys_form_txt_caption_' . $this->getSystemName($sFormObject . ' ' . $sTitleValue); 
    126131                BxDolForm::setSubmittedValue('caption', $sTitleKey, $oForm->aFormAttrs['method']); 
    127132            } 
     
    148153            $sCheckerErrorValue = ""; 
    149154            if(($bCheckError = isset($oForm->aInputs['checker_error'])) === true) { 
    150                 $sInputObject = $oForm->getCleanValue('object'); 
    151155                $sInputName = $oForm->getCleanValue('name'); 
    152                 $sCheckerErrorKey = '_adm_form_txt_field_checker_error_' . $this->getSystemName($sInputObject . ' ' . $sInputName); 
     156                $sCheckerErrorKey = '_adm_form_txt_field_checker_error_' . $this->getSystemName($sFormObject . ' ' . $sInputName); 
    153157                $sCheckerErrorValue = $oForm->getCleanValue('checker_error'); 
    154158 
     
    172176                return false; 
    173177 
     178            $this->alterAdd($sName); 
     179 
    174180            $oLanguages = BxDolStudioLanguagesUtils::getInstance(); 
    175181            if($bCaption) 
     
    181187        } 
    182188        else 
    183             return BxTemplStudioFunctions::getInstance()->popupBox('adm-form-field-add-' . $sDisplay . '-popup', _t('_adm_form_txt_field_add_popup'), BxDolStudioTemplate::getInstance()->parseHtmlByName('form_add_field.html', array( 
     189            return BxTemplStudioFunctions::getInstance()->popupBox('adm-form-field-add-' . $this->aParams['display'] . '-popup', _t('_adm_form_txt_field_add_popup'), BxDolStudioTemplate::getInstance()->parseHtmlByName('form_add_field.html', array( 
    184190                'form_id' => $aForm['form_attrs']['id'], 
    185191                'form' => $oForm->getCode(), 
     
    189195    } 
    190196 
    191     protected function getCodeEdit($sAction, $sObject, $sDisplay) { 
    192         $aForm = $this->getFormEdit($sAction, $sObject, $sDisplay); 
     197    protected function getCodeEdit($sAction, $sObject) { 
     198        $aForm = $this->getFormEdit($sAction, $sObject); 
    193199        $oForm = new BxTemplStudioFormView($aForm); 
    194200 
     
    198204        $oForm->initChecker(); 
    199205        if($oForm->isSubmittedAndValid()) { 
     206            $sName = $oForm->getCleanValue('name'); 
     207 
    200208            $sTitleValue = ''; 
    201209            if(($bCaption = isset($oForm->aInputs['caption'])) === true) { 
     
    249257                return false; 
    250258 
     259            $this->alterRemove($sName); 
     260            $this->alterAdd($sName); 
     261 
    251262            $oLanguages = BxDolStudioLanguagesUtils::getInstance(); 
    252263 
     
    267278    } 
    268279 
    269     protected function getFormAdd($sAction, $sObject, $sDisplay) { 
     280    protected function getFormAdd($sAction, $sObject) { 
    270281        $aForm = $this->aForm; 
    271         $aForm['form_attrs']['id'] = 'adm-form-field-add-' . $sDisplay; 
    272         $aForm['form_attrs']['action'] = BX_DOL_URL_ROOT . 'grid.php?o=' . $sObject . '&a=' . $sAction . '&display=' . $sDisplay; 
    273  
    274         if(isset($aForm['inputs']['object'])) { 
    275             $aDisplay = array(); 
    276             $this->oDb->getDisplays(array('type' => 'by_name', 'value' => $sDisplay), $aDisplay, false); 
    277             if(!empty($aDisplay)) 
    278                 $aForm['inputs']['object']['value'] = $aDisplay['object'];  
    279         } 
     282        $aForm['form_attrs']['id'] = 'adm-form-field-add-' . $this->aParams['display']; 
     283        $aForm['form_attrs']['action'] = BX_DOL_URL_ROOT . 'grid.php?o=' . $sObject . '&a=' . $sAction . '&object=' . $this->aParams['object'] . '&display=' . $this->aParams['display']; 
     284 
     285        if(isset($aForm['inputs']['object'])) 
     286            $aForm['inputs']['object']['value'] = $this->aParams['object']; 
    280287 
    281288        return $aForm; 
    282289    } 
    283290 
    284     protected function getFormEdit($sAction, $sObject, $sDisplay) { 
     291    protected function getFormEdit($sAction, $sObject) { 
    285292        $aForm = $this->aForm; 
    286         $aForm['form_attrs']['id'] = 'adm-form-field-edit-' . $sDisplay; 
    287         $aForm['form_attrs']['action'] = BX_DOL_URL_ROOT . 'grid.php?o=' . $sObject . '&a=' . $sAction . '&display=' . $sDisplay . '&di_id=' . (int)$this->aField['di_id']; 
     293        $aForm['form_attrs']['id'] = 'adm-form-field-edit-' . $this->aParams['display']; 
     294        $aForm['form_attrs']['action'] = BX_DOL_URL_ROOT . 'grid.php?o=' . $sObject . '&a=' . $sAction . '&object=' . $this->aParams['object'] . '&display=' . $this->aParams['display'] . '&di_id=' . (int)$this->aField['di_id']; 
    288295 
    289296        foreach($aForm['inputs'] as $sKey => $aInput) 
     
    399406    } 
    400407    protected function getCheckerFields() { 
    401         return array( 
     408        $aResult = array( 
    402409            'checker_func' => array( 
    403410                'type' => 'select', 
     
    407414                'value' => '', 
    408415                'values' => array( 
    409                     array('key' => '', 'value' => _t('_adm_form_txt_field_checker_empty')), 
    410                     array('key' => 'avail', 'value' => _t('_adm_form_txt_field_checker_avail')), 
    411                     array('key' => 'length', 'value' => _t('_adm_form_txt_field_checker_length')), 
    412                     array('key' => 'date', 'value' => _t('_adm_form_txt_field_checker_date')), 
    413                     array('key' => 'date_time', 'value' => _t('_adm_form_txt_field_checker_date_time')), 
    414                     array('key' => 'preg', 'value' => _t('_adm_form_txt_field_checker_preg')), 
    415                     array('key' => 'email', 'value' => _t('_adm_form_txt_field_checker_email')), 
    416                     array('key' => 'captcha', 'value' => _t('_adm_form_txt_field_checker_captcha')), 
    417                     array('key' => 'no_spam', 'value' => _t('_adm_form_txt_field_checker_no_spam')) 
     416                    array('key' => '', 'value' => _t('_adm_form_txt_field_checker_empty')) 
    418417                ), 
    419418                'required' => '1', 
     
    519518            ), 
    520519        ); 
     520 
     521        foreach($this->aCheckFunctions as $sCheckFunction) 
     522            $aResult['checker_func']['values'][] = array('key' => $sCheckFunction, 'value' => _t('_adm_form_txt_field_checker_' . $sCheckFunction)); 
     523 
     524        return $aResult; 
    521525    } 
    522526 
     
    569573 
    570574class BxBaseStudioFormsFieldBlockHeader extends BxBaseStudioFormsField { 
    571     function __construct($aField = array()) { 
    572         parent::__construct($aField); 
     575    function __construct($aParams = array(), $aField = array()) { 
     576        parent::__construct($aParams, $aField); 
    573577 
    574578        $this->aForm = array( 
     
    680684 
    681685class BxBaseStudioFormsFieldValue extends BxBaseStudioFormsFieldBlockHeader { 
    682     function __construct($aField = array()) { 
    683         parent::__construct($aField); 
     686    function __construct($aParams = array(), $aField = array()) { 
     687        parent::__construct($aParams, $aField); 
    684688 
    685689        $this->aForm['inputs']['type']['value'] = 'value'; 
     
    708712 
    709713class BxBaseStudioFormsFieldText extends BxBaseStudioFormsFieldBlockHeader { 
    710     function __construct($aField = array()) { 
    711         parent::__construct($aField); 
     714    protected $aCheckFunctions = array('avail', 'length', 'preg', 'email'); 
     715 
     716    function __construct($aParams = array(), $aField = array()) { 
     717        parent::__construct($aParams, $aField); 
     718 
     719        $this->aParams['table_field_type'] = 'varchar(255)'; 
    712720 
    713721        $this->aForm['inputs']['type']['value'] = 'text'; 
     
    753761            ) 
    754762        ); 
    755          
     763 
    756764        $aFields = array_merge($aFields, $this->getCheckerFields()); 
    757765 
     
    765773 
    766774class BxBaseStudioFormsFieldPassword extends BxBaseStudioFormsFieldText { 
    767     function __construct($aField = array()) { 
    768         parent::__construct($aField); 
     775    protected $aCheckFunctions = array('avail', 'length', 'preg'); 
     776 
     777    function __construct($aParams = array(), $aField = array()) { 
     778        parent::__construct($aParams, $aField); 
    769779 
    770780        $this->aForm['inputs']['type']['value'] = 'password'; 
     
    774784 
    775785class BxBaseStudioFormsFieldTextarea extends BxBaseStudioFormsFieldText { 
    776     function __construct($aField = array()) { 
    777         parent::__construct($aField); 
     786    protected $aCheckFunctions = array('avail', 'length', 'preg'); 
     787 
     788    function __construct($aParams = array(), $aField = array()) { 
     789        parent::__construct($aParams, $aField); 
     790 
     791        $this->aParams['table_field_type'] = 'text'; 
    778792 
    779793        $this->aForm['inputs']['type']['value'] = 'textarea'; 
     
    805819 
    806820class BxBaseStudioFormsFieldNumber extends BxBaseStudioFormsFieldText { 
    807     function __construct($aField = array()) { 
    808         parent::__construct($aField); 
     821    protected $aCheckFunctions = array('avail', 'length', 'preg'); 
     822 
     823    function __construct($aParams = array(), $aField = array()) { 
     824        parent::__construct($aParams, $aField); 
     825 
     826        $this->aParams['table_field_type'] = 'int(11)'; 
    809827 
    810828        $this->aForm['inputs']['type']['value'] = 'number'; 
     
    814832 
    815833class BxBaseStudioFormsFieldDatepicker extends BxBaseStudioFormsFieldText { 
    816     function __construct($aField = array()) { 
    817         parent::__construct($aField); 
     834    protected $aCheckFunctions = array('date'); 
     835 
     836    function __construct($aParams = array(), $aField = array()) { 
     837        parent::__construct($aParams, $aField); 
     838 
     839        $this->aParams['table_field_type'] = 'int(11)'; 
    818840 
    819841        $this->aForm['inputs']['type']['value'] = 'date'; 
     
    823845 
    824846class BxBaseStudioFormsFieldDatetime extends BxBaseStudioFormsFieldDatepicker { 
    825     function __construct($aField = array()) { 
    826         parent::__construct($aField); 
     847    protected $aCheckFunctions = array('date_time'); 
     848 
     849    function __construct($aParams = array(), $aField = array()) { 
     850        parent::__construct($aParams, $aField); 
     851 
     852        $this->aParams['table_field_type'] = 'int(11)'; 
    827853 
    828854        $this->aForm['inputs']['type']['value'] = 'datetime'; 
     
    832858 
    833859class BxBaseStudioFormsFieldCheckbox extends BxBaseStudioFormsFieldText { 
    834     function __construct($aField = array()) { 
    835         parent::__construct($aField); 
     860    protected $aCheckFunctions = array('avail', 'length', 'preg'); 
     861 
     862    function __construct($aParams = array(), $aField = array()) { 
     863        parent::__construct($aParams, $aField); 
    836864 
    837865        $this->aForm['inputs']['type']['value'] = 'checkbox'; 
    838866        $this->aForm['inputs']['type_display']['value'] = 'checkbox'; 
     867        $this->aForm['inputs']['value']['caption'] = _t('_adm_form_txt_field_value_checkbox'); 
     868        $this->aForm['inputs']['value']['info'] = _t('_adm_form_dsc_field_value_checkbox'); 
    839869 
    840870        $aFields = array( 
     
    856886 
    857887class BxBaseStudioFormsFieldSwitcher extends BxBaseStudioFormsFieldCheckbox { 
    858     function __construct($aField = array()) { 
    859         parent::__construct($aField); 
     888    protected $aCheckFunctions = array('avail', 'length', 'preg'); 
     889 
     890    function __construct($aParams = array(), $aField = array()) { 
     891        parent::__construct($aParams, $aField); 
    860892 
    861893        $this->aForm['inputs']['type']['value'] = 'switcher'; 
     
    865897 
    866898class BxBaseStudioFormsFieldFile extends BxBaseStudioFormsFieldText { 
    867     function __construct($aField = array()) { 
    868         parent::__construct($aField); 
     899    protected $aCheckFunctions = array('avail', 'length', 'preg'); 
     900 
     901    function __construct($aParams = array(), $aField = array()) { 
     902        parent::__construct($aParams, $aField); 
    869903 
    870904        $this->aForm['inputs']['type']['value'] = 'file'; 
     
    878912 
    879913class BxBaseStudioFormsFieldSlider extends BxBaseStudioFormsFieldText { 
    880     function __construct($aField = array()) { 
    881         parent::__construct($aField); 
     914    protected $aCheckFunctions = array('avail', 'length'); 
     915 
     916    function __construct($aParams = array(), $aField = array()) { 
     917        parent::__construct($aParams, $aField); 
     918 
     919        $this->aParams['table_field_type'] = 'int(11)'; 
    882920 
    883921        $this->aForm['inputs']['type']['value'] = 'slider'; 
     
    932970 
    933971class BxBaseStudioFormsFieldDoublerange extends BxBaseStudioFormsFieldSlider { 
    934     function __construct($aField = array()) { 
    935         parent::__construct($aField); 
     972    protected $aCheckFunctions = array('avail', 'length'); 
     973 
     974    function __construct($aParams = array(), $aField = array()) { 
     975        parent::__construct($aParams, $aField); 
     976 
     977        $this->aParams['table_field_type'] = 'varchar(255)'; 
    936978 
    937979        $this->aForm['inputs']['type']['value'] = 'doublerange'; 
     
    941983 
    942984class BxBaseStudioFormsFieldHidden extends BxBaseStudioFormsFieldText { 
    943     function __construct($aField = array()) { 
    944         parent::__construct($aField); 
     985    protected $aCheckFunctions = array('avail', 'length', 'preg', 'date', 'date_time', 'email'); 
     986 
     987    function __construct($aParams = array(), $aField = array()) { 
     988        parent::__construct($aParams, $aField); 
    945989 
    946990        $this->aForm['inputs']['type']['value'] = 'hidden'; 
     
    9621006 
    9631007class BxBaseStudioFormsFieldButton extends BxBaseStudioFormsFieldText { 
    964     function __construct($aField = array()) { 
    965         parent::__construct($aField); 
     1008    function __construct($aParams = array(), $aField = array()) { 
     1009        parent::__construct($aParams, $aField); 
    9661010 
    9671011        $this->aForm['inputs']['type']['value'] = 'button'; 
    9681012        $this->aForm['inputs']['type_display']['value'] = 'button'; 
    969  
     1013        $this->aForm['inputs']['value']['caption'] = _t('_adm_form_txt_field_value_button'); 
     1014        $this->aForm['inputs']['value']['info'] = _t('_adm_form_dsc_field_value_button'); 
     1015  
    9701016        unset( 
    9711017            $this->aForm['inputs']['caption'],  
     
    9831029 
    9841030class BxBaseStudioFormsFieldReset extends BxBaseStudioFormsFieldButton { 
    985     function __construct($aField = array()) { 
    986         parent::__construct($aField); 
     1031    function __construct($aParams = array(), $aField = array()) { 
     1032        parent::__construct($aParams, $aField); 
    9871033 
    9881034        $this->aForm['inputs']['type']['value'] = 'reset'; 
     
    9921038 
    9931039class BxBaseStudioFormsFieldSubmit extends BxBaseStudioFormsFieldButton { 
    994     function __construct($aField = array()) { 
    995         parent::__construct($aField); 
     1040    function __construct($aParams = array(), $aField = array()) { 
     1041        parent::__construct($aParams, $aField); 
    9961042 
    9971043        $this->aForm['inputs']['type']['value'] = 'submit'; 
     
    10011047 
    10021048class BxBaseStudioFormsFieldImage extends BxBaseStudioFormsFieldButton { 
    1003     function __construct($aField = array()) { 
    1004         parent::__construct($aField); 
     1049    function __construct($aParams = array(), $aField = array()) { 
     1050        parent::__construct($aParams, $aField); 
    10051051 
    10061052        $this->aForm['inputs']['type']['value'] = 'image'; 
     
    10371083 
    10381084class BxBaseStudioFormsFieldSelect extends BxBaseStudioFormsFieldText { 
    1039     function __construct($aField = array()) { 
    1040         parent::__construct($aField); 
     1085    protected $aCheckFunctions = array('avail', 'length', 'preg'); 
     1086 
     1087    function __construct($aParams = array(), $aField = array()) { 
     1088        parent::__construct($aParams, $aField); 
     1089 
     1090        $this->aParams['table_field_type'] = 'int(11)'; 
    10411091 
    10421092        $this->aForm['inputs']['type']['value'] = 'select'; 
     
    10681118 
    10691119class BxBaseStudioFormsFieldRadioSet extends BxBaseStudioFormsFieldSelect { 
    1070     function __construct($aField = array()) { 
    1071         parent::__construct($aField); 
     1120    protected $aCheckFunctions = array('avail', 'length', 'preg'); 
     1121 
     1122    function __construct($aParams = array(), $aField = array()) { 
     1123        parent::__construct($aParams, $aField); 
     1124 
     1125        $this->aParams['table_field_type'] = 'int(11)'; 
    10721126 
    10731127        $this->aForm['inputs']['type']['value'] = 'radio_set'; 
     
    10771131 
    10781132class BxBaseStudioFormsFieldSelectMultiple extends BxBaseStudioFormsFieldSelect { 
    1079     function __construct($aField = array()) { 
    1080         parent::__construct($aField); 
     1133    protected $aCheckFunctions = array('avail', 'length', 'preg'); 
     1134 
     1135    function __construct($aParams = array(), $aField = array()) { 
     1136        parent::__construct($aParams, $aField); 
     1137 
     1138        $this->aParams['table_field_type'] = 'varchar(255)'; 
    10811139 
    10821140        $this->aForm['inputs']['type']['value'] = 'select_multiple'; 
     
    10861144 
    10871145class BxBaseStudioFormsFieldCheckboxSet extends BxBaseStudioFormsFieldSelect { 
    1088     function __construct($aField = array()) { 
    1089         parent::__construct($aField); 
     1146    protected $aCheckFunctions = array('avail', 'length', 'preg'); 
     1147 
     1148    function __construct($aParams = array(), $aField = array()) { 
     1149        parent::__construct($aParams, $aField); 
     1150 
     1151        $this->aParams['table_field_type'] = 'varchar(255)'; 
    10901152 
    10911153        $this->aForm['inputs']['type']['value'] = 'checkbox_set'; 
     
    10951157 
    10961158class BxBaseStudioFormsFieldCustom extends BxBaseStudioFormsFieldText { 
    1097     function __construct($aField = array()) { 
    1098         parent::__construct($aField); 
     1159    function __construct($aParams = array(), $aField = array()) { 
     1160        parent::__construct($aParams, $aField); 
     1161 
     1162        $this->aParams['table_field_type'] = 'varchar(255)'; 
    10991163 
    11001164        $this->aForm['inputs']['type']['value'] = 'custom'; 
     
    11141178 
    11151179class BxBaseStudioFormsFieldInputSet extends BxBaseStudioFormsFieldCustom { 
    1116     function __construct($aField = array()) { 
    1117         parent::__construct($aField); 
     1180    function __construct($aParams = array(), $aField = array()) { 
     1181        parent::__construct($aParams, $aField); 
    11181182 
    11191183        $this->aForm['inputs']['type']['value'] = 'input_set'; 
     
    11371201 
    11381202class BxBaseStudioFormsFieldCaptcha extends BxBaseStudioFormsFieldText { 
    1139     function __construct($aField = array()) { 
    1140         parent::__construct($aField); 
     1203    protected $aCheckFunctions = array('captcha'); 
     1204 
     1205    function __construct($aParams = array(), $aField = array()) { 
     1206        parent::__construct($aParams, $aField); 
    11411207 
    11421208        $this->aForm['inputs']['type']['value'] = 'captcha'; 
  • trunk/studio/templates/base/scripts/BxBaseStudioFormsFields.php

    r15902 r15906  
    1111 
    1212bx_import('BxDolStudioFormsFields'); 
     13bx_import('BxTemplStudioFormsField'); 
    1314 
    1415define('BX_DOL_STUDIO_FORMS_FIELDS_JS_OBJECT', 'oBxDolStudioFormsFields'); 
     
    2627            $sType = bx_process_input($mixedType); 
    2728 
    28         bx_import('BxTemplStudioFormsField'); 
    2929        $sClass = 'BxTemplStudioFormsField' . $this->getClassName($sType); 
    30         $oClass = new $sClass(); 
    31  
    32         $mixedResult = $oClass->getCode($sAction, $this->_sObject, $this->sDisplay); 
     30        $oClass = new $sClass(array('object' => $this->sObject, 'display' => $this->sDisplay)); 
     31 
     32        $mixedResult = $oClass->getCode($sAction, $this->_sObject); 
    3333        if(is_string($mixedResult)) 
    3434            $this->_echoResultJson(array('popup' => $mixedResult), true); 
     
    5555        $iId = $aIds[0]; 
    5656 
    57         $aDisplay = array(); 
    58         $this->oDb->getDisplays(array('type' => 'by_name', 'value' => $this->sDisplay), $aDisplay, false); 
    59         if(!is_array($aDisplay) || empty($aDisplay)){ 
     57        $aField = array(); 
     58        $this->oDb->getFields(array('type' => 'by_object_id', 'object' => $this->sObject, 'id' => (int)$iId), $aField, false); 
     59        if(empty($aField) || !is_array($aField)) { 
    6060            $this->_echoResultJson(array()); 
    6161            exit; 
    6262        } 
    6363 
    64         $aField = array(); 
    65         $this->oDb->getFields(array('type' => 'by_id_object', 'id' => $iId, 'object' => $aDisplay['object']), $aField, false); 
    66         if(!is_array($aField) || empty($aField)) { 
    67             $this->_echoResultJson(array()); 
    68             exit; 
    69         } 
    70  
    71         bx_import('BxTemplStudioFormsField'); 
    7264        $sClass = "BxTemplStudioFormsField" . $this->getClassName($aField['type']); 
    7365        if(!class_exists($sClass)) { 
     
    7668        } 
    7769 
    78         $oClass = new $sClass($aField); 
    79         $mixedResult = $oClass->getCode($sAction, $this->_sObject, $this->sDisplay); 
     70        $oClass = new $sClass(array('object' => $this->sObject, 'display' => $this->sDisplay), $aField); 
     71        $mixedResult = $oClass->getCode($sAction, $this->_sObject); 
    8072        if(is_string($mixedResult)) 
    8173            $this->_echoResultJson(array('popup' => $mixedResult), true); 
     
    9688        } 
    9789 
    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          
    10590        $aIdsAffected = array (); 
    10691        foreach($aIds as $iId) { 
    10792            $aField = array(); 
    108             $iField = $this->oDb->getFields(array('type' => 'by_id_object', 'id' => (int)$iId, 'object' => $aDisplay['object']), $aField); 
    109             if($iField != 1 || empty($aField)) 
     93            $this->oDb->getFields(array('type' => 'by_object_id', 'object' => $this->sObject, 'id' => (int)$iId), $aField, false); 
     94            if(empty($aField) || !is_array($aField)) 
    11095                continue; 
    11196 
     
    11398                continue; 
    11499 
     100            $sClass = 'BxTemplStudioFormsField' . $this->getClassName($aField['type']); 
     101            $oClass = new $sClass(array('object' => $this->sObject, 'display' => $this->sDisplay)); 
     102         
    115103            if((int)$this->_delete($iId) <= 0 || !$this->oDb->deleteFieds(array('type' => 'by_id', 'value' => $aField['id']))) 
    116104                continue; 
     105 
     106            $oClass->alterRemove($aField['name']); 
    117107 
    118108            bx_import('BxDolStudioLanguagesUtils'); 
     
    197187                'onChange' => 'javascript:' . $this->getJsObject() . '.onChangeDisplay()' 
    198188            ), 
    199             'value' => $this->sDisplay, 
     189            'value' => $this->sObject . $this->sParamsDivider . $this->sDisplay, 
    200190            'values' => array( 
    201191                array('key' => '', 'value' => _t('_adm_form_txt_select_display')), 
     
    214204 
    215205            foreach($aDisplays as $aDisplay) 
    216                 $aInputDisplays['values'][] = array('key' => $aDisplay['name'], 'value' => _t($aDisplay['title'])); 
     206                $aInputDisplays['values'][] = array('key' => $aDisplay['object'] . $this->sParamsDivider . $aDisplay['name'], 'value' => _t($aDisplay['title'])); 
    217207 
    218208            if(count($aDisplays) > 0) 
  • trunk/studio/templates/tmpl_uni/scripts/BxTemplStudioFormsField.php

    r15870 r15906  
    1313 
    1414class BxTemplStudioFormsField extends BxBaseStudioFormsField {  
    15     function __construct($aField = array()) { 
    16         parent::__construct($aField); 
     15    function __construct($aParams = array(), $aField = array()) { 
     16        parent::__construct($aParams, $aField); 
    1717    } 
    1818} 
    1919 
    2020class BxTemplStudioFormsFieldBlockHeader extends BxBaseStudioFormsFieldBlockHeader {  
    21     function __construct($aField = array()) { 
    22         parent::__construct($aField); 
     21    function __construct($aParams = array(), $aField = array()) { 
     22        parent::__construct($aParams, $aField); 
    2323    } 
    2424} 
    2525 
    2626class BxTemplStudioFormsFieldValue extends BxBaseStudioFormsFieldValue {  
    27     function __construct($aField = array()) { 
    28         parent::__construct($aField); 
     27    function __construct($aParams = array(), $aField = array()) { 
     28        parent::__construct($aParams, $aField); 
    2929    } 
    3030} 
    3131 
    3232class BxTemplStudioFormsFieldText extends BxBaseStudioFormsFieldText {  
    33     function __construct($aField = array()) { 
    34         parent::__construct($aField); 
     33    function __construct($aParams = array(), $aField = array()) { 
     34        parent::__construct($aParams, $aField); 
    3535    } 
    3636} 
    3737 
    3838class BxTemplStudioFormsFieldPassword extends BxBaseStudioFormsFieldPassword {  
    39     function __construct($aField = array()) { 
    40         parent::__construct($aField); 
     39    function __construct($aParams = array(), $aField = array()) { 
     40        parent::__construct($aParams, $aField); 
    4141    } 
    4242} 
    4343 
    4444class BxTemplStudioFormsFieldTextarea extends BxBaseStudioFormsFieldTextarea {  
    45     function __construct($aField = array()) { 
    46         parent::__construct($aField); 
     45    function __construct($aParams = array(), $aField = array()) { 
     46        parent::__construct($aParams, $aField); 
    4747    } 
    4848} 
    4949 
    5050class BxTemplStudioFormsFieldNumber extends BxBaseStudioFormsFieldNumber {  
    51     function __construct($aField = array()) { 
    52         parent::__construct($aField); 
     51    function __construct($aParams = array(), $aField = array()) { 
     52        parent::__construct($aParams, $aField); 
    5353    } 
    5454} 
    5555 
    5656class BxTemplStudioFormsFieldDatepicker extends BxBaseStudioFormsFieldDatepicker {  
    57     function __construct($aField = array()) { 
    58         parent::__construct($aField); 
     57    function __construct($aParams = array(), $aField = array()) { 
     58        parent::__construct($aParams, $aField); 
    5959    } 
    6060} 
    6161 
    6262class BxTemplStudioFormsFieldDatetime extends BxBaseStudioFormsFieldDatetime {  
    63     function __construct($aField = array()) { 
    64         parent::__construct($aField); 
     63    function __construct($aParams = array(), $aField = array()) { 
     64        parent::__construct($aParams, $aField); 
    6565    } 
    6666} 
    6767 
    6868class BxTemplStudioFormsFieldCheckbox extends BxBaseStudioFormsFieldCheckbox {  
    69     function __construct($aField = array()) { 
    70         parent::__construct($aField); 
     69    function __construct($aParams = array(), $aField = array()) { 
     70        parent::__construct($aParams, $aField); 
    7171    } 
    7272} 
    7373 
    7474class BxTemplStudioFormsFieldSwitcher extends BxBaseStudioFormsFieldSwitcher {  
    75     function __construct($aField = array()) { 
    76         parent::__construct($aField); 
     75    function __construct($aParams = array(), $aField = array()) { 
     76        parent::__construct($aParams, $aField); 
    7777    } 
    7878} 
    7979 
    8080class BxTemplStudioFormsFieldFile extends BxBaseStudioFormsFieldFile {  
    81     function __construct($aField = array()) { 
    82         parent::__construct($aField); 
     81    function __construct($aParams = array(), $aField = array()) { 
     82        parent::__construct($aParams, $aField); 
    8383    } 
    8484} 
    8585 
    8686class BxTemplStudioFormsFieldSlider extends BxBaseStudioFormsFieldSlider {  
    87     function __construct($aField = array()) { 
    88         parent::__construct($aField); 
     87    function __construct($aParams = array(), $aField = array()) { 
     88        parent::__construct($aParams, $aField); 
    8989    } 
    9090} 
    9191 
    9292class BxTemplStudioFormsFieldDoublerange extends BxBaseStudioFormsFieldDoublerange {  
    93     function __construct($aField = array()) { 
    94         parent::__construct($aField); 
     93    function __construct($aParams = array(), $aField = array()) { 
     94        parent::__construct($aParams, $aField); 
    9595    } 
    9696} 
    9797 
    9898class BxTemplStudioFormsFieldHidden extends BxBaseStudioFormsFieldHidden {  
    99     function __construct($aField = array()) { 
    100         parent::__construct($aField); 
     99    function __construct($aParams = array(), $aField = array()) { 
     100        parent::__construct($aParams, $aField); 
    101101    } 
    102102} 
    103103 
    104104class BxTemplStudioFormsFieldButton extends BxBaseStudioFormsFieldButton {  
    105     function __construct($aField = array()) { 
    106         parent::__construct($aField); 
     105    function __construct($aParams = array(), $aField = array()) { 
     106        parent::__construct($aParams, $aField); 
    107107    } 
    108108} 
    109109 
    110110class BxTemplStudioFormsFieldReset extends BxBaseStudioFormsFieldReset {  
    111     function __construct($aField = array()) { 
    112         parent::__construct($aField); 
     111    function __construct($aParams = array(), $aField = array()) { 
     112        parent::__construct($aParams, $aField); 
    113113    } 
    114114} 
    115115 
    116116class BxTemplStudioFormsFieldSubmit extends BxBaseStudioFormsFieldSubmit {  
    117     function __construct($aField = array()) { 
    118         parent::__construct($aField); 
     117    function __construct($aParams = array(), $aField = array()) { 
     118        parent::__construct($aParams, $aField); 
    119119    } 
    120120} 
    121121 
    122122class BxTemplStudioFormsFieldImage extends BxBaseStudioFormsFieldImage {  
    123     function __construct($aField = array()) { 
    124         parent::__construct($aField); 
     123    function __construct($aParams = array(), $aField = array()) { 
     124        parent::__construct($aParams, $aField); 
    125125    } 
    126126} 
    127127 
    128128class BxTemplStudioFormsFieldSelect extends BxBaseStudioFormsFieldSelect {  
    129     function __construct($aField = array()) { 
    130         parent::__construct($aField); 
     129    function __construct($aParams = array(), $aField = array()) { 
     130        parent::__construct($aParams, $aField); 
    131131    } 
    132132} 
    133133 
    134134class BxTemplStudioFormsFieldSelectMultiple extends BxBaseStudioFormsFieldSelectMultiple {  
    135     function __construct($aField = array()) { 
    136         parent::__construct($aField); 
     135    function __construct($aParams = array(), $aField = array()) { 
     136        parent::__construct($aParams, $aField); 
    137137    } 
    138138} 
    139139 
    140140class BxTemplStudioFormsFieldCheckboxSet extends BxBaseStudioFormsFieldCheckboxSet {  
    141     function __construct($aField = array()) { 
    142         parent::__construct($aField); 
     141    function __construct($aParams = array(), $aField = array()) { 
     142        parent::__construct($aParams, $aField); 
    143143    } 
    144144} 
    145145 
    146146class BxTemplStudioFormsFieldRadioSet extends BxBaseStudioFormsFieldRadioSet {  
    147     function __construct($aField = array()) { 
    148         parent::__construct($aField); 
     147    function __construct($aParams = array(), $aField = array()) { 
     148        parent::__construct($aParams, $aField); 
    149149    } 
    150150} 
    151151 
    152152class BxTemplStudioFormsFieldCustom extends BxBaseStudioFormsFieldCustom {  
    153     function __construct($aField = array()) { 
    154         parent::__construct($aField); 
     153    function __construct($aParams = array(), $aField = array()) { 
     154        parent::__construct($aParams, $aField); 
    155155    } 
    156156} 
    157157 
    158158class BxTemplStudioFormsFieldInputSet extends BxBaseStudioFormsFieldInputSet {  
    159     function __construct($aField = array()) { 
    160         parent::__construct($aField); 
     159    function __construct($aParams = array(), $aField = array()) { 
     160        parent::__construct($aParams, $aField); 
    161161    } 
    162162} 
    163163 
    164164class BxTemplStudioFormsFieldCaptcha extends BxBaseStudioFormsFieldCaptcha {  
    165     function __construct($aField = array()) { 
    166         parent::__construct($aField); 
     165    function __construct($aParams = array(), $aField = array()) { 
     166        parent::__construct($aParams, $aField); 
    167167    } 
    168168} 
Note: See TracChangeset for help on using the changeset viewer.