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; }
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"; }