public function indexAction() { $this->view->navigation = $navigation = Engine_Api::_()->getApi('menus', 'core')->getNavigation('authorization_admin_main', array(), 'authorization_admin_main_manage'); $this->view->formFilter = $formFilter = new Authorization_Form_Admin_Level_Filter(); $page = $this->_getParam('page', 1); $table = $this->_helper->api()->getDbtable('levels', 'authorization'); $select = $table->select(); if ($formFilter->isValid($this->_getAllParams())) { $values = $formFilter->getValues(); $select = $table->select()->order(!empty($values['orderby']) ? $values['orderby'] . ' ' . $values['orderby_direction'] : 'level_id DESC'); if ($values['orderby'] && $values['orderby_direction'] != 'ASC') { $this->view->orderby = $values['orderby']; } } $this->view->paginator = $paginator = Zend_Paginator::factory($select); $this->view->paginator = $paginator->setCurrentPageNumber($page); //$this->view->formDelete = new User_Form_Admin_Manage_Delete(); }
public function indexAction() { $this->view->navigation = $navigation = Engine_Api::_()->getApi('menus', 'core')->getNavigation('authorization_admin_main', array(), 'authorization_admin_main_manage'); $this->view->formFilter = $formFilter = new Authorization_Form_Admin_Level_Filter(); $page = $this->_getParam('page', 1); $table = Engine_Api::_()->getDbtable('levels', 'authorization'); $select = $table->select(); if ($formFilter->isValid($this->_getAllParams())) { $values = $formFilter->getValues(); $select = $table->select()->order(!empty($values['orderby']) ? $values['orderby'] . ' ' . $values['orderby_direction'] : 'level_id DESC'); if ($values['orderby'] && $values['orderby_direction'] != 'ASC') { $this->view->orderby = $values['orderby']; } } $this->view->paginator = $paginator = Zend_Paginator::factory($select); $paginator->setCurrentPageNumber($page); // Sanity check levels? $defaultLevelDuplicates = $table->select()->from($table)->where('flag = ?', 'default')->query()->fetchAll(); // Check for multiple default levels? if (count($defaultLevelDuplicates) != 1) { // Remove where type != 'user' foreach (array_keys($defaultLevelDuplicates) as $key) { $level = $defaultLevelDuplicates[$key]; if ($level['type'] != 'user') { $table->update(array('flag' => ''), array('level_id = ?' => $level['level_id'], 'flag = ?' => 'default')); unset($defaultLevelDuplicates[$key]); } if (count($defaultLevelDuplicates) <= 0) { $newDefaultLevelId = $table->select()->from($table, 'level_id')->where('type = ?', 'user')->limit(1)->query()->fetchColumn(); } else { $newDefaultLevelId = array_shift($defaultLevelDuplicates); $newDefaultLevelId = $newDefaultLevelId['level_id']; } if ($newDefaultLevelId) { $table->update(array('flag' => 'default'), array('level_id = ?' => $newDefaultLevelId)); } } return $this->_helper->redirector->gotoRoute(array()); } }