/** * Get user list count * * @param UsersFilter $filter * @param integer $cacheMinutes * @return integer */ public function getUsersListCount(UsersFilter $filter = null, $cacheMinutes = 0, $cacheTag = null) { if ($filter === null) { $filter = new UsersFilter(); } $filter->setSelectCount(); $sqlQuery = $filter->getSQL(); $this->query->exec($sqlQuery, $cacheMinutes, $cacheTag); return $this->query->fetchField('cnt'); }
/** * Get user list * * @param UsersFilter $filter * @param MysqlPager $pager * @return array[User] */ public function getUsersList(UsersFilter $filter = null, MysqlPager $pager = null, $cacheMinutes = 0) { $users = array(); if ($filter == null) { $filter = new UsersFilter(); } $sqlQuery = $filter->getSQL(); if ($pager !== null) { $this->query = $pager->executePagedSQL($sqlQuery, $cacheMinutes); } else { $this->query->exec($sqlQuery, $cacheMinutes); } if ($this->query->countRecords()) { foreach ($this->query->fetchFields('id') as $user_id) { array_push($users, $this->getObjectById($user_id, $cacheMinutes)); } } return $users; }