/** * Method to display the view * * @access public */ public function display($cachable = false, $urlparams = array()) { $document = JFactory::getDocument(); $vType = $document->getType(); $mName = ''; // Get Itemid $menuItemid = JFactory::getApplication()->getMenu()->getActive()->id; $menuItemid = JRequest::getInt('Itemid', $menuItemid); switch ($this->getTask()) { case 'edit': $vName = 'edit'; $mName = 'event'; $vLayout = JRequest::getCmd('layout', 'default'); break; case 'signup': $vName = 'calendar'; $vLayout = JRequest::getCmd('layout', 'default'); $model = $this->getModel('event'); $model->signupEvent(); $month = $model->getMonth(); $this->setRedirect(JRoute::_('index.php?option=com_raidplanner&view=calendar&Itemid=' . $menuItemid . '&month=' . $month . '&modalevent=' . JRequest::getVar('raid_id'), false)); break; case 'rate': $vName = 'calendar'; $vLayout = JRequest::getCmd('layout', 'default'); $model = $this->getModel('event'); $model->rateEvent(); $month = $model->getMonth(); $this->setRedirect(JRoute::_('index.php?option=com_raidplanner&view=calendar&Itemid=' . $menuItemid . '&month=' . $month . '&modalevent=' . JRequest::getVar('raid_id'), false)); break; case 'saveevent': $template_id = JRequest::getVar('template_id'); if (intval($template_id) > 0) { $vName = 'edit'; $mName = 'event'; $vLayout = JRequest::getCmd('layout', 'default'); } else { $vName = 'calendar'; $vLayout = JRequest::getCmd('layout', 'default'); $model = $this->getModel('event'); $raid_id = $model->saveEvent(); $month = $model->getMonth(); $this->setRedirect(JRoute::_('index.php?option=com_raidplanner&view=calendar&Itemid=' . $menuItemid . '&month=' . $month . '&modalevent=' . $raid_id, false)); } break; case 'deleteevent': $vName = 'calendar'; $vLayout = JRequest::getCmd('layout', 'default'); $model = $this->getModel('event'); $month = $model->getMonth(); $model->deleteEvent(); $this->setRedirect(JRoute::_('index.php?option=com_raidplanner&view=calendar&Itemid=' . $menuItemid . '&month=' . $month, false)); break; case 'confirm': $vName = 'calendar'; $vLayout = JRequest::getCmd('layout', 'default'); $model = $this->getModel('event'); $model->confirmEvent(); $month = $model->getMonth(); $this->setRedirect(JRoute::_('index.php?option=com_raidplanner&view=calendar&Itemid=' . $menuItemid . '&month=' . $month . '&modalevent=' . JRequest::getVar('raid_id'), false)); break; case 'viewevent': $vName = 'event'; $mName = 'event'; $vLayout = JRequest::getCmd('layout', 'default'); break; case 'feed': $vName = 'calendar'; $vType = 'feed'; $vLayout = JRequest::getCmd('layout', 'feed'); break; case 'savecharacter': $vName = 'character'; $mName = 'character'; $model = $this->getModel('character'); JRequest::setVar('character_id', $model->saveCharacter()); $vLayout = JRequest::getCmd('layout', 'default'); break; case 'getjson': $vName = 'stats'; $vType = 'json'; $mName = 'stats'; $vLayout = JRequest::getCmd('layout', 'default'); break; default: case 'default': switch (JRequest::getVar('view')) { case 'roster': $vName = 'roster'; $mName = 'roster'; break; case 'character': $vName = 'character'; $mName = 'character'; break; case 'stats': $vName = 'stats'; $mName = 'stats'; break; default: $vName = 'calendar'; } $vLayout = JRequest::getCmd('layout', 'default'); break; } // Get/Create the view $view = $this->getView($vName, $vType); // Get/Create the model if ($model = $this->getModel($mName)) { // Push the model into the view (as default) $view->setModel($model, true); } // add event model to calendar view if ($vName == 'calendar') { /* Auto repeat raids if needed */ RaidPlannerHelper::autoRepeatRaids(); $eventmodel = $this->getModel('event'); $view->setModel($eventmodel, false); } // Set the layout $view->setLayout($vLayout); // Display the view $view->display(); }