/** * 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'); }