/** * Cleanes and saves the submitted event to the database * * TODO: Check if the user is allowed to post events assigned to this category/venue * * @since 0.4 */ function saveevent() { // Check for request forgeries JRequest::checkToken() or die('Invalid Token'); //get image $file = JRequest::getVar('userfile', '', 'files', 'array'); $post = JRequest::get('post', 4); $isNew = $post['id'] ? false : true; $model = $this->getModel('editevent'); $this->addModelPath(JPATH_BASE . DS . 'administrator' . DS . 'components' . DS . 'com_redevent' . DS . 'models'); $model_wait = $this->getModel('waitinglist'); if ($row = $model->store($post, $file)) { JPluginHelper::importPlugin('redevent'); $dispatcher =& JDispatcher::getInstance(); $res = $dispatcher->trigger('onEventEdited', array($row->id, $isNew)); $cache =& JFactory::getCache('com_redevent'); $cache->clean(); $msg = 'saved'; // $link = JRequest::getString('referer', RedeventHelperRoute::getMyeventsRoute(), 'post'); } else { $msg = $model->getError(); // $link = JRequest::getString('referer', RedeventHelperRoute::getMyeventsRoute(), 'post'); RedeventError::raiseWarning(0, $model->getError()); } $model->checkin(); switch (JRequest::getWord('referer')) { case 'myevents': $link = JRoute::_(RedeventHelperRoute::getMyeventsRoute(), false); break; default: if ($row && $row->published) { $link = JRoute::_(RedeventHelperRoute::getDetailsRoute($row->id, $row->xref ? $row->xref : null), false); } else { $link = JRoute::_(RedeventHelperRoute::getMyeventsRoute(), false); } } $this->setRedirect($link, $msg); }
/** * Creates the MyItems View * * @since 1.0 */ function display($tpl = null) { $mainframe =& JFactory::getApplication(); $user =& JFactory::getUser(); if (!$user->get('id')) { $mainframe->redirect('index.php', JText::_('COM_REDEVENT_Only_logged_users_can_access_this_page'), 'error'); } //initialize variables $document =& JFactory::getDocument(); $elsettings =& redEVENTHelper::config(); $pathway =& $mainframe->getPathWay(); $params =& $mainframe->getParams(); $uri =& JFactory::getURI(); $acl =& UserACl::getInstance(); $menu =& JSite::getMenu(); $item = $menu->getActive(); //add css file if (!$params->get('custom_css')) { $document->addStyleSheet($this->baseurl . '/components/com_redevent/assets/css/redevent.css'); } else { $document->addStyleSheet($params->get('custom_css')); } $document->addCustomTag('<!--[if IE]><style type="text/css">.floattext{zoom:1;}, * html #eventlist dd { height: 1%; }</style><![endif]-->'); JHTML::_('behavior.mootools'); $js = " window.addEvent('domready', function(){\n\t\t\t \$\$('.deletelink').addEvent('click', function(event){\n\t\t\t if (confirm('" . JText::_('COM_REDEVENT_CONFIRM_DELETE_DATE') . "')) {\n\t \treturn true;\n\t\t }\n\t\t else {\n\t\t \tif (event.preventDefault) {\n\t\t \t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tevent.returnValue = false;\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn false;\n\t \t}\n\t\t\t });\t\t \n\t\t }); "; $document->addScriptDeclaration($js); // get variables $limitstart = JRequest::getVar('limitstart', 0, '', 'int'); $limit = $mainframe->getUserStateFromRequest('com_redevent.myevents.limit', 'limit', $params->def('display_num', 5), 'int'); $filter_event = $mainframe->getUserStateFromRequest('com_redevent.myevents.filter_event', 'filter_event', 0, 'int'); $task = JRequest::getWord('task'); $pop = JRequest::getBool('pop'); //get data from model $events =& $this->get('Events'); $venues =& $this->get('Venues'); $attending =& $this->get('Attending'); $groups =& $this->get('Groups'); //paginations $events_pageNav =& $this->get('EventsPagination'); $venues_pageNav =& $this->get('VenuesPagination'); $attending_pageNav =& $this->get('AttendingPagination'); //params $params->def('page_title', $item ? $item->title : 'COM_REDEVENT_VIEW_MYEVENTS_TITLE'); if ($pop) { //If printpopup set true $params->set('popup', 1); } //Set Page title $pagetitle = $params->get('page_title', JText::_('COM_REDEVENT_MY_EVENTS')); $this->document->setTitle($pagetitle); //create select lists $lists = $this->_buildSortLists(); if ($lists['filter']) { $uri->setVar('filter', $lists['filter']); $uri->setVar('filter_type', JRequest::getString('filter_type')); } else { $uri->delVar('filter'); $uri->delVar('filter_type'); } // events filter $hasManagedEvents = false; $options = array(JHTML::_('select.option', 0, JText::_('COM_REDEVENT_select_event'))); if ($ev = $this->get('EventsOptions')) { $hasManagedEvents = count($ev); $options = array_merge($options, $ev); } $lists['filter_event'] = JHTML::_('select.genericlist', $options, 'filter_event', 'onchange="document.getElementById(\'adminForm\').submit();"', 'value', 'text', $filter_event); $this->assign('action', JRoute::_(RedeventHelperRoute::getMyeventsRoute())); $this->assignRef('events', $events); $this->assignRef('venues', $venues); $this->assignRef('attending', $attending); $this->assignRef('groups', $groups); $this->assignRef('task', $task); $this->assignRef('print_link', $print_link); $this->assignRef('params', $params); $this->assignRef('dellink', $dellink); $this->assignRef('events_pageNav', $events_pageNav); $this->assignRef('venues_pageNav', $venues_pageNav); $this->assignRef('attending_pageNav', $attending_pageNav); $this->assignRef('elsettings', $elsettings); $this->assignRef('pagetitle', $pagetitle); $this->assignRef('lists', $lists); $this->assignRef('acl', $acl); $this->assignRef('hasManagedEvents', $hasManagedEvents); $this->assignRef('canAddXref', $acl->canAddXref()); $this->assignRef('canAddEvent', $acl->canAddEvent()); $this->assignRef('canAddVenue', $acl->canAddVenue()); $cols = explode(',', $params->get('lists_columns', 'date, title, venue, city, category')); $cols = redEVENTHelper::validateColumns($cols); $this->assign('columns', $cols); parent::display($tpl); }