public function countFeatured() { $queryParts = $this->getUserQueryFilter("u", "id", array("method" => "BOL_UserDao::countFeatured")); $query = "SELECT COUNT(*) FROM `{$this->getTableName()}` AS `u`\n {$queryParts["join"]}\n INNER JOIN `" . BOL_UserFeaturedDao::getInstance()->getTableName() . "` AS `f`\n ON( `u`.`id` = `f`.`userId` )\n WHERE {$queryParts["where"]}"; // cached featured users count query $cacheLifeTime = self::CACHE_LIFE_TIME; $tag = array(self::CACHE_TAG_FEATURED_LIST, self::CACHE_TAG_ALL_USER_LIST); return $this->dbo->queryForColumn($query, null, $cacheLifeTime, $tag); }
/** * Constructor. */ private function __construct() { $this->userDao = BOL_UserDao::getInstance(); $this->loginCookieDao = BOL_LoginCookieDao::getInstance(); $this->userFeaturedDao = BOL_UserFeaturedDao::getInstance(); $this->userOnlineDao = BOL_UserOnlineDao::getInstance(); $this->userSuspendDao = BOL_UserSuspendDao::getInstance(); $this->userApproveDao = BOL_UserApproveDao::getInstance(); $this->restrictedUsernamesDao = BOL_RestrictedUsernamesDao::getInstance(); $this->inviteCodeDao = BOL_InviteCodeDao::getInstance(); $this->approveDao = BOL_UserApproveDao::getInstance(); $this->resetPasswordDao = BOL_UserResetPasswordDao::getInstance(); $this->userBlockDao = BOL_UserBlockDao::getInstance(); $this->tokenDao = BOL_AuthTokenDao::getInstance(); }
public function findFeaturedList($count, $withPhoto = true) { $avatarJoin = !$withPhoto ? '' : "INNER JOIN `" . BOL_AvatarDao::getInstance()->getTableName() . "` as `a`\n \t\t\tON( `u`.`id` = `a`.`userId` )"; $query = "\n SELECT `u`.* FROM `{$this->getTableName()}` AS `u`\n\n INNER JOIN `" . BOL_UserFeaturedDao::getInstance()->getTableName() . "` AS `f`\n ON( `u`.`id` = `f`.`userId` )\n\n LEFT JOIN `" . BOL_UserSuspendDao::getInstance()->getTableName() . "` as `s`\n ON( `u`.`id` = `s`.`userId` )\n\n LEFT JOIN `" . BOL_UserApproveDao::getInstance()->getTableName() . "` as `d`\n ON( `u`.`id` = `d`.`userId` )\n\n {$avatarJoin}\n\n WHERE `s`.`id` IS NULL AND `d`.`id` IS NULL\n ORDER BY `u`.`activityStamp` DESC\n LIMIT ?,?\n "; return $this->dbo->queryForObjectList($query, $this->getDtoClassName(), array(0, $count)); }