/** * Creates the output for venue submissions * * @since 0.5 * @param int $tpl */ function display($tpl = null) { $app =& JFactory::getApplication(); $user =& JFactory::getUser(); if (!$user->id) { $app->redirect(JRoute::_($_SERVER["HTTP_REFERER"]), JText::_('Please login to be able to submit venues'), 'error'); } $editor =& JFactory::getEditor(); $doc =& JFactory::getDocument(); $elsettings =& ELHelper::config(); // Get requests $id = JRequest::getInt('id'); //Get Data from the model $row = $this->Get('Venue'); JFilterOutput::objectHTMLSafe($row, ENT_QUOTES, 'locdescription'); JHTML::_('behavior.formvalidation'); JHTML::_('behavior.tooltip'); //add css file $doc->addStyleSheet($this->baseurl . '/components/com_eventlist/assets/css/eventlist.css'); $doc->addCustomTag('<!--[if IE]><style type="text/css">.floattext{zoom:1;}, * html #eventlist dd { height: 1%; }</style><![endif]-->'); // Get the menu object of the active menu item $menu =& JSite::getMenu(); $item = $menu->getActive(); $params =& $app->getParams('com_eventlist'); $id ? $title = JText::_('EDIT VENUE') : ($title = JText::_('ADD VENUE')); //pathway $pathway =& $app->getPathWay(); $pathway->setItemName(1, $item->name); $pathway->addItem($title, ''); //Set Title $doc->setTitle($title); //editor user $editoruser = ELUser::editoruser(); //transform <br /> and <br> back to \r\n for non editorusers if (!$editoruser) { $row->locdescription = ELHelper::br2break($row->locdescription); } //Get image $limage = ELImage::flyercreator($row->locimage); //Set the info image $infoimage = JHTML::_('image', 'components/com_eventlist/assets/images/icon-16-hint.png', JText::_('NOTES')); // country list $countries = array(); $countries[] = JHTML::_('select.option', '', JText::_('Select country')); $countries = array_merge($countries, ELHelper::getCountryOptions()); $lists['countries'] = JHTML::_('select.genericlist', $countries, 'country', 'class="inputbox"', 'value', 'text', $row->country); unset($countries); $this->assignRef('row', $row); $this->assignRef('editor', $editor); $this->assignRef('editoruser', $editoruser); $this->assignRef('limage', $limage); $this->assignRef('infoimage', $infoimage); $this->assignRef('elsettings', $elsettings); $this->assignRef('item', $item); $this->assignRef('params', $params); $this->assignRef('lists', $lists); $this->assignRef('title', $title); $this->assignRef('mode', JRequest::getVar('mode', '')); parent::display($tpl); }
/** * Creates the output for venue submissions * * @since 0.5 * @param int $tpl */ function display($tpl = null) { global $mainframe; $editor =& JFactory::getEditor(); $doc =& JFactory::getDocument(); $elsettings =& ELHelper::config(); // Get requests $id = JRequest::getInt('id'); //Get Data from the model $row = $this->Get('Venue'); JFilterOutput::objectHTMLSafe($row, ENT_QUOTES, 'locdescription'); JHTML::_('behavior.formvalidation'); JHTML::_('behavior.tooltip'); //add css file $doc->addStyleSheet($this->baseurl . '/components/com_eventlist/assets/css/eventlist.css'); $doc->addCustomTag('<!--[if IE]><style type="text/css">.floattext{zoom:1;}, * html #eventlist dd { height: 1%; }</style><![endif]-->'); // Get the menu object of the active menu item $menu =& JSite::getMenu(); $item = $menu->getActive(); $params =& $mainframe->getParams('com_eventlist'); $id ? $title = JText::_('EDIT VENUE') : ($title = JText::_('ADD VENUE')); //pathway $pathway =& $mainframe->getPathWay(); $pathway->setItemName(1, $item->name); $pathway->addItem($title, ''); //Set Title $doc->setTitle($title); //editor user $editoruser = ELUser::editoruser(); //transform <br /> and <br> back to \r\n for non editorusers if (!$editoruser) { $row->locdescription = ELHelper::br2break($row->locdescription); } //Get image $limage = ELImage::flyercreator($row->locimage); //Set the info image $infoimage = JHTML::_('image', 'components/com_eventlist/assets/images/icon-16-hint.png', JText::_('NOTES')); $this->assignRef('row', $row); $this->assignRef('editor', $editor); $this->assignRef('editoruser', $editoruser); $this->assignRef('limage', $limage); $this->assignRef('infoimage', $infoimage); $this->assignRef('elsettings', $elsettings); $this->assignRef('item', $item); $this->assignRef('params', $params); parent::display($tpl); }
/** * Creates the output for event submissions * * @since 0.4 * */ function display($tpl = null) { global $mainframe; if ($this->getLayout() == 'selectvenue') { $this->_displayselectvenue($tpl); return; } // Initialize variables $editor =& JFactory::getEditor(); $doc =& JFactory::getDocument(); $elsettings =& ELHelper::config(); //Get Data from the model $row = $this->Get('Event'); $categories = $this->Get('Categories'); //Get requests $id = JRequest::getInt('id'); //Clean output JFilterOutput::objectHTMLSafe($row, ENT_QUOTES, 'datdescription'); JHTML::_('behavior.formvalidation'); JHTML::_('behavior.tooltip'); JHTML::_('behavior.modal', 'a.modal'); //add css file $doc->addStyleSheet($this->baseurl . '/components/com_eventlist/assets/css/eventlist.css'); $doc->addCustomTag('<!--[if IE]><style type="text/css">.floattext{zoom:1;}, * html #eventlist dd { height: 1%; }</style><![endif]-->'); //Set page title $id ? $title = JText::_('EDIT EVENT') : ($title = JText::_('ADD EVENT')); $doc->setTitle($title); // Get the menu object of the active menu item $menu =& JSite::getMenu(); $item = $menu->getActive(); $params =& $mainframe->getParams('com_eventlist'); //pathway $pathway =& $mainframe->getPathWay(); $pathway->setItemName(1, $item->name); $pathway->addItem($title, ''); //Has the user access to the editor and the add venue screen $editoruser = ELUser::editoruser(); $delloclink = ELUser::validate_user($elsettings->locdelrec, $elsettings->deliverlocsyes); //transform <br /> and <br> back to \r\n for non editorusers if (!$editoruser) { $row->datdescription = ELHelper::br2break($row->datdescription); } //Get image information $dimage = ELImage::flyercreator($row->datimage, 'event'); //Set the info image $infoimage = JHTML::_('image', 'components/com_eventlist/assets/images/icon-16-hint.png', JText::_('NOTES')); //Create the stuff required for the venueselect functionality $url = $mainframe->isAdmin() ? $mainframe->getSiteURL() : JURI::base(); $js = "\r\n\t\tfunction elSelectVenue(id, venue) {\r\n\t\t\tdocument.getElementById('a_id').value = id;\r\n\t\t\tdocument.getElementById('a_name').value = venue;\r\n\t\t\tdocument.getElementById('sbox-window').close();\r\n\t\t}"; $doc->addScriptDeclaration($js); // include the recurrence script $doc->addScript($url . 'components/com_eventlist/assets/js/recurrence.js'); // include the unlimited script $doc->addScript($url . 'components/com_eventlist/assets/js/unlimited.js'); $this->assignRef('row', $row); $this->assignRef('categories', $categories); $this->assignRef('editor', $editor); $this->assignRef('dimage', $dimage); $this->assignRef('infoimage', $infoimage); $this->assignRef('delloclink', $delloclink); $this->assignRef('editoruser', $editoruser); $this->assignRef('elsettings', $elsettings); $this->assignRef('item', $item); $this->assignRef('params', $params); parent::display($tpl); }
/** * Method to get the Venues * * @access public * @return array */ function &getData() { $app =& JFactory::getApplication(); $menu =& JSite::getMenu(); $item = $menu->getActive(); $params =& $menu->getParams($item->id); $elsettings =& ELHelper::config(); // Lets load the content if it doesn't already exist if (empty($this->_data)) { $query = $this->_buildQuery(); $this->_data = $this->_getList($query, $this->getState('limitstart'), $this->getState('limit')); $k = 0; for ($i = 0; $i < count($this->_data); $i++) { $venue =& $this->_data[$i]; //Create image information $venue->limage = ELImage::flyercreator($venue->locimage); //Generate Venuedescription if (empty($venue->locdescription)) { $venue->locdescription = JText::_('NO DESCRIPTION'); } else { //execute plugins $venue->text = $venue->locdescription; $venue->title = $venue->venue; JPluginHelper::importPlugin('content'); $results = $app->triggerEvent('onPrepareContent', array(&$venue, &$params, 0)); $venue->locdescription = $venue->text; } //build the url if (!empty($venue->url) && strtolower(substr($venue->url, 0, 7)) != "http://") { $venue->url = 'http://' . $venue->url; } //prepare the url for output if (strlen(htmlspecialchars($venue->url, ENT_QUOTES)) > 35) { $venue->urlclean = substr(htmlspecialchars($venue->url, ENT_QUOTES), 0, 35) . '...'; } else { $venue->urlclean = htmlspecialchars($venue->url, ENT_QUOTES); } //create flag if ($venue->country) { $venue->countryimg = ELOutput::getFlag($venue->country); } //create target link $task = JRequest::getVar('task', '', '', 'string'); if ($task == 'archive') { $venue->targetlink = JRoute::_('index.php?view=venueevents&id=' . $venue->slug . '&task=archive'); } else { $venue->targetlink = JRoute::_('index.php?view=venueevents&id=' . $venue->slug); } $k = 1 - $k; } } return $this->_data; }
/** * Creates the output for event submissions * * @since 0.4 * */ function display($tpl = null) { $app =& JFactory::getApplication(); $session =& JFactory::getSession(); $user =& JFactory::getUser(); if (!$user->id) { $app->redirect(JRoute::_($_SERVER["HTTP_REFERER"]), JText::_('Please login to be able to submit events'), 'error'); } if ($this->getLayout() == 'choosevenue') { $this->_displaychoosevenue($tpl); return; } // Initialize variables $editor =& JFactory::getEditor(); $doc =& JFactory::getDocument(); $elsettings =& ELHelper::config(); //Get Data from the model $row = $this->get('Event'); //Cause of group limits we can't use class here to build the categories tree $categories = $this->get('Categories'); //sticky form categorie data if ($session->has('eventform', 'com_eventlist')) { $eventform = $session->get('eventform', 0, 'com_eventlist'); $selectedcats = $eventform['cid']; } else { $selectedcats =& $this->get('Catsselected'); } //build selectlists $categories = eventlist_cats::buildcatselect($categories, 'cid[]', $selectedcats, 0, 'multiple="multiple" size="8 class="inputbox required validate-cid"'); //Get requests $id = JRequest::getInt('id'); //Clean output JFilterOutput::objectHTMLSafe($row, ENT_QUOTES, 'datdescription'); JHTML::_('behavior.formvalidation'); JHTML::_('behavior.tooltip'); JHTML::_('behavior.modal', 'a.modal'); //add css file $doc->addStyleSheet($this->baseurl . '/components/com_eventlist/assets/css/eventlist.css'); $doc->addCustomTag('<!--[if IE]><style type="text/css">.floattext{zoom:1;}, * html #eventlist dd { height: 1%; }</style><![endif]-->'); //Set page title $id ? $title = JText::_('EDIT EVENT') : ($title = JText::_('ADD EVENT')); $doc->setTitle($title); // Get the menu object of the active menu item $menu =& JSite::getMenu(); $item = $menu->getActive(); $params =& $app->getParams('com_eventlist'); //pathway $pathway =& $app->getPathWay(); $pathway->setItemName(1, $item->name); $pathway->addItem($title, ''); //Has the user access to the editor and the add venue screen $editoruser = ELUser::editoruser(); $delloclink = ELUser::validate_user($elsettings->locdelrec, $elsettings->deliverlocsyes); //transform <br /> and <br> back to \r\n for non editorusers if (!$editoruser) { $row->datdescription = ELHelper::br2break($row->datdescription); } //Get image information $dimage = ELImage::flyercreator($row->datimage, 'event'); //Set the info image $infoimage = JHTML::_('image', 'components/com_eventlist/assets/images/icon-16-hint.png', JText::_('NOTES')); //Create the stuff required for the venueselect functionality $url = $app->isAdmin() ? $app->getSiteURL() : JURI::base(); $js = "\n\t\tfunction elSelectVenue(id, venue) {\n\t\t\tdocument.getElementById('a_id').value = id;\n\t\t\tdocument.getElementById('a_name').value = venue;\n\t\t\tdocument.getElementById('sbox-window').close();\n\t\t}\n\t\t\n\t\tfunction closeAdd() {\n\t\t\tdocument.getElementById('sbox-window').close(); \n \t}\n \t"; $doc->addScriptDeclaration($js); // include the recurrence script $doc->addScript($url . 'components/com_eventlist/assets/js/recurrence.js'); // include the unlimited script $doc->addScript($url . 'components/com_eventlist/assets/js/unlimited.js'); $lists = array(); // recurrence type $rec_type = array(); $rec_type[] = JHTML::_('select.option', 0, JText::_('NOTHING')); $rec_type[] = JHTML::_('select.option', 1, JText::_('DAYLY')); $rec_type[] = JHTML::_('select.option', 2, JText::_('WEEKLY')); $rec_type[] = JHTML::_('select.option', 3, JText::_('MONTHLY')); $rec_type[] = JHTML::_('select.option', 4, JText::_('WEEKDAY')); $lists['recurrence_type'] = JHTML::_('select.genericlist', $rec_type, 'recurrence_type', '', 'value', 'text', $row->recurrence_type); //if only owned events are allowed if ($elsettings->ownedvenuesonly) { $venues =& $this->get('UserVenues'); //build list $venuelist = array(); $venuelist[] = JHTML::_('select.option', '0', JText::_('NO VENUE')); $venuelist = array_merge($venuelist, $venues); $lists['venueselect'] = JHTML::_('select.genericlist', $venuelist, 'locid', 'size="1" class="inputbox"', 'value', 'text', $row->locid); } $this->assignRef('row', $row); $this->assignRef('categories', $categories); $this->assignRef('editor', $editor); $this->assignRef('dimage', $dimage); $this->assignRef('infoimage', $infoimage); $this->assignRef('delloclink', $delloclink); $this->assignRef('editoruser', $editoruser); $this->assignRef('elsettings', $elsettings); $this->assignRef('item', $item); $this->assignRef('params', $params); $this->assignRef('lists', $lists); parent::display($tpl); }
/** * Creates the output for the details view * * @since 0.9 */ function display($tpl = null) { $app =& JFactory::getApplication(); $document =& JFactory::getDocument(); $user =& JFactory::getUser(); $dispatcher =& JDispatcher::getInstance(); $elsettings =& ELHelper::config(); $row =& $this->get('Details'); $categories =& $this->get('Categories'); $registers =& $this->get('Registers'); $regcheck =& $this->get('Usercheck'); //get menu information $menu =& JSite::getMenu(); $item = $menu->getActive(); $params =& $app->getParams('com_eventlist'); //Check if the id exists if ($row->did == 0) { return JError::raiseError(404, JText::sprintf('Event #%d not found', $row->did)); } //Check if user has access to the details if ($elsettings->showdetails == 0) { return JError::raiseError(403, JText::_('NO ACCESS')); } $cid = JRequest::getInt('cid', 0); //add css file $document->addStyleSheet($this->baseurl . '/components/com_eventlist/assets/css/eventlist.css'); $document->addCustomTag('<!--[if IE]><style type="text/css">.floattext{zoom:1;}, * html #eventlist dd { height: 1%; }</style><![endif]-->'); //Print $pop = JRequest::getBool('pop'); $params->def('page_title', JText::_('DETAILS')); if ($pop) { $params->set('popup', 1); } $print_link = JRoute::_('index.php?view=details&cid=' . $cid . '&id=' . $row->slug . '&pop=1&tmpl=component'); //pathway $cats = new eventlist_cats($cid); $parents = $cats->getParentlist(); $pathway =& $app->getPathWay(); $pathway->setItemName(1, $item->name); foreach ($parents as $parent) { $pathway->addItem($this->escape($parent->catname), JRoute::_('index.php?view=categoryevents&id=' . $parent->categoryslug)); } $pathway->addItem($this->escape($row->title), JRoute::_('index.php?view=details&cid=' . $cid . '&id=' . $row->slug)); //Get images $dimage = ELImage::flyercreator($row->datimage, 'event'); $limage = ELImage::flyercreator($row->locimage); //Check user if he can edit $allowedtoeditevent = ELUser::editaccess($elsettings->eventowner, $row->created_by, $elsettings->eventeditrec, $elsettings->eventedit); $allowedtoeditvenue = ELUser::editaccess($elsettings->venueowner, $row->venueowner, $elsettings->venueeditrec, $elsettings->venueedit); //Timecheck for registration $jetzt = date("Y-m-d"); $now = strtotime($jetzt); $date = strtotime($row->dates); $timecheck = $now - $date; //let's build the registration handling $formhandler = 0; //is the user allready registered at the event if ($regcheck) { $formhandler = 3; } else { //no, he isn't $formhandler = 4; } //check if it is too late to register and overwrite $formhandler if ($timecheck > 0) { $formhandler = 1; } //is the user registered at joomla and overwrite $formhandler if not if (!$user->get('id')) { $formhandler = 2; } if ($formhandler >= 3) { $js = "function check(checkbox, senden) {\n\t\t\t\tif(checkbox.checked==true){\n\t\t\t\t\tsenden.disabled = false;\n\t\t\t\t} else {\n\t\t\t\t\tsenden.disabled = true;\n\t\t\t\t}}"; $document->addScriptDeclaration($js); } //Generate Eventdescription if (!$row->datdescription == '' || !$row->datdescription == '<br />') { //Execute Plugins $row->text = $row->datdescription; JPluginHelper::importPlugin('content'); $results = $dispatcher->trigger('onPrepareContent', array(&$row, &$params, 0)); $row->datdescription = $row->text; } //Generate Venuedescription if (!$row->locdescription == '' || !$row->locdescription == '<br />') { //execute plugins $row->text = $row->locdescription; JPluginHelper::importPlugin('content'); $results = $dispatcher->trigger('onPrepareContent', array(&$row, &$params, 0)); $row->locdescription = $row->text; } // generate Metatags $meta_keywords_content = ""; if (!empty($row->meta_keywords)) { $keywords = explode(",", $row->meta_keywords); foreach ($keywords as $keyword) { if ($meta_keywords_content != "") { $meta_keywords_content .= ", "; } if (preg_match("/[\\/[\\/]/", $keyword)) { $keyword = trim(str_replace("[", "", str_replace("]", "", $keyword))); $buffer = $this->keyword_switcher($keyword, $row, $categories, $elsettings->formattime, $elsettings->formatdate); if ($buffer != "") { $meta_keywords_content .= $buffer; } else { $meta_keywords_content = substr($meta_keywords_content, 0, strlen($meta_keywords_content) - 2); // remove the comma and the white space } } else { $meta_keywords_content .= $keyword; } } } if (!empty($row->meta_description)) { $description = explode("[", $row->meta_description); $description_content = ""; foreach ($description as $desc) { $keyword = substr($desc, 0, strpos($desc, "]", 0)); if ($keyword != "") { $description_content .= $this->keyword_switcher($keyword, $row, $categories, $elsettings->formattime, $elsettings->formatdate); $description_content .= substr($desc, strpos($desc, "]", 0) + 1); } else { $description_content .= $desc; } } } else { $description_content = ""; } //set page title and meta stuff $document->setTitle($row->title); $document->setMetadata('keywords', $meta_keywords_content); $document->setDescription(strip_tags($description_content)); //build the url if (!empty($row->url) && strtolower(substr($row->url, 0, 7)) != "http://") { $row->url = 'http://' . $row->url; } //create flag if ($row->country) { $row->countryimg = ELOutput::getFlag($row->country); } // load dispatcher for plugins JPluginHelper::importPlugin('eventlist'); $row->pluginevent = new stdClass(); $results = $dispatcher->trigger('onEventDetailsEnd', array($row->did, $this->escape($row->title))); $row->pluginevent->onEventDetailsEnd = trim(implode("\n", $results)); //assign vars to jview $this->assignRef('row', $row); $this->assignRef('categories', $categories); $this->assignRef('params', $params); $this->assignRef('allowedtoeditevent', $allowedtoeditevent); $this->assignRef('allowedtoeditvenue', $allowedtoeditvenue); $this->assignRef('dimage', $dimage); $this->assignRef('limage', $limage); $this->assignRef('print_link', $print_link); $this->assignRef('registers', $registers); $this->assignRef('formhandler', $formhandler); $this->assignRef('elsettings', $elsettings); $this->assignRef('item', $item); $this->assignRef('user', $user); $this->assignRef('dispatcher', $dispatcher); parent::display($tpl); }
/** * Creates the Venueevents View * * @since 0.9 */ function display($tpl = null) { $app =& JFactory::getApplication(); //initialize variables $document =& JFactory::getDocument(); $menu =& JSite::getMenu(); $elsettings =& ELHelper::config(); $item = $menu->getActive(); $params =& $app->getParams('com_eventlist'); $uri =& JFactory::getURI(); //add css file $document->addStyleSheet($this->baseurl . '/components/com_eventlist/assets/css/eventlist.css'); $document->addCustomTag('<!--[if IE]><style type="text/css">.floattext{zoom:1;}, * html #eventlist dd { height: 1%; }</style><![endif]-->'); // Request variables $limitstart = JRequest::getInt('limitstart'); $limit = $app->getUserStateFromRequest('com_eventlist.venueevents.limit', 'limit', $params->def('display_num', 0), 'int'); $pop = JRequest::getBool('pop'); $task = JRequest::getWord('task'); //get data from model $rows =& $this->get('Data'); $venue =& $this->get('Venue'); $total =& $this->get('Total'); //does the venue exist? if ($venue->id == 0) { return JError::raiseError(404, JText::sprintf('Venue #%d not found', $venue->id)); } //are events available? if (!$rows) { $noevents = 1; } else { $noevents = 0; } // Add needed scripts if the lightbox effect is enabled if ($elsettings->lightbox == 1) { JHTML::_('behavior.modal'); } //Get image $limage = ELImage::flyercreator($venue->locimage); //add alternate feed link $link = 'index.php?option=com_eventlist&view=venueevents&format=feed&id=' . $venue->id; $attribs = array('type' => 'application/rss+xml', 'title' => 'RSS 2.0'); $document->addHeadLink(JRoute::_($link . '&type=rss'), 'alternate', 'rel', $attribs); $attribs = array('type' => 'application/atom+xml', 'title' => 'Atom 1.0'); $document->addHeadLink(JRoute::_($link . '&type=atom'), 'alternate', 'rel', $attribs); //pathway $pathway =& $app->getPathWay(); $pathway->setItemName(1, $item->name); //create the pathway if ($task == 'archive') { $pathway->addItem(JText::_('ARCHIVE') . ' - ' . $venue->venue, JRoute::_('index.php?option=com_eventlist&view=venueevents&task=archive&id=' . $venue->slug)); $link = JRoute::_('index.php?option=com_eventlist&view=venueevents&id=' . $venue->slug . '&task=archive'); $print_link = JRoute::_('index.php?option=com_eventlist&view=venueevents&id=' . $venue->slug . '&task=archive&pop=1&tmpl=component'); $pagetitle = $venue->venue . ' - ' . JText::_('ARCHIVE'); } else { $pathway->addItem($venue->venue, JRoute::_('index.php?option=com_eventlist&view=venueevents&id=' . $venue->slug)); $link = JRoute::_('index.php?option=com_eventlist&view=venueevents&id=' . $venue->slug); $print_link = JRoute::_('index.php?option=com_eventlist&view=venueevents&id=' . $venue->slug . '&pop=1&tmpl=component'); $pagetitle = $venue->venue; } //set Page title $app->setPageTitle($pagetitle); $app->addMetaTag('title', $pagetitle); $document->setMetadata('keywords', $venue->meta_keywords); $document->setDescription(strip_tags($venue->meta_description)); //Printfunction $params->def('print', !$app->getCfg('hidePrint')); $params->def('icons', $app->getCfg('icons')); if ($pop) { $params->set('popup', 1); } //Check if the user has access to the form $maintainer = ELUser::ismaintainer(); $genaccess = ELUser::validate_user($elsettings->evdelrec, $elsettings->delivereventsyes); if ($maintainer || $genaccess) { $dellink = 1; } //Generate Venuedescription if (!$venue->locdescription == '' || !$venue->locdescription == '<br />') { //execute plugins $venue->text = $venue->locdescription; $venue->title = $venue->venue; JPluginHelper::importPlugin('content'); $results = $app->triggerEvent('onPrepareContent', array(&$venue, &$params, 0)); $venuedescription = $venue->text; } $allowedtoeditvenue = ELUser::editaccess($elsettings->venueowner, $venue->created, $elsettings->venueeditrec, $elsettings->venueedit); //build the url if (!empty($venue->url) && strtolower(substr($venue->url, 0, 7)) != "http://") { $venue->url = 'http://' . $venue->url; } //prepare the url for output if (strlen(htmlspecialchars($venue->url, ENT_QUOTES)) > 35) { $venue->urlclean = substr(htmlspecialchars($venue->url, ENT_QUOTES), 0, 35) . '...'; } else { $venue->urlclean = htmlspecialchars($venue->url, ENT_QUOTES); } //create flag if ($venue->country) { $venue->countryimg = ELOutput::getFlag($venue->country); } // Create the pagination object jimport('joomla.html.pagination'); $pageNav = new JPagination($total, $limitstart, $limit); //create select lists $lists = $this->_buildSortLists($elsettings); $this->assign('lists', $lists); $this->assign('action', $uri->toString()); $this->assignRef('rows', $rows); $this->assignRef('noevents', $noevents); $this->assignRef('venue', $venue); $this->assignRef('print_link', $print_link); $this->assignRef('params', $params); $this->assignRef('dellink', $dellink); $this->assignRef('limage', $limage); $this->assignRef('venuedescription', $venuedescription); $this->assignRef('pageNav', $pageNav); $this->assignRef('elsettings', $elsettings); $this->assignRef('item', $item); $this->assignRef('pagetitle', $pagetitle); $this->assignRef('task', $task); $this->assignRef('allowedtoeditvenue', $allowedtoeditvenue); parent::display($tpl); }
/** * Method to get the events * * @access public * @return array */ function getList(&$params) { global $mainframe; $db =& JFactory::getDBO(); $user =& JFactory::getUser(); $user_gid = (int) $user->get('aid'); //all upcoming events if ($params->get('type') == 1) { $where = ' WHERE a.dates > CURDATE()'; // $where = ' WHERE a.published = 1'; $order = ' ORDER BY a.dates, a.times'; } //archived events only if ($params->get('type') == 2) { $where = ' WHERE a.published = -1'; $order = ' ORDER BY a.dates DESC, a.times DESC'; } //currently running events only if ($params->get('type') == 3) { $where = ' WHERE a.published = 1'; $where .= ' AND ( a.dates = CURDATE()'; $where .= ' OR ( a.enddates >= CURDATE() AND a.dates <= CURDATE() ))'; $order = ' ORDER BY a.dates, a.times'; } //clean parameter data $catid = trim($params->get('catid')); $venid = trim($params->get('venid')); $state = JString::strtolower(trim($params->get('stateloc'))); //Build category selection query statement if ($catid) { $ids = explode(',', $catid); JArrayHelper::toInteger($ids); $categories = ' AND (c.id=' . implode(' OR c.id=', $ids) . ')'; } //Build venue selection query statement if ($venid) { $ids = explode(',', $venid); JArrayHelper::toInteger($ids); $venues = ' AND (l.id=' . implode(' OR l.id=', $ids) . ')'; } //Build state selection query statement if ($state) { $rawstate = explode(',', $state); foreach ($rawstate as $val) { if ($val) { $states[] = '"' . trim($db->getEscaped($val)) . '"'; } } JArrayHelper::toString($states); $stat = ' AND (LOWER(l.state)=' . implode(' OR LOWER(l.state)=', $states) . ')'; } //perform select query $query = 'SELECT a.title, a.dates, a.enddates, a.times, a.endtimes, a.datdescription, a.datimage, l.venue, l.state, l.locimage, l.city, l.locdescription, c.catname,' . ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(\':\', a.id, a.alias) ELSE a.id END as slug,' . ' CASE WHEN CHAR_LENGTH(l.alias) THEN CONCAT_WS(\':\', l.id, l.alias) ELSE l.id END as venueslug,' . ' CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(\':\', c.id, c.alias) ELSE c.id END as categoryslug' . ' FROM #__eventlist_events AS a' . ' LEFT JOIN #__eventlist_venues AS l ON l.id = a.locid' . ' LEFT JOIN #__eventlist_categories AS c ON c.id = a.catsid' . $where . ' AND c.access <= ' . $user_gid . ($catid ? $categories : '') . ($venid ? $venues : '') . ($state ? $stat : '') . $order . ' LIMIT ' . (int) $params->get('count', '2'); $db->setQuery($query); $rows = $db->loadObjectList(); //assign datemethod value to jview jimport('joomla.application.component.view'); JView::assignRef('datemethod', $params->get('datemethod', 1)); JView::assignRef('use_modal', $params->get('use_modal', 0)); if ($params->get('use_modal', 0)) { JHTML::_('behavior.modal'); } //Loop through the result rows and prepare data $i = 0; $lists = array(); foreach ($rows as $row) { //create thumbnails if needed and receive imagedata $dimage = ELImage::flyercreator($row->datimage, 'event'); $limage = ELImage::flyercreator($row->locimage); //cut titel $length = strlen(htmlspecialchars($row->title)); if ($length > $params->get('cuttitle', '25')) { $row->title = substr($row->title, 0, $params->get('cuttitle', '18')); $row->title = $row->title . '...'; } $lists[$i]->title = htmlspecialchars($row->title, ENT_COMPAT, 'UTF-8'); $lists[$i]->venue = htmlspecialchars($row->venue, ENT_COMPAT, 'UTF-8'); $lists[$i]->catname = htmlspecialchars($row->catname, ENT_COMPAT, 'UTF-8'); $lists[$i]->state = htmlspecialchars($row->state, ENT_COMPAT, 'UTF-8'); $lists[$i]->eventlink = $params->get('linkevent', 1) ? JRoute::_(EventListHelperRoute::getRoute($row->slug)) : ''; $lists[$i]->venuelink = $params->get('linkvenue', 1) ? JRoute::_(EventListHelperRoute::getRoute($row->venueslug, 'venueevents')) : ''; $lists[$i]->categorylink = $params->get('linkcategory', 1) ? JRoute::_(EventListHelperRoute::getRoute($row->categoryslug, 'categoryevents')) : ''; $lists[$i]->date = modEventListwideHelper::_format_date($row, $params); $lists[$i]->time = $row->times ? modEventListwideHelper::_format_time($row->dates, $row->times, $params) : ''; $lists[$i]->eventimage = JURI::base(true) . '/' . $dimage['thumb']; $lists[$i]->eventimageorig = JURI::base(true) . '/' . $dimage['original']; $lists[$i]->venueimage = JURI::base(true) . '/' . $limage['thumb']; $lists[$i]->venueimageorig = JURI::base(true) . '/' . $limage['original']; $lists[$i]->eventdescription = strip_tags($row->datdescription); $lists[$i]->venuedescription = strip_tags($row->locdescription); $i++; } return $lists; }
/** * Creates the output for the details view * * @since 0.9 */ function display($tpl = null) { global $mainframe; $document =& JFactory::getDocument(); $user =& JFactory::getUser(); $elsettings = ELHelper::config(); $row =& $this->get('Details'); $registers =& $this->get('Registers'); $regcheck =& $this->get('Usercheck'); //cleanup events ELHelper::cleanevents($elsettings->lastupdate); //get menu information $menu =& JSite::getMenu(); $item = $menu->getActive(); $params =& $mainframe->getParams('com_eventlist'); //Check if the id exists if ($row->did == 0) { return JError::raiseError(404, JText::sprintf('Event #%d not found', $row->did)); } //Check if user has access to the details if ($elsettings->showdetails == 0) { return JError::raiseError(403, JText::_('NO ACCESS')); } //add css file $document->addStyleSheet($this->baseurl . '/components/com_eventlist/assets/css/eventlist.css'); $document->addCustomTag('<!--[if IE]><style type="text/css">.floattext{zoom:1;}, * html #eventlist dd { height: 1%; }</style><![endif]-->'); //Print $pop = JRequest::getBool('pop'); $params->def('page_title', JText::_('DETAILS')); if ($pop) { $params->set('popup', 1); } $print_link = JRoute::_('index.php?view=details&id=' . $row->slug . '&pop=1&tmpl=component'); //pathway $pathway =& $mainframe->getPathWay(); $pathway->addItem(JText::_('DETAILS') . ' - ' . $row->title, JRoute::_('index.php?view=details&id=' . $row->slug)); //Get images $dimage = ELImage::flyercreator($row->datimage, $elsettings, 'event'); $limage = ELImage::flyercreator($row->locimage, $elsettings); //Check user if he can edit $allowedtoeditevent = ELUser::editaccess($elsettings->eventowner, $row->created_by, $elsettings->eventeditrec, $elsettings->eventedit); $allowedtoeditvenue = ELUser::editaccess($elsettings->venueowner, $row->venueowner, $elsettings->venueeditrec, $elsettings->venueedit); //Generate Date $date = strftime($elsettings->formatdate, strtotime($row->dates)); if ($row->times) { $time = strftime($elsettings->formattime, strtotime($row->times)); } if (!$row->enddates) { $displaydate = $date . '<br />'; } else { $enddate = strftime($elsettings->formatdate, strtotime($row->enddates)); $displaydate = $date . ' - ' . $enddate . '<br />'; } //Generate Time if ($elsettings->showtimedetails == 1 && $row->times) { $starttime = $time . ' ' . $elsettings->timename; if ($row->endtimes) { $endtime = strftime($elsettings->formattime, strtotime($row->endtimes)); $endtime = ' - ' . $endtime . ' ' . $elsettings->timename; $displaytime = $starttime . $endtime; } else { $displaytime = $starttime; } } //Timecheck for registration $jetzt = date("Y-m-d"); $now = strtotime($jetzt); $date = strtotime($row->dates); $timecheck = $now - $date; //let's build the registration handling $formhandler = 0; //is the user allready registered at the event if ($regcheck) { $formhandler = 3; } else { //no, he isn't $formhandler = 4; } //check if it is too late to register and overwrite $formhandler if ($timecheck > 0) { $formhandler = 1; } //is the user registered at joomla and overwrite $formhandler if not if (!$user->get('id')) { $formhandler = 2; } //Generate Eventdescription if ($row->datdescription == '' || $row->datdescription == '<br />') { $eventdescription = JText::_('NO DESCRIPTION'); } else { //Execute Plugins $row->text = $row->datdescription; //$row->title = $row->title; JPluginHelper::importPlugin('content'); $results = $mainframe->triggerEvent('onPrepareContent', array(&$row, &$params, 0)); $eventdescription = $row->text; } //Generate Venuedescription if (empty($row->locdescription)) { $venuedescription = JText::_('NO DESCRIPTION'); } else { //execute plugins $row->text = $row->locdescription; //$row->title = $row->venue; JPluginHelper::importPlugin('content'); $results = $mainframe->triggerEvent('onPrepareContent', array(&$row, &$params, 0)); $venuedescription = $row->text; } // generate Metatags $meta_keywords_content = ""; if (!empty($row->meta_keywords)) { $keywords = explode(",", $row->meta_keywords); foreach ($keywords as $keyword) { if ($meta_keywords_content != "") { $meta_keywords_content .= ", "; } if (ereg("[/[/]", $keyword)) { $keyword = trim(str_replace("[", "", str_replace("]", "", $keyword))); $meta_keywords_content .= $this->keyword_switcher($keyword, $row, $elsettings->formattime, $elsettings->formatdate); } else { $meta_keywords_content .= $keyword; } } } if (!empty($row->meta_description)) { $description = explode("[", $row->meta_description); $description_content = ""; foreach ($description as $desc) { $keyword = substr($desc, 0, strpos($desc, "]", 0)); if ($keyword != "") { $description_content .= $this->keyword_switcher($keyword, $row, $elsettings->formattime, $elsettings->formatdate); $description_content .= substr($desc, strpos($desc, "]", 0) + 1); } else { $description_content .= $desc; } } } else { $description_content = ""; } //set page title and meta stuff $document->setTitle($item->name . ' - ' . $row->title); $document->setMetadata('keywords', $meta_keywords_content); $document->setDescription(strip_tags($description_content)); //build the url if (!empty($row->url) && strtolower(substr($row->url, 0, 7)) != "http://") { $row->url = 'http://' . $row->url; } //create flag if ($row->country) { $row->countryimg = ELOutput::getFlag($row->country); } //assign vars to jview $this->assignRef('row', $row); $this->assignRef('params', $params); $this->assignRef('allowedtoeditevent', $allowedtoeditevent); $this->assignRef('allowedtoeditvenue', $allowedtoeditvenue); $this->assignRef('dimage', $dimage); $this->assignRef('limage', $limage); $this->assignRef('displaytime', $displaytime); $this->assignRef('displaydate', $displaydate); $this->assignRef('print_link', $print_link); $this->assignRef('eventdescription', $eventdescription); $this->assignRef('venuedescription', $venuedescription); $this->assignRef('registers', $registers); $this->assignRef('formhandler', $formhandler); $this->assignRef('elsettings', $elsettings); $this->assignRef('item', $item); parent::display($tpl); }
/** * Method to get the Venues * * @access public * @return array */ function &getData() { global $mainframe; $menu =& JSite::getMenu(); $item = $menu->getActive(); $params =& $menu->getParams($item->id); $elsettings = ELHelper::config(); // Lets load the content if it doesn't already exist if (empty($this->_data)) { $query = $this->_buildQuery(); $this->_data = $this->_getList($query, $this->getState('limitstart'), $this->getState('limit')); $k = 0; for ($i = 0; $i < count($this->_data); $i++) { $venue =& $this->_data[$i]; //Create image information $venue->limage = ELImage::flyercreator($venue->locimage, $elsettings); //Generate Venuedescription if (empty($venue->locdescription)) { $venue->locdescription = JText::_('NO DESCRIPTION'); } else { //execute plugins $venue->text = $venue->locdescription; $venue->title = $venue->venue; JPluginHelper::importPlugin('content'); $results = $mainframe->triggerEvent('onPrepareContent', array(&$venue, &$params, 0)); $venue->locdescription = $venue->text; } //build the url if (!empty($venue->url) && strtolower(substr($venue->url, 0, 7)) != "http://") { $venue->url = 'http://' . $venue->url; } //prepare the url for output if (strlen(htmlspecialchars($venue->url, ENT_QUOTES)) > 35) { $venue->urlclean = substr(htmlspecialchars($venue->url, ENT_QUOTES), 0, 35) . '...'; } else { $venue->urlclean = htmlspecialchars($venue->url, ENT_QUOTES); } //create flag if ($venue->country) { $venue->countryimg = ELOutput::getFlag($venue->country); } //Get total of assigned events of each venue $venue->assignedevents = $this->_assignedevents($venue->id); $k = 1 - $k; } } return $this->_data; }