Ejemplo n.º 1
0
 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());
     }
 }