コード例 #1
0
ファイル: RappFormHelper.php プロジェクト: radig/rapp
 /**
  * Sobrecarga do método input incluindo funcionalidades
  * extras, tais como:
  *
  * 1 - Localização automática dos tipos date/datetime e numérico/float
  * 2 - Formatação baseada no TwitterBootstrap
  *
  */
 public function input($fieldName, $options = array())
 {
     $this->setEntity($fieldName);
     $modelKey = $this->model();
     $fieldKey = $this->field();
     $fieldDef = $this->_introspectModel($modelKey, 'fields', $fieldKey);
     $value = null;
     if (isset($options['value'])) {
         $value = $options['value'];
     } else {
         if (isset($this->request->data[$modelKey][$fieldKey])) {
             $value = $this->request->data[$modelKey][$fieldKey];
         }
     }
     if ((!isset($options['localize']) || $options['localize'] === true) && !empty($value)) {
         switch ($fieldDef['type']) {
             case 'date':
                 $value = Localize::date($value);
                 break;
             case 'datetime':
             case 'timestamp':
                 $value = Localize::datetime($value);
                 break;
             case 'float':
                 $value = Localize::number($value);
                 break;
         }
         $options['value'] = $value;
     }
     if ((!isset($options['keepSeconds']) || $options['keepSeconds'] === true) && $fieldDef['type'] === 'time') {
         $options['value'] = empty($value) || !preg_match('/[0-9]{2}\\:[0-9]{2}(\\:[0-9]{2})?/') ? '00:00' : substr($value, 0, 5);
     }
     if (!isset($options['useBootstrap']) || $options['useBootstrap'] === true) {
         /**
          * @todo Helper não deve estender o BootstrapForm, mas
          * sim usa-lo quando definido.
          */
     }
     return parent::input($fieldName, $options);
 }
コード例 #2
0
 /**
  *
  * Add a serach form to the navbar.
  *
  * @param block The HTML block to add
  * @param options
  *
  * Extra options:
  *  - form Extra options for BootstrapFormHelper::searchForm options
  *  - pull left/right (default left)
  *  - model Model for BootstrapFormHelper::searchForm method
  *
  **/
 public function searchForm($options = array())
 {
     App::import('Helper', 'BootstrapForm');
     $bootFormHelper = new BootstrapFormHelper($this->_View);
     $formOptions = $this->_extractOption('form', $options, array());
     unset($formOptions['form']);
     $pull = $this->_extractOption('pull', $options, 'left');
     unset($options['pull']);
     $model = $this->_extractOption('model', $options, null);
     unset($options['model']);
     $formOptions = $this->addClass($formOptions, 'navbar-form pull-' . $pull);
     $this->block($bootFormHelper->searchForm($model, $formOptions), array('list' => false));
 }