/** * 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); } } }
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 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(); }
/** * Method to display the create / edit event's form. * Both views share the same template file. * */ public function _displayForm($event) { $mainframe = JFactory::getApplication(); $jinput = $mainframe->input; $my = CFactory::getUser(); $config = CFactory::getConfig(); $model = CFactory::getModel('events'); $categories = $model->getCategories(); $now = JFactory::getDate(); $groupid = $jinput->get('groupid', '', 'INT'); //J1.6 returns timezone as string, not integer offset. $systemOffset = new JDate('now', $mainframe->getCfg('offset')); $systemOffset = $systemOffset->getOffsetFromGMT(true); $editorType = $config->get('allowhtml') ? $config->get('htmleditor', 'none') : 'none'; $editor = new CEditor($editorType); $totalEventCount = $model->getEventsCreationCount($my->id); if ($event->catid == null) { $event->catid = JRequest::getInt('categoryid', 0); } $event->startdatetime = $jinput->post->get('startdatetime', '00:01', 'NONE'); $event->enddatetime = $jinput->post->get('enddatetime', '23:59', 'NONE'); $timezones = CTimeHelper::getBeautifyTimezoneList(); $helper = CEventHelper::getHandler($event); $startDate = $event->getStartDate(false); $endDate = $event->getEndDate(false); $repeatEndDate = $event->getRepeatEndDate(); $dateSelection = CEventHelper::getDateSelection($startDate, $endDate); // Load category tree $cTree = CCategoryHelper::getCategories($categories); $lists['categoryid'] = CCategoryHelper::getSelectList('events', $cTree, $event->catid, true); $app = CAppPlugins::getInstance(); $appFields = $app->triggerEvent('onFormDisplay', array('createEvent')); $beforeFormDisplay = CFormElement::renderElements($appFields, 'before'); $afterFormDisplay = CFormElement::renderElements($appFields, 'after'); //to invite group members if this event creation belongs to a group and members is more than 1 $showGroupMemberInvitation = false; if ($groupid) { $group = JTable::getInstance('Group', 'CTable'); $group->load($groupid); $showGroupMemberInvitation = $group->getMembersCount() > 1 ? true : false; } $tmpl = new CTemplate(); echo $tmpl->set('startDate', $startDate)->set('showGroupMemberInvitation', $showGroupMemberInvitation)->set('endDate', $endDate)->set('enableRepeat', $my->authorise('community.view', 'events.repeat'))->set('repeatEndDate', $repeatEndDate)->set('startHourSelect', $dateSelection->startHour)->set('endHourSelect', $dateSelection->endHour)->set('startMinSelect', $dateSelection->startMin)->set('endMinSelect', $dateSelection->endMin)->set('startAmPmSelect', $dateSelection->startAmPm)->set('endAmPmSelect', $dateSelection->endAmPm)->set('timezones', $timezones)->set('params', new CParameter($event->params))->set('config', $config)->set('systemOffset', $systemOffset)->set('lists', $lists)->set('categories', $categories)->set('event', $event)->set('editor', $editor)->set('helper', $helper)->set('now', $now->format('%Y-%m-%d'))->set('eventCreated', $totalEventCount)->set('eventcreatelimit', $config->get('eventcreatelimit'))->set('beforeFormDisplay', $beforeFormDisplay)->set('afterFormDisplay', $afterFormDisplay)->fetch('events.forms'); }
/** * Method to display the create / edit event's form. * Both views share the same template file. **/ public function _displayForm($event) { $mainframe = JFactory::getApplication(); $my = CFactory::getUser(); $config = CFactory::getConfig(); $model = CFactory::getModel('events'); $categories = $model->getCategories(); $now = JFactory::getDate(); //J1.6 returns timezone as string, not integer offset. if (method_exists('JDate', 'getOffsetFromGMT')) { $systemOffset = new CDate('now', $mainframe->getCfg('offset')); $systemOffset = $systemOffset->getOffsetFromGMT(true); } else { $systemOffset = $mainframe->getCfg('offset'); } $now->setOffset($systemOffset); $editorType = $config->get('allowhtml') ? $config->get('htmleditor', 'none') : 'none'; CFactory::load('libraries', 'editor'); $editor = new CEditor($editorType); $totalEventCount = $model->getEventsCreationCount($my->id); if ($event->catid == NULL) { $event->catid = JRequest::getInt('categoryid', 0, 'GET'); } $event->startdatetime = JRequest::getVar('startdatetime', '00:01', 'POST'); $event->enddatetime = JRequest::getVar('enddatetime', '23:59', 'POST'); CFactory::load('helpers', 'time'); $timezones = CTimeHelper::getTimezoneList(); CFactory::load('helpers', 'event'); $helper = CEventHelper::getHandler($event); $startDate = $event->getStartDate(false); $endDate = $event->getEndDate(false); $allday = false; if ($startDate->toFormat('%Y-%m-%d') == $endDate->toFormat('%Y-%m-%d') && $startDate->toFormat('%H:%M:%S') == '00:00:00' && $endDate->toFormat('%H:%M:%S') == '23:59:59') { $allday = true; } $dateSelection = CEventHelper::getDateSelection($startDate, $endDate); // Load category tree CFactory::load('helpers', 'category'); $cTree = CCategoryHelper::getCategories($categories); $lists['categoryid'] = CCategoryHelper::getSelectList('events', $cTree, $event->catid); CFactory::load('libraries', 'apps'); $app =& CAppPlugins::getInstance(); $appFields = $app->triggerEvent('onFormDisplay', array('createEvent')); $beforeFormDisplay = CFormElement::renderElements($appFields, 'before'); $afterFormDisplay = CFormElement::renderElements($appFields, 'after'); $tmpl = new CTemplate(); echo $tmpl->set('startDate', $startDate)->set('endDate', $endDate)->set('startHourSelect', $dateSelection->startHour)->set('endHourSelect', $dateSelection->endHour)->set('startMinSelect', $dateSelection->startMin)->set('endMinSelect', $dateSelection->endMin)->set('startAmPmSelect', $dateSelection->startAmPm)->set('endAmPmSelect', $dateSelection->endAmPm)->set('timezones', $timezones)->set('config', $config)->set('systemOffset', $systemOffset)->set('lists', $lists)->set('categories', $categories)->set('event', $event)->set('editor', $editor)->set('helper', $helper)->set('now', $now->toFormat('%Y-%m-%d'))->set('eventCreated', $totalEventCount)->set('eventcreatelimit', $config->get('eventcreatelimit'))->set('allday', $allday)->set('beforeFormDisplay', $beforeFormDisplay)->set('afterFormDisplay', $afterFormDisplay)->fetch('events.forms'); }