public function onBeforeRender() { parent::onBeforeRender(); $limit = MBOL_ConsoleService::SECTION_ITEMS_LIMIT; $this->addComponent('itemsCmp', new FRIENDS_MCMP_ConsoleItems($limit)); $this->assign('loadMore', $this->service->count(null, OW::getUser()->getId(), FRIENDS_BOL_Service::STATUS_PENDING) > $limit); OW::getDocument()->addScript(OW::getPluginManager()->getPlugin('friends')->getStaticJsUrl() . 'mobile.js'); $params = array('acceptUrl' => OW::getRouter()->urlFor('FRIENDS_MCTRL_Action', 'accept'), 'ignoreUrl' => OW::getRouter()->urlFor('FRIENDS_MCTRL_Action', 'ignore')); $script = 'var friendsConsole = new OWM_FriendsConsole(' . json_encode($params) . ');'; OW::getDocument()->addOnloadScript($script); }
public function __construct(BASE_CLASS_WidgetParameter $params) { parent::__construct(); $service = FRIENDS_BOL_Service::getInstance(); $userId = $params->additionalParamList['entityId']; $count = (int) $params->customParamList['count']; $idList = $service->findUserFriendsInList($userId, 0, $count); $total = $service->countFriends($userId); $userService = BOL_UserService::getInstance(); $eventParams = array('action' => 'friends_view', 'ownerId' => $userId, 'viewerId' => OW::getUser()->getId()); try { OW::getEventManager()->getInstance()->call('privacy_check_permission', $eventParams); } catch (RedirectException $e) { $this->setVisible(false); return; } if (empty($idList) && !$params->customizeMode) { $this->setVisible(false); return; } if (!empty($idList)) { $this->addComponent('userList', new BASE_CMP_AvatarUserList($idList)); } $username = BOL_UserService::getInstance()->getUserName($userId); $toolbar = array(); if ($total > $count) { $toolbar = array(array('label' => OW::getLanguage()->text('base', 'view_all'), 'href' => OW::getRouter()->urlForRoute('friends_user_friends', array('user' => $username)))); } $this->assign('toolbar', $toolbar); }
/** * Returns class instance * * @return FRIENDS_BOL_Service */ public static function getInstance() { if (self::$classInstance === null) { self::$classInstance = new self(); } return self::$classInstance; }
public function onUserRegister(OW_Event $event) { $params = $event->getParams(); if (empty($params['params']['code'])) { return; } $userIds = array(); foreach ($this->providers as $provider) { $inviters = $provider->getInviters($params['params']['code']); if ($inviters && is_array($inviters)) { $userIds = array_merge($userIds, $inviters); } } $fService = FRIENDS_BOL_Service::getInstance(); $newId = $params['userId']; foreach ($userIds as $uid) { $event = new OW_Event('friends.add_friend', array('requesterId' => $uid, 'userId' => $newId)); OW::getEventManager()->trigger($event); /*$eventParams = array('pluginKey' => 'contactimporter', 'action' => 'import_friend', 'userId' => $userId); if ( OW::getEventManager()->call('usercredits.check_balance', $eventParams) === true ) { OW::getEventManager()->call('usercredits.track_action', $eventParams); }*/ } }
public function countNewItems(BASE_CLASS_EventCollector $event) { $params = $event->getParams(); if ($params['page'] == self::CONSOLE_PAGE_KEY) { $service = FRIENDS_BOL_Service::getInstance(); $event->add(array(self::CONSOLE_SECTION_KEY => $service->count(null, OW::getUser()->getId(), FRIENDS_BOL_Service::STATUS_PENDING, null, false))); } }
/** * Constructor. */ public function __construct($timestamp) { parent::__construct(); $service = FRIENDS_BOL_Service::getInstance(); $userId = OW::getUser()->getId(); $requests = $service->findNewRequestList($userId, $timestamp); $items = FRIENDS_MCMP_ConsoleItems::prepareData($requests); $this->assign('items', $items); // Mark as viewed $service->markAllViewedByUserId($userId); $tpl = OW::getPluginManager()->getPlugin('friends')->getMobileCmpViewDir() . 'console_items.html'; $this->setTemplate($tpl); }
public function ignore() { if (!OW::getRequest()->isAjax()) { throw new Redirect403Exception(); } if (!OW::getUser()->isAuthenticated()) { throw new AuthenticateException(); } $userId = (int) OW::getUser()->getId(); $requesterId = (int) $_POST['id']; $service = FRIENDS_BOL_Service::getInstance(); $service->ignore($requesterId, $userId); exit(json_encode(array('result' => true))); }
public function loadList(BASE_CLASS_ConsoleListEvent $event) { $params = $event->getParams(); $userId = OW::getUser()->getId(); if ($params['target'] != self::CONSOLE_ITEM_KEY) { return; } $requests = $this->service->findRequestList($userId, $params['console']['time'], $params['offset'], 10); $requestIds = array(); foreach ($requests as $request) { $avatar = BOL_AvatarService::getInstance()->getDataForUserAvatars(array($request->userId), true, true, true, false); $avatar = $avatar[$request->userId]; $userUrl = OW::getRouter()->urlForRoute('base_user_profile', array('username' => BOL_UserService::getInstance()->getUserName($request->userId))); $displayName = BOL_UserService::getInstance()->getDisplayName($request->userId); $string = OW::getLanguage()->text('friends', 'console_request_item', array('userUrl' => $userUrl, 'displayName' => $displayName)); $item = new FRIENDS_CMP_RequestItem(); $item->setAvatar($avatar); $item->setContent($string); $item->setToolbar(array(array('label' => OW::getLanguage()->text('friends', 'accept_request'), 'id' => 'friend_request_accept_' . $request->userId), array('label' => OW::getLanguage()->text('friends', 'ignore_request'), 'id' => 'friend_request_ignore_' . $request->userId))); if (!$request->viewed) { $item->addClass('ow_console_new_message'); } $js = UTIL_JsGenerator::newInstance(); $js->jQueryEvent('#friend_request_accept_' . $request->userId, 'click', <<<EOT OW.FriendRequest.accept('{$item->getKey()}', {$request->userId}); EOT ); $js->jQueryEvent('#friend_request_ignore_' . $request->userId, 'click', <<<EOT OW.FriendRequest.ignore('{$item->getKey()}', {$request->userId}); EOT ); OW::getDocument()->addOnloadScript($js->generateJs()); $requestIds[] = $request->id; $event->addItem($item->render()); } $this->service->markViewedByIds($requestIds); }
public function sendFriendRequest(OW_Event $event) { $params = $event->getParams(); if (empty($params['requesterId']) || empty($params['userId'])) { return; } $requesterId = $params['requesterId']; $userId = $params['userId']; $frendshipDto = $this->service->findFriendship($requesterId, $userId); if (!empty($frendshipDto)) { return; } $this->service->request($requesterId, $userId); $event = new OW_Event('friends.request-sent', array('senderId' => $requesterId, 'recipientId' => $userId, 'time' => time())); OW::getEventManager()->trigger($event); }
public function __construct(BASE_CLASS_WidgetParameter $params) { parent::__construct(); $service = FRIENDS_BOL_Service::getInstance(); if (empty($params->additionalParamList['entityId'])) { $userId = OW::getUser()->getId(); } else { $userId = $params->additionalParamList['entityId']; } $this->assign('count', (int) FRIENDS_BOL_Service::getInstance()->countFriends($userId)); $this->assign('gotCount', (int) $service->count(null, $userId, FRIENDS_BOL_Service::STATUS_PENDING)); $this->assign('sentCount', (int) $service->count($userId, null, FRIENDS_BOL_Service::STATUS_PENDING, FRIENDS_BOL_Service::STATUS_IGNORED)); $this->assign('friendsUrl', OW::getRouter()->urlForRoute('friends_list')); $this->assign('sentRequestsUrl', OW::getRouter()->urlForRoute('friends_lists', array('list' => 'sent-requests'))); $this->assign('gotRequestsUrl', OW::getRouter()->urlForRoute('friends_lists', array('list' => 'got-requests'))); }
/** * Constructor. */ public function __construct($limit, $exclude = null) { parent::__construct(); $service = FRIENDS_BOL_Service::getInstance(); $userId = OW::getUser()->getId(); $requests = $service->findRequestList($userId, time(), 0, $limit, $exclude); $items = self::prepareData($requests); $this->assign('items', $items); // Mark as viewed $service->markAllViewedByUserId($userId); $requestIdList = array(); foreach ($requests as $id => $request) { $requestIdList[] = $id; } $exclude = is_array($exclude) ? array_merge($exclude, $requestIdList) : $requestIdList; $loadMore = (bool) $service->count(null, $userId, FRIENDS_BOL_Service::STATUS_PENDING, null, null, $exclude); if (!$loadMore) { $script = "OWM.trigger('mobile.console_hide_friends_load_more', {});"; OW::getDocument()->addOnloadScript($script); } }
public function ajax() { if (!OW::getRequest()->isAjax()) { throw new Redirect403Exception(); } if (!OW::getUser()->isAuthenticated()) { throw new AuthenticateException(); } $command = $_POST['command']; $data = json_decode($_POST['data'], true); $result = ''; switch ($command) { case 'friends-accept': $userId = (int) OW::getUser()->getId(); $requesterId = (int) $data['id']; $service = FRIENDS_BOL_Service::getInstance(); $frendshipDto = $service->accept($userId, $requesterId); if (!empty($frendshipDto)) { $service->onAccept($userId, $requesterId, $frendshipDto); } $feedback = OW::getLanguage()->text('friends', 'feedback_request_accepted'); $result = "OW.info('{$feedback}');"; break; case 'friends-ignore': $userId = (int) OW::getUser()->getId(); $requesterId = (int) $data['id']; $service = FRIENDS_BOL_Service::getInstance(); $service->ignore($requesterId, $userId); $feedback = OW::getLanguage()->text('friends', 'feedback_request_ignored'); $result = "OW.info('{$feedback}');"; break; } echo json_encode(array('script' => $result)); exit; }
public function onCollectButtons(BASE_CLASS_EventCollector $event) { $params = $event->getParams(); if ($params["entityType"] != HINT_BOL_Service::ENTITY_TYPE_USER) { return; } $userId = $params["entityId"]; $uniqId = uniqid("hint-af-"); if (!OW::getUser()->isAuthenticated() || OW::getUser()->getId() == $userId || !OW::getUser()->isAuthorized('friends', 'add_friend')) { return; } $service = FRIENDS_BOL_Service::getInstance(); $language = OW::getLanguage(); $dto = $service->findFriendship($userId, OW::getUser()->getId()); $js = UTIL_JsGenerator::newInstance(); $blocked = BOL_UserService::getInstance()->isBlocked(OW::getUser()->getId(), $userId); $label = null; $command = "friends.add"; if ($dto === null) { if ($blocked) { $js->jQueryEvent('#' . $uniqId, 'click', 'OW.error(e.data.msg); return false;', array('e'), array("msg" => $language->text('base', 'user_block_message'))); } $label = $language->text('hint', 'button_friends_add_label'); } else { switch ($dto->getStatus()) { case FRIENDS_BOL_Service::STATUS_ACTIVE: $label = $language->text('hint', 'button_friends_remove_label'); $command = "friends.cancel"; break; case FRIENDS_BOL_Service::STATUS_PENDING: if ($dto->getUserId() == OW::getUser()->getId()) { //$label = $language->text('friends', 'remove_from_friends'); $label = $language->text('hint', 'button_friends_remove_label'); $command = "friends.cancel"; } else { //$label = $language->text('friends', 'add_to_friends'); $label = $language->text('hint', 'button_friends_add_label'); $command = "friends.accept"; } break; case FRIENDS_BOL_Service::STATUS_IGNORED: if ($dto->getUserId() == OW::getUser()->getId()) { $label = $language->text('hint', 'button_friends_remove_label'); $command = "friends.cancel"; } else { $label = $language->text('hint', 'button_friends_add_label'); $command = "friends.activate"; } } } if (!$blocked) { $js->jQueryEvent('#' . $uniqId, 'click', ' var self = $(this), command = self.data("command"); HINT.UTILS.toggleText(this, e.data.l1, e.data.l2); self.data("command", command == "friends.cancel" ? "friends.add" : "friends.cancel"); HINT.UTILS.query(command, e.data.params); return false;', array('e'), array("l1" => $language->text('hint', 'button_friends_add_label'), "l2" => $language->text('hint', 'button_friends_remove_label'), "params" => array("userId" => $userId))); } OW::getDocument()->addOnloadScript($js); $button = array("key" => "friends", "label" => $label, "attrs" => array("id" => $uniqId, "data-command" => $command)); $event->add($button); }
public function getUserFriends($userId) { $friendsCount = FRIENDS_BOL_Service::getInstance()->countFriends($userId); $friends = FRIENDS_BOL_Service::getInstance()->findFriendIdList($userId, 0, $friendsCount); $list = array(); foreach ($friends as $friend) { if (OW::getAuthorization()->isUserAuthorized($friend, 'credits', 'receive')) { $list[$friend] = BOL_UserService::getInstance()->getDisplayName($friend); } } return $list; }
/** * Get submenu for friendship lists * * @return BASE_CMP_ContentMenu */ protected function getMenu() { $items = array(); $language = OW::getLanguage(); $userId = OW::getUser()->getId(); $count = FRIENDS_BOL_Service::getInstance()->countFriends($userId); $item = new BASE_MenuItem(); $item->setLabel($language->text('friends', 'friends_tab', array('count' => $count > 0 ? "({$count})" : ''))); $item->setKey('friends'); $item->setUrl(OW::getRouter()->urlForRoute('friends_list')); $item->setOrder(1); $item->setIconClass('ow_ic_clock'); $items[] = $item; $count = FRIENDS_BOL_Service::getInstance()->count($userId, null, FRIENDS_BOL_Service::STATUS_PENDING, FRIENDS_BOL_Service::STATUS_IGNORED); $item = new BASE_MenuItem(); $item->setLabel($language->text('friends', 'sent_requests_tab', array('count' => $count > 0 ? "({$count})" : ''))); $item->setKey('sent_requests'); $item->setUrl(OW::getRouter()->urlForRoute('friends_lists', array('list' => 'sent-requests'))); $item->setOrder(2); $item->setIconClass('ow_ic_push_pin'); $items[] = $item; $count = FRIENDS_BOL_Service::getInstance()->count(null, $userId, FRIENDS_BOL_Service::STATUS_PENDING); $item = new BASE_MenuItem(); $item->setLabel($language->text('friends', 'got_requests_tab', array('count' => $count > 0 ? "({$count})" : ''))); $item->setKey('got_requests'); $item->setUrl(OW::getRouter()->urlForRoute('friends_lists', array('list' => 'got-requests'))); $item->setOrder(3); $item->setIconClass('ow_ic_push_pin'); $items[] = $item; return new BASE_CMP_ContentMenu($items); }
public function onActionToolbarAddFriendActionTool(BASE_CLASS_EventCollector $event) { $params = $event->getParams(); if (!OW::getUser()->isAuthenticated()) { return; } if (empty($params['userId'])) { return; } if ($params['userId'] == OW::getUser()->getId()) { return; } $userId = (int) $params['userId']; $language = OW::getLanguage(); $router = OW::getRouter(); $dto = FRIENDS_BOL_Service::getInstance()->findFriendship($userId, OW::getUser()->getId()); $linkId = 'friendship' . rand(10, 1000000); if ($dto === null) { if (!OW::getUser()->isAuthorized('friends', 'add_friend')) { $status = BOL_AuthorizationService::getInstance()->getActionStatus('friends', 'add_friend'); if ($status['status'] == BOL_AuthorizationService::STATUS_PROMOTED) { $href = 'javascript://'; $script = '$({$link}).click(function(){ OWM.ajaxFloatBox(\'FRIENDS_MCMP_Notification\', [{$message}], {}); });'; $script = UTIL_JsGenerator::composeJsString($script, array('link' => '#' . $linkId, 'message' => $status['msg'])); OW::getDocument()->addOnloadScript($script); } else { if ($status['status'] != BOL_AuthorizationService::STATUS_AVAILABLE) { return; } } } else { if (BOL_UserService::getInstance()->isBlocked(OW::getUser()->getId(), $userId)) { $href = 'javascript://'; $script = '$({$link}).click(function(){ OWM.ajaxFloatBox(\'FRIENDS_MCMP_Notification\', [{$message}], {}); });'; $script = UTIL_JsGenerator::composeJsString($script, array('link' => '#' . $linkId, 'message' => OW::getLanguage()->text('base', 'user_block_message'))); OW::getDocument()->addOnloadScript($script); } else { $href = $router->urlFor('FRIENDS_CTRL_Action', 'request', array('id' => $userId)); } } $label = OW::getLanguage()->text('friends', 'add_to_friends'); } else { switch ($dto->getStatus()) { case FRIENDS_BOL_Service::STATUS_ACTIVE: $label = $language->text('friends', 'remove_from_friends'); $href = $router->urlFor('FRIENDS_CTRL_Action', 'cancel', array('id' => $userId, 'redirect' => true)); break; case FRIENDS_BOL_Service::STATUS_PENDING: if ($dto->getUserId() == OW::getUser()->getId()) { $label = $language->text('friends', 'remove_from_friends'); $href = $router->urlFor('FRIENDS_CTRL_Action', 'cancel', array('id' => $userId, 'redirect' => true)); } else { $label = $language->text('friends', 'add_to_friends'); $href = $router->urlFor('FRIENDS_CTRL_Action', 'accept', array('id' => $userId)); } break; case FRIENDS_BOL_Service::STATUS_IGNORED: if ($dto->getUserId() == OW::getUser()->getId()) { $label = $language->text('friends', 'remove_from_friends'); $href = $router->urlFor('FRIENDS_CTRL_Action', 'cancel', array('id' => $userId)); } else { $label = $language->text('friends', 'add_to_friends'); $href = $router->urlFor('FRIENDS_CTRL_Action', 'activate', array('id' => $userId)); } } } $resultArray = array('label' => $label, 'href' => $href, 'id' => $linkId, 'key' => 'friends.action', 'order' => 1); $event->add($resultArray); // // $uniqId = uniqid("block-"); // $isBlocked = BOL_UserService::getInstance()->isBlocked($userId, OW::getUser()->getId()); // // $resultArray["label"] = $isBlocked ? OW::getLanguage()->text('base', 'user_unblock_btn_lbl') : OW::getLanguage()->text('base', 'user_block_btn_lbl'); // // $toggleText = !$isBlocked ? OW::getLanguage()->text('base', 'user_unblock_btn_lbl') : OW::getLanguage()->text('base', 'user_block_btn_lbl'); // // $toggleClass = !$isBlocked ? 'owm_context_action_list_item' : 'owm_context_action_list_item owm_red_btn'; // // $resultArray["attributes"] = array(); // $resultArray["attributes"]["data-command"] = $isBlocked ? "unblock" : "block"; // // $toggleCommand = !$isBlocked ? "unblock" : "block"; // // $resultArray["href"] = 'javascript://'; // $resultArray["id"] = $uniqId; // // $js = UTIL_JsGenerator::newInstance(); // $js->jQueryEvent("#" . $uniqId, "click", // 'var toggle = false; if ( $(this).attr("data-command") == "block" && confirm(e.data.msg) ) { OWM.Users.blockUser(e.data.userId); toggle = true; }; // if ( $(this).attr("data-command") != "block") { OWM.Users.unBlockUser(e.data.userId); toggle =true;} // toggle && OWM.Utils.toggleText($("span:eq(0)", this), e.data.toggleText); // toggle && OWM.Utils.toggleAttr(this, "class", e.data.toggleClass); // toggle && OWM.Utils.toggleAttr(this, "data-command", e.data.toggleCommand);', // array("e"), array( // "userId" => $userId, // "toggleText" => $toggleText, // "toggleCommand" => $toggleCommand, // "toggleClass" => $toggleClass, // "msg" => strip_tags(OW::getLanguage()->text("base", "user_block_confirm_message")) // )); // // OW::getDocument()->addOnloadScript($js); // // $resultArray["key"] = "base.block_user"; // $resultArray["group"] = "addition"; // // $resultArray["class"] = $isBlocked ? '' : 'owm_red_btn'; // $resultArray["order"] = 3; // // $event->add($resultArray); }
public function import() { if (!OW::getUser()->isAuthenticated()) { throw new AuthenticateException(); } if (!OW::getUser()->isAuthorized('yncontactimporter', 'invite')) { $this->setTemplate(OW::getPluginManager()->getPlugin('base')->getCtrlViewDir() . 'authorization_failed.html'); return; } $el = $this->menu->getElement('1'); if ($el) { $el->setActive(true); } OW::getDocument()->setTitle(OW::getLanguage()->text('yncontactimporter', 'meta_title_invite_import')); OW::getDocument()->setDescription(OW::getLanguage()->text('yncontactimporter', 'meta_description_invite_import')); $userId = OW::getUser()->getId(); if (isset($_REQUEST['service']) || OW::getRequest()->isPost()) { //add friends if the email was been used in system if (isset($_REQUEST['task']) && $_REQUEST['task'] == 'do_add') { $service = FRIENDS_BOL_Service::getInstance(); $count_addFriends = 0; $aFriendIdSelected = explode(',', $_POST['friendIds']); foreach ($aFriendIdSelected as $key => $val) { if ($val) { $email = $val; $user = BOL_UserService::getInstance()->findByEmail($email); if ($user && $service->findFriendship($userId, $user->id) === null) { $service->request($userId, $user->id); $this->onRequest($user->id); $count_addFriends++; } } } if ($count_addFriends > 0) { OW::getFeedback()->info(OW::getLanguage()->text('friends', 'feedback_request_was_sent')); } } //end add friends $provider = ''; if (isset($_REQUEST['service'])) { $provider = $_REQUEST['service']; } if (isset($_POST['contact']) && $_POST['contact'] != "") { $provider = "yahoo_google_hotmail_csv"; } $importUrl = OW::getRouter()->urlForRoute('yncontactimporter-import'); $useSocialBridge = 0; $contacts = null; $totalFriends = 0; $totalFriendSearch = 0; $contacts_add = NULL; $maxInvite = 10; $totalIvited = 0; $gmailContacts = ""; $obj = null; if (in_array($provider, array('facebook', 'twitter', 'linkedin'))) { $core = new YNCONTACTIMPORTER_CLASS_Core(); if (!$core->checkSocialBridgePlugin($provider)) { OW::getFeedback()->warning(OW::getLanguage()->text('yncontactimporter', 'selected_fail')); $this->redirect($importUrl); } $core = new YNSOCIALBRIDGE_CLASS_Core(); $obj = $core->getInstance($provider); $tokenDto = null; if (empty($_SESSION['socialbridge_session'][$provider])) { $values = array('service' => $provider, 'userId' => OW::getUser()->getId()); $tokenDto = $obj->getToken($values); } $useSocialBridge = 1; $clientConfig = YNSOCIALBRIDGE_BOL_ApisettingService::getInstance()->getConfig($provider); if ($clientConfig) { $api_params = unserialize($clientConfig->apiParams); if (isset($api_params['max_invite_day'])) { $maxInvite = $api_params['max_invite_day']; } } } switch ($provider) { case 'facebook': if (!empty($_SESSION['socialbridge_session'][$provider]['access_token']) || $tokenDto) { if ($tokenDto) { $_SESSION['socialbridge_session'][$provider]['access_token'] = $tokenDto->accessToken; } $uid = $obj->getOwnerId(array('access_token' => $_SESSION['socialbridge_session']['facebook']['access_token'])); $permissions = $obj->hasPermission(array('uid' => $uid, 'access_token' => $_SESSION['socialbridge_session'][$provider]['access_token'])); if (empty($permissions[0]['publish_stream']) || empty($permissions[0]['xmpp_login'])) { $this->redirect($importUrl); } else { $friendsInvited = YNCONTACTIMPORTER_BOL_InvitationService::getInstance()->getInvitationsByUserId(array('userId' => $userId, 'provider' => 'facebook')); $arr_invited = array(); foreach ($friendsInvited as $invitation) { $arr_invited[] = $invitation->friendId; } $params = $_SESSION['socialbridge_session'][$provider]; $params['invited'] = $arr_invited; $totalFriends = $obj->getTotalFriends($params); $totalFriendSearch = $totalFriends; $contactPerPage = (int) OW::getConfig()->getValue('yncontactimporter', 'contact_per_page'); $params['limit'] = $contactPerPage; $params['offset'] = 0; if (isset($_REQUEST['search_page_id'])) { $params['offset'] = $contactPerPage * ($_REQUEST['search_page_id'] - 1); } if (isset($_REQUEST['search'])) { $params['search'] = $_REQUEST['search']; $totalFriendSearch = $obj->getTotalFriends($params); } $contacts = $obj->getContacts($params); //get total invited $values = array('uid' => $uid, 'service' => $provider, 'date' => date('Y-m-d')); $totalIvited = $obj->getTotalInviteOfDay($values); } } else { $this->redirect($obj->getConnectUrl() . '?scope=publish_stream,xmpp_login' . '&' . http_build_query(array('callbackUrl' => $importUrl))); } break; case 'twitter': if (!empty($_SESSION['socialbridge_session'][$provider]['access_token']) || $tokenDto) { if ($tokenDto) { $_SESSION['socialbridge_session'][$provider]['access_token'] = $tokenDto->accessToken; $_SESSION['socialbridge_session'][$provider]['secret_token'] = $tokenDto->secretToken; $_SESSION['socialbridge_session'][$provider]['owner_id'] = $tokenDto->uid; } $params = $_SESSION['socialbridge_session'][$provider]; $params['user_id'] = $params['owner_id']; $tmp_contacts = $obj->getContacts($params); foreach ($tmp_contacts as $key => $value) { if (!YNCONTACTIMPORTER_BOL_InvitationService::getInstance()->checkInvitedUser($key)) { $contacts[$key] = $value; } } //get total invited $values = array('uid' => $params['user_id'], 'service' => $provider, 'date' => date('Y-m-d')); $totalIvited = $obj->getTotalInviteOfDay($values); } else { $this->redirect($obj->getConnectUrl() . '?' . http_build_query(array('callbackUrl' => $importUrl))); } break; case 'linkedin': if (!empty($_SESSION['socialbridge_session'][$provider]['access_token']) || $tokenDto) { if ($tokenDto) { $_SESSION['socialbridge_session'][$provider]['access_token'] = $tokenDto->accessToken; $_SESSION['socialbridge_session'][$provider]['secret_token'] = $tokenDto->secretToken; } $params = $_SESSION['socialbridge_session'][$provider]; $tmp_contacts = $obj->getContacts($params); foreach ($tmp_contacts as $key => $value) { if (!YNCONTACTIMPORTER_BOL_InvitationService::getInstance()->checkInvitedUser($key)) { $contacts[$key] = $value; } } //get total invited $values = array('uid' => $obj->getOwnerId($params), 'service' => $provider, 'date' => date('Y-m-d')); $totalIvited = $obj->getTotalInviteOfDay($values); } else { $this->redirect($obj->getConnectUrl() . '?scope=r_network,w_messages&' . http_build_query(array('callbackUrl' => $importUrl))); } break; case 'yahoo_google_hotmail_csv': $aContacts = $_POST['contact']; $gmailContacts = $aContacts; $aContacts = urldecode($aContacts); $aContacts = json_decode($aContacts); foreach ($aContacts as $aContact) { //check email if ($user = BOL_UserService::getInstance()->findByEmail($aContact->email)) { $service = FRIENDS_BOL_Service::getInstance(); if ($service->findFriendship($userId, $user->id) === null && $userId != $user->id) { $contacts_add[$aContact->email] = $aContact->name; } } else { if (!YNCONTACTIMPORTER_BOL_InvitationService::getInstance()->checkInvitedUser($aContact->email)) { $contacts[$aContact->email] = $aContact->name; } } } break; } if (count($contacts) == 0) { OW::getFeedback()->warning(OW::getLanguage()->text('yncontactimporter', 'no_contact')); } $this->assign('showContacts', true); //check invite or add friends $component = new YNCONTACTIMPORTER_CMP_InviteFriends(array('contacts' => $contacts, 'totalFriends' => $totalFriends, 'totalFriendSearch' => $totalFriendSearch, 'contacts_add' => $contacts_add, 'provider' => $provider, 'service' => $_REQUEST['service'], 'useSocialBridge' => $useSocialBridge, 'maxInvite' => $maxInvite, 'totalInvited' => $totalIvited, 'gmailContacts' => $gmailContacts)); $this->addComponent('contactImports', $component); } else { $this->assign('showContacts', false); $providers = YNCONTACTIMPORTER_BOL_ProviderService::getInstance()->getAllProviders(array('enable' => 1)); $arr_providers = array(); foreach ($providers as $provider) { if (in_array($provider->name, array('facebook', 'twitter', 'linkedin'))) { $core = new YNCONTACTIMPORTER_CLASS_Core(); if (!$core->checkSocialBridgePlugin($provider->name)) { continue; } } $item = array(); $item['title'] = $provider->title; $item['name'] = $provider->name; $item['id'] = $provider->id; $item['logo'] = OW::getPluginManager()->getPlugin('yncontactimporter')->getStaticUrl() . "img/" . $provider->name . ".png"; $arr_providers[] = $item; } $this->assign('providers', $arr_providers); $this->assign("uploadCSVTitle", OW::getLanguage()->text('yncontactimporter', 'upload_csv_file')); $this->assign("customInviteTitle", OW::getLanguage()->text('yncontactimporter', 'custom_invite')); $this->assign("customInviteDescription", OW::getLanguage()->text('yncontactimporter', 'custom_invite_description')); $link = OW::getRequest()->buildUrlQueryString(OW::getRouter()->urlForRoute('yncontactimporter-user-join'), array('refId' => $userId)); $this->assign('urlInvite', $link); $this->assign('authorization', OW::getLanguage()->text('yncontactimporter', 'authorization')); $this->assign('import_your_contacts', OW::getLanguage()->text('yncontactimporter', 'import_your_contacts')); // get top inviter $this->assign('topInviters', YNCONTACTIMPORTER_BOL_InvitationService::getInstance()->getTopInviters()); // get statistic $this->assign('statistics', YNCONTACTIMPORTER_BOL_InvitationService::getInstance()->getStatistics()); unset($_SESSION['ynfriends_checked']); } }