Esempio n. 1
0
 public function dateAction()
 {
     $grid = $this->grid();
     $grid->setSource(new Bvb_Grid_Source_Zend_Select($this->_db->select()->from('bugs', array('bug_status', 'status', 'date', 'time'))));
     $filters = new Bvb_Grid_Filters();
     $filters->addFilter('date', array('render' => 'date'));
     $grid->addFilters($filters);
     $this->view->pages = $grid->deploy();
     $this->render('index');
 }
Esempio n. 2
0
 /**
  * Apply the options to the fields
  *
  * @return void
  */
 protected function _applyOptionsToFields()
 {
     if (isset($this->_options['fields']) && is_array($this->_options['fields'])) {
         foreach ($this->_options['fields'] as $field => $options) {
             if (isset($options['format']['function'])) {
                 if (!isset($options['format']['params'])) {
                     $options['format']['params'] = array();
                 }
                 $options['format'] = array($options['format']['function'], $options['format']['params']);
             }
             if (isset($options['callback'])) {
                 if (!isset($options['callback']['params'])) {
                     $options['callback']['params'] = array();
                 }
                 if (isset($options['callback']['function']) && isset($options['callback']['class'])) {
                     $options['callback'] = array('function' => array($options['callback']['class'], $options['callback']['function']), 'params' => $options['callback']['params']);
                 } else {
                     $options['callback'] = array('function' => $options['callback']['function'], 'params' => $options['callback']['params']);
                 }
             }
             $this->updateColumn($field, $options);
         }
     }
     if (isset($this->_options['filters']) && is_array($this->_options['filters'])) {
         $filters = new Bvb_Grid_Filters();
         foreach ($this->_options['filters'] as $column => $filter) {
             if (isset($filter['values']) && is_array($filter['values'])) {
                 $filters->addFilter($column, array('values' => $filter['values']));
             }
             if (isset($filter['distinct']) && is_array($filter['distinct'])) {
                 $filters->addFilter($column, array('distinct' => array('name' => $filter['distinct']['name'], 'field' => $filter['distinct']['field'])));
             }
         }
         $this->addFilters($filters);
     }
     $deploy = explode('_', get_class($this));
     $name = strtolower(end($deploy));
     if (isset($this->_options['deploy'][$name]) && is_array($this->_options['deploy'][$name])) {
         if (method_exists($this, '_applyConfigOptions')) {
             $this->_applyConfigOptions($this->_options['deploy'][$name], true);
         } else {
             $this->_deploy = $this->_options['deploy'][$name];
         }
     }
     if (isset($this->_options['template'][$name]) && is_array($this->_options['template'][$name])) {
         $this->addTemplateParams($this->_options['template'][$name]);
     }
     if (isset($this->_options['grid']['formatter'])) {
         $this->_options['grid']['formatter'] = (array) $this->_options['grid']['formatter'];
         foreach ($this->_options['grid']['formatter'] as $formatter) {
             $temp = $formatter;
             $temp = str_replace('_', '/', $temp);
             $this->addFormatterDir($temp, $formatter);
         }
     }
     if (isset($this->_options['grid']['eventsPrefix'])) {
         $this->setEventsPrefix($this->_options['grid']['eventsPrefix']);
     }
     if (isset($this->_options['grid']['recordsPerPage'])) {
         $this->setRecordsPerPage($this->_options['grid']['recordsPerPage']);
     }
     if (isset($this->_options['grid']['modRewrite'])) {
         self::useModRewrite($this->_options['grid']['modRewrite']);
     }
     if (isset($this->_options['grid']['paginationInterval'])) {
         $this->setPaginationInterval($this->_options['grid']['paginationInterval']);
     }
 }