function onProfileDisplay() { JPlugin::loadLanguage('plg_community_events', JPATH_ADMINISTRATOR); $config = CFactory::getConfig(); if (!$config->get('enableevents')) { return JText::_('PLG_EVENTS_EVENT_DISABLED'); } $document = JFactory::getDocument(); $mainframe = JFactory::getApplication(); $user = CFactory::getRequestUser(); $caching = $this->params->get('cache', 1); $model = CFactory::getModel('Events'); $my = CFactory::getUser(); $this->loadUserParams(); //CFactory::load( 'helpers' , 'event' ); $event = JTable::getInstance('Event', 'CTable'); $handler = CEventHelper::getHandler($event); $events = $model->getEvents(null, $user->id, $this->params->get('sorting', 'latest'), null, true, false, null, null, $handler->getContentTypes(), $handler->getContentId(), $this->userparams->get('count', 5)); if ($this->params->get('hide_empty', 0) && !count($events)) { return ''; } if ($caching) { $caching = $mainframe->getCfg('caching'); } $creatable = $my->canCreateEvents(); $cache = JFactory::getCache('plgCommunityEvents'); $cache->setCaching($caching); $callback = array($this, '_getEventsHTML'); $content = $cache->call($callback, true, $events, $user, $config, $model->getEventsCount($user->id), $creatable); return $content; }
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; }
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'); }
/** * 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); }
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'); }
*/ 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'));
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(); }
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'); }
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; }
/** * 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()); } }
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)); }
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>'; }
public function ajaxEditEvent($eventId) { $response = new JAXResponse(); $config = CFactory::getConfig(); $model = $this->getModel('eventcategories'); $categories = $model->getCategories(); $event = JTable::getInstance('Event', 'CTable'); $event->load($eventId); // Escape the output //CFactory::load('helpers', 'string'); $event->title = CStringHelper::escape($event->title); $event->description = CStringHelper::escape($event->description); $params = new CParameter($event->params); $helper = CEventHelper::getHandler($event); $startDate = $event->getStartDate(false); $endDate = $event->getEndDate(false); $repeatEndDate = $event->getRepeatEndDate(); $dateSelection = CEventHelper::getDateSelection($startDate, $endDate); ob_start(); ?> <form name="editevent" action="" method="post" id="editevent"> <div class="alert alert-info"> <?php echo JText::_('COM_COMMUNITY_EVENTS_EDIT_DETAILS'); ?> </div> <table cellspacing="0" class="admintable" border="0" width="100%"> <tbody> <tr> <td class="key" valign="top"><?php echo JText::_('COM_COMMUNITY_AVATAR'); ?> </td> <td> <img width="90" src="<?php echo $event->getCover('cover'); ?> " style="border: 1px solid #eee;"/> </td> </tr> <tr> <td class="key"><span class="js-tooltip" title="<?php echo JText::_('COM_COMMUNITY_PUBLISH_EVENT_TIPS'); ?> "><?php echo JText::_('COM_COMMUNITY_PUBLISH_STATUS'); ?> </span></td> <td><?php echo CHTMLInput::checkbox('published', 'ace-switch ace-switch-5', null, $event->get('published')); ?> </td> </tr> <tr> <td class="key" style="width:100px"> <span class="js-tooltip" title="<?php echo JText::_('COM_COMMUNITY_NAME_EVENT_TIPS'); ?> "> <?php echo JText::_('COM_COMMUNITY_NAME'); ?> </span> </td> <td> <span> <input type="text" name="title" class="inputbox" value="<?php echo $event->title; ?> " style="width:250px" /> </span> <?php if ($helper->hasPrivacy()) { ?> <label> <input type="checkbox" name="permission" class="joms-js--event-private-flag" style="position:relative;opacity:1" value="1" <?php echo $event->permission == COMMUNITY_PRIVATE_EVENT ? 'checked' : ''; ?> > Invitation only event </label> <label> <input type="checkbox" name="unlisted" class="joms-js--event-unlisted-flag" style="position:relative;opacity:1" value="1" <?php echo $event->unlisted == 1 && $event->permission == COMMUNITY_PRIVATE_EVENT ? 'checked' : ''; ?> > Hide on list of events </label> <?php } ?> </td> </tr> <tr> <td class="key"> <span class="js-tooltip"> <?php echo JText::_('COM_COMMUNITY_EVENTS_SUMMARY'); ?> </span> </td> <td> <textarea name="summary" style="width:250px" rows="5"><?php echo $event->summary; ?> </textarea> </td> </tr> <tr> <td class="key"> <span class="js-tooltip" title="<?php echo JText::_('COM_COMMUNITY_DESC_EVENT_TIPS'); ?> "> <?php echo JText::_('COM_COMMUNITY_DESCRIPTION'); ?> </span> </td> <td> <textarea name="description" style="width: 250px;" rows="5" data-wysiwyg="trumbowyg" data-btns="viewHTML,|,bold,italic,underline,|,unorderedList,orderedList"><?php echo $event->description; ?> </textarea> </td> </tr> <tr> <td class="key"> <span class="js-tooltip" title="<?php echo JText::_('COM_COMMUNITY_CATEGORY_EVENT_TIPS'); ?> "> <?php echo JText::_('COM_COMMUNITY_CATEGORY'); ?> </span> </td> <td> <select name="catid"> <?php for ($i = 0; $i < count($categories); $i++) { $selected = $event->catid == $categories[$i]->id ? 'selected="selected"' : ''; ?> <option value="<?php echo $categories[$i]->id; ?> " <?php echo $selected; ?> ><?php echo $categories[$i]->name; ?> </option><?php } ?> </select> </td> </tr> <tr> <td class="key"> <span class="js-tooltip"> <?php echo JText::_('COM_COMMUNITY_EVENTS_LOCATION'); ?> </span> </td> <td> <span> <input type="text" name="location" class="inputbox" value="<?php echo $event->location; ?> " style="width:250px" /> </span> </td> </tr> <tr> <td class="key"> <span class="js-tooltip"> <?php echo JText::_('COM_COMMUNITY_EVENTS_START_TIME'); ?> </span> </td> <td> <span> <input type="text" name="startdate" class="inputbox" value="<?php echo $startDate->format('Y-m-d'); ?> " style="width:100px" /> </span> <div> <?php echo $dateSelection->startHour; ?> : <?php echo $dateSelection->startMin; ?> <?php echo $dateSelection->startAmPm; ?> </div> </td> </tr> <tr> <td class="key"> <span class="js-tooltip"> <?php echo JText::_('COM_COMMUNITY_EVENTS_END_TIME'); ?> </span> </td> <td> <span> <input type="text" name="xxenddate" class="inputbox" value="<?php echo $endDate->format('Y-m-d'); ?> " style="width:100px" /> </span> <div> <?php echo $dateSelection->endHour; ?> : <?php echo $dateSelection->endMin; ?> <?php echo $dateSelection->endAmPm; ?> </div> </td> </tr> <tr> <td class="key"> <span class="js-tooltip"> <?php echo JText::_('COM_COMMUNITY_EVENTS_NO_SEAT'); ?> </span> </td> <td> <span> <input type="text" name="ticket" class="inputbox" style="width:50px" value="<?php echo empty($event->ticket) ? 0 : $event->ticket; ?> " /> </span> <?php if ($helper->hasInvitation()) { ?> <div> <label> <input type="checkbox" name="allowinvite" style="position:relative;opacity:1" value="1" <?php echo $event->allowinvite ? 'checked' : ''; ?> > <?php echo JText::_('COM_COMMUNITY_EVENTS_GUEST_INVITE'); ?> </label> </div> <?php } ?> </td> </tr> <?php if ($config->get('eventphotos')) { ?> <tr><td colspan="2"> </td></tr> <tr> <td class="key"> <span class="js-tooltip" title="<?php echo JText::_('Album'); ?> "> <?php echo JText::_('COM_COMMUNITY_EVENTS_RECENT_PHOTO'); ?> </span> </td> <td> <label> <input type="checkbox" name="photopermission-admin" class="joms-js--event-photo-flag" style="position:relative;opacity:1" value="1" <?php echo $params->get('photopermission') != EVENT_PHOTO_PERMISSION_DISABLE || $params->get('photopermission') == '' ? 'checked' : ''; ?> > <?php echo JText::_('COM_COMMUNITY_EVENTS_PHOTO_UPLOAD_ALLOW_ADMIN'); ?> </label> <div class="joms-js--event-photo-setting" style="display:none"> <label> <input type="checkbox" name="photopermission-member" class="joms-js--event-photo-setting" style="position:relative;opacity:1" value="1" <?php echo $params->get('photopermission') == 2 || $params->get('photopermission') == '' ? 'checked' : ''; ?> > <?php echo JText::_('COM_COMMUNITY_EVENTS_PHOTO_UPLOAD_ALLOW_MEMBER'); ?> </label> <select name="eventrecentphotos"> <?php for ($i = 2; $i <= 10; $i += 2) { ?> <option value="<?php echo $i; ?> " <?php echo $params->get('eventrecentphotos') == $i || $i == 6 && $params->get('eventrecentphotos') == 0 ? 'selected' : ''; ?> ><?php echo $i; ?> </option> <?php } ?> </select> </div> </td> </tr> <?php } ?> <?php if ($config->get('eventvideos')) { ?> <tr><td colspan="2"> </td></tr> <tr> <td class="key"> <span class="js-tooltip" title="<?php echo JText::_('Videos'); ?> "> <?php echo JText::_('COM_COMMUNITY_EVENTS_RECENT_VIDEO'); ?> </span> </td> <td> <label> <input type="checkbox" name="videopermission-admin" class="joms-js--event-video-flag" style="position:relative;opacity:1" value="1" <?php echo $params->get('videopermission') != EVENT_VIDEO_PERMISSION_DISABLE || $params->get('videopermission') == '' ? 'checked' : ''; ?> > <?php echo JText::_('COM_COMMUNITY_EVENTS_VIDEO_UPLOAD_ALLOW_ADMIN'); ?> </label> <div class="joms-js--event-video-setting" style="display:none"> <label> <input type="checkbox" name="videopermission-member" style="position:relative;opacity:1" value="1" <?php echo $params->get('videopermission') == 2 || $params->get('videopermission') == '' ? 'checked' : ''; ?> > <?php echo JText::_('COM_COMMUNITY_EVENTS_VIDEO_UPLOAD_ALLOW_MEMBER'); ?> </label> <select name="eventrecentvideos"> <?php for ($i = 2; $i <= 10; $i += 2) { ?> <option value="<?php echo $i; ?> " <?php echo $params->get('eventrecentvideos') == $i || $i == 6 && $params->get('eventrecentvideos') == 0 ? 'selected' : ''; ?> ><?php echo $i; ?> </option> <?php } ?> </select> </div> </td> </tr> <?php } ?> </tbody> </table> <input type="hidden" name="id" value="<?php echo $event->id; ?> "/> <input type="hidden" name="option" value="com_community"/> <input type="hidden" name="task" value="saveevent"/> <input type="hidden" name="view" value="events"/> <script> </script> <?php $contents = ob_get_contents(); ob_end_clean(); $response->addAssign('cWindowContent', 'innerHTML', $contents); $action = '<input type="button" class="btn btn-small btn-primary pull-right" onclick="azcommunity.saveEvent();" name="' . JText::_('COM_COMMUNITY_SAVE') . '" value="' . JText::_('COM_COMMUNITY_SAVE') . '" />'; $action .= ' <input type="button" class="btn btn-small pull-left" onclick="cWindowHide();" name="' . JText::_('COM_COMMUNITY_CLOSE') . '" value="' . JText::_('COM_COMMUNITY_CLOSE') . '" />'; $response->addScriptCall('cWindowActions', $action); $response->addScriptCall('joms.util.wysiwyg.start'); return $response->sendResponse(); }
/** * Ajax function to save a new wall entry * * @param message A message that is submitted by the user * @param uniqueId The unique id for this group * **/ public function ajaxSaveWall($message, $uniqueId) { $response = new JAXResponse(); $my = CFactory::getUser(); // Load necessary libraries CFactory::load('libraries', 'wall'); CFactory::load('helpers', 'url'); CFactory::load('libraries', 'activities'); $model =& $this->getModel('events'); $event =& JTable::getInstance('Event', 'CTable'); $event->load($uniqueId); $message = strip_tags($message); // Only those who response YES/NO/MAYBE can write on wall $eventMembers =& JTable::getInstance('EventMembers', 'CTable'); $eventMembers->load($my->id, $uniqueId); $allowedStatus = array(COMMUNITY_EVENT_STATUS_ATTEND, COMMUNITY_EVENT_STATUS_WONTATTEND, COMMUNITY_EVENT_STATUS_MAYBE); CFactory::load('helpers', 'owner'); $config = CFactory::getConfig(); if (!in_array($eventMembers->status, $allowedStatus) && !COwnerHelper::isCommunityAdmin() && $config->get('lockeventwalls') || $my->id == 0) { // Should not even be here unless use try to manipulate ajax call JError::raiseError(500, 'PERMISSION DENIED'); } // If the content is false, the message might be empty. if (empty($message)) { $response->addAlert(JText::_('CC EMPTY MESSAGE')); } else { $isAdmin = $event->isAdmin($my->id); // Save the wall content $wall = CWallLibrary::saveWall($uniqueId, $message, 'events', $my, $isAdmin, 'events,events'); $event->addWallCount(); CFactory::load('helpers', 'event'); $handler = CEventHelper::getHandler($event); if ($handler->isPublic()) { $actor = $my->id; $target = 0; $content = $message; $cid = $uniqueId; $app = 'events'; $act = $handler->getActivity('events.wall.create', $actor, $target, $content, $cid, $app); $params = new JParameter(''); $params->set('event_url', $handler->getFormattedLink('index.php?option=com_community&view=events&task=viewevent&eventid=' . $event->id, false, true, false)); $params->set('action', 'events.wall.create'); $params->set('wallid', $wall->id); CFactory::load('libraries', 'activities'); CActivityStream::add($act, $params->toString()); } // @rule: Add user points CFactory::load('libraries', 'userpoints'); CUserPoints::assignPoint('events.wall.create'); $response->addScriptCall('joms.walls.insert', $wall->content); } return $response->sendResponse(); }