예제 #1
0
 public function getAvatarInfo($idList)
 {
     $data = parent::getAvatarInfo($idList);
     $birthdays = BOL_QuestionService::getInstance()->getQuestionData($idList, array('birthdate'));
     foreach ($data as $userId => $item) {
         $yearOld = '';
         if (!empty($birthdays[$userId]['birthdate'])) {
             switch ($this->key) {
                 case 'birthdays_today':
                     $date = UTIL_DateTime::parseDate($birthdays[$userId]['birthdate'], UTIL_DateTime::MYSQL_DATETIME_DATE_FORMAT);
                     $yearOld = UTIL_DateTime::getAge($date['year'], $date['month'], $date['day']) . " " . OW::getLanguage()->text('base', 'questions_age_year_old');
                     break;
                 case 'birthdays_this_week':
                     $date = UTIL_DateTime::parseDate($birthdays[$userId]['birthdate'], UTIL_DateTime::MYSQL_DATETIME_DATE_FORMAT);
                     $yearOld = OW::getLanguage()->text('birthdays', 'birthday') . ' ' . UTIL_DateTime::formatBirthdate($date['year'], $date['month'], $date['day']) . " ";
                     break;
             }
         }
         if (!empty($data[$userId]['title'])) {
             $data[$userId]['attrs'] = ' data-birthday="' . (!empty($yearOld) ? $yearOld : '') . '"';
         } else {
             if (!empty($yearOld)) {
                 $data[$userId]['attrs'] = ' data-birthday="' . $yearOld . '"';
             }
         }
     }
     OW::getDocument()->addOnloadScript("\n                \$('*[title]', \$('.birthdays_avatar_list') ).each( function(i, o){\n                    \$(o).off('mouseenter');\n                    \$(o).on('mouseenter', function(){ \n                        var title = \$(this).attr('title');\n                        var birthday = \$(this).data('birthday');\n                        \n                        if ( !birthday )\n                        {\n                            OW.showTip(\$(this), {timeout:200});\n                        }\n                        else if ( !title && birthday )\n                        {\n                            birthday = '<span class=\"ow_small\" style=\"font-weight:normal;\">' + birthday + '</span>';\n                            \n                            OW.showTip(\$(this), {timeout:200, show:birthday});\n                        }\n                        else\n                        {\n                            birthday = '<br><span class=\"ow_small\" style=\"font-weight:normal;\">' + birthday + '</span>';\n                            \n                            OW.showTip(\$(this), {timeout:200, show:title + birthday});\n                        }\n                     });\n                    \$(o).off('mouseleave');\n                    \$(o).on('mouseleave', function(){ OW.hideTip(\$(this)); });\n            });");
     return $data;
 }
예제 #2
0
 private function addUserList(EVENTX_BOL_Event $event, $status)
 {
     $configs = $this->eventService->getConfigs();
     $language = OW::getLanguage();
     $listTypes = $this->eventService->getUserListsArray();
     $serviceConfigs = $this->eventService->getConfigs();
     $userList = $this->eventService->findEventUsers($event->getId(), $status, null, $configs[EVENTX_BOL_EventService::CONF_EVENTX_USERS_COUNT]);
     $usersCount = $this->eventService->findEventUsersCount($event->getId(), $status);
     $idList = array();
     foreach ($userList as $eventUser) {
         $idList[] = $eventUser->getUserId();
     }
     $usersCmp = new BASE_CMP_AvatarUserList($idList);
     $linkId = UTIL_HtmlTag::generateAutoId('link');
     $contId = UTIL_HtmlTag::generateAutoId('cont');
     $this->userLists[] = array('contId' => $contId, 'cmp' => $usersCmp->render(), 'bottomLinkEnable' => $usersCount > $serviceConfigs[EVENTX_BOL_EventService::CONF_EVENTX_USERS_COUNT], 'toolbarArray' => array(array('label' => $language->text('eventx', 'avatar_user_list_bottom_link_label', array('count' => $usersCount)), 'href' => OW::getRouter()->urlForRoute('eventx.user_list', array('eventId' => $event->getId(), 'list' => $listTypes[(int) $status])))));
     $this->userListMenu[] = array('label' => $language->text('eventx', 'avatar_user_list_link_label_' . $status), 'id' => $linkId, 'contId' => $contId, 'active' => sizeof($this->userListMenu) < 1 ? true : false);
 }
예제 #3
0
 /**
  * Constructor.
  *
  * @param array $idList
  */
 public function __construct($avatarData)
 {
     parent::__construct(array());
     $this->idList = array(1);
     $this->setTemplate(OW::getPluginManager()->getPlugin('base')->getCmpViewDir() . 'avatar_user_list.html');
     $this->setCustomCssClass(BASE_CMP_AvatarUserList::CSS_CLASS_MINI_AVATAR);
     if (!empty($avatarData)) {
         $this->avatarData = $avatarData;
     }
 }
예제 #4
0
 protected function getUsersCmp($list)
 {
     $cmp = new BASE_CMP_AvatarUserList($list);
     $cmp->setTemplate(OW::getPluginManager()->getPlugin('bookmarks')->getCmpViewDir() . 'avatar_user_list.html');
     return $cmp;
 }
예제 #5
0
 public function __construct(array $idList = array())
 {
     parent::__construct($idList);
     $this->setTemplate(OW::getPluginManager()->getPlugin('base')->getMobileCmpViewDir() . 'avatar_user_list.html');
 }
예제 #6
0
 /**
  * Constructor.
  *
  * @param array $idList
  */
 public function __construct(array $idList)
 {
     parent::__construct($idList);
     $this->setTemplate(OW::getPluginManager()->getPlugin('base')->getCmpViewDir() . 'avatar_user_list.html');
     $this->setCustomCssClass(BASE_CMP_AvatarUserList::CSS_CLASS_MINI_AVATAR);
 }