public function indexAction()
 {
     $this->view->formFilter = $formFilter = new User_Form_Admin_Manage_Filter();
     $page = $this->_getParam('page', 1);
     $table = Engine_Api::_()->getDbtable('users', 'user');
     $select = $table->select();
     // Process form
     $values = array();
     if ($formFilter->isValid($this->_getAllParams())) {
         $values = $formFilter->getValues();
     }
     foreach ($values as $key => $value) {
         if (null === $value) {
             unset($values[$key]);
         }
     }
     $values = array_merge(array('order' => 'user_id', 'order_direction' => 'DESC'), $values);
     $this->view->assign($values);
     // Set up select info
     $select->order((!empty($values['order']) ? $values['order'] : 'user_id') . ' ' . (!empty($values['order_direction']) ? $values['order_direction'] : 'DESC'));
     if (!empty($values['displayname'])) {
         $select->where('displayname LIKE ?', '%' . $values['displayname'] . '%');
     }
     if (!empty($values['username'])) {
         $select->where('username LIKE ?', '%' . $values['username'] . '%');
     }
     if (!empty($values['email'])) {
         $select->where('email LIKE ?', '%' . $values['email'] . '%');
     }
     if (!empty($values['level_id'])) {
         $select->where('level_id = ?', $values['level_id']);
     }
     if (isset($values['enabled']) && $values['enabled'] != -1) {
         $select->where('enabled = ?', $values['enabled']);
     }
     if (!empty($values['user_id'])) {
         $select->where('user_id = ?', (int) $values['user_id']);
     }
     // Filter out junk
     $valuesCopy = array_filter($values);
     // Reset enabled bit
     if (isset($values['enabled']) && $values['enabled'] == 0) {
         $valuesCopy['enabled'] = 0;
     }
     // Make paginator
     $this->view->paginator = $paginator = Zend_Paginator::factory($select);
     $this->view->paginator = $paginator->setCurrentPageNumber($page);
     $this->view->formValues = $valuesCopy;
     $this->view->superAdminCount = count(Engine_Api::_()->user()->getSuperAdmins());
     $this->view->hideEmails = _ENGINE_ADMIN_NEUTER;
     //$this->view->formDelete = new User_Form_Admin_Manage_Delete();
     $this->view->openUser = (bool) ($this->_getParam('open') && $paginator->getTotalItemCount() == 1);
 }
Пример #2
0
 public function indexAction()
 {
     $this->view->formFilter = $formFilter = new User_Form_Admin_Manage_Filter();
     $page = $this->_getParam('page', 1);
     // Process form
     $values = array();
     if ($formFilter->isValid($this->_getAllParams())) {
         $values = $formFilter->getValues();
     }
     foreach ($values as $key => $value) {
         if (null === $value) {
             unset($values[$key]);
         }
     }
     $values = array_merge(array('order' => 'user_id', 'order_direction' => 'DESC'), $values);
     $this->view->assign($values);
     // filter trial
     if (!empty($values['trial_type'])) {
         $trialPlanTable = Engine_Api::_()->getDbTable('trialplans', 'user');
         switch ($values['trial_type']) {
             case 'used_no_renew':
                 $userTbl = Engine_Api::_()->getDbtable('users', 'user');
                 $userTblName = $userTbl->info('name');
                 $trialTblName = $trialPlanTable->info('name');
                 $select = $userTbl->select();
                 $select->from("{$userTblName} as user", "user.*");
                 $select->joinLeft("{$trialTblName} as trial", "user.user_id = trial.user_id", "");
                 break;
             default:
                 $table = Engine_Api::_()->getDbtable('users', 'user');
                 $select = $table->select();
                 break;
         }
     } else {
         $table = Engine_Api::_()->getDbtable('users', 'user');
         $select = $table->select();
     }
     // Set up select info
     $select->order((!empty($values['order']) ? $values['order'] : 'user_id') . ' ' . (!empty($values['order_direction']) ? $values['order_direction'] : 'DESC'));
     if (!empty($values['displayname'])) {
         $select->where('displayname LIKE ?', '%' . $values['displayname'] . '%');
     }
     if (!empty($values['username'])) {
         $select->where('username LIKE ?', '%' . $values['username'] . '%');
     }
     if (!empty($values['email'])) {
         $select->where('email LIKE ?', '%' . $values['email'] . '%');
     }
     if (!empty($values['level_id'])) {
         $select->where('level_id = ?', $values['level_id']);
     }
     if (isset($values['enabled']) && $values['enabled'] != -1) {
         $select->where('enabled = ?', $values['enabled']);
     }
     if (!empty($values['user_id'])) {
         $select->where('user_id = ?', (int) $values['user_id']);
     }
     // filter trial
     if (!empty($values['trial_type'])) {
         $trialPlanTable = Engine_Api::_()->getDbTable('trialplans', 'user');
         switch ($values['trial_type']) {
             case 'active':
                 $userIds = $trialPlanTable->getUserIdsActive();
                 if (count($userIds) > 0) {
                     $select->where('user_id IN (?)', $userIds);
                 } else {
                     $select->where('1 = 0');
                 }
                 break;
             case 'used_no_renew':
                 $select->where("user.level_id <> trial.level_id");
                 $select->where("trial.active = 0");
                 break;
         }
     }
     // Filter out junk
     $valuesCopy = array_filter($values);
     // Reset enabled bit
     if (isset($values['enabled']) && $values['enabled'] == 0) {
         $valuesCopy['enabled'] = 0;
     }
     // Make paginator
     $this->view->paginator = $paginator = Zend_Paginator::factory($select);
     $this->view->paginator = $paginator->setCurrentPageNumber($page);
     $this->view->formValues = $valuesCopy;
     $this->view->superAdminCount = count(Engine_Api::_()->user()->getSuperAdmins());
     $this->view->hideEmails = _ENGINE_ADMIN_NEUTER;
     //$this->view->formDelete = new User_Form_Admin_Manage_Delete();
     $this->view->openUser = (bool) ($this->_getParam('open') && $paginator->getTotalItemCount() == 1);
 }