Beispiel #1
0
 /**
  * Default action
  */
 public function index()
 {
     $language = OW::getLanguage();
     $giftsService = VIRTUALGIFTS_BOL_VirtualGiftsService::getInstance();
     $page = !empty($_GET['page']) && (int) $_GET['page'] ? abs((int) $_GET['page']) : 1;
     $perPage = $giftsService->getGiftsPerPageConfig();
     $gifts = $giftsService->findUserReceivedGifts(OW::getUser()->getId(), $page, $perPage, false);
     $toolbars = array();
     if ($gifts) {
         $users = array();
         foreach ($gifts as $gift) {
             if (!in_array($gift['dto']->senderId, $users)) {
                 array_push($users, $gift['dto']->senderId);
             }
         }
         $avatars = BOL_AvatarService::getInstance()->getDataForUserAvatars($users);
         $this->assign('avatars', $avatars);
         foreach ($gifts as $gift) {
             $giftId = $gift['dto']->id;
             $senderId = $gift['dto']->senderId;
             $toolbars[$giftId][] = array('class' => 'ow_icon_control ow_ic_user', 'href' => isset($avatars[$senderId]['url']) ? $avatars[$senderId]['url'] : null, 'label' => isset($avatars[$senderId]['title']) ? $avatars[$senderId]['title'] : null);
             if ($gift['dto']->private) {
                 $toolbars[$giftId][] = array('title' => $language->text('virtualgifts', 'private_gift_note'), 'label' => $language->text('virtualgifts', 'private_gift'));
             }
             $toolbars[$giftId][] = array('label' => UTIL_DateTime::formatSimpleDate($gift['dto']->sendTimestamp));
         }
     }
     $this->assign('gifts', $gifts);
     $this->assign('toolbars', $toolbars);
     $total = $giftsService->countUserReceivedGifts(OW::getUser()->getId(), false);
     $pages = (int) ceil($total / $perPage);
     $paging = new BASE_CMP_Paging($page, $pages, 10);
     $this->assign('paging', $paging->render());
     $this->setPageHeading(OW::getLanguage()->text('virtualgifts', 'my_gifts'));
     $this->setPageHeadingIconClass('ow_ic_heart');
     OW::getDocument()->setTitle($language->text('virtualgifts', 'meta_title_my_gifts'));
     OW::getNavigation()->activateMenuItem(OW_Navigation::MAIN, 'base', 'dashboard');
     $url = OW::getPluginManager()->getPlugin('virtualgifts')->getStaticCssUrl() . 'style.css';
     OW::getDocument()->addStyleSheet($url);
 }
Beispiel #2
0
 public function generatePhotoList($photos)
 {
     $unique = uniqid(time(), true);
     if ($photos) {
         foreach ($photos as $key => $photo) {
             $entityIdList[] = $photo->id;
             $photos[$key]->title = UTIL_HtmlTag::autoLink($photos[$key]->title);
             $photos[$key]->unique = $unique;
             $photos[$key]->addDatetime = UTIL_DateTime::formatSimpleDate($photos[$key]->addDatetime, true);
         }
     }
     return array('status' => 'success', 'data' => array('photoList' => $photos, 'unique' => $unique));
 }
Beispiel #3
0
 /**
  * Prepares data for ipc listing with toolbar.
  *
  * @param array<EVENT_BOL_Event> $events
  * @return array
  */
 public function getListingDataWithToolbar(array $events, $toolbarList = array())
 {
     $resultArray = $this->getListingData($events);
     $userService = BOL_UserService::getInstance();
     $idArray = array();
     /* @var $event EVENT_BOL_Event */
     foreach ($events as $event) {
         $idArray[] = $event->getUserId();
     }
     $usernames = $userService->getDisplayNamesForList($idArray);
     $urls = $userService->getUserUrlsForList($idArray);
     $language = OW::getLanguage();
     /* @var $eventItem EVENT_BOL_Event */
     foreach ($events as $eventItem) {
         $resultArray[$eventItem->getId()]['toolbar'][] = array('label' => $usernames[$eventItem->getUserId()], 'href' => $urls[$eventItem->getUserId()], 'class' => 'ow_icon_control ow_ic_user');
         $resultArray[$eventItem->getId()]['toolbar'][] = array('label' => UTIL_DateTime::formatSimpleDate($eventItem->getStartTimeStamp(), $eventItem->getStartTimeDisable()), 'class' => 'ow_ipc_date');
         if (!empty($toolbarList[$eventItem->getId()])) {
             $resultArray[$eventItem->getId()]['toolbar'] = array_merge($resultArray[$eventItem->getId()]['toolbar'], $toolbarList[$eventItem->getId()]);
         }
         /* if( !empty($isInviteList) )
            {
                $resultArray[$eventItem->getId()]['toolbar'][] = array('label' => $language->text('event', 'ignore_request'),'href' => 'event.invite_acept');
                $resultArray[$eventItem->getId()]['toolbar'][] = array('label' => $language->text('event', 'accept_request'),'href' => 'event.invite_decline');
            }*/
     }
     //printVar($resultArray);
     return $resultArray;
 }
 public static function formatDate(array $params, $smarty)
 {
     $timeStamp = (int) $params['timestamp'];
     $onlyDate = null;
     if (!$timeStamp) {
         return '_INVALID_TS_';
     }
     if (!(bool) OW::getConfig()->getValue('base', 'site_use_relative_time')) {
         return UTIL_DateTime::formatSimpleDate($timeStamp, $onlyDate);
     }
     $language = OW::getLanguage();
     $militaryTime = (bool) OW::getConfig()->getValue('base', 'military_time');
     $currentTs = time();
     $isCurrentDay = date('j', $timeStamp) === date('j', $currentTs);
     $isCurrentMonth = date('n', $timeStamp) === date('n', $currentTs);
     $isCurrentYear = date('Y', $timeStamp) === date('Y', $currentTs);
     $isTomorrow = date('j', $timeStamp) - date('j', $currentTs) === 1;
     $isYesterday = date('j', $currentTs) - date('j', $timeStamp) === 1;
     if ($isCurrentMonth && $isCurrentYear) {
         if ($isCurrentDay) {
             if ($onlyDate) {
                 return $language->text('base', 'date_time_today');
             }
             $seconds = $currentTs - $timeStamp;
             $past = $seconds >= 0;
             $seconds = abs($seconds);
             switch (true) {
                 case $seconds < 60:
                     return $language->text('base', 'date_time_within_one_minute');
                 case $seconds < 120:
                     return $past ? $language->text('base', 'date_time_one_minute_ago') : $language->text('membership', 'date_time_in_one_minute');
                 case $seconds < 3600:
                     $data = array('minutes' => floor($seconds / 60));
                     return $past ? $language->text('base', 'date_time_minutes_ago', $data) : $language->text('membership', 'date_time_in_minutes', $data);
                 case $seconds < 7200:
                     return $past ? $language->text('base', 'date_time_one_hour_ago') : $language->text('membership', 'date_time_in_one_hour');
                 default:
                     $data = array('hours' => floor($seconds / 3600));
                     return $past ? $language->text('base', 'date_time_hours_ago', $data) : $language->text('membership', 'date_time_in_hours', $data);
             }
         } else {
             if ($isYesterday) {
                 if ($onlyDate) {
                     return $language->text('base', 'date_time_yesterday');
                 }
                 return $language->text('base', 'date_time_yesterday') . ', ' . ($militaryTime ? strftime("%H:%M", $timeStamp) : strftime("%I:%M%p", $timeStamp));
             } else {
                 if ($isTomorrow) {
                     if ($onlyDate) {
                         return $language->text('membership', 'date_time_tomorrow');
                     }
                     return $language->text('membership', 'date_time_tomorrow') . ', ' . ($militaryTime ? strftime("%H:%M", $timeStamp) : strftime("%I:%M%p", $timeStamp));
                 }
             }
         }
     }
     if ($onlyDate === null) {
         $onlyDate = true;
     }
     return UTIL_DateTime::formatSimpleDate($timeStamp, $onlyDate);
 }
Beispiel #5
0
 /**
  * View event controller
  * 
  * @param array $params
  */
 public function view($params)
 {
     $event = $this->getEventForParams($params);
     $cmpId = UTIL_HtmlTag::generateAutoId('cmp');
     $this->assign('contId', $cmpId);
     if (!OW::getUser()->isAuthorized('event', 'view_event') && $event->getUserId() != OW::getUser()->getId()) {
         $status = BOL_AuthorizationService::getInstance()->getActionStatus('event', 'view_event');
         throw new AuthorizationException($status['msg']);
     }
     if ($event->status != 1 && !OW::getUser()->isAuthorized('event') && $event->getUserId() != OW::getUser()->getId()) {
         throw new Redirect403Exception();
     }
     // guest gan't view private events
     if ((int) $event->getWhoCanView() === EVENT_BOL_EventService::CAN_VIEW_INVITATION_ONLY && !OW::getUser()->isAuthenticated()) {
         $this->redirect(OW::getRouter()->urlForRoute('event.private_event', array('eventId' => $event->getId())));
     }
     $eventInvite = $this->eventService->findEventInvite($event->getId(), OW::getUser()->getId());
     $eventUser = $this->eventService->findEventUser($event->getId(), OW::getUser()->getId());
     // check if user can view event
     if ((int) $event->getWhoCanView() === EVENT_BOL_EventService::CAN_VIEW_INVITATION_ONLY && $eventUser === null && $eventInvite === null && !OW::getUser()->isAuthorized('event')) {
         $this->redirect(OW::getRouter()->urlForRoute('event.private_event', array('eventId' => $event->getId())));
     }
     $buttons = array();
     $toolbar = array();
     if (OW::getUser()->isAuthorized('event') || OW::getUser()->getId() == $event->getUserId()) {
         $buttons = array('edit' => array('url' => OW::getRouter()->urlForRoute('event.edit', array('eventId' => $event->getId())), 'label' => OW::getLanguage()->text('event', 'edit_button_label')), 'delete' => array('url' => OW::getRouter()->urlForRoute('event.delete', array('eventId' => $event->getId())), 'label' => OW::getLanguage()->text('event', 'delete_button_label'), 'confirmMessage' => OW::getLanguage()->text('event', 'delete_confirm_message')));
     }
     $this->assign('editArray', $buttons);
     OW::getNavigation()->activateMenuItem(OW_Navigation::MAIN, 'event', 'main_menu_item');
     $moderationStatus = '';
     if ($event->status == 2) {
         $moderationStatus = " <span class='ow_remark ow_small'>(" . OW::getLanguage()->text('event', 'moderation_status_pending_approval') . ")</span>";
     }
     $this->setPageHeading($event->getTitle() . $moderationStatus);
     $this->setPageTitle(OW::getLanguage()->text('event', 'event_view_page_heading', array('event_title' => $event->getTitle())));
     $this->setPageHeadingIconClass('ow_ic_calendar');
     OW::getDocument()->setDescription(UTIL_String::truncate(strip_tags($event->getDescription()), 200, '...'));
     $infoArray = array('id' => $event->getId(), 'image' => $event->getImage() ? $this->eventService->generateImageUrl($event->getImage(), false) : null, 'date' => UTIL_DateTime::formatSimpleDate($event->getStartTimeStamp(), $event->getStartTimeDisable()), 'endDate' => $event->getEndTimeStamp() === null || !$event->getEndDateFlag() ? null : UTIL_DateTime::formatSimpleDate($event->getEndTimeDisable() ? strtotime("-1 day", $event->getEndTimeStamp()) : $event->getEndTimeStamp(), $event->getEndTimeDisable()), 'location' => $event->getLocation(), 'desc' => UTIL_HtmlTag::autoLink($event->getDescription()), 'title' => $event->getTitle(), 'creatorName' => BOL_UserService::getInstance()->getDisplayName($event->getUserId()), 'creatorLink' => BOL_UserService::getInstance()->getUserUrl($event->getUserId()), 'moderationStatus' => $event->status);
     $this->assign('info', $infoArray);
     // event attend form
     if (OW::getUser()->isAuthenticated() && $event->getEndTimeStamp() > time()) {
         if ($eventUser !== null) {
             $this->assign('currentStatus', OW::getLanguage()->text('event', 'user_status_label_' . $eventUser->getStatus()));
         }
         $this->addForm(new AttendForm($event->getId(), $cmpId));
         $onloadJs = "\n                var \$context = \$('#" . $cmpId . "');\n                \$('#event_attend_yes_btn').click(\n                    function(){\n                        \$('input[name=attend_status]', \$context).val(" . EVENT_BOL_EventService::USER_STATUS_YES . ");\n                    }\n                );\n                \$('#event_attend_maybe_btn').click(\n                    function(){\n                        \$('input[name=attend_status]', \$context).val(" . EVENT_BOL_EventService::USER_STATUS_MAYBE . ");\n                    }\n                );\n                \$('#event_attend_no_btn').click(\n                    function(){\n                        \$('input[name=attend_status]', \$context).val(" . EVENT_BOL_EventService::USER_STATUS_NO . ");\n                    }\n                );\n\n                \$('.current_status a', \$context).click(\n                    function(){\n                        \$('.attend_buttons .buttons', \$context).fadeIn(500);\n                    }\n                );\n            ";
         OW::getDocument()->addOnloadScript($onloadJs);
     } else {
         $this->assign('no_attend_form', true);
     }
     if ($event->status == EVENT_BOL_EventService::MODERATION_STATUS_ACTIVE && ($event->getEndTimeStamp() > time() && ((int) $event->getUserId() === OW::getUser()->getId() || (int) $event->getWhoCanInvite() === EVENT_BOL_EventService::CAN_INVITE_PARTICIPANT && $eventUser !== null))) {
         $params = array($event->id);
         $this->assign('inviteLink', true);
         OW::getDocument()->addOnloadScript("\n                var eventFloatBox;\n                \$('#inviteLink', \$('#" . $cmpId . "')).click(\n                    function(){\n                        eventFloatBox = OW.ajaxFloatBox('EVENT_CMP_InviteUserListSelect', " . json_encode($params) . ", {width:600, iconClass: 'ow_ic_user', title: " . json_encode(OW::getLanguage()->text('event', 'friends_invite_button_label')) . "});\n                    }\n                );\n                OW.bind('base.avatar_user_list_select',\n                    function(list){\n                        eventFloatBox.close();\n                        \$.ajax({\n                            type: 'POST',\n                            url: " . json_encode(OW::getRouter()->urlFor('EVENT_CTRL_Base', 'inviteResponder')) . ",\n                            data: 'eventId=" . json_encode($event->getId()) . "&userIdList='+JSON.stringify(list),\n                            dataType: 'json',\n                            success : function(data){\n                                if( data.messageType == 'error' ){\n                                    OW.error(data.message);\n                                }\n                                else{\n                                    OW.info(data.message);\n                                }\n                            },\n                            error : function( XMLHttpRequest, textStatus, errorThrown ){\n                                OW.error(textStatus);\n                            }\n                        });\n                    }\n                );\n            ");
     }
     if ($event->status == EVENT_BOL_EventService::MODERATION_STATUS_ACTIVE) {
         $cmntParams = new BASE_CommentsParams('event', 'event');
         $cmntParams->setEntityId($event->getId());
         $cmntParams->setOwnerId($event->getUserId());
         $this->addComponent('comments', new BASE_CMP_Comments($cmntParams));
     }
     $this->addComponent('userListCmp', new EVENT_CMP_EventUsers($event->getId()));
     $event = new BASE_CLASS_EventCollector(EVENT_BOL_EventService::EVENT_COLLECT_TOOLBAR, array("event" => $event));
     OW::getEventManager()->trigger($event);
     $this->assign("toolbar", $event->getData());
 }
Beispiel #6
0
 public function userGifts(array $params)
 {
     if (empty($params['userName']) || !($user = BOL_UserService::getInstance()->findByUsername($params['userName']))) {
         throw new Redirect404Exception();
     }
     $giftService = VIRTUALGIFTS_BOL_VirtualGiftsService::getInstance();
     $perPage = $giftService->getGiftsPerPageConfig();
     $page = !empty($_GET['page']) && (int) $_GET['page'] ? abs((int) $_GET['page']) : 1;
     $gifts = $giftService->findUserReceivedGifts($user->id, $page, $perPage, true);
     $toolbars = array();
     if ($gifts) {
         $users = array();
         foreach ($gifts as $gift) {
             if (!in_array($gift['dto']->senderId, $users)) {
                 array_push($users, $gift['dto']->senderId);
             }
         }
         $avatars = BOL_AvatarService::getInstance()->getDataForUserAvatars($users);
         $this->assign('avatars', $avatars);
         foreach ($gifts as $gift) {
             $giftId = $gift['dto']->id;
             $toolbars[$giftId][] = array('label' => UTIL_DateTime::formatSimpleDate($gift['dto']->sendTimestamp));
         }
     }
     $this->assign('gifts', $gifts);
     $this->assign('toolbars', $toolbars);
     $total = $giftService->countUserReceivedGifts($user->id, true);
     // Paging
     $pages = (int) ceil($total / $perPage);
     $paging = new BASE_CMP_Paging($page, $pages, 10);
     $this->assign('paging', $paging->render());
     $displayName = BOL_UserService::getInstance()->getDisplayName($user->id);
     $this->setPageHeading(OW::getLanguage()->text('virtualgifts', 'user_gifts', array('user' => $displayName)));
     $this->setPageHeadingIconClass('ow_ic_heart');
     OW::getDocument()->setTitle(OW::getLanguage()->text('virtualgifts', 'meta_title_user_gifts', array('recipient' => $displayName)));
     OW::getDocument()->setDescription(OW::getLanguage()->text('virtualgifts', 'meta_description_user_gifts', array('recipient' => $displayName)));
     OW::getNavigation()->activateMenuItem(OW_Navigation::MAIN, 'base', 'dashboard');
     $url = OW::getPluginManager()->getPlugin('virtualgifts')->getStaticCssUrl() . 'style.css';
     OW::getDocument()->addStyleSheet($url);
 }
Beispiel #7
0
/**
 * Smarty simple date modifier.
 *
 * @author Sardar Madumarov <*****@*****.**>
 * @package ow.ow_smarty.plugin
 * @since 1.0
 */
function smarty_modifier_simple_date($timeStamp, $dateOnly = false)
{
    return UTIL_DateTime::formatSimpleDate($timeStamp, $dateOnly);
}