예제 #1
0
 public function userManagerAction()
 {
     /**
      * Check permission
      */
     if (false == $this->checkPermission('see_user')) {
         $this->_forwardToNoPermissionPage();
         return;
     }
     $this->view->headTitle(Vi_Language::translate('User manager'));
     $this->view->menu = array('usergroup', 'usermanager');
     $config = Vi_Registry::getConfig();
     $numRowPerPage = Vi_Registry::getConfig("defaultNumberRowPerPage");
     $currentPage = $this->_getParam("page", 1);
     $displayNum = $this->_getParam('displayNum', false);
     /**
      * Get number of users per page
      */
     if (false === $displayNum) {
         $displayNum = $this->session->userDisplayNum;
     } else {
         $this->session->userDisplayNum = $displayNum;
     }
     if (null != $displayNum) {
         $numRowPerPage = $displayNum;
     }
     /**
      * Get condition
      */
     $condition = $this->_getParam('condition', false);
     if (false === $condition) {
         $condition = $this->session->userCondition;
     } else {
         $this->session->userCondition = $condition;
         $currentPage = 1;
     }
     if (false == $condition) {
         $condition = array();
     }
     /**
      * Load all users
      */
     $objUser = new Models_User();
     $allUsers = $objUser->getAllUsersWithGroup($condition, 'user_id DESC', $numRowPerPage, ($currentPage - 1) * $numRowPerPage);
     /**
      * Count all users
      */
     $count = $objUser->countAllUsers($condition);
     /**
      * Modify all users
      */
     foreach ($allUsers as &$user) {
         if (null != $user['created_date']) {
             $user['created_date'] = date($config['dateFormat'], $user['created_date']);
         }
         if (null != $user['last_login_date']) {
             $user['last_login_date'] = date($config['dateFormat'], $user['last_login_date']);
         }
     }
     unset($user);
     /**
      * Load all groups
      */
     $objGroup = new Models_Group();
     /**
      * Set values for tempalte
      */
     $this->view->allGroups = $objGroup->getAll(array('sorting ASC', 'group_id ASC'))->toArray();
     $this->setPagination($numRowPerPage, $currentPage, $count);
     $this->view->allUsers = $allUsers;
     $this->view->userMessage = $this->session->userMessage;
     $this->session->userMessage = null;
     $this->view->condition = $condition;
     $this->view->displayNum = $numRowPerPage;
 }