Example #1
0
 /**
  * Returns an instance of class (singleton pattern implementation).
  *
  * @return GROUPS_BOL_GroupUserDao
  */
 public static function getInstance()
 {
     if (self::$classInstance === null) {
         self::$classInstance = new self();
     }
     return self::$classInstance;
 }
Example #2
0
 public function findUsers($groupId, $count, $withPhoto = true)
 {
     $userTable = BOL_UserDao::getInstance()->getTableName();
     $avatarJoin = !$withPhoto ? '' : "INNER JOIN `" . BOL_AvatarDao::getInstance()->getTableName() . "` as `a`\n    \t\t\tON( `u`.`id` = `a`.`userId` )";
     $query = "\n            SELECT `u`.* FROM `{$userTable}` AS `u`\n\n            INNER JOIN `" . GROUPS_BOL_GroupUserDao::getInstance()->getTableName() . "` AS `g`\n                    ON( `u`.`id` = `g`.`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 g.groupId=:g AND `s`.`id` IS NULL AND `d`.`id` IS NULL\n            ORDER BY `u`.`activityStamp` DESC\n            LIMIT :ls, :le";
     return OW::getDbo()->queryForObjectList($query, BOL_UserDao::getInstance()->getDtoClassName(), array('ls' => 0, 'le' => $count, 'g' => $groupId));
 }
Example #3
0
 public function findGroups($kw, $userId, $limit = null)
 {
     $groupDao = GROUPS_BOL_GroupDao::getInstance();
     $groupUserDao = GROUPS_BOL_GroupUserDao::getInstance();
     $params = array('u' => $userId);
     if (!empty($kw)) {
         $params["kw"] = "%" . $kw . "%";
     }
     $limitStr = $limit === null ? '' : 'LIMIT 0, ' . intval($limit);
     $kwWhere = empty($kw) ? "1" : "g.title LIKE :kw";
     $query = "SELECT DISTINCT g.* FROM " . $groupDao->getTableName() . " g\n            INNER JOIN " . $groupUserDao->getTableName() . " u ON g.id = u.groupId AND u.id != :u\n            WHERE g.userId=:u AND {$kwWhere} " . $limitStr;
     return OW::getDbo()->queryForObjectList($query, $groupDao->getDtoClassName(), $params);
 }
Example #4
0
 public function findMyGroupsCount($userId)
 {
     $groupUserDao = GROUPS_BOL_GroupUserDao::getInstance();
     $query = "SELECT COUNT(g.id) FROM " . $this->getTableName() . " g\n            INNER JOIN " . $groupUserDao->getTableName() . " u ON g.id = u.groupId\n            WHERE u.userId=:u";
     return (int) $this->dbo->queryForColumn($query, array('u' => $userId));
 }
Example #5
0
 public function setGroupUserPrivacy($userId, $privacy)
 {
     $this->groupUserDao->setPrivacy($userId, $privacy);
 }