Exemplo n.º 1
0
 function userlistAction()
 {
     // assuming that the CleanQuery plugin has already stripped empty parameters
     if (isset($_GET) && is_array($_GET) && !empty($_GET)) {
         $path = '';
         array_walk($_GET, array('AccountController', 'encodeParam'));
         foreach ($_GET as $key => $value) {
             if ($key != 'filter' && $key != 'submit_user_filter') {
                 $path .= '/' . $key . '/' . $value;
             }
         }
         $uri = $_SERVER['REQUEST_URI'];
         $path = substr($uri, 0, strpos($uri, '?')) . $path;
         $this->getResponse()->setRedirect($path, $this->_permanent ? 301 : 302);
         $this->getResponse()->sendResponse();
         return;
     }
     // Get requests
     $params = $this->getRequest()->getParams();
     // Get page nummber and items per page
     $page = isset($params['page']) ? $params['page'] : 1;
     $count = isset($params['count']) ? $params['count'] : 10;
     $order = isset($params['order']) ? $params['order'] : null;
     $list = isset($params['list']) ? $params['list'] : null;
     if ($order == "username") {
         $order = "usr.login_name_usr";
     } elseif ($order == "joined") {
         $order = "usr.created_usr";
     } elseif ($order == "login") {
         $order = "usr.last_login_usr";
     } elseif ($order == "content") {
         $order = "contentCount";
     } else {
         $order = null;
     }
     if ($list != "asc" && $list != "desc") {
         $list = null;
     }
     if (isset($order) && isset($list)) {
         $sort = $order . " " . $list;
     }
     // Filter form data
     $formData['username'] = isset($params['username']) ? $params['username'] : '';
     $formData['city'] = isset($params['city']) ? $params['city'] : '';
     //$formData['country'] = isset($params['country']) ? $params['country'] : 0;
     $formData['contentlimit'] = isset($params['contentlimit']) ? $params['contentlimit'] : null;
     $formData['counttype'] = isset($params['counttype']) ? $params['counttype'] : 0;
     // Get country listing
     $userCountry = new Default_Model_UserCountry();
     $formData['countryList'] = $userCountry->getCountryList();
     // Reorder country listing and add all countries option
     $temp[0] = $this->view->translate('userlist-filter-country-all');
     foreach ($formData['countryList'] as $k => $v) {
         $temp[$v['id_ctr']] = $v['name_ctr'];
     }
     $formData['countryList'] = $temp;
     //Set array patterns
     $pat_sql = array("%", "_");
     $pat_def = array("*", "?");
     //Replace * and ? characters
     $formData['username'] = str_replace($pat_def, $pat_sql, $formData['username']);
     $formData['city'] = str_replace($pat_def, $pat_sql, $formData['city']);
     // Get user listing
     $user = new Default_Model_User();
     $userListing = $user->getUserListing($formData, $page, $count, $sort);
     $userIdList = array();
     foreach ($userListing as $u) {
         array_push($userIdList, $u['id_usr']);
     }
     // Get total content count
     $userCount = $user->getUserCountBySearch($formData);
     // Calculate total page count
     $pageCount = ceil($userCount / $count);
     // User list search form
     $userSearch = new Default_Form_UserListSearchForm(null, $formData);
     $url = $this->_urlHelper->url(array('controller' => 'account', 'action' => 'userlist', 'language' => $this->view->language), 'lang_default', true);
     $userSearch->setAction($url)->setMethod('get');
     $this->view->userSearch = $userSearch;
     // Custom pagination to fix memory error on large amount of data
     $paginator = new Zend_View();
     $paginator->setScriptPath('../application/views/scripts');
     $paginator->pageCount = $pageCount;
     $paginator->currentPage = $page;
     $paginator->pagesInRange = 10;
     /*
     if (!empty($userListing)) {
         // Content pagination
         $paginator = Zend_Paginator::factory($userListing);
         
         // Set items per page
         $paginator->setItemCountPerPage($count);
         
         // Get items by page
         $paginator->getItemsByPage($page);
         
         // Set current page number
         $paginator->setCurrentPageNumber($page);
         
         Zend_Paginator::setDefaultScrollingStyle('Sliding');
         
         $view = new Zend_View();
         $paginator->setView($view);
         
         // Set paginator for view
         $this->view->userListPaginator = $paginator;	
     } // end if
     */
     // Set to view
     $this->view->userPaginator = $paginator;
     $this->view->userListData = $userListing;
     $this->view->userList = $userIdList;
     $this->view->count = $count;
     $this->view->userCount = $userCount;
     $this->view->page = $page;
 }
Exemplo n.º 2
0
 public function getUserCountry($id)
 {
     /*$where = $this->select()
     		->from($this)
     		->where('id_usr_usp = ?', $id)
     		->where('profile_key_usp = ?','country');	*/
     $names = new Default_Model_UserCountry();
     $results = $this->fetchAll();
     $c_id = 0;
     foreach ($results as $result) {
         if ($result->id_usr_usp == $id && $result->profile_key_usp == 'country') {
             //
             //Keep the old user data's works
             //
             if ($result->profile_value_usp == '' || $result->profile_value_usp == 'None') {
                 $result->profile_value_usp = 1;
                 $result->save();
             }
             $name = $names->fetchRow('id_ctr=' . $result->profile_value_usp);
             if (isset($name->name_ctr)) {
                 return $name->name_ctr;
             } else {
                 return "None";
             }
         }
     }
     return "None";
 }