コード例 #1
0
ファイル: service.php プロジェクト: hardikamutech/loov
 /**
  * Returns class instance
  *
  * @return SKANDROID_ABOL_Service
  */
 public static function getInstance()
 {
     if (null === self::$classInstance) {
         self::$classInstance = new self();
     }
     return self::$classInstance;
 }
コード例 #2
0
ファイル: hot_list.php プロジェクト: hardikamutech/loov
 private function commonHandler($params)
 {
     $this->assign('userAdded', OW::getEventManager()->call('hotlist.is_user_added', array('userId' => OW::getUser()->getId())));
     $authorized = OW::getUser()->isAuthorized('hotlist', 'add_to_list');
     $promoted = false;
     if (!$authorized) {
         $status = SKANDROID_ABOL_Service::getInstance()->getAuthorizationActionStatus('hotlist', 'add_to_list');
         $promoted = $status['status'] == BOL_AuthorizationService::STATUS_PROMOTED;
         $this->assign('authorizeMsg', $status['msg']);
         $this->assign('isCreditsEnable', OW::getPluginManager()->isPluginActive('usercredits'));
         $this->assign('isSubscribeEnable', OW::getPluginManager()->isPluginActive('membership'));
     }
     $this->assign('authorized', $authorized);
     $this->assign('promoted', $promoted);
 }
コード例 #3
0
ファイル: event_handler.php プロジェクト: hardikamutech/loov
 public function onPingNotifications(OW_Event $event)
 {
     if (!OW::getUser()->isAuthenticated()) {
         return null;
     }
     $service = SKANDROID_ABOL_Service::getInstance();
     $menu = $service->getMenu(OW::getUser()->getId());
     $counter = $service->getNewItemsCount($menu);
     $data = array('menu' => $menu, 'counter' => $counter);
     $eventData = $event->getData();
     if (empty($eventData)) {
         $data = array('menu' => $menu, 'counter' => $counter);
     } else {
         if (is_array($eventData)) {
             $data = array_merge($eventData, $data);
         }
     }
     $event->setData($data);
     return $data;
 }
コード例 #4
0
ファイル: photo.php プロジェクト: hardikamutech/loov
 public function getAlbumList($post, $params)
 {
     $auth = array('photo_view' => SKANDROID_ABOL_Service::getInstance()->getAuthorizationActionStatus('photo', 'view'));
     $this->assign('auth', $auth);
     if (empty($params['userId'])) {
         $this->assign('list', array());
         return;
     }
     $userId = (int) $params['userId'];
     $service = PHOTO_BOL_PhotoAlbumService::getInstance();
     $list = $service->findUserAlbumList($userId, 1, 500, null, true);
     if ($list) {
         $result = array();
         foreach ($list as $album) {
             $count = isset($album['photo_count']) ? $album['photo_count'] : 0;
             if (!$count) {
                 continue;
             }
             $result[] = array('id' => $album['dto']->id, 'name' => $album['dto']->name, 'url' => $album['cover'], 'photoCount' => $count);
         }
         $list = $result;
     }
     $this->assign('list', $list);
 }
コード例 #5
0
ファイル: plugin.php プロジェクト: hardikamutech/loov
 public function init()
 {
     $service = SKANDROID_ABOL_Service::getInstance();
     $service->addRoute('skandroid.get_info', 'site/get-info', 'SKANDROID_ACTRL_Base', 'siteInfo');
     $service->addRoute('skandroid.user_get_info', 'site/user-get-info', 'SKANDROID_ACTRL_Base', 'userSiteInfo');
     /* ***************************** JK *************************** */
     $service->addRoute('skandroid.user_get_questions', 'user/get-questions/:id', 'SKANDROID_ACTRL_User', 'getQuestions');
     //
     $service->addRoute('skandroid.user_save_question', 'user/saveQuestion', 'SKANDROID_ACTRL_User', 'saveQuestion');
     // flags
     $service->addRoute('skandroid.report', 'user/sendReport', 'SKANDROID_ACTRL_User', 'sendReport');
     // Search
     $service->addRoute('skandroid.search.user_list', 'search/user-list', 'SKANDROID_ACTRL_Search', 'getList');
     $service->addRoute('skandroid.user_get_search_questions', 'user/get-search-questions', 'SKANDROID_ACTRL_User', 'getSearchQuestions');
     // Guests
     $service->addRoute('skandroid.guests.user_list', 'guests/userList', 'SKANDROID_ACTRL_Guests', 'getList');
     // Billing
     $service->addRoute('billing.subscribe_data', 'billing/subscribeData', 'SKANDROID_ACTRL_Billing', 'getSubscribeData');
     $service->addRoute('billing.suggest_options', 'billing/payment-options', 'SKANDROID_ACTRL_Billing', 'suggestPaymentOptions');
     $service->addRoute('billing.verify_sale', 'billing/verifySale', 'SKANDROID_ACTRL_Billing', 'verifySale');
     $service->addRoute('billing.preverify_sale', 'billing/preverifySale', 'SKANDROID_ACTRL_Billing', 'preverifySale');
     $service->addRoute('billing.set_trial_plan', 'billing/setTrialPlan', 'SKANDROID_ACTRL_Billing', 'setTrialPlan');
     // Bookmarks
     $service->addRoute('skandroid.bookmarks.user_list', 'bookmarks/userList', 'SKANDROID_ACTRL_Bookmarks', 'getList');
     $service->addRoute('skandroid.get-auth-status', 'base/authorization-action-status/', 'SKANDROID_ACTRL_Base', 'getAutorizationAction');
     /* ******************************* End **************************** */
     // Photo
     $service->addRoute('skandroid.photo.user_photo_list', 'photo/user-photo-list/:id', 'SKANDROID_ACTRL_Photo', 'getList');
     $service->addRoute('skandroid.photo.user_album_list', 'photo/user-album-list/:userId', 'SKANDROID_ACTRL_Photo', 'getAlbumList');
     $service->addRoute('skandroid.photo.album_photo_list', 'photo/album-photo-list/:albumId', 'SKANDROID_ACTRL_Photo', 'albumPhotoList');
     $service->addRoute('skandroid.photo.upload', 'photo/upload', 'SKANDROID_ACTRL_Photo', 'upload');
     $service->addRoute('skandroid.photo.delete_photos', 'photo/delete-photos', 'SKANDROID_ACTRL_Photo', 'deletePhotos');
     /* ***************************** Kairat *************************** */
     // Matches
     $service->addRoute('skandroid.matches_get_list', 'matches/list', 'SKANDROID_ACTRL_Matches', 'getList');
     // Speedmatch
     $service->addRoute('skandroid.speedmatches_get_list', 'speedmatches/list', 'SKANDROID_ACTRL_Speedmatches', 'getList');
     $service->addRoute('skandroid.speedmatches_like_user', 'speedmatches/like', 'SKANDROID_ACTRL_Speedmatches', 'likeUser');
     $service->addRoute('skandroid.speedmatches_skip_user', 'speedmatches/skip', 'SKANDROID_ACTRL_Speedmatches', 'skipUser');
     // Facebook Connect
     $service->addRoute('skandroid.fbconnect_questions', 'fbconnect/questions', 'SKANDROID_ACTRL_SignUp', 'getFacebookLoginQuestion');
     $service->addRoute('skandroid.fbconnect_save', 'fbconnect/save', 'SKANDROID_ACTRL_SignUp', 'saveFacebookLogin');
     $service->addRoute('skandroid.try_login', 'fbconnect/try-login', 'SKANDROID_ACTRL_SignUp', 'tryLogIn');
     // Bookmarks
     $service->addRoute('skandroid.bookmarks.mark_user', 'bookmarks/mark', 'SKANDROID_ACTRL_Bookmarks', 'markUser');
     // Base
     $service->addRoute('skandroid.base.get_text', 'base/get-text', 'SKANDROID_ACTRL_Base', 'getText');
     $service->addRoute('skandroid.base.get_custom_page', 'base/get-custom-page', 'SKANDROID_ACTRL_Base', 'customPage');
     // HotList
     $service->addRoute('skandroid.hotlist.count', 'hotlist/count', 'SKANDROID_ACTRL_HotList', 'getCount');
     $service->addRoute('skandroid.hotlist.user_list', 'hotlist/list', 'SKANDROID_ACTRL_HotList', 'getList');
     $service->addRoute('skandroid.hotlist.user_list.add', 'hotlist/list/add', 'SKANDROID_ACTRL_HotList', 'addToList');
     $service->addRoute('skandroid.hotlist.user_list.remove', 'hotlist/list/remove', 'SKANDROID_ACTRL_HotList', 'removeFromList');
     // Mailbox
     $service->addRoute('skandroid.mailbox.get_modes', 'mailbox/mode/get', 'SKANDROID_ACTRL_Mailbox', 'getModes');
     $service->addRoute('skandroid.mailbox.conversation_list', 'mailbox/conversation/list/:offset', 'SKANDROID_ACTRL_Mailbox', 'getConversationList');
     $service->addRoute('skandroid.mailbox.as_read', 'mailbox/conversation/as-read', 'SKANDROID_ACTRL_Mailbox', 'markAsRead');
     $service->addRoute('skandroid.mailbox.un_read', 'mailbox/conversation/un-read', 'SKANDROID_ACTRL_Mailbox', 'markUnRead');
     $service->addRoute('skandroid.mailbox.delete', 'mailbox/conversation/delete', 'SKANDROID_ACTRL_Mailbox', 'deleteConversation');
     $service->addRoute('skandroid.mailbox.get_messages', 'mailbox/messages', 'SKANDROID_ACTRL_Mailbox', 'getConversationMessages');
     $service->addRoute('skandroid.mailbox.get_history', 'mailbox/messages/history', 'SKANDROID_ACTRL_Mailbox', 'getConversationHistory');
     $service->addRoute('skandroid.mailbox.post_message', 'mailbox/message/send', 'SKANDROID_ACTRL_Mailbox', 'sendMessage');
     $service->addRoute('skandroid.mailbox.upload_attachment', 'mailbox/message/send-attachment', 'SKANDROID_ACTRL_Mailbox', 'uploadAttachment');
     $service->addRoute('skandroid.mailbox.attach_attachment', 'mailbox/compose/attach-attachment', 'SKANDROID_ACTRL_Mailbox', 'attachAttachment');
     $service->addRoute('skandroid.mailbox.delete_attachment', 'mailbox/compose/delete-attachment', 'SKANDROID_ACTRL_Mailbox', 'deleteAttachment');
     $service->addRoute('skandroid.mailbox.find_user', 'mailbox/compose/find-user', 'SKANDROID_ACTRL_Mailbox', 'findUser');
     $service->addRoute('skandroid.mailbox.compose_send', 'mailbox/compose/send', 'SKANDROID_ACTRL_Mailbox', 'createConversation');
     $service->addRoute('skandroid.mailbox.reply_send', 'mailbox/reply/send', 'SKANDROID_ACTRL_Mailbox', 'postReplyMessage');
     $service->addRoute('skandroid.mailbox.recipient_info', 'mailbox/recipient/info', 'SKANDROID_ACTRL_Mailbox', 'getRecipientInfo');
     $service->addRoute('skandroid.mailbox.chat_recipient_info', 'mailbox/chat-recipient/info', 'SKANDROID_ACTRL_Mailbox', 'getChatRecipientInfo');
     $service->addRoute('skandroid.mailbox.authorize_info', 'mailbox/authorize/info', 'SKANDROID_ACTRL_Mailbox', 'getAuthorizeInfo');
     $service->addRoute('skandroid.mailbox.authorize', 'mailbox/authorize', 'SKANDROID_ACTRL_Mailbox', 'authorize');
     $service->addRoute('skandroid.mailbox.wink_back', 'mailbox/wink-back', 'SKANDROID_ACTRL_Mailbox', 'winkBack');
     /* ******************************* End **************************** */
     $service->addRoute('skandroid.user.authenticate', 'user/authenticate', 'SKANDROID_ACTRL_User', 'authenticate');
     $service->addRoute('skandroid.base.check_api', 'base/check-api', 'SKANDROID_ACTRL_Base', 'checkApi');
     $service->addRoute('skandroid.block_user', 'user/block', 'SKANDROID_ACTRL_User', 'blockUser');
     $service->addRoute('skandroid.user.signout', 'user/signout', 'SKANDROID_ACTRL_User', 'signout');
     // Winks
     $service->addRoute('skandroid.winks.send_wink', 'winks/send-wink', 'SKANDROID_ACTRL_Winks', 'sendWink');
     // Exceptions
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.not_authenticated", "SKANDROID_ACTRL_User", "authenticate");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.not_authenticated", "SKANDROID_ACTRL_Base", "checkApi");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.not_authenticated", "SKANDROID_ACTRL_Base", "siteInfo");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.not_approved", "SKANDROID_ACTRL_Base", "siteInfo");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.not_verified", "SKANDROID_ACTRL_Base", "siteInfo");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.suspended", "SKANDROID_ACTRL_Base", "siteInfo");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.suspended", "SKANDROID_ACTRL_User", "signout");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.not_approved", "SKANDROID_ACTRL_User", "signout");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.not_authenticated", "SKANDROID_ACTRL_User", "signout");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.not_verified", "SKANDROID_ACTRL_User", "signout");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.not_authenticated", "SKANDROID_ACTRL_Base", "siteInfo");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.suspended", "SKANDROID_ACTRL_Ping", "ping");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.not_approved", "SKANDROID_ACTRL_Ping", "ping");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.not_authenticated", "SKANDROID_ACTRL_Ping", "ping");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.not_verified", "SKANDROID_ACTRL_Ping", "ping");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.not_authenticated", "SKANDROID_ACTRL_SignUp", "tryLogIn");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.not_authenticated", "SKANDROID_ACTRL_SignUp", "getFacebookLoginQuestion");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.not_authenticated", "SKANDROID_ACTRL_SignUp", "saveFacebookLogin");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.not_authenticated", "SKANDROID_ACTRL_Base", "getText");
     OW::getRequestHandler()->addCatchAllRequestsExclude("skandroid.not_authenticated", "SKANDROID_ACTRL_Base", "customPage");
     /* *************************************************************** */
     $handler = new SKANDROID_ACLASS_EventHandler();
     $handler->init();
     /*
     $service->addRoute('skandroid.get_custom_page', 'site/getCustomPage', 'SKANDROID_ACTRL_Base', 'customPage'));
     
     $service->addRoute('skandroid.user.current.getInfo', 'user/me/getInfo', 'SKANDROID_ACTRL_User', 'getInfo'));
     
     $service->addRoute('skandroid.user.test', 'user/test', 'SKANDROID_ACTRL_User', 'test'));
     $service->addRoute('skandroid.report', 'user/sendReport', 'SKANDROID_ACTRL_User', 'sendReport'));
     
     
     $service->addRoute('skandroid.user_set_location', 'user/setLocation', 'SKANDROID_ACTRL_User', 'setLocation'));
     $service->addRoute('skandroid.user_get_search_questions', 'user/getSearchQuestions', 'SKANDROID_ACTRL_User', 'getSearchQuestions'));
     $service->addRoute('skandroid.user_save_question', 'user/saveQuestion', 'SKANDROID_ACTRL_User', 'saveQuestion'));
     $service->addRoute('skandroid.avatar_change', 'user/avatarChange', 'SKANDROID_ACTRL_User', 'avatarChange'));
     $service->addRoute('skandroid.avatar_from_poto', 'user/avatarFromPhoto', 'SKANDROID_ACTRL_User', 'avatarFromPhoto'));
     
     // Hot List
     
     $service->addRoute('hotlist.user_list.add', 'hotlist/userList/add', 'SKANDROID_ACTRL_HotList', 'addToList'));
     $service->addRoute('hotlist.user_list.remove', 'hotlist/userList/remove', 'SKANDROID_ACTRL_HotList', 'removeFromList'));
     
     // Photo
     
     
     
     
     
     
     // Matches
     $service->addRoute('matches.user_list', 'matches/userList', 'SKANDROID_ACTRL_Matches', 'getList'));
     
     // SpeedMatch
     $service->addRoute('speedmatch.get_user', 'speedmatch/getUser', 'SKANDROID_ACTRL_Speedmatch', 'getUser'));
     $service->addRoute('speedmatch.get_criteria', 'speedmatch/getCriteria', 'SKANDROID_ACTRL_Speedmatch', 'getCriteria'));
     $service->addRoute('speedmatch.like_user', 'speedmatch/likeUser', 'SKANDROID_ACTRL_Speedmatch', 'likeUser'));
     $service->addRoute('speedmatch.skip_user', 'speedmatch/skipUser', 'SKANDROID_ACTRL_Speedmatch', 'skipUser'));
     
     // Bookmarks
     $service->addRoute('bookmarks.mark_user', 'bookmarks/markUser', 'SKANDROID_ACTRL_Bookmarks', 'markUser'));
     $service->addRoute('bookmarks.user_list', 'bookmarks/userList', 'SKANDROID_ACTRL_Bookmarks', 'getList'));
     
     // Winks
     $service->addRoute('winks.send_wink_back', 'winks/sendWinkBack', 'SKANDROID_ACTRL_Winks', 'sendWinkBack'));
     $service->addRoute('winks.accept_wink', 'winks/acceptWink', 'SKANDROID_ACTRL_Winks', 'acceptWink'));
     
     
     
     // Mailbox
     $service->addRoute('mailbox.get_unread_message_count', 'mailbox/getUnreadMessageCount', 'SKANDROID_ACTRL_Mailbox', 'getUnreadMessageCount'));
     $service->addRoute('mailbox.user_list', 'mailbox/userList', 'SKANDROID_ACTRL_Mailbox', 'getList'));
     $service->addRoute('mailbox.post_message', 'mailbox/postMessage', 'SKANDROID_ACTRL_Mailbox', 'postMessage'));
     $service->addRoute('mailbox.get_new_messages', 'mailbox/getNewMessages', 'SKANDROID_ACTRL_Mailbox', 'getNewMessages'));
     $service->addRoute('mailbox.get_messages', 'mailbox/getMessages', 'SKANDROID_ACTRL_Mailbox', 'getMessages'));
     $service->addRoute('mailbox.get_history', 'mailbox/getHistory', 'SKANDROID_ACTRL_Mailbox', 'getHistory'));
     $service->addRoute('mailbox.upload_attachment', 'mailbox/uploadAttachment', 'SKANDROID_ACTRL_Mailbox', 'uploadAttachment'));
     $service->addRoute('mailbox.authorize', 'mailbox/authorize', 'SKANDROID_ACTRL_Mailbox', 'authorize'));
     
     
     
     // Sign Up
     $service->addRoute('sign_up.question_list', 'signUp/questionList', 'SKANDROID_ACTRL_SignUp', 'questionList'));
     $service->addRoute('sign_up.save', 'signUp/save', 'SKANDROID_ACTRL_SignUp', 'save'));
     
     $service->addRoute('sign_up.try_log_in', 'signUp/tryLogIn', 'SKANDROID_ACTRL_SignUp', 'tryLogIn'));
     
     // Ping
     $service->addRoute('base.ping', 'base/Ping', 'SKANDROID_ACTRL_Ping', 'ping'));
     */
 }
コード例 #6
0
ファイル: billing.php プロジェクト: hardikamutech/loov
 private function getBenefits()
 {
     $authService = BOL_AuthorizationService::getInstance();
     $permissionList = $authService->getPermissionList();
     foreach ($permissionList as $permission) {
         /* @var $permission BOL_AuthorizationPermission */
         $permissions[$permission->roleId][$permission->actionId] = true;
     }
     $roleList = $authService->getRoleList();
     $groupList = SKANDROID_ABOL_Service::getInstance()->getAuthorizationActions();
     $pluginList = SKANDROID_ABOL_Service::getInstance()->getAndroidAvailablePluginList();
     foreach ($groupList as $key => $group) {
         if (count($group['actions']) === 0 || !OW::getPluginManager()->isPluginActive($group['name']) || !empty($pluginList) && !in_array($group['name'], $pluginList)) {
             unset($groupList[$key]);
         }
     }
     $result = array();
     /* @var $role BOL_AuthorizationRole */
     foreach ($roleList as $role) {
         /* @var $group BOL_AuthorizationGroup */
         foreach ($groupList as &$group) {
             foreach ($group['actions'] as &$action) {
                 $action['allowed'] = isset($permissions[$role->id][$action['id']]);
             }
         }
         $result[$role->id] = $groupList;
     }
     return $result;
 }
コード例 #7
0
 public function getAuthorizeInfo(array $actionNames)
 {
     if (count($actionNames) === 0) {
         return array();
     }
     $service = SKANDROID_ABOL_Service::getInstance();
     $info = array();
     foreach ($actionNames as $actionName) {
         $info[] = array('actionName' => $actionName, 'status' => $service->getAuthorizationActionStatus('mailbox', $actionName));
     }
     return $info;
 }
コード例 #8
0
ファイル: speedmatches.php プロジェクト: hardikamutech/loov
 public function getList($params)
 {
     $viewerId = !empty($params['userId']) ? $params['userId'] : OW::getUser()->getId();
     $first = empty($params['first']) ? 0 : $params['first'];
     $count = empty($params['count']) ? self::COUNT_LIST : $params['count'];
     $exclude = empty($params['exclude']) ? array() : json_decode($params['exclude']);
     $filter = empty($params['filter']) ? array() : json_decode($params['filter'], true);
     $validFilter = $this->getValidFilter($filter);
     $status = SKANDROID_ABOL_Service::getInstance()->getAuthorizationActionStatus('base', 'view_profile');
     if ($status['status'] != BOL_AuthorizationService::STATUS_AVAILABLE) {
         $this->assign('authorized', false);
         $this->assign('promoted', $status['status'] == BOL_AuthorizationService::STATUS_PROMOTED);
         $this->assign('authorizeMsg', $status['msg']);
         return;
     }
     $this->assign('authorized', true);
     if (empty($filter['match_sex_data'])) {
         $question = BOL_QuestionService::getInstance()->findQuestionByName('match_sex');
         $values = $_filter = array();
         foreach (BOL_QuestionService::getInstance()->findQuestionValues('match_sex') as $value) {
             $values[] = array('id' => $value->value, 'label' => BOL_QuestionService::getInstance()->getQuestionValueLang($value->questionName, $value->value));
         }
         if (in_array($question->presentation, array(BOL_QuestionService::QUESTION_PRESENTATION_SELECT, BOL_QuestionService::QUESTION_PRESENTATION_RADIO, BOL_QuestionService::QUESTION_PRESENTATION_MULTICHECKBOX))) {
             foreach ($values as $val) {
                 if ($val['id'] & $validFilter['sex']) {
                     $_filter[] = $val['id'];
                 }
             }
         } else {
             $_filter[] = $validFilter['match_sex'];
         }
         $filter['match_sex'] = $_filter;
         $filter['match_sex_data'] = $values;
     }
     if (isset($validFilter['googlemap_location'])) {
         $filter['googlemap_location'] = $validFilter['googlemap_location'];
     }
     $filter['match_age'] = $validFilter['birthdate'];
     $this->assign('filter', $filter);
     //unset($validFilter['googlemap_location']);
     $userIdList = $this->getSpeedmatchUserIdList($viewerId, $first, $count, $validFilter, $exclude);
     if (empty($userIdList)) {
         $this->assign('list', array());
         return;
     }
     $userService = BOL_UserService::getInstance();
     $questionService = BOL_QuestionService::getInstance();
     $userList = $accountTypes = $compatibility = array();
     foreach ($userService->findUserListByIdList($userIdList) as $user) {
         $userList[$user->id] = $user;
         $accountTypes[] = $user->accountType;
     }
     if ($_compatibility = OW::getEventManager()->call('matchmaking.get_compatibility_for_list', array('userId' => $viewerId, 'idList' => $userIdList))) {
         foreach ($_compatibility as $userId => $c) {
             $compatibility[$userId] = (int) $c;
         }
     }
     $accountTypes = array_unique($accountTypes);
     $totalQuestions = $accountTypeQuestions = $matchQuestions = array();
     foreach ($accountTypes as $accountType) {
         $questionsForAccountType = $questionService->findViewQuestionsForAccountType($accountType);
         $questions = array();
         foreach ($this->priorityQuestions as $pq) {
             foreach ($questionsForAccountType as $qfa) {
                 if ($qfa['name'] == $pq) {
                     $questions[] = $qfa;
                     $this->forbiddenQuestions[] = $qfa['name'];
                     $matchQuestions[] = $qfa['name'];
                     break;
                 }
             }
         }
         foreach ($questionsForAccountType as $question) {
             if ($question['sectionName'] == 'about_my_match') {
                 $questions[] = $question;
                 $this->forbiddenQuestions[] = $question['name'];
                 if ($question['name'] == 'relationship') {
                     $matchQuestions[] = 'relationship';
                 }
             }
         }
         $questionsForAccountType = array_filter($questionsForAccountType, array($this, 'filterQuestionForAccount'));
         $questionsForAccountType = array_merge($questions, $questionsForAccountType);
         $accountTypeQuestions[$accountType] = $questionsForAccountType;
         $totalQuestions = array_merge($totalQuestions, $accountTypeQuestions[$accountType]);
     }
     $totalQuestions = array_unique(array_map(array($this, 'filterTotalQuestion'), $totalQuestions));
     $displayNameList = $userService->getDisplayNamesForList($userIdList);
     $avatarList = array();
     $skadateService = SKADATE_BOL_Service::getInstance();
     foreach ($skadateService->findAvatarListByUserIdList($userIdList) as $avatar) {
         $avatarList[$avatar->userId] = $skadateService->getAvatarUrl($avatar->userId, $avatar->hash);
     }
     $avatarService = BOL_AvatarService::getInstance();
     $avatarList += $avatarService->getAvatarsUrlList(array_diff($userIdList, array_keys($avatarList)), 2);
     $avatarList = array_filter($avatarList, array($this, 'filterAvatarList'));
     $onlineStatus = BOL_UserService::getInstance()->findOnlineStatusForUserList($userIdList);
     $questionsData = $questionService->getQuestionData($userIdList, array_merge($totalQuestions, $this->baseQuestions));
     $userData = array();
     $authorizeMsg = '';
     $isAuthorized = $isSubscribe = OW::getUser()->isAuthorized('photo', 'view');
     if (!$isAuthorized) {
         $status = SKANDROID_ABOL_Service::getInstance()->getAuthorizationActionStatus('photo', 'view');
         $isSubscribe = $status['status'] == BOL_AuthorizationService::STATUS_PROMOTED;
         $authorizeMsg = $status['msg'];
     }
     foreach ($questionsData as $userId => $data) {
         $user = $userPhotos = array();
         if ($isAuthorized) {
             $event = new OW_Event('photo.getMainAlbum', array('userId' => $userId));
             OW::getEventManager()->trigger($event);
             $album = $event->getData();
             if (!empty($album['photoList'])) {
                 foreach ($album['photoList'] as $photo) {
                     if ($photo['status'] == PHOTO_BOL_PhotoDao::STATUS_APPROVED) {
                         $userPhotos[] = $photo['url']['main'];
                     }
                 }
             }
         }
         $user['userId'] = $userId;
         $user['isAuthorized'] = $isAuthorized;
         $user['isSubscribe'] = $isSubscribe;
         $user['authorizeMsg'] = $authorizeMsg;
         $user['isOnline'] = !empty($onlineStatus[$userId]);
         $user['displayName'] = $displayNameList[$userId];
         $user['location'] = empty($data['googlemap_location']['address']) ? '' : $data['googlemap_location']['address'];
         $date = UTIL_DateTime::parseDate($data['birthdate'], UTIL_DateTime::MYSQL_DATETIME_DATE_FORMAT);
         $user['ages'] = UTIL_DateTime::getAge($date['year'], $date['month'], $date['day']);
         $user['avatar'] = !empty($avatarList[$userId]) ? $avatarList[$userId] : null;
         $user['photos'] = $userPhotos;
         $user['compatibility'] = isset($compatibility[$userId]) ? $compatibility[$userId] : null;
         $user['info'] = array();
         $f = array();
         foreach ($accountTypeQuestions[$userList[$userId]->accountType] as $question) {
             if ($question['name'] == 'relationship' && array_search('relationship', $matchQuestions) !== false) {
                 continue;
             }
             $questionName = $question['name'];
             if (empty($data[$questionName]) || array_search($questionName, $f) !== false) {
                 continue;
             }
             $f[] = $questionName;
             $user['info'][] = $this->getUserInfo($userId, $question, $data[$questionName]);
         }
         $userData[] = $user;
     }
     $this->assign('list', $userData);
 }
コード例 #9
0
ファイル: search.php プロジェクト: hardikamutech/loov
 public function getList($params)
 {
     $service = SKANDROID_ABOL_Service::getInstance();
     $auth = array('photo_view' => $service->getAuthorizationActionStatus('photo', 'view'), 'base_search_users' => $service->getAuthorizationActionStatus('base', 'search_users'));
     $this->assign('auth', $auth);
     if ($auth["base_search_users"]["status"] != BOL_AuthorizationService::STATUS_AVAILABLE) {
         $this->assign("list", array());
         $this->assign("total", 0);
         return;
     }
     $_criteriaList = array_filter(json_decode($params["criteriaList"], true));
     $userId = OW::getUser()->getId();
     $userInfo = BOL_QuestionService::getInstance()->getQuestionData(array($userId), array("sex", 'match_sex'));
     $_criteriaList["sex"] = !empty($userInfo[$userId]["sex"]) ? $userInfo[$userId]["sex"] : null;
     if (OW::getPluginManager()->isPluginActive('googlelocation')) {
         $location = null;
         $json = null;
         if (!empty($_criteriaList["current_location"]) && $_criteriaList["current_location"] != "false" && !empty($_criteriaList["current_location_address"])) {
             $location = !empty($_criteriaList["current_location_address"]) ? json_decode($_criteriaList["current_location_address"], true) : null;
             $json = $_criteriaList["current_location_address"];
         } else {
             if (!empty($_criteriaList["custom_location"])) {
                 $location = !empty($_criteriaList["custom_location"]) ? json_decode($_criteriaList["custom_location"], true) : null;
                 $json = $_criteriaList["custom_location"];
             }
         }
         if (!empty($location)) {
             $value = array('distance' => !empty($_criteriaList['distance']) ? $_criteriaList['distance'] : 0, 'address' => $location['address'], 'latitude' => $location['latitude'], 'longitude' => $location['longitude'], 'northEastLat' => $location['northEastLat'], 'northEastLng' => $location['northEastLng'], 'southWestLat' => $location['southWestLat'], 'southWestLng' => $location['southWestLng'], 'json' => $json);
             $_criteriaList['googlemap_location'] = $value;
         }
     }
     unset($_criteriaList["current_location"]);
     unset($_criteriaList["current_location_address"]);
     unset($_criteriaList["custom_location"]);
     $questionList = BOL_QuestionService::getInstance()->findQuestionByNameList(array_keys($_criteriaList));
     $criteriaList = array();
     foreach ($_criteriaList as $questionName => $questionValue) {
         if (empty($questionList[$questionName])) {
             continue;
         }
         $criteriaList[$questionName] = $this->convertQuestionValue($questionList[$questionName]->presentation, $questionValue);
     }
     if (empty($criteriaList['match_sex']) && !empty($userInfo[$userId]["match_sex"])) {
         $criteriaList['match_sex'] = $userInfo[$userId]["match_sex"];
     }
     $idList = OW::getEventManager()->call("usearch.get_user_id_list_for_android", array("criterias" => $criteriaList, "limit" => array($params["first"], $params["count"])));
     $idList = empty($idList) ? array() : $idList;
     //$idList = BOL_UserService::getInstance()->findUserIdListByQuestionValues($criteriaList, $params["first"], $params["count"]);
     $total = BOL_UserService::getInstance()->countUsersByQuestionValues($criteriaList);
     //$idList = empty($idList) ? array() : $idList;
     $userData = BOL_AvatarService::getInstance()->getDataForUserAvatars($idList, false, false, true, true);
     $questionsData = BOL_QuestionService::getInstance()->getQuestionData($idList, array("googlemap_location", "birthdate"));
     $displayNames = BOL_UserService::getInstance()->getDisplayNamesForList($idList);
     foreach ($questionsData as $userId => $data) {
         $date = UTIL_DateTime::parseDate($data['birthdate'], UTIL_DateTime::MYSQL_DATETIME_DATE_FORMAT);
         $userData[$userId]["ages"] = UTIL_DateTime::getAge($date['year'], $date['month'], $date['day']);
         $userData[$userId]["location"] = empty($data["googlemap_location"]["address"]) ? null : $data["googlemap_location"]["address"];
     }
     $photoList = array();
     $avatars = array();
     foreach ($idList as $userId) {
         $bigAvatar = SKADATE_BOL_Service::getInstance()->findAvatarByUserId($userId);
         $event = new OW_Event('photo.getMainAlbum', array('userId' => $userId));
         OW::getEventManager()->trigger($event);
         $album = $event->getData();
         $photos = !empty($album['photoList']) ? $album['photoList'] : array();
         if ($bigAvatar) {
             $avatars[$userId] = SKADATE_BOL_Service::getInstance()->getAvatarUrl($userId, $bigAvatar->hash);
         } else {
             $avatars[$userId] = BOL_AvatarService::getInstance()->getAvatarUrl($userId, 2);
             if ($avatars[$userId] == BOL_AvatarService::getInstance()->getDefaultAvatarUrl(2)) {
                 unset($avatars[$userId]);
             }
         }
         foreach ($photos as $photo) {
             if ($photo['status'] == PHOTO_BOL_PhotoDao::STATUS_APPROVED) {
                 $photoList[$userId][] = array("src" => $photo["url"]["main"]);
             }
         }
     }
     $bookmarksList = OW::getEventManager()->call("bookmarks.get_mark_list", array("userId" => OW::getUser()->getId(), "idList" => $idList));
     $bookmarksList = empty($bookmarksList) ? array() : $bookmarksList;
     $list = array();
     foreach ($idList as $userId) {
         $list[] = array("userId" => $userId, "avatar" => !empty($avatars[$userId]) ? $avatars[$userId] : "", "photos" => empty($photoList[$userId]) ? array() : $photoList[$userId], "name" => empty($userData[$userId]["title"]) ? "" : $userData[$userId]["title"], "displayName" => !empty($displayNames[$userId]) ? $displayNames[$userId] : "", "label" => $userData[$userId]["label"], "labelColor" => $userData[$userId]["labelColor"], "location" => empty($userData[$userId]["location"]) ? "" : $userData[$userId]["location"], "ages" => $userData[$userId]["ages"], "bookmarked" => !empty($bookmarksList[$userId]));
     }
     $this->assign("list", $list);
     $this->assign("total", $total);
     BOL_AuthorizationService::getInstance()->trackAction("base", "search_users");
 }
コード例 #10
0
ファイル: init.php プロジェクト: hardikamutech/loov
<?php

/**
 * Copyright (c) 2014, Skalfa LLC
 * All rights reserved.
 *
 * ATTENTION: This commercial software is intended for exclusive use with SkaDate Dating Software (http://www.skadate.com) and is licensed under SkaDate Exclusive License by Skalfa LLC.
 *
 * Full text of this license can be found at http://www.skadate.com/sel.pdf
 */
//OW_Auth::getInstance()->login(1);
$service = SKANDROID_ABOL_Service::getInstance();
if (SKANDROID_ACLASS_Plugin::getInstance()->isAndroidRequest()) {
    SKANDROID_ACLASS_Plugin::getInstance()->init();
}
コード例 #11
0
ファイル: matches.php プロジェクト: hardikamutech/loov
 public function getList($params)
 {
     $userId = !empty($params['userId']) ? $params['userId'] : OW::getUser()->getId();
     $page = !empty($params['page']) ? abs((int) $params['page']) : 1;
     $limit = !empty($params['limit']) ? abs((int) $params['limit']) : self::COUNT;
     $first = ($page - 1) * $limit;
     $countMatches = $this->getUserCountMatches($userId);
     if (empty($countMatches)) {
         $this->assign('list', array());
         return;
     }
     $sort = !empty($params['sort']) && $this->isAvailableSort($params['sort']) ? $params['sort'] : $this->getDefaultSort();
     $matchList = $this->getUserMatches($userId, $sort, $first, $limit);
     if (empty($matchList)) {
         $this->assign('list', array());
         return;
     }
     $userIdList = array();
     $compatibilityList = array();
     foreach ($matchList as $item) {
         $userIdList[] = $item['id'];
         $compatibilityList[$item['id']] = $item['compatibility'];
     }
     //        $userRoleList = array();
     //
     //        foreach ( BOL_AuthorizationService::getInstance()->getRoleListOfUsers($userIdList) as $role )
     //        {
     //            $userRoleList[$role['userId']] = array('label' => $role['label'], 'custom' => $role['custom']);
     //        }
     $userData = array();
     $displayNameList = BOL_UserService::getInstance()->getDisplayNamesForList($userIdList);
     $questionsData = BOL_QuestionService::getInstance()->getQuestionData($userIdList, array('googlemap_location', 'birthdate'));
     foreach ($questionsData as $_userId => $data) {
         $date = UTIL_DateTime::parseDate($data['birthdate'], UTIL_DateTime::MYSQL_DATETIME_DATE_FORMAT);
         $userData[$_userId]['ages'] = UTIL_DateTime::getAge($date['year'], $date['month'], $date['day']);
         $userData[$_userId]['displayName'] = $displayNameList[$_userId];
         $userData[$_userId]['location'] = empty($data['googlemap_location']['address']) ? '' : $data['googlemap_location']['address'];
     }
     $avatarList = array();
     $skadateService = SKADATE_BOL_Service::getInstance();
     foreach ($skadateService->findAvatarListByUserIdList($userIdList) as $avatar) {
         $avatarList[$avatar->userId] = $skadateService->getAvatarUrl($avatar->userId, $avatar->hash);
     }
     foreach (array_diff($userIdList, array_keys($avatarList)) as $_userId) {
         $avatarList[$_userId] = BOL_AvatarService::getInstance()->getAvatarUrl($_userId, 2);
     }
     $list = array();
     $authorizeMsg = '';
     $bookmarksList = $this->getUserBookmarkList($userId, $userIdList);
     $isAuthorized = $isSubscribe = OW::getUser()->isAuthorized('photo', 'view');
     if (!$isAuthorized) {
         $status = SKANDROID_ABOL_Service::getInstance()->getAuthorizationActionStatus('photo', 'view');
         $isSubscribe = $status['status'] == BOL_AuthorizationService::STATUS_PROMOTED;
         $authorizeMsg = $status['msg'];
     }
     foreach ($userIdList as $userId) {
         $event = new OW_Event('photo.getMainAlbum', array('userId' => $userId));
         OW::getEventManager()->trigger($event);
         $album = $event->getData();
         $userPhotos = array();
         $photos = !empty($album['photoList']) ? $album['photoList'] : array();
         foreach ($photos as $photo) {
             if ($photo['status'] == PHOTO_BOL_PhotoDao::STATUS_APPROVED) {
                 $userPhotos[] = $photo['url']['main'];
             }
         }
         $list[] = array('userId' => $userId, 'isAuthorized' => $isAuthorized, 'isSubscribe' => $isSubscribe, 'displayName' => $userData[$userId]['displayName'], 'compatibility' => $compatibilityList[$userId], 'location' => $userData[$userId]['location'], 'ages' => $userData[$userId]['ages'], 'bookmarked' => !empty($bookmarksList[$userId]), 'avatar' => !empty($avatarList[$userId]) ? $avatarList[$userId] : null, 'photos' => $userPhotos, 'authorizeMsg' => $authorizeMsg);
     }
     $this->assign('list', $list);
 }
コード例 #12
0
ファイル: base.php プロジェクト: hardikamutech/loov
 public function getAutorizationAction(array $params)
 {
     if (empty($params) || !is_array($params)) {
         throw new ApiAccessException("Invalid params");
     }
     $auth = array();
     foreach ($params as $key => $value) {
         $auth[$key . "_" . $value] = SKANDROID_ABOL_Service::getInstance()->getAuthorizationActionStatus($key, $value);
     }
     $this->assign('auth', $auth);
 }
コード例 #13
0
ファイル: user.php プロジェクト: hardikamutech/loov
 public function setLocation($params)
 {
     $userId = OW::getUser()->getId();
     if (!$userId) {
         throw new ApiResponseErrorException();
     }
     if (empty($params['lat']) || empty($params['lon'])) {
         throw new ApiResponseErrorException();
     }
     $set = SKANDROID_ABOL_Service::getInstance()->setUserCurrentLocation($userId, $params['lat'], $params['lon']);
     $this->assign('status', $set);
 }