public function fillData($period, $defaultSchedules) { $usersDao = BOL_UserDao::getInstance(); $scheduleDao = NOTIFICATIONS_BOL_ScheduleDao::getInstance(); $query = "REPLACE INTO " . $this->getTableName() . " (`userId`, `timeStamp`) SELECT DISTINCT u.id, UNIX_TIMESTAMP() FROM " . $usersDao->getTableName() . " u\n LEFT JOIN " . $scheduleDao->getTableName() . " s ON u.id = s.userId\n WHERE (IF( s.schedule IS NULL, :ds, s.schedule )=:as AND u.activityStamp < :as ) OR IF( s.schedule IS NULL, :ds, s.schedule )=:is ORDER BY u.activityStamp DESC"; return $this->dbo->query($query, array('as' => time() - $period, 'ds' => $defaultSchedules, 'is' => NOTIFICATIONS_BOL_Service::SCHEDULE_IMMEDIATELY, 'as' => NOTIFICATIONS_BOL_Service::SCHEDULE_AUTO)); }
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)); }
/** * Finds users by membership type * * @param int $typeId * @param int $page * @param int $onPage */ public function findByTypeId($typeId, $page, $onPage) { $limit = (int) $onPage; $first = ($page - 1) * $limit; $sql = "SELECT `m`.*\n FROM `" . $this->getTableName() . "` AS `m`\n LEFT JOIN `" . BOL_UserDao::getInstance()->getTableName() . "` AS `u` ON (`u`.`id` = `m`.`userId`)\n WHERE `m`.`typeId` = :typeId\n ORDER BY `u`.`activityStamp` DESC\n LIMIT :first, :limit"; return $this->dbo->queryForList($sql, array('typeId' => $typeId, 'first' => $first, 'limit' => $limit)); }
/** * Class constructor */ private function __construct() { $this->sectionDao = FORUM_BOL_SectionDao::getInstance(); $this->groupDao = FORUM_BOL_GroupDao::getInstance(); $this->topicDao = FORUM_BOL_TopicDao::getInstance(); $this->postDao = FORUM_BOL_PostDao::getInstance(); $this->userDao = BOL_UserDao::getInstance(); }
public function login(array $params) { $required_data = array("username", "password"); foreach ($required_data as $rdata) { if (!array_key_exists($rdata, $post) || empty($post[$rdata])) { $return = array("response_message" => "Please enter " . $rdata, "response_status" => "0"); echo json_encode($return); exit; } } if (empty($post["username"]) || empty($post["password"])) { throw new ErrorException(); } $deviceId = $post["token"]; $deviceType = $post["type"]; $email_check = BOL_UserDao::getInstance()->findUserByUsernameOrEmail($post["username"]); $email_exits = count($email_check); if ($email_exits != '1') { $messages = "Sorry!!! Your Username or Email is not registered"; $return_data = array("response_status" => '0', "response_message" => $messages); echo json_encode($return_data); exit; } else { $result = OW::getUser()->authenticate(new BASE_CLASS_StandardAuth($post["username"], $post["password"])); if (!$result->isValid()) { $messages = $result->getMessages(); $messages = "Sorry!!! Your password doesn’t match. Please try again"; $return_data = array("response_status" => '0', "response_message" => $messages); echo json_encode($return_data); exit; } else { $token = OW_Auth::getInstance()->getAuthenticator()->getId(); $tokenauth = new OW_TokenAuthenticator($token); $service = PHOTO_BOL_PhotoService::getInstance(); $this->user = BOL_UserService::getInstance()->findUserById($result->getUserId()); $email = $this->user->getEmail(); $account_type = $this->user->getAccountType(); if ($account_type == "8cc28eaddb382d7c6a94aeea9ec029fb") { $sex = "lady"; } else { $sex = "gentleman"; } $username = $this->user->getUsername(); $user_id = $result->getUserId(); $avatars = BOL_AvatarService::getInstance()->getAvatarsUrlList(array($user_id)); $check_exist_value = SKAPI_BOL_Service::getInstance()->findValueExistOrNot($user_id); $user_skapi_id = $check_exist_value[0]->id; $user_details = SKAPI_BOL_Service::getInstance()->createUserDetails($user_id, $deviceId, $deviceType, $user_skapi_id); $messages = "Login Successfully"; $return_data = array("response_status" => '1', "response_message" => $messages, "data" => array("user_id" => $user_id, "user_name" => $username, "email" => $email, "profile_picture" => $avatars[$user_id], "user_type" => $sex)); echo json_encode($return_data); //return true; } } exit; }
public function findSearchResultListOrderedByRecentlyJoined($userIdList, $first, $count) { if (empty($userIdList)) { return array(); } $queryParts = BOL_UserDao::getInstance()->getUserQueryFilter("user", "id", array("method" => "USEARCH_BOL_SearchDao::findSearchResultListOrderedByRecentlyJoined")); $where = ''; $sql = "SELECT `user`.* FROM `" . BOL_UserDao::getInstance()->getTableName() . "` `user`\n {$queryParts["join"]}\n \n WHERE `user`.`id` IN (" . $this->dbo->mergeInClause($userIdList) . ") {$where}\n ORDER BY user.joinStamp DESC, `user`.`activityStamp` DESC LIMIT :from, :count "; return $this->dbo->queryForObjectList($sql, $this->getDtoClassName(), array('from' => (int) $first, 'count' => (int) $count)); }
public function findUserIdListForNotify($timeStamp, $first, $count = BOOKMARKS_BOL_Service::COUNT_CRON_USER) { if (empty($timeStamp)) { return array(); } $sql = 'SELECT `id` FROM `' . BOL_UserDao::getInstance()->getTableName() . '` WHERE `activityStamp` <= :stamp AND `id` NOT IN ( SELECT `userId` FROM `' . $this->getTableName() . '`) LIMIT :first, :count'; return $this->dbo->queryForColumnList($sql, array('stamp' => $timeStamp, 'first' => (int) $first, 'count' => (int) $count)); }
public function findUserListForInvite($eventId, $first, $count, $friendList = null) { $userDao = BOL_UserDao::getInstance(); $eventDao = EVENTX_BOL_EventDao::getInstance(); $eventUserDao = EVENTX_BOL_EventUserDao::getInstance(); $where = ""; if (isset($friendList) && empty($friendList)) { return array(); } else { if (!empty($friendList)) { $where = " AND `u`.id IN ( " . $this->dbo->mergeInClause($friendList) . " ) "; } } $query = "SELECT `u`.`id`\n \t\tFROM `{$userDao->getTableName()}` as `u`\n LEFT JOIN `" . $eventDao->getTableName() . "` as `e`\n \t\t\tON( `u`.`id` = `e`.`userId` AND e.id = :event )\n LEFT JOIN `" . $this->getTableName() . "` as `ei`\n \t\t\tON( `u`.`id` = `ei`.`userId` AND `ei`.eventId = :event )\n\n LEFT JOIN `" . $eventUserDao->getTableName() . "` as `eu`\n \t\t\tON( `u`.`id` = `eu`.`userId` AND `eu`.eventId = :event )\n\n \t\tLEFT JOIN `" . BOL_UserSuspendDao::getInstance()->getTableName() . "` as `s`\n \t\t\tON( `u`.`id` = `s`.`userId` )\n\n \t\tLEFT JOIN `" . BOL_UserApproveDao::getInstance()->getTableName() . "` as `d`\n \t\t\tON( `u`.`id` = `d`.`userId` )\n\n \t\tWHERE `e`.`id` IS NULL AND `ei`.`id` IS NULL AND `s`.`id` IS NULL AND `d`.`id` IS NULL AND `eu`.`id` IS NULL " . $where . "\n \t\tORDER BY `u`.`activityStamp` DESC\n \t\tLIMIT :first, :count "; return $this->dbo->queryForColumnList($query, array('event' => $eventId, 'first' => $first, 'count' => $count)); }
public function findSiteFeedCount($startTime = null, $formats = null) { $activityDao = NEWSFEED_BOL_ActivityDao::getInstance(); $queryParts = BOL_UserDao::getInstance()->getUserQueryFilter("activity", "userId", array("method" => "NEWSFEED_BOL_ActionDao::findSiteFeedCount")); if ($formats !== null) { $queryParts["where"] .= " AND action.format IN ( '" . implode("','", $formats) . "' )"; } $query = 'SELECT COUNT(DISTINCT action.id) FROM ' . $this->getTableName() . ' action INNER JOIN ' . $activityDao->getTableName() . ' activity ON action.id = activity.actionId LEFT JOIN ' . $activityDao->getTableName() . ' pactivity ON activity.actionId = pactivity.actionId AND (pactivity.status=:s AND pactivity.activityType=:ac AND pactivity.privacy!=:peb AND pactivity.visibility & :v) ' . $queryParts["join"] . ' WHERE ' . $queryParts["where"] . ' AND pactivity.id IS NULL AND activity.status=:s AND activity.activityType=:ac AND activity.privacy=:peb AND activity.visibility & :v'; return $this->dbo->queryForColumn($query, array('v' => NEWSFEED_BOL_Service::VISIBILITY_SITE, 's' => NEWSFEED_BOL_Service::ACTION_STATUS_ACTIVE, 'peb' => NEWSFEED_BOL_Service::PRIVACY_EVERYBODY, 'ac' => NEWSFEED_BOL_Service::SYSTEM_ACTIVITY_CREATE), self::CACHE_LIFETIME, array(self::CACHE_TAG_ALL, self::CACHE_TAG_INDEX)); }
public function findPhotoListByUserIdList(array $userIdList, $first, $limit, $checkPrivacy = NULL) { if (count($userIdList) === 0) { return array(); } $sql = 'SELECT `p`.*, `a`.`userId` FROM `' . $this->getTableName() . '` AS `p` INNER JOIN `' . PHOTO_BOL_PhotoAlbumDao::getInstance()->getTableName() . '` AS `a` ON (`p`.`albumId` = `a`.`id`) INNER JOIN `' . BOL_UserDao::getInstance()->getTableName() . '` AS `u` ON (`u`.`id` = `a`.`userId`) WHERE `a`.`userId` IN(' . implode(',', array_map('intval', array_unique($userIdList))) . ') AND `p`.`status` = :status' . ($checkPrivacy !== NULL ? $checkPrivacy ? ' AND (`p`.`' . self::PRIVACY . '` = :everybody OR `p`.`' . self::PRIVACY . '` = :friends)' : ' AND `p`.`' . self::PRIVACY . '` = :everybody' : '') . ' ORDER BY `u`.`username` LIMIT :first, :limit'; $params = array('first' => (int) $first, 'limit' => (int) $limit, 'status' => 'approved'); if ($checkPrivacy !== NULL) { switch ($checkPrivacy) { case TRUE: $params['friends'] = self::PRIVACY_FRIENDS_ONLY; case FALSE: $params['everybody'] = self::PRIVACY_EVERYBODY; } } return $this->dbo->queryForList($sql, $params); }
/** * @param $params * @return string */ private function prepareQuerySelectForUserIdList($params) { $queryParts = BOL_UserDao::getInstance()->getUserQueryFilter('user', "id", array("method" => "MATCHMAKING_BOL_QuestionMatchDao::prepareQuerySelect")); $sql = "SELECT `matches`.`id` as userId, `matches`.`compatibility` FROM (SELECT DISTINCT `user`.*, " . $params['compatibility'] . " as `compatibility` FROM `" . BOL_UserDao::getInstance()->getTableName() . "` `user`\n " . $queryParts['join'] . $params['join'] . "\n\n WHERE " . $queryParts['where'] . " AND `user`.`id`<>" . $params['userId'] . " " . $params['where'] . ") as `matches`\n ORDER BY " . $params['order'] . " `matches`.`activityStamp` DESC\n LIMIT :first, :count "; return $sql; }
public function addRoleByAccountType(BOL_QuestionAccountType $accountType) { if (empty($accountType)) { return; } $sql = " REPLACE INTO `" . BOL_AuthorizationUserRoleDao::getInstance()->getTableName() . "` ( `userId`, `roleId` ) " . "SELECT u.id, :role FROM " . BOL_UserDao::getInstance()->getTableName() . " u " . " INNER JOIN " . BOL_QuestionAccountTypeDao::getInstance()->getTableName() . " `accountType` ON ( accountType.name = u.accountType ) " . " WHERE u.accountType = :account "; $this->dbo->query($sql, array('account' => $accountType->name, 'role' => $accountType->roleId)); }
public function findBookmarksUserIdList($userId, $first = 0, $count = NULL, $list = BOOKMARKS_BOL_Service::LIST_LATEST) { if (empty($userId)) { return array(); } empty($count) ? $count = (int) OW::getConfig()->getValue('bookmarks', 'widget_user_count') : NULL; switch ($list) { case BOOKMARKS_BOL_Service::LIST_LATEST: $sql = 'SELECT `' . self::MARK_USER_ID . '` FROM `' . $this->getTableName() . '` WHERE `' . self::USER_ID . '` = :userId ORDER BY `id` DESC LIMIT :first, :count'; break; case BOOKMARKS_BOL_Service::LIST_ONLINE: $sql = 'SELECT `b`.`' . self::MARK_USER_ID . '` FROM `' . $this->getTableName() . '` AS `b` INNER JOIN `' . BOL_UserOnlineDao::getInstance()->getTableName() . '` AS `o` ON `b`.`' . self::MARK_USER_ID . '` = `o`.`' . BOL_UserOnlineDao::USER_ID . '` WHERE `b`.`' . self::USER_ID . '` = :userId ORDER BY `o`.`activityStamp` DESC LIMIT :first, :count'; break; case BOOKMARKS_BOL_Service::LIST_NOTIFY: default: $sql = 'SELECT `b`.`' . self::MARK_USER_ID . '` FROM `' . $this->getTableName() . '` AS `b` INNER JOIN `' . BOL_UserDao::getInstance()->getTableName() . '` AS `u` ON `b`.`' . self::MARK_USER_ID . '` = `u`.`id` WHERE `b`.`' . self::USER_ID . '` = :userId ORDER BY `u`.`activityStamp` DESC LIMIT :first, :count'; break; } return $this->dbo->queryForColumnList($sql, array('userId' => $userId, 'first' => $first, 'count' => $count)); }
/** * @param $userId * @param $page * @param $limit * @return array|mixed */ public function findGuestUsers($userId, $page, $limit) { $first = ($page - 1) * $limit; $query = "SELECT `u`.*\n FROM `" . $this->getTableName() . "` AS `g`\n INNER JOIN `" . BOL_UserDao::getInstance()->getTableName() . "` as `u`\n ON (`g`.`guestId` = `u`.`id`)\n LEFT JOIN `" . BOL_UserSuspendDao::getInstance()->getTableName() . "` as `s`\n ON( `u`.`id` = `s`.`userId` )\n LEFT JOIN `" . BOL_UserApproveDao::getInstance()->getTableName() . "` as `d`\n ON( `u`.`id` = `d`.`userId` )\n WHERE `s`.`id` IS NULL AND `d`.`id` IS NULL\n AND `g`.`userId` = ?\n ORDER BY `g`.`visitTimestamp` DESC\n LIMIT ?, ?"; return $this->dbo->queryForObjectList($query, BOL_UserDao::getInstance()->getDtoClassName(), array($userId, $first, $limit)); }
public function findUserListWithCorrespondenceAlt($userId, $friendIdList) { $sql = "SELECT `t`.`userId` FROM ( SELECT IF (`m`.`senderId` = :userId, `m`.`recipientId`, `m`.`senderId`) AS `userId`, `m`.`timeStamp` FROM `" . $this->getTableName() . "` as `m`\r\n WHERE (`m`.`senderId`=:userId OR `m`.`recipientId`=:userId)\r\n GROUP BY `userId`\r\n ORDER BY `m`.`timeStamp` DESC) AS `t`\r\n INNER JOIN `" . BOL_UserDao::getInstance()->getTableName() . "` AS `u` ON ( `u`.`id` = `t`.`userId` )\r\n ORDER BY `t`.`timeStamp` DESC"; return $this->dbo->queryForColumnList($sql, array('userId' => $userId)); }
public function photoGetPhotoList(BASE_CLASS_QueryBuilderEvent $event) { $params = $event->getParams(); $aliases = $params['aliases']; if (empty($params['listType']) || !in_array($params['listType'], array('latest', 'featured', 'toprated', 'most_discussed', 'searchByDesc', 'searchByHashtag', 'searchByUsername'))) { return; } if (!OW::getUser()->isAuthenticated() || !(bool) OW::getConfig()->getValue('skadate', 'photo_filter_setting_matching') || OW::getUser()->isAuthorized('photo') || OW::getUser()->isAuthorized('base')) { return; } $userId = OW::getUser()->getId(); $matchValue = BOL_QuestionService::getInstance()->getQuestionData(array($userId), array('sex', 'match_sex')); if (empty($matchValue[$userId]['match_sex'])) { return; } $join = 'INNER JOIN `' . BOL_UserDao::getInstance()->getTableName() . '` AS `sk_u` ON(`' . $aliases['album'] . '`.`userId` = `sk_u`.`id`) INNER JOIN `' . BOL_QuestionDataDao::getInstance()->getTableName() . '` AS `sk_qd` ON (`sk_qd`.`userId` = `sk_u`.`id` AND `sk_qd`.`questionName` = :sk_sexQuestionName AND `sk_qd`.`intValue` & :sk_matchSexValue) INNER JOIN `' . BOL_QuestionDataDao::getInstance()->getTableName() . '` AS `sk_qd1` ON (`sk_qd1`.`userId` = `sk_u`.`id` AND `sk_qd1`.`questionName` = :sk_matchSexQuestionName AND `sk_qd1`.`intValue` & :sk_sexValue)'; $params = array('sk_sexQuestionName' => 'sex', 'sk_matchSexQuestionName' => 'match_sex', 'sk_sexValue' => $matchValue[$userId]['sex'], 'sk_matchSexValue' => $matchValue[$userId]['match_sex']); $event->addJoin($join); $event->addBatchQueryParams($params); }
public function getNewUsersThisMonth($first, $count) { $query = "SELECT `u`.* FROM `" . BOL_UserDao::getInstance()->getTableName() . "` as `u`\n\t \tLEFT JOIN `" . BOL_UserSuspendDao::getInstance()->getTableName() . "` as `s`\n\t \t\tON( `u`.`id` = `s`.`userId` )\n LEFT JOIN `" . BOL_UserApproveDao::getInstance()->getTableName() . "` as `d`\n ON( `u`.`id` = `d`.`userId` )\n\t \tWHERE `s`.`id` IS NULL AND `d`.`id` IS NULL\n\t \tAND `u`.`joinStamp` >= :ts\n\t \tORDER BY `u`.`joinStamp` DESC\n\t \tLIMIT :first, :count"; return OW::getDbo()->queryForObjectList($query, BOL_UserDao::getInstance()->getDtoClassName(), array('ts' => time() - 30 * 24 * 3600, 'first' => $first, 'count' => $count)); }
public function findFeedActivity($feedType, $feedId, $actionIds) { $actionFeedDao = NEWSFEED_BOL_ActionFeedDao::getInstance(); $unionQueryList = array(); $queryParts = BOL_UserDao::getInstance()->getUserQueryFilter("activity", "userId", array("method" => "NEWSFEED_BOL_ActivityDao::findFeedActivity")); $unionQueryList[] = 'SELECT activity.* FROM ' . $this->getTableName() . ' activity WHERE activity.actionId IN(' . implode(', ', $actionIds) . ') AND activity.status=:s AND activity.privacy=:peb AND activity.visibility & :v AND activity.activityType IN ("' . implode('", "', NEWSFEED_BOL_Service::getInstance()->SYSTEM_ACTIVITIES) . '")'; foreach ($actionIds as $actionId) { $unionQueryList[] = 'SELECT a.* FROM ( SELECT DISTINCT activity.* FROM ' . $this->getTableName() . ' activity ' . $queryParts["join"] . ' INNER JOIN ' . $actionFeedDao->getTableName() . ' action_feed ON activity.id=action_feed.activityId WHERE ' . $queryParts["where"] . ' AND activity.actionId = ' . $actionId . ' AND ( activity.status=:s AND activity.privacy=:peb AND action_feed.feedType=:ft AND action_feed.feedId=:fi AND activity.visibility & :v OR activity.activityType=:ac ) ORDER BY activity.timeStamp DESC, activity.id DESC LIMIT 100 ) a'; } $query = implode(' UNION ', $unionQueryList) . " ORDER BY 7 DESC, 1 DESC "; return $this->dbo->queryForObjectList($query, $this->getDtoClassName(), array('ft' => $feedType, 'fi' => $feedId, 's' => NEWSFEED_BOL_Service::ACTION_STATUS_ACTIVE, 'v' => NEWSFEED_BOL_Service::VISIBILITY_FEED, 'peb' => NEWSFEED_BOL_Service::PRIVACY_EVERYBODY, 'ac' => NEWSFEED_BOL_Service::SYSTEM_ACTIVITY_CREATE)); }
public function countByBirthdayPeriod($start, $end, $idList = null, $privacy = null) { if ($idList === array()) { return 0; } $queryParts = BOL_UserDao::getInstance()->getUserQueryFilter("q", "userId", array("method" => "BIRTHDAYS_BOL_UserDao::countByBirthdayPeriod")); $query = "SELECT COUNT(*) FROM `" . BOL_QuestionDataDao::getInstance()->getTableName() . "` q\r\n " . $queryParts["join"] . " \r\n " . (!empty($privacy) ? "LEFT JOIN `" . BIRTHDAYS_BOL_PrivacyDao::getInstance()->getTableName() . "` AS `bp` ON( `q`.`userId` = bp.userId AND ( bp.privacy NOT IN (" . $this->dbo->mergeInClause($privacy) . ") ) ) " : '') . "\r\n\t\t\tWHERE " . $queryParts["where"] . " AND " . (!empty($privacy) ? " `bp`.id IS NULL AND " : "") . " q.`questionName` = 'birthdate' AND\r\n ( DATE_FORMAT(q.`dateValue`, '" . date('Y') . "-%m-%d') BETWEEN :start1 AND :end1 OR DATE_FORMAT(q.`dateValue`, '" . (intval(date('Y')) + 1) . "-%m-%d') BETWEEN :start2 AND :end2 )\r\n " . (!empty($idList) ? "AND q.`userId` IN (" . $this->dbo->mergeInClause($idList) . ")" : ''); return $this->dbo->queryForColumn($query, array('start1' => $start, 'start2' => $start, 'end1' => $end, 'end2' => $end)); }
public function countRateUsers($userId) { $rateDao = BOL_RateDao::getInstance(); $userDao = BOL_UserDao::getInstance(); $sql = "SELECT COUNT(*)\n FROM `" . $rateDao->getTableName() . "` AS `r`\n INNER JOIN `" . $userDao->getTableName() . "` AS `u` ON (`u`.`id` = `r`.`userId`) \n WHERE `entityId` = :entityId AND `entityType` = 'user_rates'"; return (int) OW::getDbo()->queryForColumn($sql, array('entityId' => $userId)); }
public function findUsers($kw, $limit = null) { $questionName = OW::getConfig()->getValue('base', 'display_name_question'); $questionDataTable = BOL_QuestionDataDao::getInstance()->getTableName(); $limitStr = $limit === null ? '' : 'LIMIT 0, ' . intval($limit); $queryParts = BOL_UserDao::getInstance()->getUserQueryFilter("qd", "userId", array("method" => "MAILBOX_BOL_AjaxService::findUsers")); $query = 'SELECT DISTINCT qd.userId FROM ' . $questionDataTable . ' qd ' . $queryParts['join'] . ' WHERE ' . $queryParts['where'] . ' AND questionName=:name AND textValue LIKE :kw ORDER BY `textValue` ' . $limitStr; return OW::getDbo()->queryForColumnList($query, array('kw' => $kw . '%', 'name' => $questionName)); }
public function findCountByGroupIdList($groupIdList) { if (empty($groupIdList)) { return array(); } $queryParts = BOL_UserDao::getInstance()->getUserQueryFilter("u", "userId", array("method" => "GROUPS_BOL_GroupUserDao::findCountByGroupIdList")); $query = 'SELECT u.groupId, COUNT(*) count FROM ' . $this->getTableName() . ' u ' . $queryParts["join"] . ' WHERE ' . $queryParts["where"] . ' AND u.groupId IN (' . implode(',', $groupIdList) . ') GROUP BY u.groupId'; $list = $this->dbo->queryForList($query, null, GROUPS_BOL_GroupDao::LIST_CACHE_LIFETIME, array(GROUPS_BOL_GroupDao::LIST_CACHE_TAG)); $resultList = array(); foreach ($list as $item) { $resultList[$item['groupId']] = $item['count']; } foreach ($groupIdList as $groupId) { $resultList[$groupId] = empty($resultList[$groupId]) ? 0 : $resultList[$groupId]; } return $resultList; }
/** * 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 getUserTokenJoinString($userToken) { $userTokenJoin = ""; if (mb_strlen($userToken)) { $question = OW::getConfig()->getValue('base', 'display_name_question'); if ($question == 'username') { $userTokenJoin = " INNER JOIN `" . BOL_UserDao::getInstance()->getTableName() . "` AS `u`\n ON (`u`.`id` = `p`.`userId` AND `u`.`username` LIKE '" . $this->dbo->escapeString($userToken) . "%') "; } else { $userTokenJoin = " INNER JOIN `" . BOL_QuestionDataDao::getInstance()->getTableName() . "` AS `qd`\n ON (`qd`.`userId`=`p`.`userId` AND `qd`.`questionName`='realname'\n AND `qd`.`textValue` LIKE '" . $this->dbo->escapeString($userToken) . "%') "; } } return $userTokenJoin; }
private function askUsers($query, $data) { if (!OW::getUser()->isAuthenticated()) { return array('warning' => OW::getLanguage()->text('equestions', 'not_authed_ask_warning')); } $userIds = $query['ids']; $questionId = $data['questionId']; $question = $this->service->findQuestion($questionId); $params = array('userId' => OW::getUser()->getId(), 'questionId' => $questionId); if ($query['all']) { $params['special'] = true; $users = BOL_UserDao::getInstance()->findAll(); foreach ($users as $user) { if ($user->id != $params['userId']) { $userIds[] = $user->id; } } } foreach ($userIds as $uid) { $params['recipientId'] = $uid; $event = new OW_Event(EQUESTIONS_BOL_Service::EVENT_QUESTION_BEFORE_ASK, $params, $data); OW::getEventManager()->trigger($event); } $permissions = EQUESTIONS_CLASS_CreditsBridge::getInstance()->getAllPermissions(EQUESTIONS_CLASS_Credits::ACTION_ASK); return array('message' => OW::getLanguage()->text('equestions', 'question_ask_complete_msg', array('count' => count($userIds))), 'permissions' => $permissions); }
public function findFriendIdListByDisplayName($userId, $search, $first, $count, $userIdList = null) { $ids = $this->findFriendIdList($userId, $first, $count, $userIdList); $queryParts = BOL_UserDao::getInstance()->getUserQueryFilter('u', 'id', array('method' => 'MAILBOX_BOL_AjaxService::findFriendIdListByDisplayName')); $questionName = OW::getConfig()->getValue('base', 'display_name_question'); $params = array('search' => $search . '%'); if ($questionName === 'username') { $order = ' ORDER BY `u`.`username`'; $queryParts['where'] .= ' AND `u`.`username` LIKE :search'; } else { $order = ' ORDER BY `qd`.`textValue`'; $params['questionName'] = $questionName; $queryParts['where'] .= ' AND qd.questionName=:questionName AND qd.textValue LIKE :search'; $queryParts['join'] .= ' INNER JOIN `' . BOL_QuestionDataDao::getInstance()->getTableName() . '` AS `qd` ON(`u`.`id` = `qd`.`userId`) '; } $query = 'SELECT DISTINCT `u`.`id` FROM `' . BOL_UserDao::getInstance()->getTableName() . '` AS `u` ' . $queryParts['join'] . ' WHERE`u`.`id` IN(' . $this->dbo->mergeInClause($ids) . ') AND ' . $queryParts['where'] . ' ' . $order . ' LIMIT :first, :count'; return $this->dbo->queryForColumnList($query, array_merge(array('first' => $first, 'count' => $count), $params)); }
private function getUserIdList($userId) { return $this->getUserIdListAlt($userId); $friendsEnabled = (bool) OW::getEventManager()->call('plugin.friends'); if ($friendsEnabled) { $friendIdList = OW::getEventManager()->call('plugin.friends.get_friend_list', array('userId' => $userId)); } else { $friendIdList = array(); } $userIdList = array(); $userWithCorrespondenceIdList = $this->getUserListWithCorrespondence(); foreach ($userWithCorrespondenceIdList as $id) { $userIdList[] = $id; } $queryParts = BOL_UserDao::getInstance()->getUserQueryFilter("u", "id", array("method" => "BOL_UserDao::findList")); $correspondenceCondition = ""; if (!empty($userWithCorrespondenceIdList)) { $correspondenceCondition = " AND `u`.`id` NOT IN ( " . OW::getDbo()->mergeInClause($userWithCorrespondenceIdList) . " ) "; } $query = "SELECT `u`.`id`\r\n FROM `" . BOL_UserDao::getInstance()->getTableName() . "` as `u`\r\n {$queryParts["join"]}\r\n\r\n WHERE {$queryParts["where"]} " . $correspondenceCondition; $tmpUserIdList = OW::getDbo()->queryForColumnList($query); foreach ($tmpUserIdList as $id) { if ($id == $userId) { continue; } if (!in_array($id, $userIdList)) { $userIdList[] = $id; } } return array('userIdList' => $userIdList, 'userWithCorrespondenceIdList' => $userWithCorrespondenceIdList, 'friendIdList' => $friendIdList); }
public function findSpeedmatchOpponents($userId, $first, $count, $criteria, $exclude = array()) { if (!$userId) { return null; } if (isset($criteria['birthdate'])) { $range = explode('-', $criteria['birthdate']); if (!empty($range[0]) && !empty($range[1])) { $criteria['birthdate'] = array('from' => $range[0], 'to' => $range[1]); } else { unset($criteria['birthdate']); } } $addQuery['join'] = ' LEFT JOIN `' . $this->relationDao->getTableName() . '` AS `relation` ON (`user`.`id` = `relation`.`oppUserId` AND `relation`.`userId` = ' . OW::getDbo()->escapeString($userId) . ') '; $addQuery['where'] = ' AND `relation`.`id` IS NULL AND `user`.`id` != ' . OW::getDbo()->escapeString($userId); if (!empty($criteria['googlemap_location']['latitude']) && !empty($criteria['googlemap_location']['longitude'])) { $location = $criteria['googlemap_location']; unset($criteria['googlemap_location']); $coord = GOOGLELOCATION_BOL_LocationService::getInstance()->getNewCoordinates($location['latitude'], $location['longitude'], 225, (double) $location['distance']); $location['southWestLat'] = $coord['lat']; $location['southWestLng'] = $coord['lng']; $coord = GOOGLELOCATION_BOL_LocationService::getInstance()->getNewCoordinates($location['latitude'], $location['longitude'], 45, (double) $location['distance']); $location['northEastLat'] = $coord['lat']; $location['northEastLng'] = $coord['lng']; $sql = GOOGLELOCATION_BOL_LocationService::getInstance()->getSearchInnerJoinSql('user', $location['southWestLat'], $location['southWestLng'], $location['northEastLat'], $location['northEastLng'], null, 'LEFT'); $locationDao = SKADATE_BOL_CurrentLocationDao::getInstance(); $sql .= ' LEFT JOIN `' . $locationDao->getTableName() . '` current_location ON (user.id = current_location.userId AND ( current_location.latitude >= ' . $location['southWestLat'] . ' AND current_location.latitude <= ' . $location['northEastLat'] . ' ) AND ( current_location.longitude >= ' . $location['southWestLng'] . ' AND current_location.longitude <= ' . $location['northEastLng'] . ' )) '; $addQuery['join'] .= $sql; $addQuery['where'] .= ' AND (current_location.id IS NOT NULL OR location.id IS NOT NULL) '; $addQuery['order'] = ' current_location.id IS NOT NULL DESC, `user`.`activityStamp` DESC '; } if (!empty($exclude)) { $addQuery['where'] .= ' AND `user`.`id` NOT IN (' . implode(',', array_map('intval', array_filter($exclude))) . ') '; } $idList = BOL_UserDao::getInstance()->findUserIdListByQuestionValues($criteria, $first, $count, false, $addQuery); return $idList; }
* Step 2: Instantiate a Slim application * * * * This example instantiates a Slim application using * its default settings. However, you will usually configure * your Slim application now by passing an associative array * of setting names and values into the application constructor. * * * */ //$app = new \Slim\Slim(); $app = new \Slim\Slim(); //$baseJsDir = OW::getPluginManager()->getPlugin("base")->getStaticJsUrl(); $BOL_UserDao = BOL_UserDao::getInstance(); $ow_user = OW::getUser(); $OW_Auth_inst = OW_Auth::getInstance(); $Userservice = BOL_UserService::getInstance(); $EmailVerifyService = BOL_EmailVerifyService::getInstance(); $BOL_AvatarService_inst = BOL_AvatarService::getInstance(); $SKAPI_BOL_Service_inst = SKAPI_BOL_Service::getInstance(); $PHOTO_BOL_PhotoService_inst = PHOTO_BOL_PhotoService::getInstance(); $PHOTO_BOL_PhotoAlbumService = PHOTO_BOL_PhotoAlbumService::getInstance(); $PHOTO_BOL_PhotoTemporaryService = PHOTO_BOL_PhotoTemporaryService::getInstance(); $UserResetPassword = BOL_UserResetPasswordDao::getInstance(); $QuestionService = BOL_QuestionService::getInstance(); $AccountTypeToGenderService = SKADATE_BOL_AccountTypeToGenderService::getInstance(); $BOL_AuthorizationService = BOL_AuthorizationService::getInstance(); $BOL_UserOnlineDao = BOL_UserOnlineDao::getInstance(); $USEARCH_BOL_Service = USEARCH_BOL_Service::getInstance();
/** * Class constructor * */ protected function __construct() { parent::__construct(); $this->userDao = BOL_UserDao::getInstance(); }