function export($event) { CFactory::load('helpers', 'event'); $handler = CEventHelper::getHandler($event); if (!$handler->showExport()) { echo JText::_('CC ACCESS FORBIDDEN'); return; } header('Content-type: text/Calendar'); header('Content-Disposition: attachment; filename="calendar.ics"'); $creator = CFactory::getUser($event->creator); $offset = $creator->getUtcOffset(); $date = new JDate($event->startdate); $dtstart = $date->toFormat('%Y%m%dT%H%M%S'); $date = new JDate($event->enddate); $dtend = $date->toFormat('%Y%m%dT%H%M%S'); $url = $handler->getFormattedLink('index.php?option=com_community&view=events&task=viewevent&eventid=' . $event->id, false, true); $tmpl = new CTemplate(); $tmpl->set('dtstart', $dtstart); $tmpl->set('dtend', $dtend); $tmpl->set('url', $url); $tmpl->set('event', $event); $raw = $tmpl->fetch('events.ical'); unset($tmpl); echo $raw; exit; }
function getEvents(&$params) { require_once JPATH_ROOT . DS . 'components' . DS . 'com_community' . DS . 'libraries' . DS . 'core.php'; CFactory::load('helpers', 'event'); CFactory::load('helpers', 'string'); CFactory::load('helpers', 'time'); // Reuse existing language file from JomSocial $language = JFactory::getLanguage(); $language->load('com_community', JPATH_ROOT); $model = CFactory::getModel('Events'); $user_id = null; //if ((bool) $params->get( 'jomsocial_user' , false )){ // $user = & JFactory::getUser(); // $user_id = $user->id; //} $advanced = null; if ($params->get('time_range') == 'time_span' || $params->get('rangespan') != 'all_events') { $advanced = array(); $advanced['startdate'] = $params->get('startmin'); $startMax = $params->get('startmax', false); if ($startMax !== false) { $advanced['enddate'] = $startMax; } } $rows = $model->getEvents($params->get('jomsocial_category', 0), 0, null, null, (bool) $params->get('jomsocial_past', false), false, null, $advanced, $params->get('jomsocial_type', CEventHelper::ALL_TYPES), 0, $params->get('jomsocial_total', 10)); $events = array(); foreach ($rows as $row) { $table = JTable::getInstance('Event', 'CTable'); $table->bind($row); $handler = CEventHelper::getHandler($table); if ($params->get('jomsocial_links') != 'link_no') { $link = array('internal' => $params->get('jomsocial_links') == 'link_internal' ? true : false, 'link' => $handler->getFormattedLink('index.php?option=com_community&view=events&task=viewevent&eventid=' . $table->id)); } else { $link = false; } if ($row->offset != 0) { $start = new RokMiniEvents_Date($row->startdate); $start->setOffset($row->offset * -1); $row->startdate = $start->toMySQL(true); $end = new RokMiniEvents_Date($row->enddate); $end->setOffset($row->offset * -1); $row->enddate = $end->toMySQL(true); } $event = new RokMiniEvents_Event($row->startdate, $row->enddate, $row->title, $row->description, $link); $events[] = $event; } //$events = array(); return $events; }
public function uploadAvatar() { /** * Opengraph */ CHeadHelper::setType('website', JText::_('COM_COMMUNITY_EVENTS_AVATAR')); $mainframe = JFactory::getApplication(); $jinput = $mainframe->input; $eventid = $jinput->get('eventid', '0', 'INT'); $this->_addEventInPathway($eventid); $this->addPathway(JText::_('COM_COMMUNITY_EVENTS_AVATAR')); $this->showSubmenu(); $event = JTable::getInstance('Event', 'CTable'); $event->load($eventid); //CFactory::load( 'helpers' , 'event' ); $handler = CEventHelper::getHandler($event); if (!$handler->manageable()) { $this->noAccess(); return; } $config = CFactory::getConfig(); $uploadLimit = (double) $config->get('maxuploadsize'); $uploadLimit .= 'MB'; //CFactory::load( 'models' , 'events' ); $event = JTable::getInstance('Event', 'CTable'); $event->load($eventid); //CFactory::load( 'libraries' , 'apps' ); $app = CAppPlugins::getInstance(); $appFields = $app->triggerEvent('onFormDisplay', array('jsform-events-uploadavatar')); $beforeFormDisplay = CFormElement::renderElements($appFields, 'before'); $afterFormDisplay = CFormElement::renderElements($appFields, 'after'); $tmpl = new CTemplate(); echo $tmpl->set('beforeFormDisplay', $beforeFormDisplay)->set('afterFormDisplay', $afterFormDisplay)->set('eventId', $eventid)->set('avatar', $event->getAvatar('avatar'))->set('thumbnail', $event->getThumbAvatar())->set('uploadLimit', $uploadLimit)->fetch('events.uploadavatar'); }
echo CEventHelper::formatStartDate($event, $config->get('eventdateformat')); ?> </b></div> <i class="cIndex-Location"><?php echo $this->escape($event->location); ?> </i> <div class="cIndex-Time"><?php echo JText::sprintf('COM_COMMUNITY_EVENTS_DURATION', CTimeHelper::getFormattedTime($event->startdate, $timeFormat), CTimeHelper::getFormattedTime($event->enddate, $timeFormat)); ?> </div> </div> <div class="cIndex-Actions"> <div class="action"> <?php if ($isExpired || CEventHelper::isPast($event)) { ?> <a href="<?php echo $event->getGuestLink(COMMUNITY_EVENT_STATUS_ATTEND); ?> "><?php echo JText::sprintf(CStringHelper::isPlural($event->confirmedcount) ? 'COM_COMMUNITY_EVENTS_COUNT_MANY_PAST' : 'COM_COMMUNITY_EVENTS_COUNT_PAST', $event->confirmedcount); ?> </a> <?php } else { ?> <a href="<?php echo $event->getGuestLink(COMMUNITY_EVENT_STATUS_ATTEND); ?> "><?php
/** * Add stream for new created event. * @since 2.6 **/ public static function addEventStream($event) { //CFactory::load( 'helpers' , 'event' ); $handler = CEventHelper::getHandler($event); $my = CFactory::getUser(); //CFactory::load( 'helpers' , 'event' ); $handler = CEventHelper::getHandler($event); // Activity stream purpose if the event is a public event $action_str = 'events.create'; if ($event->isPublished() && !$event->isUnlisted()) { $actor = $event->creator; $target = 0; $content = ''; $cid = $event->id; $app = 'events'; $act = $handler->getActivity('events.create', $actor, $target, $content, $cid, $app); $url = $handler->getFormattedLink('index.php?option=com_community&view=events&task=viewevent&eventid=' . $event->id, false, true, false); // Set activity group id if the event is in group $act->groupid = $event->type == 'group' ? $event->contentid : null; $act->eventid = $event->id; $act->location = $event->location; $act->comment_id = $event->id; $act->comment_type = 'events'; $act->like_id = $event->id; $act->like_type = 'events'; $params = new CParameter(''); $cat_url = $handler->getFormattedLink('index.php?option=com_community&view=events&task=display&categoryid=' . $event->catid, false, true, false); $params->set('action', $action_str); $params->set('event_url', $url); $params->set('event_category_url', $cat_url); // Add activity logging CActivityStream::add($act, $params->toString()); } }
/** * Add default items for status box */ static function addDefaultStatusCreator(&$status) { $mainframe = JFactory::getApplication(); $jinput = $mainframe->input; $my = CFactory::getUser(); $userid = $jinput->get('userid', $my->id, 'INT'); //JRequest::getVar('userid', $my->id); $user = CFactory::getUser($userid); $config = CFactory::getConfig(); $template = new CTemplate(); $isMine = COwnerHelper::isMine($my->id, $user->id); /* Message creator */ $creator = new CUserStatusCreator('message'); $creator->title = JText::_('COM_COMMUNITY_STATUS'); $creator->html = $template->fetch('status.message'); $status->addCreator($creator); if ($isMine) { if ($config->get('enablephotos')) { /* Photo creator */ $creator = new CUserStatusCreator('photo'); $creator->title = JText::_('COM_COMMUNITY_SINGULAR_PHOTO'); $creator->html = $template->fetch('status.photo'); $status->addCreator($creator); } if ($config->get('enablevideos')) { /* Video creator */ $creator = new CUserStatusCreator('video'); $creator->title = JText::_('COM_COMMUNITY_SINGULAR_VIDEO'); $creator->html = $template->fetch('status.video'); $status->addCreator($creator); } if ($config->get('enableevents') && ($config->get('createevents') || COwnerHelper::isCommunityAdmin())) { /* Event creator */ //CFactory::load( 'helpers' , 'event' ); $dateSelection = CEventHelper::getDateSelection(); $model = CFactory::getModel('events'); $categories = $model->getCategories(); // Load category tree $cTree = CCategoryHelper::getCategories($categories); $lists['categoryid'] = CCategoryHelper::getSelectList('events', $cTree); $template->set('startDate', $dateSelection->startDate); $template->set('endDate', $dateSelection->endDate); $template->set('startHourSelect', $dateSelection->startHour); $template->set('endHourSelect', $dateSelection->endHour); $template->set('startMinSelect', $dateSelection->startMin); $template->set('repeatEnd', $dateSelection->endDate); $template->set('enableRepeat', $my->authorise('community.view', 'events.repeat')); $template->set('endMinSelect', $dateSelection->endMin); $template->set('startAmPmSelect', $dateSelection->startAmPm); $template->set('endAmPmSelect', $dateSelection->endAmPm); $template->set('lists', $lists); $creator = new CUserStatusCreator('event'); $creator->title = JText::_('COM_COMMUNITY_SINGULAR_EVENT'); $creator->html = $template->fetch('status.event'); $status->addCreator($creator); } } }
function _getEventsHTML($createEvents, $rows, $user, $config, $totalEvents, $creatable) { ob_start(); ?> <?php if ($rows) { ?> <ul class="joms-list--event"> <?php foreach ($rows as $row) { $event = JTable::getInstance('Event', 'CTable'); $event->load($row->id); $creator = CFactory::getUser($event->creator); // Get the formated date & time $format = $config->get('eventshowampm') ? JText::_('COM_COMMUNITY_DATE_FORMAT_LC2_12H') : JText::_('COM_COMMUNITY_DATE_FORMAT_LC2_24H'); $startdatehtml = CTimeHelper::getFormattedTime($event->startdate, $format); $enddatehtml = CTimeHelper::getFormattedTime($event->enddate, $format); ?> <li class="joms-media--event" title="<?php echo CStringHelper::escape($event->summary); ?> "> <div class="joms-media__calendar"> <span class="month"><?php echo CEventHelper::formatStartDate($event, JText::_('M')); ?> </span> <span class="date"><?php echo CEventHelper::formatStartDate($event, JText::_('d')); ?> </span> </div> <div class="joms-media__body"> <a href="<?php echo CRoute::_('index.php?option=com_community&view=events&task=viewevent&eventid=' . $event->id); ?> "><?php echo $event->title; ?> </a> <span class="joms-block"><?php echo $event->location; ?> </span> <a href="<?php echo CRoute::_('index.php?option=com_community&view=events&task=viewguest&eventid=' . $event->id . '&type=' . COMMUNITY_EVENT_STATUS_ATTEND); ?> "><?php echo JText::sprintf(!CStringHelper::isSingular($event->confirmedcount) ? 'COM_COMMUNITY_EVENTS_ATTANDEE_COUNT_MANY' : 'COM_COMMUNITY_EVENTS_ATTANDEE_COUNT', $event->confirmedcount); ?> </a> </div> </li> <?php } ?> </ul> <?php } else { ?> <div><?php echo JText::_('PLG_EVENTS_NO_EVENTS_CREATED_BY_THE_USER_YET'); ?> </div> <?php } ?> <small> <?php if ($creatable) { ?> <a class="joms-button--link" href="<?php echo CRoute::_('index.php?option=com_community&view=events&task=create'); ?> "><?php echo JText::_('COM_COMMUNITY_EVENTS_CREATE'); ?> </a> <?php } ?> <a class="joms-button--link" href="<?php echo CRoute::_('index.php?option=com_community&view=events'); ?> "><?php echo JText::_('COM_COMMUNITY_EVENTS_ALL_EVENTS') . ' (' . $totalEvents . ')'; ?> </a> </small> <?php $content = ob_get_contents(); ob_end_clean(); return $content; }
/** * Count total pending event invitations. * * */ public function countPending($id) { $db = $this->getDBO(); $query = 'SELECT b.id FROM ' . $db->quoteName('#__community_events_members') . ' AS a ' . ' INNER JOIN ' . $db->quoteName('#__community_events') . ' AS b ' . ' ON b.' . $db->quoteName('id') . '=a.' . $db->quoteName('eventid') . ' AND b.' . $db->quoteName('published') . '=' . $db->Quote(1) . ' WHERE a.' . $db->quoteName('memberid') . '=' . $db->Quote($id) . ' AND a.' . $db->quoteName('status') . '=' . $db->Quote(COMMUNITY_EVENT_STATUS_INVITED) . ' ' . ' AND b.' . $db->quoteName('enddate') . '>= NOW()' . ' ORDER BY a.' . $db->quoteName('id') . ' DESC'; $db->setQuery($query); $results = $db->loadObjectList(); $exclude = array(); // this event will be excluded because the seats is not available if (count($results)) { foreach ($results as $result) { $event = JTable::getInstance('Event', 'CTable'); $event->load($result->id); if (!CEventHelper::seatsAvailable($event)) { $exclude[] = $event->id; } } } $extraSQL = ''; if (count($exclude) > 0) { $exclude = implode(',', $exclude); $extraSQL .= ' AND b.id NOT IN (' . $exclude . ')'; } $query = 'SELECT COUNT(*) FROM ' . $db->quoteName('#__community_events_members') . ' AS a ' . ' INNER JOIN ' . $db->quoteName('#__community_events') . ' AS b ' . ' ON b.' . $db->quoteName('id') . '=a.' . $db->quoteName('eventid') . $extraSQL . ' AND b.' . $db->quoteName('published') . '=' . $db->Quote(1) . ' WHERE a.' . $db->quoteName('memberid') . '=' . $db->Quote($id) . ' AND a.' . $db->quoteName('status') . '=' . $db->Quote(COMMUNITY_EVENT_STATUS_INVITED) . ' ' . ' AND b.' . $db->quoteName('enddate') . '>= NOW()' . ' ORDER BY a.' . $db->quoteName('id') . ' DESC'; $db->setQuery($query); if ($db->getErrorNum()) { JError::raiseError(500, $db->stderr()); } return $db->loadResult(); }
echo $this->escape($event->title); ?> ::<?php echo $this->escape($event->description); ?> "> <div class="event-date jsFlLf"> <div><img class="avatar jsFlLf" src="<?php echo $event->getThumbAvatar(); ?> " alt="<?php echo $this->escape($event->title); ?> " /></div> <div><?php echo CEventHelper::formatStartDate($event, $config->get('eventdateformat')); ?> </div> </div> <div class="event-detail"> <div class="event-title"> <a href="<?php echo CRoute::_('index.php?option=com_community&view=events&task=viewevent&eventid=' . $event->id . '&groupid=' . $group->id); ?> "> <?php echo $event->title; ?> </a> </div> <div class="event-loc">
public function getEventMemberHTML($eventId) { CFactory::load('libraries', 'tooltip'); CFactory::load('helpers', 'event'); $event =& JTable::getInstance('Event', 'CTable'); $event->load($eventId); $eventMembers = $event->getMembers(COMMUNITY_EVENT_STATUS_ATTEND, 12, CC_RANDOMIZE); $eventMembersCount = $event->getMembersCount(COMMUNITY_EVENT_STATUS_ATTEND); for ($i = 0; $i < count($eventMembers); $i++) { $row =& $eventMembers[$i]; $eventMembers[$i] = CFactory::getUser($row->id); } $handler = CEventHelper::getHandler($event); $tmpl = new CTemplate(); $tmpl->set('eventMembers', $eventMembers); $tmpl->set('eventMembersCount', $eventMembersCount); $tmpl->set('handler', $handler); $tmpl->set('eventId', $eventId); return $tmpl->fetch('events.members.html'); }
');"><?php echo JText::_('CC REJECT INVITATION'); ?> </a> </div> <?php if ($event->isExpired()) { ?> <span class="icon-offline-overlay"> <?php echo JText::_('CC EVENTS PAST'); ?> </span> <?php } else { if (CEventHelper::isToday($event)) { ?> <span class="icon-online-overlay"> <?php echo JText::_('CC EVENTS ONGOING'); ?> </span> <?php } } ?> <div style="clear: both;"></div> </div> <?php } } else { ?>
public function setSubmenus() { //CFactory::load( 'helpers' , 'group' ); //CFactory::load( 'helpers' , 'owner' ); $jinput = JFactory::getApplication()->input; $task = $userid = $jinput->get('task', '', 'WORD'); //JRequest::getVar( 'task', '', 'GET' ); $albumId = $userid = $jinput->get('albumid', 0, 'INT'); //JRequest::getInt( 'albumid', 0 , 'REQUEST'); $eventid = $userid = $jinput->get('eventid', 0, 'INT'); //JRequest::getInt( 'eventid', '', 'REQUEST' ); if (!empty($albumId)) { $album = JTable::getInstance('Album', 'CTable'); $album->load($albumId); $eventid = $album->eventid; } $config = CFactory::getConfig(); $event = JTable::getInstance('Event', 'CTable'); $event->load($eventid); $my = CFactory::getUser(); $albumId = $albumId != 0 ? $albumId : ''; // Check if the current user is banned from this event $isBanned = false; $allowManagePhotos = CEventHelper::allowManagePhoto($this->eventid); if (($task == 'uploader' || $task == 'photo' || $task == 'album') && !empty($albumId)) { $this->view->addSubmenuItem('index.php?option=com_community&view=photos&eventid=' . $this->eventid . '&task=display&albumid=' . $albumId, JText::_('COM_COMMUNITY_PHOTOS_BACK_TO_ALBUM')); } if ($allowManagePhotos && $task != 'photo' && !$isBanned) { /* Event: Upload Photos */ if ($task != 'newalbum' && $task != 'editAlbum') { //$this->view->addSubmenuItem('javascript:void(0);', JText::_('COM_COMMUNITY_PHOTOS_UPLOAD_PHOTOS'), 'joms.notifications.showUploadPhoto(\'' . $albumId . '\',' . $this->eventid . '); return false;', true, '', ''); } if ($task == 'album' && ($my->id == $album->creator && $allowManagePhotos || $event->isAdmin($my->id) || COwnerHelper::isCommunityAdmin())) { if (!CAlbumsHelper::isFixedAlbum($album)) { $this->view->addSubmenuItem('javascript:', JText::_('COM_COMMUNITY_PHOTOS_ALBUM_DELETE'), "joms.api.albumRemove('" . $album->id . "', '" . $task . "');", true); $this->view->addSubmenuItem('index.php?option=com_community&view=photos&task=editAlbum&albumid=' . $album->id . '&eventid=' . $event->id . '&referrer=albumgrp', JText::_('COM_COMMUNITY_EDIT_ALBUM'), '', true); } //$this->view->addSubmenuItem('index.php?option=com_community&view=photos&task=group', JText::_('COM_COMMUNITY_PHOTOS_ALL_EVENT_PHOTOS'), '' , false , '' , 'joms-right'); //$this->view->addSubmenuItem('index.php?option=com_community&view=photos&task=event', JText::_('COM_COMMUNITY_PHOTOS_ALL_EVENT_PHOTOS'), '' , false , '' , 'joms-right'); //->view->addSubmenuItem('index.php?option=com_community&view=photos&task=display', JText::_('COM_COMMUNITY_PHOTOS_ALL_PHOTOS'), '' , false , '' , 'joms-right'); if ($my->id != 0) { //$this->view->addSubmenuItem('index.php?option=com_community&view=photos&task=myphotos&userid=' . $my->id, JText::_('COM_COMMUNITY_PHOTOS_MY_PHOTOS'), '' , false , '' , 'joms-right'); } } //$this->view->addSubmenuItem('index.php?option=com_community&view=photos&task=newalbum&eventid=' . $this->eventid, JText::_('COM_COMMUNITY_PHOTOS_CREATE_PHOTO_ALBUM'), '', true, '', ''); } if ($task == 'photo') { if ($album->hasAccess($my->id, 'deletephotos')) { $this->view->addSubmenuItem('', JText::_('COM_COMMUNITY_PHOTOS_DELETE'), "joms_delete_photo();", true); } if ($my->id == $album->creator) { $this->view->addSubmenuItem('', JText::_('COM_COMMUNITY_PHOTOS_SET_AVATAR'), "joms_set_as_profile_picture();", true); } if ($my->id == $album->creator && $allowManagePhotos || $event->isAdmin($my->id) || COwnerHelper::isCommunityAdmin()) { $this->view->addSubmenuItem('', JText::_('COM_COMMUNITY_PHOTOS_SET_AS_ALBUM_COVER'), "joms_set_as_album_cover();", true); } if (!$config->get('deleteoriginalphotos')) { $this->view->addSubmenuItem('', JText::_('COM_COMMUNITY_DOWNLOAD_IMAGE'), "joms_download_photo();", true); } if ($eventid != '' && $task == 'myphotos') { $this->view->addSubmenuItem('index.php?option=com_community&view=photos&task=newalbum&eventid=' . $eventid, JText::_('COM_COMMUNITY_PHOTOS_CREATE_PHOTO_ALBUM'), '', true); } elseif ($task == 'myphotos') { $this->view->addSubmenuItem('index.php?option=com_community&view=photos&task=newalbum&userid=' . $my->id, JText::_('COM_COMMUNITY_PHOTOS_CREATE_PHOTO_ALBUM'), '', true); } } if ($task == "display" && $task == 'myphotos') { $this->view->addSubmenuItem('index.php?option=com_community&view=photos&task=newalbum&eventid=' . $eventid, JText::_('COM_COMMUNITY_PHOTOS_CREATE_PHOTO_ALBUM'), '', true); } //$this->view->addSubmenuItem('index.php?option=com_community&view=groups&task=viewgroup&eventid=' . $this->eventid, JText::_('COM_COMMUNITY_EVENTS_BACK_TO_EVENT')); }
echo CRoute::getURI(); ?> #joms-icon-arrow-down"/> </svg> <?php } } } ?> </a> <?php } ?> <?php if (!$isPastEvent && CEventHelper::seatsAvailable($event) && ($event->allowinvite || $event->isAdmin($my->id) || COwnerHelper::isCommunityAdmin())) { ?> <a href="javascript:" class="joms-focus__button--add joms-button--secondary" onclick="joms.api.eventInvite('<?php echo $event->id; ?> ', '<?php echo $isGroupEvent ? "group" : ""; ?> ')"> <?php echo JText::_($isGroupEvent ? 'COM_COMMUNITY_EVENT_INVITE_GROUP_MEMBERS' : 'COM_COMMUNITY_TAB_INVITE'); ?> </a> <?php } ?>
foreach ($events as $enum => $event) { $trigger = $triggers[$event['objectid']]; $host = reset($trigger['hosts']); $host = $hosts[$host['hostid']]; $items = array(); foreach ($trigger['items'] as $item) { $i = array(); $i['itemid'] = $item['itemid']; $i['value_type'] = $item['value_type']; // ZBX-3059: So it would be possible to show different caption for history for chars and numbers (KB) $i['action'] = str_in_array($item['value_type'], array(ITEM_VALUE_TYPE_FLOAT, ITEM_VALUE_TYPE_UINT64)) ? 'showgraph' : 'showvalues'; $i['name'] = itemName($item); $items[] = $i; } $ack = getEventAckState($event, true); $description = CEventHelper::expandDescription(zbx_array_merge($trigger, array('clock' => $event['clock'], 'ns' => $event['ns']))); $tr_desc = new CSpan($description, 'pointer'); $tr_desc->addAction('onclick', "create_mon_trigger_menu(event, " . " [{'triggerid': '" . $trigger['triggerid'] . "', 'lastchange': '" . $event['clock'] . "'}]," . zbx_jsvalue($items, true) . ");"); // duration if ($nextEvent = get_next_event($event, $events, $_REQUEST['showUnknown'])) { $event['duration'] = zbx_date2age($event['clock'], $nextEvent['clock']); } else { $event['duration'] = zbx_date2age($event['clock']); } $statusSpan = new CSpan(trigger_value2str($event['value'])); // add colors and blinking to span depending on configuration and trigger parameters addTriggerValueStyle($statusSpan, $event['value'], $event['clock'], $event['acknowledged']); // host JS menu link $hostSpan = null; if ($_REQUEST['hostid'] == 0) { $hostSpan = new CSpan($host['name'], 'link_menu menu-host');
function getEvents(&$params) { require_once JPATH_ROOT . '/components/com_community/libraries/core.php'; require_once JPATH_ROOT . '/administrator/components/com_community/tables/configuration.php'; require_once JPATH_ROOT . '/components/com_community/models/events.php'; $cfactory = new CFactory(); $cfactory->load('helpers', 'event'); $cfactory->load('helpers', 'string'); $cfactory->load('helpers', 'time'); // Reuse existing language file from JomSocial $language = JFactory::getLanguage(); $language->load('com_community', JPATH_ROOT); //$model = $cfactory->getModel('Events'); $model = new CommunityModelEvents(); $user_id = null; //if ((bool) $params->get( 'jomsocial_user' , false )){ // $user = JFactory::getUser(); // $user_id = $user->id; //} $advanced = null; if ($params->get('time_range') == 'time_span' || $params->get('rangespan') != 'all_events') { $advanced = array(); $advanced['startdate'] = $params->get('startmin'); $startMax = $params->get('startmax', false); if ($startMax !== false) { $advanced['enddate'] = $startMax; } } $cat = $params->get('jomsocial_category', 0); //if all cats is selected return 0 for cats if (is_array($cat) && in_array(0, $cat)) { $cat = 0; } $rows = $model->getEvents($cat, $user_id, null, null, (bool) $params->get('jomsocial_past', false), false, null, $advanced, $params->get('jomsocial_type', CEventHelper::ALL_TYPES), 0, $params->get('jomsocial_total', 10)); $events = array(); if (empty($rows)) { return $events; } foreach ($rows as $row) { $table = JTable::getInstance('Event', 'CTable'); $table->bind($row); $handler = CEventHelper::getHandler($table); if ($params->get('jomsocial_links') != 'link_no') { $link = array('internal' => $params->get('jomsocial_links') == 'link_internal' ? true : false, 'link' => $handler->getFormattedLink('index.php?option=com_community&view=events&task=viewevent&eventid=' . $table->id)); } else { $link = false; } $conf = JFactory::getConfig(); $tz = $conf->get('offset'); $tz_offset = RokMiniEvents3::_get_timezone_offset($tz, false); $db_offset = $row->offset != 0 ? $row->offset * 3600 * -1 : 0; $startdate = strtotime($row->startdate) - (int) $tz_offset + (int) $db_offset; $enddate = strtotime($row->enddate) - (int) $tz_offset + (int) $db_offset; $time_diff = (int) $enddate - (int) $startdate; $event = new RokMiniEvents3_Event($startdate, $enddate, $row->title, $row->description, $link); if ($startdate == $enddate || $time_diff <= 86401 && $time_diff >= 86399 || $row->allday) { $event->setAllDay(true); } $events[] = $event; } return $events; }
/** * Allows us to test if the user has access to the album * */ public function hasAccess($userId, $permissionType) { // @rule: For super admin, regardless of what permission, they should be able to access if (COwnerHelper::isCommunityAdmin()) { return true; } switch ($this->type) { case PHOTOS_PROFILE_TYPE: case PHOTOS_USER_TYPE: if ($permissionType == 'upload') { return $this->creator == $userId; } if ($permissionType == 'deletephotos') { return $this->creator == $userId; } break; case PHOTOS_GROUP_TYPE: $group = JTable::getInstance('Group', 'CTable'); $group->load($this->groupid); if ($permissionType == 'upload') { return CGroupHelper::allowManagePhoto($group->id); } if ($permissionType == 'deletephotos') { return $this->creator == $userId || $group->isAdmin($userId); } return false; break; case PHOTOS_EVENT_TYPE: $event = JTable::getInstance('Event', 'CTable'); $event->load($this->eventid); if ($permissionType == 'upload') { return CEventHelper::allowManagePhoto($event->id); } if ($permissionType == 'deletephotos') { return $this->creator == $userId || $event->isAdmin($userId); } return false; break; } }
static function getEventInstance() { $template = new CTemplate(); $my = CFactory::getUser(); //CFactory::load( 'helpers' , 'event' ); $dateSelection = CEventHelper::getDateSelection(); $model = CFactory::getModel('events'); $categories = $model->getCategories(); // Load category tree $cTree = CCategoryHelper::getCategories($categories); $lists['categoryid'] = CCategoryHelper::getSelectList('events', $cTree); $template->set('startDate', $dateSelection->startDate); $template->set('endDate', $dateSelection->endDate); $template->set('startHourSelect', $dateSelection->startHour); $template->set('endHourSelect', $dateSelection->endHour); $template->set('startMinSelect', $dateSelection->startMin); $template->set('endMinSelect', $dateSelection->endMin); $template->set('startAmPmSelect', $dateSelection->startAmPm); $template->set('endAmPmSelect', $dateSelection->endAmPm); $template->set('repeatEnd', $dateSelection->endDate); $template->set('enableRepeat', $my->authorise('community.view', 'events.repeat')); $template->set('lists', $lists); $creator = new CUserStatusCreator('event'); $creator->title = JText::_('COM_COMMUNITY_EVENTS'); $creator->html = $template->fetch('status.event'); return $creator; }
public function ajaxUpdateStatus($eventId, $status) { $filter = JFilterInput::getInstance(); $eventId = $filter->clean($eventId, 'int'); $status = $filter->clean($status, 'int'); $target = NULL; if (!COwnerHelper::isRegisteredUser()) { return $this->ajaxBlockUnregister(); } $my = CFactory::getUser(); $objResponse = new JAXResponse(); $memberId = $my->id; $modal =& $this->getModel('events'); $event =& JTable::getInstance('Event', 'CTable'); $event->load($eventId); CFactory::load('helpers', 'event'); $handler = CEventHelper::getHandler($event); if (!$handler->isAllowed()) { $objResponse->addAlert(JText::_('COM_COMMUNITY_ACCESS_FORBIDDEN')); return $objResponse->sendResponse(); } if ($event->ticket && ($status == COMMUNITY_EVENT_STATUS_ATTEND && $event->confirmedcount + 1 > $event->ticket)) { $objResponse->addAlert(JText::_('COM_COMMUNITY_EVENTS_TICKET_FULL')); return $objResponse->sendResponse(); } $eventMember =& JTable::getInstance('EventMembers', 'CTable'); $eventMember->load($memberId, $eventId); if ($eventMember->permission != 1 && $eventMember->permission != 2) { $eventMember->permission = 3; } $date =& JFactory::getDate(); $eventMember->created = $date->toMYSQL(); $eventMember->status = $status; $eventMember->store(); $event->updateGuestStats(); $event->store(); //activities stream goes here. $url = $handler->getFormattedLink('index.php?option=com_community&view=events&task=viewevent&eventid=' . $event->id, false); CFactory::load('helpers', 'event'); // We update the activity only if a user attend an event and the event was set to public event if ($status == COMMUNITY_EVENT_STATUS_ATTEND && $handler->isPublic()) { $command = 'events.attendence.attend'; $actor = $my->id; $target = 0; $content = ''; $cid = $event->id; $app = 'events'; $act = $handler->getActivity($command, $actor, $target, $content, $cid, $app); $act->eventid = $event->id; $params = new CParameter(''); $action_str = 'events.attendence.attend'; $params->set('eventid', $event->id); $params->set('action', $action_str); $params->set('event_url', $url); // Add activity logging CFactory::load('libraries', 'activities'); CActivityStream::add($act, $params->toString()); } //trigger goes here. CFactory::load('libraries', 'apps'); $appsLib =& CAppPlugins::getInstance(); $appsLib->loadApplications(); $params = array(); $params[] =& $event; $params[] = $my->id; $params[] = $status; if (!is_null($target)) { $params[] = $target; } $this->cacheClean(array(COMMUNITY_CACHE_TAG_EVENTS, COMMUNITY_CACHE_TAG_ACTIVITIES)); CFactory::load('libraries', 'events'); $html = CEvents::getEventMemberHTML($event->id); if ($status == COMMUNITY_EVENT_STATUS_ATTEND) { $RSVPmessage = JText::_('COM_COMMUNITY_EVENTS_ATTENDING_EVENT_MESSAGE'); } else { $RSVPmessage = JText::_('COM_COMMUNITY_EVENTS_NOT_ATTENDING_EVENT_MESSAGE'); } $objResponse->addScriptCall('__callback', $html); $objResponse->addScriptCall("joms.jQuery('#community-event-rsvp-alert .cdata').html('{$RSVPmessage}');"); return $objResponse->sendResponse(); }
/** * Retrieves the URL to the current event. **/ public function getGuestLink($status = COMMUNITY_EVENT_STATUS_ATTEND) { CFactory::load('helpers', 'event'); $handler = CEventHelper::getHandler($this); return $handler->getFormattedLink('index.php?option=com_community&view=events&task=viewguest&eventid=' . $this->id . '&type=' . $status); }
?> </a> <?php } elseif ($waitingApproval) { ?> <a href="javascript:" class="joms-button--primary joms-button--small"> <?php echo JText::_('COM_COMMUNITY_EVENTS_PENDING_INVITATIONS'); ?> </a> <?php } ?> <?php if (!$isPastEvent && CEventHelper::seatsAvailable($event) && ($event->allowinvite || $event->isAdmin($my->id) || $canInvite)) { ?> <a href="javascript:" class="joms-button--secondary joms-button--small" onclick="joms.api.eventInvite('<?php echo $event->id; ?> ', '<?php echo $isGroupEvent ? "group" : ""; ?> ')"> <?php echo JText::_($isGroupEvent ? 'COM_COMMUNITY_EVENT_INVITE_GROUP_MEMBERS' : 'COM_COMMUNITY_TAB_INVITE'); ?> </a> <?php } ?>
<?php /** * @copyright (C) 2013 iJoomla, Inc. - All rights reserved. * @license GNU General Public License, version 2 (http://www.gnu.org/licenses/gpl-2.0.html) * @author iJoomla.com <*****@*****.**> * @url https://www.jomsocial.com/license-agreement * The PHP code portions are distributed under the GPL license. If not otherwise stated, all images, manuals, cascading style sheets, and included JavaScript *are NOT GPL, and are released under the IJOOMLA Proprietary Use License v1.0 * More info at https://www.jomsocial.com/license-agreement */ defined('_JEXEC') or die; $startDate = new JDate($event->startdate); $endDate = new JDate($event->enddate); $isReadOnlyDate = CEventHelper::isToday($event) || CEventHelper::isPast($event); $isReadOnlyDate = $isReadOnlyDate && $event->id > 0; $repeatEndDate = false; if ($event->id && $event->repeat) { $repeatEndDate = new JDate($event->repeatend); } ?> <div class="joms-page"> <h3 class="joms-page__title"><?php echo JText::_($event->id ? 'COM_COMMUNITY_EVENTS_EDIT_TITLE' : 'COM_COMMUNITY_EVENTS_CREATE_TITLE'); ?> </h3> <form method="POST" action="<?php echo CRoute::getURI(); ?> " onsubmit="return joms_validate_form( this );">
*/ defined('_JEXEC') or die('Restricted access'); include_once JPATH_BASE . '/components/com_community/defines.community.php'; require_once JPATH_BASE . '/components/com_community/libraries/core.php'; JFactory::getLanguage()->isRTL() ? CTemplate::addStylesheet('style.rtl') : CTemplate::addStylesheet('style'); $default = $params->get('default'); $upcomingOnly = $params->get('upcomingOnly', false); $default = $params->get('default'); $model = CFactory::getModel('Events'); /* Follow component */ $mainframe = JFactory::getApplication(); $jinput = $mainframe->input; $categoryId = JRequest::getInt('categoryid', 0); $category = JTable::getInstance('EventCategory', 'CTable'); $category->load($categoryId); $sorted = $jinput->get->get('sort', 'startdate', 'STRING'); //JRequest::getVar( 'sort' , 'startdate' , 'GET' ); $eventparent = $jinput->get->get('parent', '', 'INT'); $event = JTable::getInstance('Event', 'CTable'); $handler = CEventHelper::getHandler($event); $categories = $model->getAllCategories(); $categoryIds = CCategoryHelper::getCategoryChilds($categories, $category->id); $result = $model->getEvents($categoryIds, null, $sorted, null, true, false, null, array('parent' => $eventparent), $handler->getContentTypes(), 0, $default, $upcomingOnly, false); //$result = $model->getEvents(null, null, null, null, true, false, null, null, CEventHelper::ALL_TYPES, 0, $default); $events = array(); foreach ($result as $row) { $event = JTable::getInstance('Event', 'CTable'); $event->bind($row); $events[] = $event; } require JModuleHelper::getLayoutPath('mod_community_events', $params->get('layout', 'default'));
<li id="cPhoto<?php echo $event->id; ?> "> <div id="<?php echo $event->id; ?> " class="cBoxPad"> <a href="javascript:void(0);"> <b class="cThumb-Calendar"> <b><?php echo CEventHelper::formatStartDate($event, JText::_('M')); ?> </b> <b><?php echo CEventHelper::formatStartDate($event, JText::_('d')); ?> </b> </b> <div class="cFeaturedTitle"><b><?php echo $event->title; ?> </b></div> <div class="cFeaturedMeta"><?php echo $event->location; ?> </div> </a> </div> </li> <?php
/** * Create CEventDescription object and store in static variable. * * @static */ private static function init() { if (self::$eDescription === null) { self::$eDescription = new CEventDescription(); } }
function uploadAvatar() { $document =& JFactory::getDocument(); $document->setTitle(JText::_('CC UPLOAD EVENT AVATAR')); $eventid = JRequest::getVar('eventid', '0'); $this->_addEventInPathway($eventid); $this->addPathway(JText::_('CC UPLOAD EVENT AVATAR')); $this->showSubmenu(); $event =& JTable::getInstance('Event', 'CTable'); $event->load($eventid); CFactory::load('helpers', 'event'); $handler = CEventHelper::getHandler($event); if (!$handler->manageable()) { $this->noAccess(); return; } $config = CFactory::getConfig(); $uploadLimit = (double) $config->get('maxuploadsize'); $uploadLimit .= 'MB'; CFactory::load('models', 'events'); $event =& JTable::getInstance('Event', 'CTable'); $event->load($eventid); CFactory::load('libraries', 'apps'); $app =& CAppPlugins::getInstance(); $appFields = $app->triggerEvent('onFormDisplay', array('jsform-events-uploadavatar')); $beforeFormDisplay = CFormElement::renderElements($appFields, 'before'); $afterFormDisplay = CFormElement::renderElements($appFields, 'after'); $tmpl = new CTemplate(); $tmpl->set('beforeFormDisplay', $beforeFormDisplay); $tmpl->set('afterFormDisplay', $afterFormDisplay); $tmpl->set('eventId', $eventid); $tmpl->set('avatar', $event->getAvatar('avatar')); $tmpl->set('thumbnail', $event->getAvatar()); $tmpl->set('uploadLimit', $uploadLimit); echo $tmpl->fetch('events.uploadavatar'); }
public static function showEventMiniHeader($id) { $event = JTable::getInstance('Event', 'CTable'); $event->load($id); $my = CFactory::getUser(); $config = CFactory::getConfig(); $mainframe = JFactory::getApplication(); $jinput = $mainframe->input; $option = $jinput->request->get('option', '', 'STRING'); //JRequest::getVar('option', '', 'REQUEST'); $enableReporting = $config->get('enablereporting') == 1 && $config->get('enableguestreporting') != 1 && $my->id != 0; $handler = CEventHelper::getHandler($event); $myStatus = $event->getUserStatus($my->id); $isEventGuest = $event->isMember($my->id); $isAdmin = $event->isAdmin($my->id); $unapprovedCount = $event->inviteRequestCount(); $eventMembersCount = $event->getMembersCount(COMMUNITY_EVENT_STATUS_ATTEND); // Get like $likes = new CLike(); $isUserLiked = false; if ($isLikeEnabled = $likes->enabled('events')) { $isUserLiked = $likes->userLiked('events', $event->id, $my->id); } $totalLikes = $likes->getLikeCount('events', $event->id); $params = new CParameter($event->params); $event->coverPostion = $params->get('coverPosition', ''); $event->defaultCover = $event->isDefaultCover(); $now = new JDate(); $tmpl = new CTemplate(); $tmpl->set('event', $event)->set('isAdmin', $isAdmin)->set('waitingRespond', false)->set('isUserLiked', $isUserLiked)->set('totalLikes', $totalLikes)->set('creator', CFactory::getUser($event->creator))->set('unapproved', $unapprovedCount)->set('isLikeEnabled', $isLikeEnabled)->set('eventMembersCount', $eventMembersCount)->set('memberStatus', $myStatus)->set('isEventGuest', $isEventGuest)->set('enableReporting', $enableReporting)->set('isPastEvent', $event->getEndDate(false)->toSql() < $now->toSql(true) ? true : false)->set('isMine', $event->isCreator($my->id))->set('handler', $handler); return $option == 'com_community' ? $tmpl->fetch('events/miniheader') : '<div id="community-wrap">' . $tmpl->fetch('events/miniheader') . '</div>'; }
/** * To determine if the button for going, not going, waiting response should be shown * @param $event */ public static function showAttendButton($event) { $my = CFactory::getUser(); if (!CEventHelper::seatsAvailable($event) && $event->getMemberStatus($my->id) == COMMUNITY_EVENT_STATUS_ATTEND) { return true; } elseif (!CEventHelper::seatsAvailable($event)) { return false; } //always show for public event if ($event->permission == COMMUNITY_PUBLIC_EVENT) { return true; } //else anything below this is public event $allowShow = array(1, 2); //show if i am the member of the group if (in_array($event->getMemberStatus($my->id), $allowShow)) { return true; } }
public function ajaxGetNotification() { if (!COwnerHelper::isRegisteredUser()) { return $this->ajaxBlockUnregister(); } $json = array(); $my = CFactory::getUser(); //$inboxModel = CFactory::getModel( 'inbox' ); $friendModel = CFactory::getModel('friends'); $eventModel = CFactory::getModel('events'); $groupModel = CFactory::getModel('groups'); $notiTotal = 0; //getting pending event request $pendingEvent = $eventModel->getPending($my->id); $eventHtml = ''; $event = JTable::getInstance('Event', 'CTable'); if (!empty($pendingEvent)) { $notiTotal += count($pendingEvent); for ($i = 0; $i < count($pendingEvent); $i++) { $row = $pendingEvent[$i]; $row->invitor = CFactory::getUser($row->invited_by); $event->load($row->eventid); // remove the notification if there is no longer seats available if (!CEventHelper::seatsAvailable($event)) { unset($pendingEvent[$i]); continue; } $row->eventAvatar = $event->getThumbAvatar(); $row->url = CRoute::_('index.php?option=com_community&view=events&task=viewevent&eventid=' . $row->eventid . false); $row->isGroupEvent = $event->contentid ? true : false; if ($row->isGroupEvent) { $group = JTable::getInstance('Group', 'CTable'); $group->load($event->contentid); $row->groupname = $group->name; $row->grouplink = CUrlHelper::groupLink($group->id); } } $tmpl = new CTemplate(); $tmpl->set('rows', $pendingEvent); $tmpl->setRef('my', $my); $eventHtml = $tmpl->fetch('notification.event.invitations'); } //getting pending group request $pendingGroup = $groupModel->getGroupInvites($my->id); $groupHtml = ''; $group = JTable::getInstance('Group', 'CTable'); $groupNotiTotal = 0; if (!empty($pendingGroup)) { $groupNotiTotal += count($pendingGroup); for ($i = 0; $i < count($pendingGroup); $i++) { $gRow = $pendingGroup[$i]; $gRow->invitor = CFactory::getUser($gRow->creator); $group->load($gRow->groupid); $gRow->name = $group->name; $gRow->groupAvatar = $group->getThumbAvatar(); $gRow->url = CRoute::_('index.php?option=com_community&view=groups&task=viewgroup&groupid=' . $gRow->groupid . false); } $tmpl = new CTemplate(); $tmpl->set('gRows', $pendingGroup); $tmpl->setRef('my', $my); $groupHtml = $tmpl->fetch('notification.group.invitations'); } //geting pending private group join request //Find Users Groups Admin $allGroups = $groupModel->getAdminGroups($my->id, COMMUNITY_PRIVATE_GROUP); $groupMemberApproveHTML = ''; //Get unApproved member if (!empty($allGroups)) { foreach ($allGroups as $groups) { $member = $groupModel->getMembers($groups->id, 0, false); if (!empty($member)) { for ($i = 0; $i < count($member); $i++) { $oRow = $member[$i]; $group->load($groups->id); $oRow->groupId = $groups->id; $oRow->groupName = $groups->name; $oRow->groupAvatar = $group->getThumbAvatar(); $oRow->url = CRoute::_('index.php?option=com_community&view=groups&task=viewgroup&groupid=' . $group->id . false); $members[] = $member[$i]; } } } } if (!empty($members)) { $tmpl = new CTemplate(); $tmpl->set('oRows', $members); $tmpl->set('my', $my); $groupMemberApproveHTML = $tmpl->fetch('notification.group.request'); } //non require action notification $itemHtml = ''; $notifCount = 10; $notificationModel = CFactory::getModel('notification'); $myParams = $my->getParams(); $notifications = $notificationModel->getNotification($my->id, '0', $notifCount, $myParams->get('lastnotificationlist', '')); if (!empty($notifications)) { for ($i = 0; $i < count($notifications); $i++) { $iRow = $notifications[$i]; $iRow->actorUser = CFactory::getUser($iRow->actor); $iRow->actorAvatar = $iRow->actorUser->getThumbAvatar(); $iRow->actorName = $iRow->actorUser->getDisplayName(); $iRow->timeDiff = CTimeHelper::timeLapse(CTimeHelper::getDate($iRow->created)); $iRow->contentHtml = CContentHelper::injectTags($iRow->content, $iRow->params, true); $params = new CParameter($iRow->params); $iRow->url = $params->get('url', ''); } $tmpl = new CTemplate(); $tmpl->set('iRows', $notifications); $tmpl->setRef('my', $my); $itemHtml = $tmpl->fetch('notification.item'); } $notiHtml = $eventHtml . $groupHtml . $groupMemberApproveHTML . $itemHtml; if (empty($notiHtml)) { $notiHtml .= '<li>'; $notiHtml .= JText::_('COM_COMMUNITY_NO_NOTIFICATION'); $notiHtml .= '</li>'; } $date = JFactory::getDate(); $myParams->set('lastnotificationlist', $date->toSql()); $my->save('params'); $url = CRoute::_('index.php?option=com_community&view=profile&task=notifications'); $notiHtml .= '<div>'; $notiHtml .= '<a href="' . $url . '" class="joms-button--neutral joms-button--full">' . JText::_('COM_COMMUNITY_VIEW_ALL') . '</a>'; $notiHtml .= '</div>'; $json['title'] = JText::_('COM_COMMUNITY_NOTIFICATIONS'); $json['html'] = $notiHtml; die(json_encode($json)); }
<!-- Event Approval --> <?php if ($waitingApproval == COMMUNITY_EVENT_STATUS_REQUESTINVITE) { ?> <div class="joms-alert--info"> <span><?php echo JText::_('COM_COMMUNITY_EVENTS_APPROVEL_WAITING'); ?> </span> </div> <?php } ?> <?php if ($isInvited && CEventHelper::seatsAvailable($event)) { ?> <div id="events-invite-<?php echo $event->id; ?> " class="cInvite cAlert alert-info clearfix"> <div class="cInvite-Content"> <div class="cInvite-Message"> <?php echo JText::sprintf('COM_COMMUNITY_EVENTS_YOUR_INVITED', $join); $test = 1; ?> </div> <?php if ($friendsCount) { ?>
public function ajaxUpdateStatus($eventId, $status) { $filter = JFilterInput::getInstance(); $eventId = $filter->clean($eventId, 'int'); $status = $filter->clean($status, 'int'); $target = null; if (!COwnerHelper::isRegisteredUser()) { return $this->ajaxBlockUnregister(); } $my = CFactory::getUser(); $json = array(); $memberId = $my->id; $modal = $this->getModel('events'); $event = JTable::getInstance('Event', 'CTable'); $event->load($eventId); //CFactory::load( 'helpers' , 'event' ); $handler = CEventHelper::getHandler($event); if (!$handler->isAllowed()) { $json['error'] = JText::_('COM_COMMUNITY_ACCESS_FORBIDDEN'); die(json_encode($json)); } if ($event->ticket && ($status == COMMUNITY_EVENT_STATUS_ATTEND && $event->confirmedcount + 1 > $event->ticket)) { $json['error'] = JText::_('COM_COMMUNITY_EVENTS_TICKET_FULL'); die(json_encode($json)); } $eventMember = JTable::getInstance('EventMembers', 'CTable'); $keys = array('eventId' => $eventId, 'memberId' => $memberId); $eventMember->load($keys); if ($eventMember->permission != 1 && $eventMember->permission != 2) { $eventMember->permission = 3; } $date = JFactory::getDate(); $eventMember->created = $date->toSql(); $eventMember->status = $status; $eventMember->store(); $event->updateGuestStats(); $event->store(); // trigger on event join. $this->triggerEvents('onEventJoin', $event); //activities stream goes here. $url = $handler->getFormattedLink('index.php?option=com_community&view=events&task=viewevent&eventid=' . $event->id, false); // We update the activity only if a user attend an event and the event was set to public event if ($status == COMMUNITY_EVENT_STATUS_ATTEND && $handler->isPublic()) { $command = 'events.attendence.attend'; $actor = $my->id; $target = 0; $content = ''; $cid = $event->id; $app = 'events.attend'; $act = $handler->getActivity($command, $actor, $target, $content, $cid, $app); $act->eventid = $event->id; $params = new CParameter(''); $action_str = 'events.attendence.attend'; $params->set('eventid', $event->id); $params->set('action', $action_str); $params->set('event_url', $url); // Add activity logging CActivityStream::addActor($act, $params->toString()); } if ($status == COMMUNITY_EVENT_STATUS_WONTATTEND) { $command = 'events.attendence.attend'; $actor = $my->id; $target = 0; $content = ''; $cid = $event->id; $app = 'events.attend'; $act = $handler->getActivity($command, $actor, $target, $content, $cid, $app); $act->eventid = $event->id; $params = new CParameter(''); $action_str = 'events.attendence.attend'; $params->set('eventid', $event->id); $params->set('action', $action_str); $params->set('event_url', $url); CActivityStream::removeActor($act, $params->toString()); } //trigger goes here. $appsLib = CAppPlugins::getInstance(); $appsLib->loadApplications(); $params = array(); $params[] = $event; $params[] = $my->id; $params[] = $status; if (!is_null($target)) { $params[] = $target; } $this->cacheClean(array(COMMUNITY_CACHE_TAG_EVENTS, COMMUNITY_CACHE_TAG_ACTIVITIES)); $html = CEvents::getEventMemberHTML($event->id); if ($status == COMMUNITY_EVENT_STATUS_ATTEND) { $RSVPmessage = JText::_('COM_COMMUNITY_EVENTS_ATTENDING_EVENT_MESSAGE'); } else { if ($status == COMMUNITY_EVENT_STATUS_MAYBE) { $RSVPmessage = JText::_('COM_COMMUNITY_EVENTS_MAYBE_ATTENDING_EVENT_MESSAGE'); } else { $RSVPmessage = JText::_('COM_COMMUNITY_EVENTS_NOT_ATTENDING_EVENT_MESSAGE'); } } $json['success'] = true; $json['html'] = $html; if (isset($RSVPmessage)) { $json['message'] = $RSVPmessage; } die(json_encode($json)); }