public function addToList(OW_Event $event) { $params = $event->getParams(); $userId = $params["userId"]; $data = array("result" => true, "message" => null, "buyCredits" => false); $available = true; if (!isset($params["checkCredits"]) || $params["checkCredits"]) { if (!OW::getUser()->isAuthorized("hotlist", "add_to_list")) { $status = BOL_AuthorizationService::getInstance()->getActionStatus("hotlist", "add_to_list"); $available = false; $data["result"] = false; if ($status["status"] == BOL_AuthorizationService::STATUS_PROMOTED) { $data["message"] = $status["msg"]; $data["buyCredits"] = true; } } } if ($available) { $this->service->addUser($userId); BOL_AuthorizationService::getInstance()->trackAction('hotlist', 'add_to_list'); $data["result"] = true; $data['message'] = OW::getLanguage()->text('hotlist', 'user_added'); } $event->setData($data); return $data; }
/** * Default action */ public function index() { $language = OW::getLanguage(); $clipService = VIDEO_BOL_ClipService::getInstance(); $userId = OW::getUser()->getId(); if (!OW::getUser()->isAuthorized('video', 'add')) { $status = BOL_AuthorizationService::getInstance()->getActionStatus('video', 'add'); throw new AuthorizationException($status['msg']); } if (!($clipService->findUserClipsCount($userId) <= $clipService->getUserQuotaConfig())) { $this->assign('auth_msg', $language->text('video', 'quota_exceeded', array('limit' => $clipService->getUserQuotaConfig()))); } else { $this->assign('auth_msg', null); $videoAddForm = new videoAddForm(); $this->addForm($videoAddForm); if (OW::getRequest()->isPost() && $videoAddForm->isValid($_POST)) { $values = $videoAddForm->getValues(); $code = $clipService->validateClipCode($values['code']); if (!mb_strlen($code)) { OW::getFeedback()->warning($language->text('video', 'resource_not_allowed')); $this->redirect(); } $res = $videoAddForm->process(); OW::getFeedback()->info($language->text('video', 'clip_added')); $this->redirect(OW::getRouter()->urlForRoute('view_clip', array('id' => $res['id']))); } } if (!OW::getRequest()->isAjax()) { OW::getNavigation()->activateMenuItem(OW_Navigation::MAIN, 'video', 'video'); } OW::getDocument()->setHeading($language->text('video', 'page_title_add_video')); OW::getDocument()->setHeadingIconClass('ow_ic_video'); OW::getDocument()->setTitle($language->text('video', 'meta_title_video_add')); OW::getDocument()->setDescription($language->text('video', 'meta_description_video_add')); }
/** * @return Constructor. */ public function __construct(BASE_CLASS_WidgetParameter $paramObj) { parent::__construct(); $avatarService = BOL_AvatarService::getInstance(); $viewerId = OW::getUser()->getId(); $userId = $paramObj->additionalParamList['entityId']; if ($viewerId == $userId) { $this->assign('owner', true); $this->assign('changeAvatarUrl', OW::getRouter()->urlForRoute('base_avatar_crop')); } else { $this->assign('owner', false); } $avatar = $avatarService->getAvatarUrl($userId, 2); $this->assign('avatar', $avatar ? $avatar : $avatarService->getDefaultAvatarUrl(2)); $roles = BOL_AuthorizationService::getInstance()->getRoleListOfUsers(array($userId)); $this->assign('role', !empty($roles[$userId]) ? $roles[$userId] : null); $userService = BOL_UserService::getInstance(); $showPresence = true; // Check privacy permissions $eventParams = array('action' => 'base_view_my_presence_on_site', 'ownerId' => $userId, 'viewerId' => OW::getUser()->getId()); try { OW::getEventManager()->getInstance()->call('privacy_check_permission', $eventParams); } catch (RedirectException $e) { $showPresence = false; } $this->assign('isUserOnline', $userService->findOnlineUserById($userId) && $showPresence); $this->assign('userId', $userId); $this->assign('avatarSize', OW::getConfig()->getValue('base', 'avatar_big_size')); }
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); }
public function __construct($data) { $script = UTIL_JsGenerator::composeJsString(' OWM.bind("mailbox.ready", function(readyStatus){ if (readyStatus == 2){ OWM.conversation = new MAILBOX_Conversation({$params}); OWM.conversationView = new MAILBOX_MailConversationView({model: OWM.conversation}); } }); ', array('params' => $data)); OW::getDocument()->addOnloadScript($script); OW::getLanguage()->addKeyForJs('mailbox', 'text_message_invitation'); $form = new MAILBOX_MCLASS_NewMailMessageForm($data['conversationId'], $data['opponentId']); $this->addForm($form); $this->assign('data', $data); $this->assign('defaultAvatarUrl', BOL_AvatarService::getInstance()->getDefaultAvatarUrl()); $firstMessage = MAILBOX_BOL_ConversationService::getInstance()->getFirstMessage($data['conversationId']); if (empty($firstMessage)) { $actionName = 'send_message'; } else { $actionName = 'reply_to_message'; } $isAuthorized = OW::getUser()->isAuthorized('mailbox', $actionName); if (!$isAuthorized) { $status = BOL_AuthorizationService::getInstance()->getActionStatus('mailbox', $actionName); if ($status['status'] == BOL_AuthorizationService::STATUS_PROMOTED) { $this->assign('sendAuthMessage', $status['msg']); } elseif ($status['status'] != BOL_AuthorizationService::STATUS_AVAILABLE) { $this->assign('sendAuthMessage', OW::getLanguage()->text('mailbox', $actionName . '_permission_denied')); } } }
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); }
/** * Checks if user authorized for group/action. * * @param integer $userId * @param string $groupName * @param string $actionName * @param array $extra * @return boolean */ public function isUserAuthorized($userId, $groupName, $actionName = null, $extra = null) { if ($extra !== null && !is_array($extra)) { trigger_error("`ownerId` parameter has been deprecated, pass `extra` parameter instead"); } return $this->service->isActionAuthorizedForUser($userId, $groupName, $actionName, $extra); }
/** * Constructor. * * @param BASE_CommentsParams $params */ public function __construct(BASE_CommentsParams $params) { parent::__construct(); $this->params = $params; $this->batchData = $params->getBatchData(); $this->staticData = empty($this->batchData['_static']) ? array() : $this->batchData['_static']; $this->batchData = isset($this->batchData[$params->getEntityType()][$params->getEntityId()]) ? $this->batchData[$params->getEntityType()][$params->getEntityId()] : array(); srand(time()); $this->id = $params->getEntityType() . $params->getEntityId() . rand(1, 10000); $this->cmpContextId = "comments-{$this->id}"; $this->assign('cmpContext', $this->cmpContextId); $this->assign('wrapInBox', $params->getWrapInBox()); $this->assign('topList', in_array($params->getDisplayType(), array(BASE_CommentsParams::DISPLAY_TYPE_WITH_LOAD_LIST, BASE_CommentsParams::DISPLAY_TYPE_WITH_LOAD_LIST_MINI))); $this->assign('bottomList', $params->getDisplayType() == BASE_CommentsParams::DISPLAY_TYPE_WITH_PAGING); $this->assign('mini', $params->getDisplayType() == BASE_CommentsParams::DISPLAY_TYPE_WITH_LOAD_LIST_MINI); $this->isAuthorized = OW::getUser()->isAuthorized($params->getPluginKey(), 'add_comment') && $params->getAddComment(); if (!$this->isAuthorized) { $errorMessage = $params->getErrorMessage(); if (empty($errorMessage)) { $status = BOL_AuthorizationService::getInstance()->getActionStatus($params->getPluginKey(), 'add_comment'); $errorMessage = OW::getUser()->isAuthenticated() ? $status['msg'] : OW::getLanguage()->text('base', 'comments_add_login_message'); } $this->assign('authErrorMessage', $errorMessage); } $this->initForm(); }
/** * Returns an instance of class (singleton pattern implementation). * * @return BOL_AuthorizationService */ public static function getInstance() { if (self::$classInstance === null) { self::$classInstance = new self(); } return self::$classInstance; }
public function __construct(BASE_CLASS_WidgetParameter $params) { parent::__construct(); if (!BOL_AuthorizationService::getInstance()->isModerator() && !OW::getUser()->isAdmin()) { $this->setVisible(false); return; } $uniqId = uniqid("mp-"); $this->assign("uniqId", $uniqId); $event = new BASE_CLASS_EventCollector(self::EVENT_COLLECT_CONTENTS); OW::getEventManager()->trigger($event); $tplContents = array(); $activeTab = null; foreach ($event->getData() as $content) { $tplContent = array_merge(array("name" => null, "content" => null, "active" => false), $content); $activeTab = $tplContent["active"] ? $tplContent["name"] : $activeTab; $tplContents[$tplContent["name"]] = $tplContent; } if (empty($tplContents)) { $this->setVisible(false); return; } if ($activeTab === null) { $firstTab = reset($tplContents); $activeTab = $firstTab["name"]; $tplContents[$activeTab]["active"] = true; } $this->assign("items", $tplContents); }
public function __construct($layout) { parent::__construct(); $status = BOL_AuthorizationService::getInstance()->getActionStatus('photo', 'view'); if ($status['status'] == BOL_AuthorizationService::STATUS_DISABLED) { $this->assign('authError', $status['msg']); return; } $class = ""; switch ($layout) { case 'page': $class = ' ow_photoview_info_onpage'; break; default: if ((bool) OW::getConfig()->getValue('photo', 'photo_view_classic')) { $class = ' ow_photoview_pint_mode'; } else { $class = ''; } break; } $this->assign('class ', $class); $this->assign('layout ', $layout); $document = OW::getDocument(); $js = "\$('#btn-save-as-avatar').off().on('click', function() {\n console.log('photo floatbox call js');\n var photoId = \$('#btn-photo-edit') . attr('rel');\n\n document.avatarFloatBox = OW.ajaxFloatBox(\n 'BASE_CMP_AvatarChange', {\n params: {\n step: 2, entityType: 'photo_album', entityId: '', id: photoId\n }}, {\n width: 749, title: OW.getLanguageText('base', 'avatar_change')}\n );\n })"; $document->addOnloadScript($js); }
public function render() { $defaultAvatarUrl = BOL_AvatarService::getInstance()->getDefaultAvatarUrl(); $this->assign('defaultAvatarUrl', $defaultAvatarUrl); $js = "OW.Mailbox.conversationController = new MAILBOX_ConversationView();"; OW::getDocument()->addOnloadScript($js, 3006); //TODO check this config $enableAttachments = OW::getConfig()->getValue('mailbox', 'enable_attachments'); $this->assign('enableAttachments', $enableAttachments); $replyToMessageActionPromotedText = ''; $isAuthorizedReplyToMessage = OW::getUser()->isAuthorized('mailbox', 'reply_to_message'); $isAuthorizedReplyToMessage = $isAuthorizedReplyToMessage || OW::getUser()->isAuthorized('mailbox', 'send_chat_message'); if (!$isAuthorizedReplyToMessage) { $status = BOL_AuthorizationService::getInstance()->getActionStatus('mailbox', 'reply_to_message'); if ($status['status'] == BOL_AuthorizationService::STATUS_PROMOTED) { $replyToMessageActionPromotedText = $status['msg']; } } $this->assign('isAuthorizedReplyToMessage', $isAuthorizedReplyToMessage); $isAuthorizedReplyToChatMessage = OW::getUser()->isAuthorized('mailbox', 'reply_to_chat_message'); if (!$isAuthorizedReplyToChatMessage) { $status = BOL_AuthorizationService::getInstance()->getActionStatus('mailbox', 'reply_to_chat_message'); if ($status['status'] == BOL_AuthorizationService::STATUS_PROMOTED) { $replyToMessageActionPromotedText = $status['msg']; } } $this->assign('isAuthorizedReplyToChatMessage', $isAuthorizedReplyToChatMessage); $this->assign('replyToMessageActionPromotedText', $replyToMessageActionPromotedText); if ($isAuthorizedReplyToMessage) { $text = new WysiwygTextarea('mailbox_message'); $text->setId('conversationTextarea'); $this->assign('mailbox_message', $text->renderInput()); } return parent::render(); }
/** * @param BASE_CLASS_WidgetParameter $params * @return \BASE_CMP_UserViewWidget */ public function __construct(BASE_CLASS_WidgetParameter $params) { parent::__construct(); $userId = $params->additionalParamList['entityId']; $viewerId = OW::getUser()->getId(); $ownerMode = $userId == $viewerId; $adminMode = OW::getUser()->isAdmin() || OW::getUser()->isAuthorized('base'); $isSuperAdmin = BOL_AuthorizationService::getInstance()->isSuperModerator($userId); $user = BOL_UserService::getInstance()->findUserById($userId); $accountType = $user->accountType; $questionService = BOL_QuestionService::getInstance(); $questions = self::getUserViewQuestions($userId, $adminMode); $questionArray = $questions['questions']; $questionData = $questions['data']; $questionLabelList = $questions['labels']; $sections = array_keys($questionArray); $template = OW::getPluginManager()->getPlugin('base')->getViewDir() . 'components' . DS . 'user_view_widget_table.html'; $userViewPresntation = OW::getConfig()->getValue('base', 'user_view_presentation'); if ($userViewPresntation === self::USER_VIEW_PRESENTATION_TABS) { $template = OW::getPluginManager()->getPlugin('base')->getViewDir() . 'components' . DS . 'user_view_widget_tabs.html'; OW::getDocument()->addOnloadScript(" view = new UserViewWidget(); "); $jsDir = OW::getPluginManager()->getPlugin("base")->getStaticJsUrl(); OW::getDocument()->addScript($jsDir . "user_view_widget.js"); $this->addMenu($sections); } $script = ' $(".profile_hidden_field").bind( "mouseover.hiddenfield", function() { OW.showTip($(this), {side: "top", hideEvent: "mouseout", timeout:0, show: "' . OW::getLanguage()->text('base', 'base_invisible_profile_field_tooltip') . '"}); } );'; OW::getDocument()->addOnloadScript($script); $this->setTemplate($template); $accountTypes = $questionService->findAllAccountTypes(); if (!isset($sections[0])) { $sections[0] = 0; } if (count($accountTypes) > 1) { if (!isset($questionArray[$sections[0]])) { $questionArray[$sections[0]] = array(); } array_unshift($questionArray[$sections[0]], array('name' => 'accountType', 'presentation' => 'select')); $questionData[$userId]['accountType'] = $questionService->getAccountTypeLang($accountType); } if (!isset($questionData[$userId])) { $questionData[$userId] = array(); } $this->assign('firstSection', $sections[0]); $this->assign('questionArray', $questionArray); $this->assign('questionData', $questionData[$userId]); $this->assign('ownerMode', $ownerMode); $this->assign('adminMode', $adminMode); $this->assign('superAdminProfile', $isSuperAdmin); $this->assign('profileEditUrl', OW::getRouter()->urlForRoute('base_edit')); if ($adminMode && !$ownerMode) { $this->assign('profileEditUrl', OW::getRouter()->urlForRoute('base_edit_user_datails', array('userId' => $userId))); } $this->assign('avatarUrl', BOL_AvatarService::getInstance()->getAvatarUrl($userId)); $this->assign('displayName', BOL_UserService::getInstance()->getDisplayName($userId)); $this->assign('questionLabelList', $questionLabelList); $this->assign('userId', $userId); }
public function onBeforeRender() { parent::onBeforeRender(); $viewAllUrl = OW::getRouter()->urlForRoute('mailbox_messages_default'); $this->assign('viewAllUrl', $viewAllUrl); $conversationService = MAILBOX_BOL_ConversationService::getInstance(); $activeModeList = $conversationService->getActiveModeList(); $mailModeEnabled = in_array('mail', $activeModeList) ? true : false; $this->assign('mailModeEnabled', $mailModeEnabled); $actionName = 'send_message'; $event = new OW_Event('mailbox.show_send_message_button', array(), false); OW::getEventManager()->trigger($event); $showSendMessage = $event->getData(); $isAuthorizedSendMessage = $showSendMessage && OW::getUser()->isAuthorized('mailbox', $actionName); if (!$isAuthorizedSendMessage) { $status = BOL_AuthorizationService::getInstance()->getActionStatus('mailbox', $actionName); if ($status['status'] == BOL_AuthorizationService::STATUS_PROMOTED) { $script = '$("#mailboxConsoleListSendMessageBtn").click(function(){ OW.authorizationLimitedFloatbox(' . json_encode($status['msg']) . '); });'; OW::getDocument()->addOnloadScript($script); $isAuthorizedSendMessage = true; //this service is promoted } } $this->assign('isAuthorizedSendMessage', $isAuthorizedSendMessage); }
/** * Request new friendship controller * * @param array $params * @throws Redirect404Exception * @throws AuthenticateException */ public function request($params) { if (!OW::getUser()->isAuthenticated()) { throw new AuthenticateException(); } $requesterId = OW::getUser()->getId(); $userId = (int) $params['id']; if (BOL_UserService::getInstance()->isBlocked(OW::getUser()->getId(), $userId)) { throw new Redirect404Exception(); } if (!OW::getUser()->isAuthorized('friends', 'add_friend')) { $status = BOL_AuthorizationService::getInstance()->getActionStatus('friends', 'add_friend'); OW::getFeedback()->error($status['msg']); } $service = FRIENDS_BOL_Service::getInstance(); if ($service->findFriendship($requesterId, $userId) === null) { $service->request($requesterId, $userId); $service->onRequest($requesterId, $userId); OW::getFeedback()->info(OW::getLanguage()->text('friends', 'feedback_request_was_sent')); } else { OW::getFeedback()->error(OW::getLanguage()->text('friends', 'feedback_request_already_sent_error_message')); } if (isset($params['backUri'])) { $this->redirect($params['backUri']); } $this->redirect($_SERVER['HTTP_REFERER']); }
/** * * @param string $groupName * @param string $actionName * @param array $extra * @return boolean */ public function isAuthorized($groupName, $actionName = null, $extra = null) { if ($extra !== null && !is_array($extra)) { trigger_error("`ownerId` parameter has been deprecated, pass `extra` parameter instead\n" . OW_ErrorManager::getInstance()->debugBacktrace(), E_USER_WARNING); } return BOL_AuthorizationService::getInstance()->isActionAuthorized($groupName, $actionName, $extra); }
public function __construct(array $params = array()) { parent::__construct(); $service = HOTLIST_BOL_Service::getInstance(); $authMsg = ''; $authorized = OW::getUser()->isAuthorized('hotlist', 'add_to_list'); $status = BOL_AuthorizationService::getInstance()->getActionStatus('hotlist', 'add_to_list'); if (!$authorized) { $status = BOL_AuthorizationService::getInstance()->getActionStatus('hotlist', 'add_to_list'); $authMsg = json_encode($status['msg']); } $this->assign('authorized', $authorized); $this->assign('authMsg', $authMsg); if (empty($params)) { $this->settingList = array('number_of_users' => 8); } else { $this->settingList = $params; } OW::getDocument()->addScript(OW::getPluginManager()->getPlugin('hotlist')->getStaticJsUrl() . 'jquery.cycle.js'); $userList = HOTLIST_BOL_Service::getInstance()->getHotList(); $info = array(); foreach ($userList as $id => $user) { $userDto = BOL_UserService::getInstance()->findUserById($user->userId); if (empty($userDto)) { continue; } $info[$id]['userId'] = $user->userId; $avatars = BOL_AvatarService::getInstance()->getDataForUserAvatars(array($user->userId)); $event = new OW_Event('bookmarks.is_mark', array(), $avatars); OW::getEventManager()->trigger($event); if ($event->getData()) { $avatars = $event->getData(); } $info[$id]['avatarUrl'] = $avatars[$user->userId]['src']; $info[$id]['url'] = $avatars[$user->userId]['url']; $info[$id]['username'] = BOL_UserService::getInstance()->getUserName($user->userId); $info[$id]['displayName'] = empty($avatars[$user->userId]['title']) ? BOL_UserService::getInstance()->getUserName($user->userId) : $avatars[$user->userId]['title']; $fields = $this->getFields($user->userId); $info[$id]['sex'] = empty($fields['sex']) ? '' : $fields['sex']; $info[$id]['age'] = empty($fields['age']) ? '' : $fields['age']; $info[$id]['googlemap_location'] = empty($fields['googlemap_location']) ? '' : $fields['googlemap_location']; $info[$id]['avatar'] = $avatars[$user->userId]; $info[$id]['isMarked'] = !empty($avatars[$user->userId]['isMarked']); } if (!empty($info)) { $this->assign('userList', $info); } else { $this->assign('userList', null); } $user = $service->findUserById(OW::getUser()->getId()); $this->assign('userInList', !empty($user)); $this->assign('number_of_users', $this->settingList['number_of_users']); $this->assign('number_of_rows', 1); $this->assign('count', count($info)); $js = "\n\$(document).ready(function() {\n \$('.users_slideshow').cycle({\n\t\tfx: 'scrollUp',\n\t\tspeed: 300,\n\t\ttimeout: 4500\n\t});\n});"; if (count($info) > $this->settingList['number_of_users']) { OW::getDocument()->addOnloadScript($js); } }
public function index() { if (!OW::getUser()->isAuthenticated()) { throw new AuthenticateException(); } $form = new SubscribeForm(); $this->addForm($form); if (OW::getRequest()->isPost() && $form->isValid($_POST)) { $form->process(); } $membershipService = MEMBERSHIP_BOL_MembershipService::getInstance(); $authService = BOL_AuthorizationService::getInstance(); $actions = $membershipService->getSubscribePageGroupActionList(); $this->assign('groupActionList', $actions); $mTypes = $membershipService->getTypeList(); /* @var $defaultRole BOL_AuthorizationRole */ $defaultRole = $authService->getDefaultRole(); /* @var $default MEMBERSHIP_BOL_MembershipType */ $default = new MEMBERSHIP_BOL_MembershipType(); $default->roleId = $defaultRole->id; $mTypes = array_merge(array($default), $mTypes); $userId = OW::getUser()->getId(); $userMembership = $membershipService->getUserMembership($userId); $userRoleIds = array($defaultRole->id); if ($userMembership) { $type = $membershipService->findTypeById($userMembership->typeId); if ($type) { $userRoleIds[] = $type->roleId; } $this->assign('current', $userMembership); $this->assign('currentTitle', $membershipService->getMembershipTitle($type->roleId)); } $permissions = $authService->getPermissionList(); $perms = array(); foreach ($permissions as $permission) { /* @var $permission BOL_AuthorizationPermission */ $perms[$permission->roleId][$permission->actionId] = true; } $mPlans = $membershipService->getTypePlanList(); $mTypesPermissions = array(); foreach ($mTypes as $membership) { $mId = $membership->id; $data = array('id' => $mId, 'title' => $membershipService->getMembershipTitle($membership->roleId), 'roleId' => $membership->roleId, 'permissions' => isset($perms[$membership->roleId]) ? $perms[$membership->roleId] : null, 'current' => in_array($membership->roleId, $userRoleIds), 'plans' => isset($mPlans[$mId]) ? $mPlans[$mId] : null); $mTypesPermissions[$mId] = $data; } $this->assign('mTypePermissions', $mTypesPermissions); $this->assign('typesNumber', count($mTypes)); // collecting labels $event = new BASE_CLASS_EventCollector('admin.add_auth_labels'); OW::getEventManager()->trigger($event); $data = $event->getData(); $dataLabels = empty($data) ? array() : call_user_func_array('array_merge', $data); $this->assign('labels', $dataLabels); $gateways = BOL_BillingService::getInstance()->getActiveGatewaysList(); $this->assign('gatewaysActive', (bool) $gateways); $lang = OW::getLanguage(); $this->setPageHeading($lang->text('membership', 'subscribe_page_heading')); $this->setPageHeadingIconClass('ow_ic_user'); }
public function collectItems(BASE_CLASS_ConsoleItemCollector $event) { $language = OW::getLanguage(); $router = OW::getRouter(); //Hardik Changes for menu if (OW::getUser()->isAuthenticated()) { //$item = new BASE_CMP_ConsoleDropdownMenu(BOL_UserService::getInstance()->getDisplayName(OW::getUser()->getId())); $item = new BASE_CMP_ConsoleDropdownMenu(OW::getUser()->getUserObject()->getUsername()); $item->setUrl($router->urlForRoute('base_user_profile', array('username' => OW::getUser()->getUserObject()->getUsername()))); $item->addItem('main', array('label' => $language->text('base', 'console_item_label_profile'), 'url' => $router->urlForRoute('base_user_profile', array('username' => OW::getUser()->getUserObject()->getUsername())))); $item->addItem('main', array('label' => $language->text('base', 'edit_index'), 'url' => $router->urlForRoute('base_edit'))); // $item->addItem('main', array('label' => $language->text('base', 'preference_index'), 'url' => $router->urlForRoute('base_preference_index'))); if (OW::getUser()->isAdmin() || BOL_AuthorizationService::getInstance()->isModerator()) { $item->addItem('main', array('label' => $language->text('base', 'moderation_tools'), 'url' => $router->urlForRoute('base.moderation_tools'))); } $item->addItem('foot', array('label' => $language->text('base', 'console_item_label_sign_out'), 'url' => $router->urlForRoute('base_sign_out'))); $addItemsEvent = new BASE_CLASS_EventCollector('base.add_main_console_item'); OW::getEventManager()->trigger($addItemsEvent); $addItems = $addItemsEvent->getData(); // echo '<pre>'; // print_r($addItems); // echo '</pre>'; foreach ($addItems as $addItem) { if (!empty($addItem['label']) && !empty($addItem['url'])) { // $item->addItem('main', array('label' => $addItem['label'], 'url' => $addItem['url'])); } } $event->addItem($item, 2); if (OW::getUser()->isAdmin()) { $item = new BASE_CMP_ConsoleDropdownMenu($language->text('admin', 'main_menu_admin')); $item->setUrl($router->urlForRoute('admin_default')); $item->addItem('head', array('label' => $language->text('admin', 'console_item_admin_dashboard'), 'url' => $router->urlForRoute('admin_default'))); $item->addItem('main', array('label' => $language->text('admin', 'console_item_manage_theme'), 'url' => $router->urlForRoute('admin_themes_edit'))); $item->addItem('main', array('label' => $language->text('admin', 'console_item_manage_users'), 'url' => $router->urlForRoute('admin_users_browse'))); $item->addItem('main', array('label' => $language->text('admin', 'console_item_manage_pages'), 'url' => $router->urlForRoute('admin_pages_main'))); $item->addItem('main', array('label' => $language->text('admin', 'console_item_manage_plugins'), 'url' => $router->urlForRoute('admin_plugins_installed'))); $event->addItem($item, 1); } } else { $buttonListEvent = new BASE_CLASS_EventCollector(BASE_CMP_ConnectButtonList::HOOK_REMOTE_AUTH_BUTTON_LIST); OW::getEventManager()->trigger($buttonListEvent); $buttonList = $buttonListEvent->getData(); $iconListMarkup = ''; foreach ($buttonList as $button) { $iconListMarkup .= '<span class="ow_ico_signin ' . $button['iconClass'] . '"></span>'; } $cmp = new BASE_CMP_SignIn(true); $signInMarkup = '<div style="display:none"><div id="base_cmp_floatbox_ajax_signin">' . $cmp->render() . '</div></div>'; $item = new BASE_CMP_ConsoleItem(); $item->setControl($signInMarkup . '<span class="ow_signin_label' . (empty($buttonList) ? '' : ' ow_signin_delimiter') . '">' . $language->text('base', 'sign_in_submit_label') . '</span>' . $iconListMarkup); $event->addItem($item, 2); OW::getDocument()->addOnloadScript("\n \$('#" . $item->getUniqId() . "').click(function(){new OW_FloatBox({ \$contents: \$('#base_cmp_floatbox_ajax_signin')});});\n "); $item = new BASE_CMP_ConsoleButton($language->text('base', 'console_item_sign_up_label'), OW::getRouter()->urlForRoute('base_join')); $event->addItem($item, 1); } $item = new BASE_CMP_ConsoleSwitchLanguage(); $event->addItem($item, 0); }
public function getProgressbarData($userId, $isOwner = false) { if (empty($userId)) { return NULL; } $user = BOL_UserService::getInstance()->findUserById($userId); if (empty($user)) { return NULL; } $questions = BOL_QuestionService::getInstance()->findAllQuestionsForAccountType($user->getAccountType()); $questionNameList = array(); foreach ($questions as $question) { $questionNameList[] = $question['name']; } $questionData = BOL_QuestionService::getInstance()->getQuestionData(array($userId), $questionNameList); $data = array(self::KEY_PROGRESSBAR => array(self::COUNT_QUESTION => count($questions), self::COUNT_COMPLETED_QUESTION => count(array_filter($questionData[$userId])))); $authService = BOL_AuthorizationService::getInstance(); $defaultFeatures = self::getEntityTypes(); $features = array_filter(get_object_vars(json_decode(OW::getConfig()->getValue('profileprogressbar', 'features')))); $_features = array(); $actions = array('blogs' => 'add', 'event' => 'add_event', 'forum' => 'edit', 'friends' => 'add_friend', 'groups' => 'create', 'links' => 'add', 'photo' => 'upload', 'video' => 'add', 'virtualgifts' => 'send_gift'); foreach ($features as $feature => $count) { if (isset($actions[$feature]) && $authService->isActionAuthorizedForUser($userId, $feature, $actions[$feature])) { $data[self::KEY_PROGRESSBAR][self::COUNT_QUESTION] += $count; $_features[$defaultFeatures[$feature]] = $count; } } $data[self::KEY_PROGRESSBAR][self::COUNT_COMPLETED_QUESTION] += (int) $this->getCompletedFeaturesCount($userId, array_keys($_features)); if ($isOwner) { $langFeatures = array(); $completedFeatures = $this->getCompletedFeatures($userId, array_keys($_features)); foreach ($_features as $feature => $count) { $need = NULL; if (!isset($completedFeatures[$feature]) || ($need = $count - $completedFeatures[$feature]) > 0) { $_feature = array_search($feature, $defaultFeatures); $langFeatures[$_feature] = OW::getLanguage()->text('profileprogressbar', $_feature . '_desc'); $langFeatures[$_feature . 'Count'] = $need === NULL ? $count : $need; } } if (count($langFeatures) > 0) { $vars = array(); foreach ($langFeatures as $key => $value) { $vars['{$' . $key . '}'] = $value; } $hintText = explode('#', OW::getLanguage()->text('profileprogressbar', 'hint_text')); foreach ($hintText as $key => $hint) { $hintText[$key] = str_replace(array_keys($vars), array_values($vars), $hint); } function unsetUnusedHint($val) { return strpos($val, '{$') === FALSE; } $hintText = array_filter($hintText, 'unsetUnusedHint'); $data[self::KEY_HINT] = trim(implode('', $hintText)); } } return $data; }
public function delete($params) { if (!(OW::getUser()->isAdmin() || BOL_AuthorizationService::getInstance()->isModerator())) { exit; } BOL_FlagService::getInstance()->deleteById($params['id']); OW::getFeedback()->info(OW::getLanguage()->text('base', 'flags_deleted')); $this->redirect($_SERVER['HTTP_REFERER']); }
public function checkpageurl($author) { if (!OW::getUser()->isAuthenticated()) { throw new AuthenticateException(); } if (!OW::getUser()->isAuthorized('spdownload', $author)) { $status = BOL_AuthorizationService::getInstance()->getActionStatus('spdownload', $author); throw new AuthorizationException($status['msg']); return; } }
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 = BOL_AuthorizationService::getInstance()->getActionStatus("hotlist", "add_to_list"); $promoted = $status["status"] == BOL_AuthorizationService::STATUS_PROMOTED; } $this->assign("authorized", $authorized); $this->assign("promoted", $promoted); }
public function index($params) { $document = OW::getDocument(); $menu = UHEADER_CTRL_Admin::getMenu(); $menu->getElement("gallery")->setActive(true); $this->addComponent("menu", $menu); $tplId = empty($params["tplId"]) ? null : $params["tplId"]; $roleId = empty($_GET["role"]) ? null : $_GET["role"]; UHEADER_CLASS_Plugin::getInstance()->includeStatic(); UHEADER_CLASS_Plugin::getInstance()->includeStaticFile("admin.css"); $uniqId = uniqid("uheader-cg-"); if (empty($roleId) && !empty($tplId)) { $roles = $this->service->findRoleIdsByTemplateId($tplId); if (!empty($roles)) { $roleId = reset($roles); } } $roleIds = $roleId === null ? null : array($roleId); $list = $this->service->findTemplateList($roleIds); $tplList = array(); foreach ($list as $template) { /*@var $template UHEADER_BOL_Template */ $tplList[$template->id] = $this->getTplInfo($template); } $currentItem = $tplId === null || empty($tplList[$tplId]) ? reset($tplList) : $tplList[$tplId]; $this->assign("list", $tplList); $this->assign("current", $currentItem); $this->assign("uploader", OW::getRouter()->urlFor(__CLASS__, "templateUploader")); $this->assign("uniqId", $uniqId); $config = array(); $config['avatarSize'] = $this->config['avatar_big_size']; $config['coverHeight'] = $this->config["cover_height"]; $config['previewHeight'] = self::ITEM_WIDTH / self::CANVAS_WIDTH * $config['coverHeight']; $this->assign("config", $config); $this->addComponent("contextToolbar", $this->getContextToolbar()); $settings = array("rsp" => OW::getRouter()->urlFor(__CLASS__, "rsp"), "current" => $currentItem); $js = UTIL_JsGenerator::newInstance(); $js->newObject(array("UHEADER", "activeGallery"), "UHEADER.AdminGallery", array($uniqId, $settings)); $document->addOnloadScript($js); $roles = BOL_AuthorizationService::getInstance()->findNonGuestRoleList(); $tplRoles = array(); foreach ($roles as $role) { /* @var $role BOL_AuthorizationRole */ $roleLabel = BOL_AuthorizationService::getInstance()->getRoleLabel($role->name); $tplRoles[] = array("id" => $role->id, "selected" => $roleId == $role->id, "label" => $roleLabel, "url" => OW::getRequest()->buildUrlQueryString(OW::getRouter()->urlForRoute("uheader-settings-gallery"), array("role" => $role->id))); } $this->assign("currentRoleId", $roleId); $this->assign("roleList", $tplRoles); $this->assign("allListUrl", OW::getRouter()->urlForRoute("uheader-settings-gallery")); $this->assign("previewWidth", self::ITEM_WIDTH); $this->initInfoLines(); $this->assign("pluginUrl", UHEADER_CTRL_Admin::PLUGIN_STORE_URL); }
/** * Controller's default action */ public function index() { $isModerator = OW::getUser()->isAuthorized('forum'); $viewPermissions = OW::getUser()->isAuthorized('forum', 'view'); if (!$viewPermissions && !$isModerator) { $status = BOL_AuthorizationService::getInstance()->getActionStatus('forum', 'view'); throw new AuthorizationException($status['msg']); } $forumService = FORUM_BOL_ForumService::getInstance(); $this->assign('customizeUrl', OW::getRouter()->urlForRoute('customize-default')); $this->assign('isModerator', $isModerator); $userId = OW::getUser()->getId(); $sectionGroupList = $forumService->getSectionGroupList($userId); $singleForumMode = $forumService->isSingleForumMode($sectionGroupList); $this->assign('singleMode', $singleForumMode); if ($singleForumMode) { $firstSection = array_shift($sectionGroupList); $firstGroup = $firstSection['groups'][0]; $groupId = $firstGroup['id']; $this->addComponent('groupCmp', new FORUM_CMP_ForumGroup(array('groupId' => $groupId, 'caption' => false))); $groupName = htmlspecialchars($firstGroup['name']); OW::getDocument()->setHeading(OW::getLanguage()->text('forum', 'forum_page_heading', array('forum' => $groupName))); OW::getDocument()->setTitle($groupName); OW::getDocument()->setDescription(htmlspecialchars($firstGroup['description'])); } else { $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); OW::getDocument()->setHeading(OW::getLanguage()->text('forum', 'forum')); $this->addComponent('search', new FORUM_CMP_ForumSearch(array('scope' => 'all_forum'))); } $plugin = OW::getPluginManager()->getPlugin('forum'); $template = $plugin->getCtrlViewDir() . 'index.html'; $this->setTemplate($template); OW::getDocument()->setHeadingIconClass('ow_ic_forum'); OW::getDocument()->setDescription(OW::getLanguage()->text('forum', 'meta_description_forums')); }
private function getUserInfo() { $user = array(); $user['id'] = $this->userId; $onlineUser = BOL_UserService::getInstance()->findOnlineUserById($this->userId); $user['isOnline'] = $onlineUser !== null; $avatar = BOL_AvatarService::getInstance()->getAvatarUrl($this->userId, 2); $user['avatar'] = $avatar ? $avatar : BOL_AvatarService::getInstance()->getDefaultAvatarUrl(2); $roles = BOL_AuthorizationService::getInstance()->getRoleListOfUsers(array($this->userId)); $user['role'] = !empty($roles[$this->userId]) ? $roles[$this->userId] : null; $user['displayName'] = BOL_UserService::getInstance()->getDisplayName($this->userId); $user["photosUrl"] = UHEADER_CLASS_UavatarsBridge::getInstance()->hasHistory($this->userId) ? null : UHEADER_CLASS_PhotoBridge::getInstance()->getUserPhotosUrl($this->userId); return $user; }
public function trackVisit(OW_Event $event) { $params = $event->getParams(); if (empty($params['userId']) || empty($params['guestId'])) { return; } $userId = $params['userId']; $guestId = $params['guestId']; $authService = BOL_AuthorizationService::getInstance(); $isAdmin = $authService->isActionAuthorizedForUser($guestId, 'admin') || $authService->isActionAuthorizedForUser($guestId, 'base'); if ($userId && $guestId && $guestId != $userId && !$isAdmin) { OCSGUESTS_BOL_Service::getInstance()->trackVisit($userId, $guestId); } }
private function getUserInfo() { $permissions = $this->getPemissions(); $user = array(); $user['id'] = $this->userId; $onlineUser = BOL_UserService::getInstance()->findOnlineUserById($this->userId); $user['isOnline'] = $onlineUser !== null; $avatar = BOL_AvatarService::getInstance()->getAvatarUrl($this->userId, 2, null, true, !$permissions["viewAvatar"]); $user['avatar'] = $avatar ? $avatar : null; $roles = BOL_AuthorizationService::getInstance()->getRoleListOfUsers(array($this->userId)); $user['role'] = !empty($roles[$this->userId]) ? $roles[$this->userId] : null; $user['displayName'] = BOL_UserService::getInstance()->getDisplayName($this->userId); return $user; }
public function index($params) { if (!OW::getUser()->isAuthenticated()) { throw new AuthenticateException(); } $this->setPageHeading(OW::getLanguage()->text('mailbox', 'page_heading_messages')); $conversationService = MAILBOX_BOL_ConversationService::getInstance(); $listParams = array(); if (!empty($params['convId'])) { $listParams['conversationId'] = $params['convId']; $conversation = $conversationService->getConversation($params['convId']); if (empty($conversation)) { throw new Redirect404Exception(); } /*$conversationMode = $conversationService->getConversationMode($params['convId']); if ($conversationMode != 'mail') { throw new Redirect404Exception(); }*/ } $listParams['activeModeList'] = $conversationService->getActiveModeList(); //Conversation list $conversationList = new MAILBOX_CMP_ConversationList($listParams); $this->addComponent('conversationList', $conversationList); $conversationContainer = new MAILBOX_CMP_Conversation(); $this->addComponent('conversationContainer', $conversationContainer); $activeModeList = $conversationService->getActiveModeList(); $mailModeEnabled = in_array('mail', $activeModeList) ? true : false; $this->assign('mailModeEnabled', $mailModeEnabled); $actionName = 'send_message'; $event = new OW_Event('mailbox.show_send_message_button', array(), false); OW::getEventManager()->trigger($event); $showSendMessage = $event->getData(); $isAuthorizedSendMessage = $showSendMessage && OW::getUser()->isAuthorized('mailbox', $actionName); if (!$isAuthorizedSendMessage) { $status = BOL_AuthorizationService::getInstance()->getActionStatus('mailbox', $actionName); if ($status['status'] == BOL_AuthorizationService::STATUS_PROMOTED) { $script = '$("#newMessageBtn").click(function(){ OW.authorizationLimitedFloatbox(' . json_encode($status['msg']) . '); });'; OW::getDocument()->addOnloadScript($script); $isAuthorizedSendMessage = true; //the service is promoted } } $this->assign('isAuthorizedSendMessage', $isAuthorizedSendMessage); $chatModeEnabled = in_array('chat', $activeModeList) ? true : false; $this->assign('chatModeEnabled', $chatModeEnabled); }
public function collectToolbar() { if ($this->toolbarCollected) { return; } $userId = $this->userId; $event = new BASE_CLASS_EventCollector(self::EVENT_NAME, array('userId' => $userId)); OW::getEventManager()->trigger($event); $this->toolbarItems = $event->getData(); $userService = BOL_UserService::getInstance(); $language = OW::getLanguage(); $isAdmin = OW::getUser()->isAuthorized('base'); $isModerator = BOL_AuthorizationService::getInstance()->isModerator(); $isApproved = $userService->isApproved($userId); $myself = OW::getUser()->getId() == $userId; $isSuspended = $userService->isSuspended($userId); $isFeatured = $userService->isUserFeatured($userId); $isBlocked = $userService->isBlocked($userId); $backUrl = OW::getRouter()->getBaseUrl() . OW::getRequest()->getRequestUri(); if ($isAdmin) { if (!$myself) { if ($isSuspended) { $url = OW::getRouter()->urlFor('BASE_CTRL_SuspendedUser', 'unsuspend', array('id' => $userId)); $url .= '?backUrl=' . $backUrl; $this->toolbarItems[] = array(self::DATA_KEY_LINK_HREF => $url, self::DATA_KEY_LINK_CLASS => 'ow_mild_green', self::DATA_KEY_LABEL => $language->text('base', 'user_unsuspend_btn_lbl')); } else { $url = OW::getRouter()->urlFor('BASE_CTRL_SuspendedUser', 'suspend', array('id' => $userId)); $url .= '?backUrl=' . $backUrl; $this->toolbarItems[] = array(self::DATA_KEY_LINK_HREF => $url, self::DATA_KEY_LINK_CLASS => 'ow_mild_red', self::DATA_KEY_LABEL => $language->text('base', 'user_suspend_btn_lbl')); } } $this->toolbarItems[] = array(self::DATA_KEY_LINK_CLASS => 'ow_mild_green', self::DATA_KEY_LABEL => $language->text('base', 'authorization_give_user_role'), 'extra' => 'data-userid="' . $userId . '" data-fbtitle="' . $language->text('base', 'authorization_user_roles') . '" onclick="window.baseChangeUserRoleFB = OW.ajaxFloatBox(\'BASE_CMP_GiveUserRole\', [$(this).data().userid], { width:556, title: $(this).data().fbtitle });"'); if (!$isApproved) { $url = OW::getRouter()->urlFor('BASE_CTRL_User', 'approve', array('userId' => $userId)); $url .= '?backUrl=' . $backUrl; $this->toolbarItems[] = array(self::DATA_KEY_LINK_HREF => $url, self::DATA_KEY_LINK_CLASS => 'ow_mild_green', self::DATA_KEY_LABEL => $language->text('base', 'profile_toolbar_user_approve_label')); } if ($isFeatured) { $url = OW::getRouter()->urlFor('BASE_CTRL_User', 'controlFeatured', array('id' => $userId, 'command' => 'unmark')); $url .= '?backUrl=' . $backUrl; $this->toolbarItems[] = array(self::DATA_KEY_LINK_HREF => $url, self::DATA_KEY_LABEL => $language->text('base', 'user_action_unmark_as_featured')); } else { $url = OW::getRouter()->urlFor('BASE_CTRL_User', 'controlFeatured', array('id' => $userId, 'command' => 'mark')); $url .= '?backUrl=' . $backUrl; $this->toolbarItems[] = array(self::DATA_KEY_LINK_HREF => $url, self::DATA_KEY_LABEL => $language->text('base', 'user_action_mark_as_featured')); } } $this->toolbarCollected = true; }