Exemple #1
0
 /**
  * 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);
 }
Exemple #2
0
 /**
  * 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);
 }
Exemple #3
0
 /**
  * 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);
 }
Exemple #4
0
 /**
  * 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;
 }
Exemple #5
0
 /**
  * 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);
 }
Exemple #6
0
 /**
  * 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);
 }
Exemple #7
0
 /**
  * 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);
 }
Exemple #8
0
 /**
  * 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;
 }
Exemple #9
0
 /**
  * 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);
 }
Exemple #10
0
 /**
  * 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;
 }