public function getList($params) { $service = SKADATEIOS_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($params["criteriaList"]); $userId = OW::getUser()->getId(); $userInfo = BOL_QuestionService::getInstance()->getQuestionData(array($userId), array("sex")); $_criteriaList["sex"] = !empty($userInfo[$userId]["sex"]) ? $userInfo[$userId]["sex"] : null; $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); } $idList = OW::getEventManager()->call("usearch.get_user_id_list", 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($params["criteriaList"]); $userData = BOL_AvatarService::getInstance()->getDataForUserAvatars($idList, false, false, true, true); $questionsData = BOL_QuestionService::getInstance()->getQuestionData($idList, 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]["location"] = empty($data["googlemap_location"]["address"]) ? null : $data["googlemap_location"]["address"]; } $photoList = array(); $avatarList = array(); foreach ($idList as $userId) { $bigAvatar = SKADATE_BOL_Service::getInstance()->findAvatarByUserId($userId); $avatarList[$userId] = $bigAvatar ? SKADATE_BOL_Service::getInstance()->getAvatarUrl($userId, $bigAvatar->hash) : BOL_AvatarService::getInstance()->getAvatarUrl($userId, 2); $event = new OW_Event('photo.getMainAlbum', array('userId' => $userId)); OW::getEventManager()->trigger($event); $album = $event->getData(); $photos = !empty($album['photoList']) ? $album['photoList'] : array(); foreach ($photos as $photo) { $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, "photos" => empty($photoList[$userId]) ? array() : $photoList[$userId], "avatar" => $avatarList[$userId], "name" => empty($userData[$userId]["title"]) ? "" : $userData[$userId]["title"], "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); $allowSendMessage = OW::getPluginManager()->isPluginActive('mailbox'); $this->assign("actions", array("bookmark" => OW::getPluginManager()->isPluginActive('bookmarks'), "message" => $allowSendMessage, "wink" => OW::getPluginManager()->isPluginActive('winks'))); BOL_AuthorizationService::getInstance()->trackAction("base", "search_users"); $mailboxModes = OW::getEventManager()->call('mailbox.get_active_mode_list'); $this->assign("mailboxModes", empty($mailboxModes) ? array() : $mailboxModes); }
/** * @return Constructor. */ public function __construct($groupId) { parent::__construct(); $service = GROUPS_BOL_Service::getInstance(); $groupDto = $service->findGroupById($groupId); $group = array('title' => htmlspecialchars($groupDto->title), 'description' => $groupDto->description, 'time' => $groupDto->timeStamp, 'imgUrl' => empty($groupDto->imageHash) ? false : $service->getGroupImageUrl($groupDto), 'url' => OW::getRouter()->urlForRoute('groups-view', array('groupId' => $groupDto->id)), "id" => $groupDto->id); $imageUrl = empty($groupDto->imageHash) ? '' : $service->getGroupImageUrl($groupDto); OW::getDocument()->addMetaInfo('image', $imageUrl, 'itemprop'); OW::getDocument()->addMetaInfo('og:image', $imageUrl, 'property'); $createDate = UTIL_DateTime::formatDate($groupDto->timeStamp); $adminName = BOL_UserService::getInstance()->getDisplayName($groupDto->userId); $adminUrl = BOL_UserService::getInstance()->getUserUrl($groupDto->userId); $js = UTIL_JsGenerator::newInstance()->jQueryEvent('#groups_toolbar_flag', 'click', UTIL_JsGenerator::composeJsString('OW.flagContent({$entity}, {$id}, {$title}, {$href}, "groups+flags", {$ownerId});', array('entity' => GROUPS_BOL_Service::WIDGET_PANEL_NAME, 'id' => $groupDto->id, 'title' => $group['title'], 'href' => $group['url'], 'ownerId' => $groupDto->userId))); OW::getDocument()->addOnloadScript($js, 1001); $toolbar = array(array('label' => OW::getLanguage()->text('groups', 'widget_brief_info_create_date', array('date' => $createDate))), array('label' => OW::getLanguage()->text('groups', 'widget_brief_info_admin', array('name' => $adminName, 'url' => $adminUrl)))); if ($service->isCurrentUserCanEdit($groupDto)) { $toolbar[] = array('label' => OW::getLanguage()->text('groups', 'edit_btn_label'), 'href' => OW::getRouter()->urlForRoute('groups-edit', array('groupId' => $groupId))); } if (OW::getUser()->isAuthenticated() && OW::getUser()->getId() != $groupDto->userId) { $toolbar[] = array('label' => OW::getLanguage()->text('base', 'flag'), 'href' => 'javascript://', 'id' => 'groups_toolbar_flag'); } $event = new BASE_CLASS_EventCollector('groups.on_toolbar_collect', array('groupId' => $groupId)); OW::getEventManager()->trigger($event); foreach ($event->getData() as $item) { $toolbar[] = $item; } $this->assign('toolbar', $toolbar); $this->assign('group', $group); }
/** * Action cropping avatar */ public function crop() { $language = OW::getLanguage(); $avatarService = BOL_AvatarService::getInstance(); $userService = BOL_UserService::getInstance(); $userId = OW_Auth::getInstance()->getUserId(); $hasAvatar = $avatarService->userHasAvatar($userId); $this->assign('hasAvatar', $hasAvatar); if ($hasAvatar) { $this->assign('avatar', $avatarService->getAvatarUrl($userId, 2)); $this->assign('original', $avatarService->getAvatarUrl($userId, 3)); } else { $this->assign('default', $avatarService->getDefaultAvatarUrl(2)); } $staticJsUrl = OW::getPluginManager()->getPlugin('base')->getStaticJsUrl(); $staticCssUrl = OW::getPluginManager()->getPlugin('base')->getStaticCssUrl(); OW::getDocument()->addScript($staticJsUrl . 'jquery.Jcrop.js'); OW::getDocument()->addStyleSheet($staticCssUrl . 'jquery.Jcrop.css'); OW::getDocument()->addScript($staticJsUrl . 'crop_avatar.js'); $objParams = array('ajaxResponder' => $this->ajaxResponder, 'previewSize' => 100); $script = "\$(document).ready(function(){\n var crop = new cropAvatar( " . json_encode($objParams) . ");\n crop.initCrop();\n }); "; OW::getDocument()->addOnloadScript($script); $profileEditUrl = OW::getRouter()->urlForRoute('base_edit'); $js = new UTIL_JsGenerator(); $js->newVariable('profileEditUrl', $profileEditUrl); $js->jQueryEvent('#button-profile-edit', 'click', 'window.location.href=profileEditUrl;'); OW::getDocument()->addOnloadScript($js); }
public function index($params = array()) { $userService = BOL_UserService::getInstance(); $language = OW::getLanguage(); $this->setPageHeading($language->text('hotlist', 'admin_heading_settings')); $this->setPageHeadingIconClass('ow_ic_gear_wheel'); $settingsForm = new Form('settingsForm'); $settingsForm->setId('settingsForm'); $expiration_time = new TextField('expiration_time'); $expiration_time->setRequired(); $expiration_time->setLabel($language->text('hotlist', 'label_expiration_time')); $expiration_time_value = (int) OW::getConfig()->getValue('hotlist', 'expiration_time') / 86400; $expiration_time->setValue($expiration_time_value); $settingsForm->addElement($expiration_time); $submit = new Submit('save'); $submit->addAttribute('class', 'ow_ic_save'); $submit->setValue($language->text('hotlist', 'label_save_btn_label')); $settingsForm->addElement($submit); $this->addForm($settingsForm); if (OW::getRequest()->isPost()) { if ($settingsForm->isValid($_POST)) { $data = $settingsForm->getValues(); OW::getConfig()->saveConfig('hotlist', 'expiration_time', $data['expiration_time'] * 86400); OW::getFeedback()->info($language->text('hotlist', 'settings_saved')); $this->redirect(); } } }
/** * find provider by id * * @param $userId * @return */ public function onUserRegister($userId = 0) { if (!$userId) { return null; } if (isset($_COOKIE['yncontactimporter_userId'])) { $refId = $_COOKIE['yncontactimporter_userId']; unset($_COOKIE['yncontactimporter_userId']); // check email and update isued $user = BOL_UserService::getInstance()->findUserById($userId); $email = $user->getEmail(); if ($invitation = YNCONTACTIMPORTER_BOL_InvitationService::getInstance()->checkInvitedUser($email)) { $invitation->isUsed = 1; YNCONTACTIMPORTER_BOL_InvitationService::getInstance()->save($invitation); } // save joined $joined = new YNCONTACTIMPORTER_BOL_Joined(); $joined->userId = $userId; $joined->inviterId = $refId; $this->joinedDao->save($joined); //invite friend $event = new OW_Event('friends.add_friend', array('requesterId' => $refId, 'userId' => $userId)); OW::getEventManager()->trigger($event); } }
/** * Finance list page controller * * @param array $params */ public function index(array $params) { $service = BOL_BillingService::getInstance(); $lang = OW::getLanguage(); $page = isset($_GET['page']) ? $_GET['page'] : 1; $onPage = 20; $list = $service->getFinanceList($page, $onPage); $userIdList = array(); foreach ($list as $sale) { if (isset($sale['userId']) && !in_array($sale['userId'], $userIdList)) { array_push($userIdList, $sale['userId']); } } $displayNames = BOL_UserService::getInstance()->getDisplayNamesForList($userIdList); $userNames = BOL_UserService::getInstance()->getUserNamesForList($userIdList); $this->assign('list', $list); $this->assign('displayNames', $displayNames); $this->assign('userNames', $userNames); $total = $service->countSales(); // Paging $pages = (int) ceil($total / $onPage); $paging = new BASE_CMP_Paging($page, $pages, 10); $this->assign('paging', $paging->render()); $this->assign('total', $total); $stats = $service->getTotalIncome(); $this->assign('stats', $stats); OW::getDocument()->setHeading($lang->text('admin', 'page_title_finance')); OW::getDocument()->setHeadingIconClass('ow_ic_app'); }
/** * @return Constructor. */ public function __construct(BASE_CLASS_WidgetParameter $paramObj) { parent::__construct($paramObj); $userId = $paramObj->additionalParamList['entityId']; // privacy check $viewerId = OW::getUser()->getId(); $ownerMode = $userId == $viewerId; $modPermissions = OW::getUser()->isAuthorized('newsfeed'); if (!$ownerMode && !$modPermissions) { $privacyParams = array('action' => NEWSFEED_BOL_Service::PRIVACY_ACTION_VIEW_MY_FEED, 'ownerId' => $userId, 'viewerId' => $viewerId); $event = new OW_Event('privacy_check_permission', $privacyParams); try { OW::getEventManager()->trigger($event); } catch (RedirectException $e) { $this->setVisible(false); return; } } $feed = $this->createFeed('user', $userId); $isBloacked = BOL_UserService::getInstance()->isBlocked(OW::getUser()->getId(), $userId); if (OW::getUser()->isAuthenticated() && OW::getUser()->isAuthorized('base', 'add_comment')) { if ($isBloacked) { $feed->addStatusMessage(OW::getLanguage()->text("base", "user_block_message")); } else { $visibility = NEWSFEED_BOL_Service::VISIBILITY_FULL; $feed->addStatusForm('user', $userId, $visibility); } } $feed->setDisplayType(NEWSFEED_CMP_Feed::DISPLAY_TYPE_ACTIVITY); $this->setFeed($feed); }
public function __construct(BASE_CLASS_WidgetParameter $params) { parent::__construct(); /*if ( !GROUPS_BOL_Service::getInstance()->isCurrentUserCanViewList() ) { $this->setVisible(false); return; }*/ $userId = $params->additionalParamList['entityId']; $count = empty($params->customParamList['count']) ? 3 : (int) $params->customParamList['count']; // privacy check $viewerId = OW::getUser()->getId(); $ownerMode = $userId == $viewerId; $modPermissions = OW::getUser()->isAuthorized('groups'); if (!$ownerMode && !$modPermissions) { $privacyParams = array('action' => GROUPS_BOL_Service::PRIVACY_ACTION_VIEW_MY_GROUPS, 'ownerId' => $userId, 'viewerId' => $viewerId); $event = new OW_Event('privacy_check_permission', $privacyParams); try { OW::getEventManager()->trigger($event); } catch (RedirectException $e) { $this->setVisible(false); return; } } $userName = BOL_UserService::getInstance()->findUserById($userId)->getUsername(); if (!$this->assignList($userId, $count)) { $this->setVisible($params->customizeMode); return; } $this->setSettingValue(self::SETTING_TOOLBAR, array(array('label' => OW::getLanguage()->text('groups', 'widget_user_groups_view_all'), 'href' => OW::getRouter()->urlForRoute('groups-user-groups', array('user' => $userName))))); }
public function getList() { $users = null; $count = null; if ($this->friendsMode) { $count = OW::getEventManager()->call('plugin.friends.count_friends', array('userId' => $this->userId)); $users = OW::getEventManager()->call('plugin.friends.get_friend_list', array('userId' => $this->userId, 'count' => 500)); } $hideUsers = array(); if (!empty($this->entityId)) { $sentNotifications = EQUESTIONS_BOL_NotificationService::getInstance()->findSentNotificationList($this->entityId, $this->userId, 'ask'); foreach ($sentNotifications as $notification) { $hideUsers[] = $notification->userId; } } if ($count === null) { $count = BOL_UserService::getInstance()->count(); } if ($users === null) { $users = array(); $userDtos = BOL_UserService::getInstance()->findRecentlyActiveList(0, 500); foreach ($userDtos as $u) { if ($u->id != $this->userId) { $users[] = $u->id; } } } $out = array(); foreach ($users as $user) { if (!in_array($user, $hideUsers)) { $out[] = $user; } } return array('count' => $count - 1, 'idList' => $out); }
/** * Controller's default action * * @param array $params */ public function index(array $params) { if (!isset($params['sectionId']) || !($sectionId = (int) $params['sectionId'])) { throw new Redirect404Exception(); } $forumSection = $this->forumService->findSectionById($sectionId); if (!$forumSection || $forumSection->isHidden) { throw new Redirect404Exception(); } $userId = OW::getUser()->getId(); $bcItems = array(array('href' => OW::getRouter()->urlForRoute('forum-default'), 'label' => OW::getLanguage()->text('forum', 'forum_index')), array('label' => $forumSection->name)); $breadCrumbCmp = new BASE_CMP_Breadcrumb($bcItems); $this->addComponent('breadcrumb', $breadCrumbCmp); $sectionGroupList = $this->forumService->getSectionGroupList($userId, $sectionId); $authors = array(); foreach ($sectionGroupList as $section) { foreach ($section['groups'] as $group) { if (!$group['lastReply']) { continue; } $id = $group['lastReply']['userId']; if (!in_array($id, $authors)) { array_push($authors, $id); } } } $this->assign('sectionGroupList', $sectionGroupList); $userNames = BOL_UserService::getInstance()->getUserNamesForList($authors); $this->assign('userNames', $userNames); $displayNames = BOL_UserService::getInstance()->getDisplayNamesForList($authors); $this->assign('displayNames', $displayNames); $this->addComponent('search', new FORUM_CMP_ForumSearch(array('scope' => 'section', 'sectionId' => $sectionId))); OW::getDocument()->setHeading(OW::getLanguage()->text('forum', 'forum')); OW::getDocument()->setHeadingIconClass('ow_ic_forum'); }
public function ajaxRsp() { if (!OW::getRequest()->isAjax()) { throw new Redirect403Exception(); } $response = array(); if (empty($_GET['userId']) || empty($_GET['command'])) { echo json_encode($response); exit; } $userId = (int) $_GET['userId']; $command = $_GET['command']; switch ($command) { case "suspend": BOL_UserService::getInstance()->suspend($userId); $response["info"] = OW::getLanguage()->text('base', 'user_feedback_profile_suspended'); break; case "unsuspend": BOL_UserService::getInstance()->unsuspend($userId); $response["info"] = OW::getLanguage()->text('base', 'user_feedback_profile_unsuspended'); break; } echo json_encode($response); exit; }
public function __construct(BASE_CLASS_WidgetParameter $params) { parent::__construct(); // $service = PostService::getInstance(); // $count = $params->customParamList['count']; // $previewLength = $params->customParamList['previewLength']; // $list = $service->findList(0, $count); /* if ( empty($list) && !OW::getUser()->isAuthorized('shoppro', 'add') && !$params->customizeMode ) { $this->setVisible(false); return; } */ $this->userId = OW::getUser()->getId(); //citent login user (uwner) $this->feed_working_Id = $params->additionalParamList['entityId']; //set wotching user id $posts = array(); $userService = BOL_UserService::getInstance(); $postIdList = array(); $commentInfo = array(); $this->assign('commentInfo', $commentInfo); $this->assign('list', $posts); }
public function __construct($users, $size, $layout) { parent::__construct(); $questionService = BOL_QuestionService::getInstance(); $userService = BOL_UserService::getInstance(); $this->uniqId = uniqid('ucl_'); $idList = $this->fetchIdList($users); $qList = $questionService->getQuestionData($idList, array('sex', 'birthdate')); $displayNames = $userService->getDisplayNamesForList($idList); $urls = $userService->getUserUrlsForList($idList); $tplData = array(); foreach ($idList as $userId) { $tplData[$userId] = array(); $tplData[$userId]['displayName'] = empty($displayNames[$userId]) ? null : $displayNames[$userId]; $tplData[$userId]['url'] = empty($urls[$userId]) ? null : $urls[$userId]; $tplData[$userId]['sex'] = empty($qList[$userId]['sex']) || in_array($layout, array(3, 4)) ? null : strtolower(BOL_QuestionService::getInstance()->getQuestionValueLang('sex', $qList[$userId]['sex'])); $tplData[$userId]['birthdate'] = null; if (!empty($qList[$userId]['birthdate']) && in_array($layout, array(1, 3))) { $date = UTIL_DateTime::parseDate($qList[$userId]['birthdate'], UTIL_DateTime::MYSQL_DATETIME_DATE_FORMAT); $age = UTIL_DateTime::getAge($date['year'], $date['month'], $date['day']); $tplData[$userId]['birthdate'] = $age; } $avatar = BOL_AvatarService::getInstance()->getAvatarUrl($userId, 2); $tplData[$userId]['thumb'] = $avatar ? $avatar : BOL_AvatarService::getInstance()->getDefaultAvatarUrl(2); } $sizes = array('small' => 100, 'medium' => 150, 'big' => OW::getConfig()->getValue('base', 'avatar_big_size')); $this->assign('list', $tplData); $avatarSize = $sizes[$size]; $this->assign('size', $size); $this->assign('uniqId', $this->uniqId); OW::getDocument()->addStyleDeclaration('.uc-avatar-size { width: ' . $avatarSize . 'px; height: ' . ($avatarSize + $avatarSize / 10) . 'px; }'); OW::getDocument()->addStyleDeclaration('.uc-carousel-size { height: ' . ($avatarSize + 50) . 'px; }'); OW::getDocument()->addStyleDeclaration('.uc-shape-waterWheel .uc-carousel { width: ' . ($avatarSize + 20) . 'px; }'); }
public function __construct($conversationData) { parent::__construct(); $this->consoleItem = new BASE_CMP_ConsoleListItem(); $this->convId = $conversationData['conversationId']; $userId = OW::getUser()->getId(); $conversationService = MAILBOX_BOL_ConversationService::getInstance(); $this->opponentId = $conversationData['opponentId']; $avatarUrl = BOL_AvatarService::getInstance()->getAvatarUrl($this->opponentId); $this->avatarUrl = $avatarUrl ? $avatarUrl : BOL_AvatarService::getInstance()->getDefaultAvatarUrl(); $this->profileUrl = BOL_UserService::getInstance()->getUserUrl($this->opponentId); $this->displayName = BOL_UserService::getInstance()->getDisplayName($this->opponentId); $this->mode = $conversationData['mode']; $this->text = $conversationData['previewText']; $this->dateLabel = $conversationData['dateLabel']; $this->unreadMessageCount = $conversationService->countUnreadMessagesForConversation($this->convId, $userId); if ($this->mode == 'mail') { $this->url = $conversationService->getConversationUrl($this->convId); $this->addClass('ow_mailbox_request_item ow_cursor_default'); } if ($this->mode == 'chat') { $this->url = 'javascript://'; $this->addClass('ow_chat_request_item ow_cursor_default'); $js = "\$('.consoleChatItem#mailboxConsoleMessageItem{$this->convId}').bind('click', function(){\n var convId = \$(this).data('convid');\n var opponentId = \$(this).data('opponentid');\n OW.trigger('mailbox.open_dialog', {convId: convId, opponentId: opponentId, mode: 'chat', isSelected: true});\n OW.Console.getItem('mailbox').hideContent();\n });"; OW::getDocument()->addOnloadScript($js); } if ($conversationData['conversationRead'] == 0) { $this->addClass('ow_console_new_message'); } }
public function onConsolePagesCollect(BASE_CLASS_EventCollector $event) { OW::getDocument()->addScript(OW::getPluginManager()->getPlugin('base')->getStaticJsUrl() . 'underscore-min.js', 'text/javascript', 3000); OW::getDocument()->addScript(OW::getPluginManager()->getPlugin('base')->getStaticJsUrl() . 'backbone-min.js', 'text/javascript', 3000); // OW::getDocument()->addScript( OW::getPluginManager()->getPlugin('base')->getStaticJsUrl().'backbone.js', 'text/javascript', 3000 ); OW::getDocument()->addScript(OW::getPluginManager()->getPlugin('mailbox')->getStaticJsUrl() . 'mobile_mailbox.js', 'text/javascript', 3000); $userListUrl = OW::getRouter()->urlForRoute('mailbox_user_list'); $convListUrl = OW::getRouter()->urlForRoute('mailbox_conv_list'); $authorizationResponderUrl = OW::getRouter()->urlFor('MAILBOX_CTRL_Ajax', 'authorization'); $pingResponderUrl = OW::getRouter()->urlFor('MAILBOX_CTRL_Ajax', 'ping'); $getHistoryResponderUrl = OW::getRouter()->urlFor('MAILBOX_CTRL_Ajax', 'getHistory'); $userId = OW::getUser()->getId(); $displayName = BOL_UserService::getInstance()->getDisplayName($userId); $avatarUrl = BOL_AvatarService::getInstance()->getAvatarUrl($userId); if (empty($avatarUrl)) { $avatarUrl = BOL_AvatarService::getInstance()->getDefaultAvatarUrl(); } $profileUrl = BOL_UserService::getInstance()->getUserUrl($userId); $lastSentMessage = MAILBOX_BOL_ConversationService::getInstance()->getLastSentMessage($userId); $lastMessageTimestamp = (int) ($lastSentMessage ? $lastSentMessage->timeStamp : 0); $params = array('getHistoryResponderUrl' => $getHistoryResponderUrl, 'pingResponderUrl' => $pingResponderUrl, 'authorizationResponderUrl' => $authorizationResponderUrl, 'userListUrl' => $userListUrl, 'convListUrl' => $convListUrl, 'pingInterval' => 5000, 'lastMessageTimestamp' => $lastMessageTimestamp, 'user' => array('userId' => $userId, 'displayName' => $displayName, 'profileUrl' => $profileUrl, 'avatarUrl' => $avatarUrl)); $js = UTIL_JsGenerator::composeJsString('OWM.Mailbox = new MAILBOX_Mobile({$params});', array('params' => $params)); OW::getDocument()->addOnloadScript($js, 'text/javascript', 3000); $event->add(array('key' => 'convers', 'cmpClass' => 'MAILBOX_MCMP_ConsoleConversationsPage', 'order' => 2)); }
public function remove() { if (!OW::getRequest()->isAjax()) { exit(json_encode(array())); } $lang = OW::getLanguage(); if (!OW::getUser()->isAuthenticated()) { exit(json_encode(array('result' => false, 'error' => $lang->text('ocsfavorites', 'signin_required')))); } if (!OW::getUser()->isAuthorized('ocsfavorites', 'add_to_favorites')) { exit(json_encode(array())); } if (empty($_POST['favoriteId'])) { exit(json_encode(array())); } $service = OCSFAVORITES_BOL_Service::getInstance(); $userId = OW::getUser()->getId(); $favoriteId = (int) $_POST['favoriteId']; $user = BOL_UserService::getInstance()->findUserById($favoriteId); if (!$user) { exit(json_encode(array())); } $favorite = $service->isFavorite($userId, $favoriteId); if (!$favorite) { exit(json_encode(array())); } $service->deleteFavorite($userId, $favoriteId); exit(json_encode(array('result' => true, 'msg' => $lang->text('ocsfavorites', 'favorite_removed')))); }
public function updateRate() { if (empty($_POST['entityId']) || empty($_POST['entityType']) || empty($_POST['rate']) || empty($_POST['ownerId'])) { exit(json_encode(array('errorMessage' => 'Invalid request'))); } $service = BOL_RateService::getInstance(); $entityId = (int) $_POST['entityId']; $entityType = trim($_POST['entityType']); $rate = (int) $_POST['rate']; $ownerId = (int) $_POST['ownerId']; $userId = OW::getUser()->getId(); if (!OW::getUser()->isAuthenticated()) { exit(json_encode(array('errorMessage' => OW::getLanguage()->text('base', 'rate_cmp_auth_error_message')))); } if ($userId === $ownerId) { exit(json_encode(array('errorMessage' => OW::getLanguage()->text('base', 'rate_cmp_owner_cant_rate_error_message')))); } if (false) { //TODO add authorization error exit(json_encode(array('errorMessage' => 'Auth error'))); } if (BOL_UserService::getInstance()->isBlocked(OW::getUser()->getId(), $ownerId)) { exit(json_encode(array('errorMessage' => OW::getLanguage()->text('base', 'user_block_message')))); } $rateItem = $service->findRate($entityId, $entityType, $userId); if ($rateItem === null) { $rateItem = new BOL_Rate(); $rateItem->setEntityId($entityId)->setEntityType($entityType)->setUserId($userId)->setActive(true); } $rateItem->setScore($rate)->setTimeStamp(time()); $service->saveRate($rateItem); $totalScoreCmp = new BASE_CMP_TotalScore($entityId, $entityType); exit(json_encode(array('totalScoreCmp' => $totalScoreCmp->render(), 'message' => OW::getLanguage()->text('base', 'rate_cmp_success_message')))); }
public function index($params) { if (!OW::getUser()->isAuthenticated()) { throw new AuthenticateException(); } if (OW::getUser()->isAdmin()) { throw new Redirect404Exception(); } $language = OW::getLanguage(); $this->setPageHeading($language->text('base', 'delete_user_index')); $userId = OW::getUser()->getId(); // echo '<pre>'; // echo $userId; // print_r($_POST); // echo '</pre>'; //die; if (OW::getRequest()->isPost() && !OW::getRequest()->isAjax()) { if (isset($_POST['delete_user_button'])) { OW::getUser()->logout(); BOL_UserService::getInstance()->deleteUser($userId, true); $this->redirect(OW::getRouter()->urlForRoute('base_index')); } if (isset($_POST['cansel_button'])) { $this->redirect(OW::getRouter()->urlForRoute('base_edit')); } } }
public function profile($paramList) { $userService = BOL_UserService::getInstance(); /* @var $userDao BOL_User */ $userDto = $userService->findByUsername($paramList['username']); if ($userDto === null) { throw new Redirect404Exception(); } if (!OW::getUser()->isAuthorized('base', 'view_profile')) { $status = BOL_AuthorizationService::getInstance()->getActionStatus('base', 'view_profile'); $this->assign('permissionMessage', $status['msg']); return; } $eventParams = array('action' => 'base_view_profile', 'ownerId' => $userDto->id, 'viewerId' => OW::getUser()->getId()); $displayName = BOL_UserService::getInstance()->getDisplayName($userDto->id); try { OW::getEventManager()->getInstance()->call('privacy_check_permission', $eventParams); } catch (RedirectException $ex) { throw new RedirectException(OW::getRouter()->urlForRoute('base_user_privacy_no_permission', array('username' => $displayName))); } $this->setPageTitle(OW::getLanguage()->text('base', 'profile_view_title', array('username' => $displayName))); $this->setPageHeading(OW::getLanguage()->text('base', 'profile_view_heading', array('username' => $displayName))); $this->setPageHeadingIconClass('ow_ic_user'); $profileHeader = OW::getClassInstance("BASE_MCMP_ProfileHeader", $userDto->id); $this->addComponent("header", $profileHeader); //Profile Info $displayNameQuestion = OW::getConfig()->getValue('base', 'display_name_question'); $profileInfo = OW::getClassInstance("BASE_MCMP_ProfileInfo", $userDto->id, false, array($displayNameQuestion, "birthdate")); $this->addComponent("info", $profileInfo); $this->addComponent('contentMenu', OW::getClassInstance("BASE_MCMP_ProfileContentMenu", $userDto->id)); $this->addComponent('about', OW::getClassInstance("BASE_MCMP_ProfileAbout", $userDto->id, 80)); $place = BOL_MobileWidgetService::PLACE_MOBILE_PROFILE; $this->initDragAndDrop($place, $userDto->id); }
protected function buildData($userIds, $group = null, $ignoreUserIds = array()) { if (empty($userIds)) { return array(); } $avatarData = BOL_AvatarService::getInstance()->getDataForUserAvatars($userIds, true, true, true, false); $infoList = $this->getInfoList($userIds); $onlineList = BOL_UserService::getInstance()->findOnlineStatusForUserList($userIds); $out = array(); foreach ($userIds as $userId) { if (in_array($userId, $ignoreUserIds)) { continue; } $data = array(); $data['id'] = $userId; $data['url'] = $avatarData[$userId]['url']; $data['avatar'] = $avatarData[$userId]['src']; $data['text'] = $avatarData[$userId]['title']; $data['info'] = '<span class="ow_live_on"></span>' . implode(' ', $infoList[$userId]); $data['online'] = $onlineList[$userId]; $itemCmp = new MCOMPOSE_CMP_UserItem($data); $item = array(); $item["id"] = self::ID_PREFIX . "_" . $userId; $item["text"] = $data['text']; $item['html'] = $itemCmp->render(); $item['url'] = $data['url']; $item['count'] = null; if (!empty($group)) { $item['group'] = $group; } $out[self::ID_PREFIX . '_' . $userId] = $item; } return $out; }
public function __construct($entityType, $entityId, $likes = null) { parent::__construct(); if ($likes === null) { $likes = NEWSFEED_BOL_Service::getInstance()->findEntityLikes($entityType, $entityId); } $this->count = count($likes); if ($this->count == 0) { $this->setVisible(false); return; } $userIds = array(); foreach ($likes as $like) { $userIds[] = (int) $like->userId; } if ($this->count <= 3) { $displayNames = BOL_UserService::getInstance()->getDisplayNamesForList($userIds); $urls = BOL_UserService::getInstance()->getUserUrlsForList($userIds); $langVars = array(); foreach ($userIds as $i => $userId) { $langVars['user' . ($i + 1)] = '<a href="' . $urls[$userId] . '">' . $displayNames[$userId] . '</a>'; } $string = OW::getLanguage()->text('newsfeed', 'feed_likes_' . $this->count . '_label', $langVars); } else { $url = "javascript: OW.showUsers(" . json_encode($userIds) . ")"; $string = OW::getLanguage()->text('newsfeed', 'feed_likes_list_label', array('count' => $this->count, 'url' => $url)); } $this->assign('string', $string); }
public static function getMenu($activeListType) { $language = OW::getLanguage(); $menuArray = array(array('label' => $language->text('base', 'user_list_menu_item_latest'), 'url' => OW::getRouter()->urlForRoute('base_user_lists', array('list' => 'latest')), 'iconClass' => 'ow_ic_clock', 'key' => 'latest', 'order' => 1), array('label' => $language->text('base', 'user_list_menu_item_online'), 'url' => OW::getRouter()->urlForRoute('base_user_lists', array('list' => 'online')), 'iconClass' => 'ow_ic_push_pin', 'key' => 'online', 'order' => 3), array('label' => $language->text('base', 'user_search_menu_item_label'), 'url' => OW::getRouter()->urlForRoute('users-search'), 'iconClass' => 'ow_ic_lens', 'key' => 'search', 'order' => 4)); if (BOL_UserService::getInstance()->countFeatured() > 0) { $menuArray[] = array('label' => $language->text('base', 'user_list_menu_item_featured'), 'url' => OW::getRouter()->urlForRoute('base_user_lists', array('list' => 'featured')), 'iconClass' => 'ow_ic_push_pin', 'key' => 'featured', 'order' => 2); } $event = new BASE_CLASS_EventCollector('base.add_user_list'); OW::getEventManager()->trigger($event); $data = $event->getData(); if (!empty($data)) { $menuArray = array_merge($menuArray, $data); } $menu = new BASE_CMP_ContentMenu(); foreach ($menuArray as $item) { $menuItem = new BASE_MenuItem(); $menuItem->setLabel($item['label']); $menuItem->setIconClass($item['iconClass']); $menuItem->setUrl($item['url']); $menuItem->setKey($item['key']); $menuItem->setOrder(empty($item['order']) ? 999 : $item['order']); $menu->addElement($menuItem); if ($activeListType == $item['key']) { $menuItem->setActive(true); } } return $menu; }
public function __construct($userId, $idList) { parent::__construct(); if (!empty($userId) && !empty($idList)) { $this->user = BOL_UserService::getInstance()->findUserById($userId); $userService = BOL_UserService::getInstance(); $avatars = BOL_AvatarService::getInstance()->getAvatarsUrlList($idList, 2); $sexValue = array(); $list = array(); foreach (BOL_QuestionValueDao::getInstance()->findQuestionValues('sex') as $sexDto) { $sexValue[$sexDto->value] = BOL_QuestionService::getInstance()->getQuestionValueLang('sex', $sexDto->value); } $userData = BOL_QuestionService::getInstance()->getQuestionData($idList, array('sex', 'birthdate', 'googlemap_location')); foreach ($idList as $userId) { $list[$userId]['userUrl'] = $userService->getUserUrl($userId); $list[$userId]['displayName'] = $userService->getDisplayName($userId); $list[$userId]['avatarUrl'] = $avatars[$userId]; $list[$userId]['activity'] = UTIL_DateTime::formatDate(BOL_UserService::getInstance()->findUserById($userId)->getActivityStamp()); if (!empty($userData[$userId]['birthdate'])) { $date = UTIL_DateTime::parseDate($userData[$userId]['birthdate'], UTIL_DateTime::MYSQL_DATETIME_DATE_FORMAT); $list[$userId]['age'] = UTIL_DateTime::getAge($date['year'], $date['month'], $date['day']); } if (!empty($userData[$userId]['sex'])) { $list[$userId]['sex'] = $sexValue[$userData[$userId]['sex']]; } if (!empty($userData[$userId]['googlemap_location'])) { $list[$userId]['googlemap_location'] = $userData[$userId]['googlemap_location']['address']; } } $this->assign('userName', BOL_UserService::getInstance()->getDisplayName($this->user->id)); $this->assign('list', $list); } else { $this->setVisible(FALSE); } }
private function importAvatars($avatarUrl) { $avatarUrl = trim($avatarUrl); if (substr($avatarUrl, -1) === '/') { $avatarUrl = substr($avatarUrl, 0, -1); } $avatarDir = BOL_AvatarService::getInstance()->getAvatarsDir(); $first = 0; $count = 150; while (true) { $list = BOL_UserService::getInstance()->findList($first, $count, true); $first += $count; if (empty($list)) { break; } foreach ($list as $user) { for ($size = 1; $size < 4; $size++) { $path = BOL_AvatarService::getInstance()->getAvatarPath($user->id, $size); $avatarName = str_replace($avatarDir, '', $path); $content = file_get_contents($avatarUrl . '/' . $avatarName); if (!empty($content)) { OW::getStorage()->fileSetContent($path, $content); } } } } }
public function onBeforeRender() { parent::onBeforeRender(); $avatarData = BOL_AvatarService::getInstance()->getDataForUserAvatars(array($this->user->id)); $avatarDto = BOL_AvatarService::getInstance()->findByUserId($this->user->id); $owner = false; if (OW::getUser()->getId() == $this->user->getId()) { $owner = true; } $isModerator = OW::getUser()->isAuthorized('base') || OW::getUser()->isAdmin(); $avatarData[$this->user->id]['src'] = BOL_AvatarService::getInstance()->getAvatarUrl($this->user->getId(), 1, null, true, !($owner || $isModerator)); $default_avatar['src'] = BOL_AvatarService::getInstance()->getDefaultAvatarUrl(1); $user = array(); $user["avatar"] = !empty($avatarData[$this->user->id]['src']) ? $avatarData[$this->user->id] : $default_avatar; $user["displayName"] = $avatarData[$this->user->id]["title"]; $this->assign("user", $user); $this->addComponent('toolbar', OW::getClassInstance("BASE_MCMP_ProfileActionToolbar", $this->user->id)); $eventParams = array('action' => 'base_view_my_presence_on_site', 'ownerIdList' => array($this->user->id), 'viewerId' => OW::getUser()->getId()); $permissions = OW::getEventManager()->getInstance()->call('privacy_check_permission_for_user_list', $eventParams); $showPresence = !(isset($permissions[$this->user->id]['blocked']) && $permissions[$this->user->id]['blocked'] == true); $this->assign("showPresence", $showPresence); $isOnline = null; $activityStamp = null; if ($showPresence) { $onlineInfo = BOL_UserService::getInstance()->findOnlineStatusForUserList(array($this->user->id)); $isOnline = $onlineInfo[$this->user->id]; $activityStamp = $this->user->activityStamp; } $this->assign("isOnline", $isOnline); $this->assign("avatarDto", $avatarDto); $this->assign("activityStamp", $activityStamp); $this->assign('owner', $owner); $this->assign('isModerator', $isModerator); }
public function index($params) { $s = BOL_FlagService::getInstance(); $page = !empty($_GET['page']) && intval($_GET['page']) > 0 ? $_GET['page'] : 1; $rpp = 20; $first = ($page - 1) * $rpp; $count = $rpp; $itemCount = $s->count('blog-post'); $pageCount = 0; $type = !empty($params['type']) ? $params['type'] : ''; $this->assign('type', $type); $this->assign('langKey', BOL_FlagService::getInstance()->findLangKey($type)); $list = BOL_FlagService::getInstance()->findList($first, $count, $type); $itemCount = BOL_FlagService::getInstance()->countFlaggedItems($type); if (empty($list)) { $this->redirect(OW::getRouter()->urlForRoute('base_member_dashboard')); } foreach ($list as $key => $f) { $list[$key]['spamUsers'] = $s->findFlaggedUserIdList($type, $f['entityId'], 'spam'); $list[$key]['offenceUsers'] = $s->findFlaggedUserIdList($type, $f['entityId'], 'offence'); $list[$key]['illegalUsers'] = $s->findFlaggedUserIdList($type, $f['entityId'], 'illegal'); $uil = array_merge($list[$key]['spamUsers'], $list[$key]['offenceUsers'], $list[$key]['illegalUsers']); $this->assign('dl', BOL_UserService::getInstance()->getDisplayNamesForList($uil)); $this->assign('ul', BOL_UserService::getInstance()->getUserNamesForList($uil)); } $this->assign('list', $list); $this->addComponent('menu', $this->getMenu($type)); $this->addComponent('paging', new BASE_CMP_Paging($page, ceil($itemCount / $rpp), 5)); }
public function onBeforeRender() { parent::onBeforeRender(); $userList = array(); $userDtoList = array(); $userService = BOL_UserService::getInstance(); $questionService = BOL_QuestionService::getInstance(); $userIdList = array_keys($this->userList); $userDataList = BOL_QuestionService::getInstance()->getQuestionData($userIdList, $this->fieldList); foreach ($userService->findUserListByIdList($userIdList) as $userDto) { $userDtoList[$userDto->id] = $userDto; } foreach ($this->userList as $userId => $fieldList) { $fields = array_diff(array_keys($fieldList), $this->fieldList); $fieldsData = $questionService->getQuestionData(array($userId), $fields); $userList[$userId]['fields'] = array_merge(!empty($userDataList[$userId]) ? $userDataList[$userId] : array(), !empty($fieldsData[$userId]) ? $fieldsData[$userId] : array(), $fieldList); $userList[$userId]['dto'] = $userDtoList[$userId]; } $this->assign('userList', $userList); $this->assign('avatars', BOL_AvatarService::getInstance()->getAvatarsUrlList($userIdList, 2)); $this->assign('onlineList', !empty($userIdList) ? $userService->findOnlineStatusForUserList($userIdList) : array()); $this->assign('usernameList', $userService->getUserNamesForList($userIdList)); $this->assign('displaynameList', $userService->getDisplayNamesForList($userIdList)); $this->assign('displayActivity', $this->displayActivity); }
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); }
public function getList($params) { $data = OW::getEventManager()->call("guests.get_guests_list", array("userId" => OW::getUser()->getId())); if (empty($data)) { $this->assign("list", array()); return; } $idList = array(); $viewedMap = array(); $timeMap = array(); foreach ($data as $item) { $idList[] = $item["userId"]; $viewedMap[$item["userId"]] = $item["viewed"]; $timeMap[$item["userId"]] = UTIL_DateTime::formatDate($item["timeStamp"]); } OW::getEventManager()->call("guests.mark_guests_viewed", array("userId" => OW::getUser()->getId(), "guestIds" => $idList)); $bookmarkList = OW::getEventManager()->call("bookmarks.get_mark_list", array("userId" => OW::getUser()->getId(), "idList" => $idList)); $bookmarkList = empty($bookmarkList) ? array() : $bookmarkList; $avatarList = BOL_AvatarService::getInstance()->getDataForUserAvatars($idList, true, false); $onlineMap = BOL_UserService::getInstance()->findOnlineStatusForUserList($idList); foreach ($avatarList as $userId => $user) { $color = array('r' => '100', 'g' => '100', 'b' => '100'); if (!empty($user['labelColor'])) { $_color = explode(', ', trim($user['labelColor'], 'rgba()')); $color = array('r' => $_color[0], 'g' => $_color[1], 'b' => $_color[2]); } $list[] = array("userId" => $userId, "displayName" => $user["title"], "avatarUrl" => $user["src"], "label" => $user["label"], "labelColor" => $color, "viewed" => $viewedMap[$userId], "online" => $onlineMap[$userId], "bookmarked" => !empty($bookmarkList[$userId]), "time" => $timeMap[$userId]); } $this->assign("list", $list); }
private function acceptWink($userId, $partnerId) { if (($wink = $this->service->findWinkByUserIdAndPartnerId($userId, $partnerId)) === NULL) { return array('result' => FALSE, 'msg' => OW::getLanguage()->text('winks', 'wink_sent_error')); } $wink->setStatus(WINKS_BOL_WinksDao::STATUS_ACCEPT); WINKS_BOL_WinksDao::getInstance()->save($wink); if (($_wink = $this->service->findWinkByUserIdAndPartnerId($partnerId, $userId)) !== NULL) { $_wink->setStatus(WINKS_BOL_WinksDao::STATUS_IGNORE); WINKS_BOL_WinksDao::getInstance()->save($_wink); } $params = array('userId' => $userId, 'partnerId' => $partnerId, 'content' => array('entityType' => 'wink', 'eventName' => 'renderWink', 'params' => array('winkId' => $wink->id, 'winkBackEnabled' => 1))); $event = new OW_Event('winks.onAcceptWink', $params); OW::getEventManager()->trigger($event); $data = $event->getData(); if (!empty($data['conversationId'])) { $wink->setConversationId($data['conversationId']); //$wink->setMessageType($data['mode']); WINKS_BOL_WinksDao::getInstance()->save($wink); $userUrl = OW::getRouter()->urlForRoute('base_user_profile', array('username' => BOL_UserService::getInstance()->getUserName($wink->getUserId()))); $displayName = BOL_UserService::getInstance()->getDisplayName($wink->getUserId()); $activeModes = json_decode(OW::getConfig()->getValue('mailbox', 'active_modes')); $mode = is_array($activeModes) ? in_array('chat', $activeModes) ? 'chat' : 'mail' : 'chat'; if ($mode == 'mail' || $wink->messageType == 'mail') { return array('result' => TRUE, 'url' => OW::getRouter()->urlForRoute('mailbox_conversation', array('convId' => $wink->getConversationId())), 'userUrl' => $userUrl, 'displayName' => $displayName); } return array('result' => TRUE, 'onclick' => 'OW.trigger(\'mailbox.open_dialog\',{convId:' . $wink->getConversationId() . ',opponentId:' . $wink->getUserId() . ',mode:"' . $data['mode'] . '"});return false;', 'userUrl' => $userUrl, 'displayName' => $displayName); } return array('result' => TRUE); }