HomeHelpTrac

Changeset 15793 for trunk/inc


Ignore:
Timestamp:
12/22/11 00:15:32 (5 months ago)
Author:
Alexander Trofimov
Message:

Form objects

Location:
trunk/inc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/inc/classes/BxDolForm.php

    r15733 r15793  
    118118    var $_sCheckerHelper; 
    119119    var $_aSpecificValues; 
    120      
     120   
    121121    var $aFormAttrs; 
    122122    var $aTableAttrs; 
     
    144144        // set default method 
    145145        if (!isset($this->aFormAttrs['method'])) 
    146             $this->aFormAttrs['method'] = BX_DOL_FORM_METHOD_GET; 
     146            $this->aFormAttrs['method'] = BX_DOL_FORM_METHOD_POST; 
    147147 
    148148        // set default action 
     
    153153 
    154154        BxDolForm::genCsrfToken(); 
     155    } 
     156 
     157    /** 
     158     * Get form object instance by object name 
     159     * @param $sObject object name 
     160     * @return object instance or false on error 
     161     */ 
     162    static public function getObjectInstance($sObject, $sDisplayName) { 
     163 
     164        if (isset($GLOBALS['bxDolClasses']['BxDolForm!'.$sObject.'!'.$sDisplayName])) 
     165            return $GLOBALS['bxDolClasses']['BxDolForm!'.$sObject.'!'.$sDisplayName]; 
     166         
     167        bx_import('BxDolFormQuery'); 
     168        $aObject = BxDolFormQuery::getFormArray($sObject, $sDisplayName); 
     169        if (!$aObject || !is_array($aObject)) 
     170            return false; 
     171 
     172        bx_import('BxTemplFormView'); 
     173        $sClass = 'BxTemplFormView'; 
     174        if (!empty($aObject['override_class_name'])) {             
     175            $sClass = $aObject['override_class_name'];             
     176            if (!empty($aObject['override_class_file'])) 
     177                require_once(BX_DIRECTORY_PATH_ROOT . $aObject['override_class_file']); 
     178            else     
     179                bx_import($sClass); 
     180        } 
     181         
     182        $o = new $sClass($aObject); 
     183 
     184        return ($GLOBALS['bxDolClasses']['BxDolForm!'.$sObject.'!'.$sDisplayName] = $o); 
    155185    } 
    156186 
     
    378408 
    379409            if (!isset ($a['checker']))  { 
    380                 if ('checkbox' == $a['type']) 
     410                if ('checkbox' == $a['type'] || 'switcher' == $a['type']) 
    381411                    $aInputs[$k]['checked'] = ($aInputs[$k]['value'] == $val); 
    382412                else 
     
    474504        foreach ($aInputs as $k => $a) { 
    475505            if (!isset($aValues[$k])) continue; 
    476             $sMethod = 'display' . (isset($a['db']['pass']) ? ucfirst($a['db']['pass']) : 'Undefined'); 
    477             if (method_exists($this->_oChecker, $sMethod)) 
    478                 $aInputs[$k]['value'] = call_user_func_array (array($this->_oChecker, $sMethod), $a['db']['params'] ? array_merge(array($aValues[$k]), $a['db']['params']) : array ($aValues[$k])); 
    479             else 
    480                 $aInputs[$k]['value'] = $aValues[$k]; 
    481  
    482             if ($a['type'] == 'select_box') 
    483                 $aInputs[$k]['value'] = explode (';', $aInputs[$k]['value']); 
     506 
     507            if ('checkbox' == $aInputs[$k]['type'] || 'switcher' == $aInputs[$k]['type']) { 
     508                $aInputs[$k]['checked'] = ($aInputs[$k]['value'] == $aValues[$k]); 
     509            } else { 
     510                $sMethod = 'display' . (isset($a['db']['pass']) ? ucfirst($a['db']['pass']) : 'Undefined'); 
     511                if (method_exists($this->_oChecker, $sMethod)) 
     512                    $aInputs[$k]['value'] = call_user_func_array (array($this->_oChecker, $sMethod), !empty($a['db']['params']) ? array_merge(array($aValues[$k]), $a['db']['params']) : array ($aValues[$k])); 
     513                else 
     514                    $aInputs[$k]['value'] = $aValues[$k]; 
     515            } 
    484516        } 
    485517    } 
     
    680712    } 
    681713 
     714    function passSet ($s) { 
     715        if (is_array($s)) { 
     716            $i = array (); 
     717            foreach ($s as $k => $v) { 
     718                $i |= (int)trim($v); 
     719            } 
     720            return $i; 
     721        } 
     722        return (int)$s; 
     723    } 
     724 
    682725    // display functions, prepare values to output to the screen 
    683726 
     
    687730    function displayDateTime ($i) { 
    688731        return bx_process_output ($i, BX_DATA_DATETIME_TS); 
     732    } 
     733    function displaySet ($i) { 
     734        $bit = 1; 
     735        $a = array(); 
     736        while ($bit < PHP_INT_MAX && $bit > 0) { 
     737            if ($bit & $i) 
     738                $a[] = $bit; 
     739            $bit <<= 1; 
     740        } 
     741        return $a; 
    689742    } 
    690743 
  • trunk/inc/js/jquery.webForms.js

    r15769 r15793  
    217217 
    218218            // DateTime picker 
    219             else if(this.getAttribute("type") == "datetime") { 
     219            else if ($(this).parents().filter('.bx-form-input-wrapper-datetime').length > 0) { 
    220220 
    221221                if ($(this).hasClass('bx-form-datetime-processed')) 
Note: See TracChangeset for help on using the changeset viewer.