/**
  * Logs out current user.
  */
 public function logout()
 {
     if ($this->isAuthenticated()) {
         $this->service->deleteTokenForUser($this->getUserId());
         $this->token = null;
     }
 }
Exemple #2
0
 /**
  * @see OW_AuthAdapter::authenticate()
  *
  * @return OW_AuthResult
  */
 function authenticate()
 {
     $user = $this->userService->findUserForStandardAuth($this->identity);
     $language = OW::getLanguage();
     if ($user === null) {
         return new OW_AuthResult(OW_AuthResult::FAILURE_IDENTITY_NOT_FOUND, null, array($language->text('base', 'auth_identity_not_found_error_message')));
     }
     if ($user->getPassword() !== BOL_UserService::getInstance()->hashPassword($this->password)) {
         return new OW_AuthResult(OW_AuthResult::FAILURE_PASSWORD_INVALID, null, array($language->text('base', 'auth_invlid_password_error_message')));
     }
     return new OW_AuthResult(OW_AuthResult::SUCCESS, $user->getId(), array($language->text('base', 'auth_success_message')));
 }
Exemple #3
0
 public function getMenu($userId)
 {
     $items = array();
     $pluginManager = OW::getPluginManager();
     $items[] = array("type" => self::MENU_TYPE_AVATAR, "key" => "user", "label" => $this->userService->getDisplayName($userId), "avatarUrl" => BOL_AvatarService::getInstance()->getAvatarUrl($userId, 2));
     if ($pluginManager->isPluginActive('usearch')) {
         $items[] = array("type" => self::MENU_TYPE_MAIN, "key" => "search", "count" => 0);
     }
     if ($pluginManager->isPluginActive('mailbox')) {
         $modes = OW::getEventManager()->call('mailbox.get_active_mode_list');
         $count = MAILBOX_BOL_MessageDao::getInstance()->findUnreadMessages($userId, array(), time(), $modes);
         $count = count($count);
         //            $count = OW::getEventManager()->call("mailbox.get_unread_message_count", array(
         //                "userId" => $userId
         //            ));
         //            $count = MAILBOX_BOL_ConversationService::getInstance()->getUnreadMessageCount($userId);
         $items[] = array("type" => self::MENU_TYPE_MAIN, 'key' => 'mailbox', 'label' => $this->text("main_menu_messages"), 'count' => $count);
     }
     if ($pluginManager->isPluginActive('matchmaking')) {
         $items[] = array("type" => self::MENU_TYPE_MAIN, "key" => "matches", "count" => 0);
     }
     $items[] = array("type" => self::MENU_TYPE_MAIN, "key" => "speed_match", "count" => 0);
     if ($pluginManager->isPluginActive('ocsguests')) {
         $count = OW::getEventManager()->call("guests.get_new_guests_count", array("userId" => $userId));
         $items[] = array("type" => self::MENU_TYPE_MAIN, "key" => "guests", "count" => $count);
     }
     if ($pluginManager->isPluginActive("bookmarks")) {
         $items[] = array("type" => self::MENU_TYPE_MAIN, "key" => "bookmarks", "count" => 0);
     }
     if ($this->isBillingEnabled()) {
         if ($pluginManager->isPluginActive("membership") && $pluginManager->isPluginActive("usercredits")) {
             $items[] = array("type" => self::MENU_TYPE_MAIN, "key" => "memberships_and_credits", "count" => 0);
         } else {
             if ($pluginManager->isPluginActive("membership")) {
                 $items[] = array("type" => self::MENU_TYPE_MAIN, "key" => "memberships", "count" => 0);
             } else {
                 if ($pluginManager->isPluginActive("usercredits")) {
                     $items[] = array("type" => self::MENU_TYPE_MAIN, "key" => "credits", "count" => 0);
                 }
             }
         }
     }
     //$items[] = array("type" => self::MENU_TYPE_MAIN, "key" => "subscribe", "count" => 0);
     $items[] = array("type" => self::MENU_TYPE_MAIN, "key" => "about", "count" => 0);
     $items[] = array("type" => self::MENU_TYPE_BOTTOM, 'key' => "terms");
     $items[] = array("type" => self::MENU_TYPE_BOTTOM, 'key' => "logout");
     return $items;
 }
Exemple #4
0
 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'))));
 }
Exemple #5
0
 /**
  * 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');
 }
Exemple #6
0
 /**
  * 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);
 }
Exemple #7
0
 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; }');
 }
Exemple #8
0
 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);
     }
 }
 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;
 }
Exemple #10
0
 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;
 }
Exemple #11
0
 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);
 }
Exemple #12
0
 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'));
         }
     }
 }
 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;
 }
Exemple #14
0
 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'))));
 }
Exemple #15
0
 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);
 }
Exemple #16
0
 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)))));
 }
Exemple #17
0
 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);
 }
Exemple #18
0
 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);
                 }
             }
         }
     }
 }
Exemple #19
0
 /**
  * @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);
 }
Exemple #20
0
 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);
 }
Exemple #21
0
 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();
         }
     }
 }
Exemple #22
0
 /**
  * @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);
 }
Exemple #23
0
 /**
  * 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);
     }
 }
Exemple #24
0
 /**
  * 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');
 }
Exemple #25
0
 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);
 }
Exemple #26
0
 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));
 }
Exemple #27
0
 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);
 }
Exemple #28
0
 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);
 }
Exemple #29
0
 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);
 }
Exemple #30
0
 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));
 }