uawdijnntqw1x1x1
IP : 216.73.216.198
Hostname : webm002.cluster123.gra.hosting.ovh.net
Kernel : Linux webm002.cluster123.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
OS : Linux
PATH:
/
home
/
megadansyp
/
www
/
components
/
com_xmap
/
..
/
com_jevents
/
router.php
/
/
<?php /** * JEvents Component for Joomla! 3.x * * @version $Id: router.php 3578 2012-05-01 14:25:28Z geraintedwards $ * @package JEvents * @copyright Copyright (C) 2008-2025 GWESystems Ltd, 2006-2008 JEvents Project Group * @license GNU/GPLv2, see http://www.gnu.org/licenses/gpl-2.0.html * @link http://www.jevents.net */ defined( '_JEXEC' ) or die( 'No Direct Access' ); use Joomla\CMS\Application\ApplicationHelper; use Joomla\CMS\Language\Language; use Joomla\CMS\Language\LanguageHelper; use Joomla\CMS\Language\Text; use Joomla\CMS\Document\FeedDocument; use Joomla\CMS\Factory; use Joomla\String\StringHelper; use Joomla\CMS\Plugin\PluginHelper; use Joomla\CMS\Component\ComponentHelper; JLoader::register( 'JEVConfig', JPATH_ADMINISTRATOR . "/components/com_jevents/libraries/config.php" ); JLoader::register( 'JEVHelper', JPATH_SITE . "/components/com_jevents/libraries/helper.php" ); JLoader::register( 'JSite', JPATH_SITE . '/includes/application.php' ); function JEventsBuildRoute( &$query ) { $params = ComponentHelper::getParams( "com_jevents" ); // Must also load backend language files $lang = Factory::getLanguage(); $lang->load( "com_jevents", JPATH_SITE ); $segments = array(); // sometimes the task is not set but view and layout are so tackle this! if ( ! isset( $query['task'] ) && isset( $query['view'] ) && isset( $query['layout'] ) ) { $query['task'] = $query['view'] . "." . $query['layout']; } // We don't need the view - its only used to manipulate parameters if ( isset( $query['view'] ) ) { unset( $query['view'] ); } if ( isset( $query['layout'] ) ) { unset( $query['layout'] ); } $task = false; $task = false; if ( ! isset( $query['task'] ) ) { if ( isset( $query["Itemid"] ) ) { $menu = Factory::getApplication()->getMenu(); $menuitem = $menu->getItem( $query["Itemid"] ); if ( ! is_null( $menuitem ) && isset( $menuitem->query["task"] ) ) { $task = $menuitem->query["task"]; return $segments; } else if ( ! is_null( $menuitem ) && isset( $menuitem->query["layout"] ) && isset( $menuitem->query["view"] ) ) { // we put the xml file in the wrong folder - stupid. Hard to move now! if ( $menuitem->query["view"] == "icalrepeat" ) { $menuitem->query["view"] = "icalevent"; } $task = $menuitem->query["view"] . "." . $menuitem->query["layout"]; } } if ( ! $task ) { $task = 'month.calendar'; } } else { $task = $query['task']; unset( $query['task'] ); } PluginHelper::importPlugin( "jevents" ); Factory::getApplication()->triggerEvent( 'onJEventsRoute' ); // Translatable URLs if ( $params->get( "newsef", 1 ) ) { return JEventsBuildRouteNew( $query, $task ); } switch ( $task ) { case "year.listevents": case "month.calendar": case "week.listevents": case "day.listevents": case "cat.listevents": case "jevent.detail": case "icalevent.detail": case "icalrepeat.detail": case "search.form": case "search.results": case "admin.listevents": { $segments[] = $task; $config = Factory::getConfig(); $t_datenow = JEVHelper::getNow(); // if no date in the query then use TODAY not the calendar date $nowyear = JevDate::strftime( '%Y', $t_datenow->toUnix( true ) ); $nowmonth = JevDate::strftime( '%m', $t_datenow->toUnix( true ) ); $nowday = JevDate::strftime( '%d', $t_datenow->toUnix( true ) ); if ( isset( $query['year'] ) ) { $segments[] = $query['year']; unset( $query['year'] ); } else { // if no date in the query then use TODAY not the calendar date $segments[] = $nowyear; } if ( isset( $query['month'] ) ) { $segments[] = $query['month']; unset( $query['month'] ); } else { // if no date in the query then use TODAY not the calendar date $segments[] = $nowmonth; } if ( isset( $query['day'] ) ) { $segments[] = $query['day']; unset( $query['day'] ); } else { // if no date in the query then use TODAY not the calendar date $segments[] = $nowday; } switch ( $task ) { case "jevent.detail": case "icalevent.detail": case "icalrepeat.detail": if ( isset( $query['jevtype'] ) ) { unset( $query['jevtype'] ); } if ( isset( $query['evid'] ) ) { $segments[] = $query['evid']; unset( $query['evid'] ); } else { if ( isset( $query["Itemid"] ) ) { // event detail menu item $menu = Factory::getApplication()->getMenu(); $menuitem = $menu->getItem( $query["Itemid"] ); if ( ! is_null( $menuitem ) && isset( $menuitem->query["evid"] ) ) { $segments[] = $menuitem->query["evid"]; if ( ! isset( $query['title'] ) ) { //$query['title'] = StringHelper::substr(ApplicationHelper::stringURLSafe($query['title']), 0, 150); } } else { $segments[] = "0"; } } else { $segments[] = "0"; } } /* // Can we drop the use of uid? if(isset($query['title'])) { $segments[] = ApplicationHelper::stringURLSafe($query['title']); unset($query['title']); } else { $segments[] = "-"; } */ break; default: break; } if ( isset( $query['catids'] ) && StringHelper::strlen( $query['catids'] ) > 0 ) { $segments[] = $query['catids']; unset( $query['catids'] ); } else { $segments[] = "-"; } switch ( $task ) { case "icalrepeat.detail": if ( isset( $query['uid'] ) ) { // Some remote UIDs have @ and other dodgy characters in them so encode them for safety //$segments[] = base64_encode($query['uid']); unset( $query['uid'] ); } if ( isset( $query['title'] ) ) { $segments[] = StringHelper::substr( ApplicationHelper::stringURLSafe( $query['title'] ), 0, 150 ); unset( $query['title'] ); } else { $segments[] = "-"; } break; default: break; } } break; case "jevent.edit": case "icalevent.edit": case "icalevent.publish": case "icalevent.unpublish": case "icalevent.editcopy": case "icalrepeat.edit": case "jevent.delete": case "icalevent.delete": case "icalrepeat.delete": case "icalrepeat.deletefuture": $segments[] = $task; if ( isset( $query['jevtype'] ) ) { unset( $query['jevtype'] ); } if ( isset( $query['evid'] ) ) { $segments[] = $query['evid']; unset( $query['evid'] ); } else { if ( isset( $query["Itemid"] ) ) { // event detail menu item $menu = Factory::getApplication()->getMenu(); $menuitem = $menu->getItem( $query["Itemid"] ); if ( ! is_null( $menuitem ) && isset( $menuitem->query["evid"] ) ) { $segments[] = $menuitem->query["evid"]; if ( ! isset( $query['title'] ) ) { //$query['title'] = StringHelper::substr(ApplicationHelper::stringURLSafe($query['title']), 0, 150); } } else { $segments[] = "0"; } } else { $segments[] = "0"; } } break; case "modlatest.rss": $segments[] = $task; // assume implicit feed document //unset($query['format']); // feed type if ( isset( $query['type'] ) ) { $segments[] = $query['type']; unset( $query['type'] ); } else { $segments[] = 'rss'; } // modid if ( isset( $query['modid'] ) ) { $segments[] = $query['modid']; unset( $query['modid'] ); } else { $segments[] = "0"; } break; case "icalrepeat.vcal": case "icalevent.vcal": $segments[] = $task; if ( isset( $query['evid'] ) ) { $segments[] = $query['evid']; unset( $query['evid'] ); } else { $segments[] = "0"; } if ( isset( $query['catids'] ) ) { $segments[] = $query['catids']; unset( $query['catids'] ); } else { $segments[] = "0"; } break; default: $segments[] = $task; $segments[] = "-"; break; } return $segments; } function JEventsParseRoute( &$segments ) { $vars = array(); static $translatedTasks = false; static $tasks; if ( ! $translatedTasks ) { // Must also load backend language files $lang = Factory::getLanguage(); $lang->load( "com_jevents", JPATH_SITE ); $translatedTasks = array(); $tasks = array( "year.listevents", "month.calendar", "week.listevents", "day.listevents", "range.listevents", "cat.listevents", "jevent.detail", "icalevent.detail", "icalrepeat.detail", "search.form", "search.results", "admin.listevents", "jevent.edit", "icalevent.edit", "icalevent.publish", "icalevent.unpublish", "icalevent.editcopy", "icalrepeat.edit", "jevent.delete", "icalevent.delete", "icalrepeat.delete", "icalrepeat.deletefuture", "modlatest.rss", "icalrepeat.vcal", "icalevent.vcal", "list.events" ); foreach ( $tasks as $tt ) { $translatedTasks[translatetask( $tt )] = $tt; // backup for sites that hadn't translated but now have $translatedTasks[str_replace( ".", "_", $tt )] = $tt; } } //Get the active menu item $menu = Factory::getApplication()->getMenu(); $item = $menu->getActive(); // Count route segments $count = count( $segments ); if ( $count > 0 ) { if ( is_numeric( $segments[0] ) ) { array_unshift( $segments, translatetask( "icalrepeat.detail" ) ); } // task $task = $segments[0]; // note that URI decoding swaps /-/ for : if ( strpos( $task, ":" ) > 0 ) { $task = str_replace( ":", "-", $task ); } if ( translatetask( "icalrepeat.detail" ) == "" && ! in_array( $task, $tasks ) && ! array_key_exists( $task, $translatedTasks ) ) { //array_unshift($segments, "icalrepeat.detail"); array_unshift( $segments, "" ); if ( count( $segments ) == 3 ) { $title = $segments[1]; $segments[1] = $segments[2]; $segments[2] = "-"; $segments[3] = $title; } else if ( $segments > 3 ) { $title = $segments[2]; $catid = $segments[1]; $evid = $segments[3]; $segments[1] = $evid; $segments[2] = $catid; $segments[3] = $title; } $task = $segments[0]; } $newsef = false; if ( array_key_exists( $task, $translatedTasks ) ) { $task = $translatedTasks[$task]; return JEventsParseRouteNew( $segments, $task ); } $vars["task"] = $task; switch ( $task ) { case "year.listevents": case "month.calendar": case "week.listevents": case "day.listevents": case "range.listevents": case "cat.listevents": case "jevent.detail": case "icalevent.detail": case "icalrepeat.detail": case "view_cat": if ( strpos( $task, "jevent" ) === 0 ) { $vars['jevtype'] = "jevent"; } else if ( strpos( $task, "icalevent" ) === 0 ) { $vars['jevtype'] = "icaldb"; } if ( $count > 1 ) { $vars['year'] = $segments[1]; } if ( $count > 2 ) { $vars['month'] = $segments[2]; } if ( $count > 3 ) { $vars['day'] = $segments[3]; } if ( $count > 4 ) { switch ( $task ) { case "jevent.detail": case "icalevent.detail": case "icalrepeat.detail": // special case where the target menu item is icalrepeat.detail - we need to make sure the link is to the actual event and not the menu event! if ( $task === "icalrepeat.detail" && ( $item->query['view'] ?? 'missing' ) . '.' . ( $item->query['layout'] ?? 'missing' ) === $task ) { $vars['rp_id'] = $segments[4]; } $vars['evid'] = $segments[4]; // note that URI decoding swaps /-/ for : if ( count( $segments ) > 5 && $segments[5] != ":" ) { $vars['catids'] = $segments[5]; } break; default: // note that URI decoding swaps /-/ for : if ( $segments[4] != ":" ) { $vars['catids'] = $segments[4]; } break; } } if ( $count > 6 ) { switch ( $task ) { case "icalrepeat.detail": //$vars['uid'] = base64_decode($segments[6]); break; default: break; } } break; case "jevent.edit": case "icalevent.editcopy": case "icalevent.edit": case "icalevent.publish": case "icalevent.unpublish": case "icalrepeat.edit": case "icalevent.delete": case "icalrepeat.delete": case "icalrepeat.deletefuture": if ( $count > 1 ) { $vars['evid'] = $segments[1]; } break; case "modlatest.rss": // URI = /task/feedtype/modid // force FeedDocument $vars['format'] = 'feed'; //feed type if ( $count > 1 ) { $vars['type'] = $segments[1]; } else { $vars['type'] = "rss"; } // modid if ( $count > 2 ) { $vars['modid'] = $segments[2]; } else { $vars['modid'] = "0"; } break; case "icalrepeat.vcal": case "icalevent.vcal": if ( $count > 1 ) { $vars['evid'] = $segments[1]; } else { $vars['evid'] = "0"; } // modid if ( $count > 2 ) { $vars['catids'] = $segments[2]; } else { $vars['catids'] = "0"; } break; default: $app = Factory::getApplication(); $input = $app->input; if ( $task !== "" ) { if ( strpos( $task, '.' ) == false ) { $view = $input->getCmd( 'view', false ); $layout = $input->getCmd( 'layout', "show" ); if ( $view && $layout ) { $task = $view . '.' . $layout; } } if ( strpos( $task, 'plugin.' ) === 0 ) { break; } $lang = Factory::getLanguage(); $lang->load( "com_jevents", JPATH_ADMINISTRATOR ); if ( strpos( $task, '.' ) == false ) { throw new Exception( Text::_( 'COM_JEVENTS_UNKNOWN_TASK' ), 404 ); return false; } list( $controllerName, $cmd ) = explode( '.', $task ); $controllerName = strtolower( $controllerName ); $controllerPath = JPATH_SITE . '/components/com_jevents/controllers/' . $controllerName . '.php'; if ( ! file_exists( $controllerPath ) ) { throw new Exception( Text::_( 'COM_JEVENTS_UNKNOWN_TASK' ), 404 ); return false; } } break; } } // J4 router is different and we must clean out the $segments; $segments = array(); /* if (count($vars) < count($segments) && $segments[count($segments) - 1] == ":" ) { unset( $segments[count($segments) - 1]); } if (count($vars) == count($segments)) { $segments = array(); } */ return $vars; } function JEventsBuildRouteNew( &$query, $task ) { $transtask = translatetask( $task, $query ); $params = ComponentHelper::getParams( "com_jevents" ); $noeventdetailinurl = $params->get( "noeventdetailinurl", 0 ); // get a menu item based on Itemid or currently active $app = Factory::getApplication(); $menu = $app->getMenu(); // we need a menu item. Either the one specified in the query, or the current active one if none specified if ( empty( $query['Itemid'] ) ) { $menuItem = $menu->getActive(); $menuItemGiven = false; } else { $menuItem = $menu->getItem( $query['Itemid'] ); $menuItemGiven = true; } $cfg = JEVConfig::getInstance(); $segments = array(); if ( ( count( $query ) == 2 && isset( $query['Itemid'] ) && isset( $query['option'] ) ) || ( count( $query ) == 3 && isset( $query['Itemid'] ) && isset( $query['lang'] ) && isset( $query['option'] ) ) ) { // special case where we do not need any information since its a menu item // as long as the task matches up! $menu = Factory::getApplication()->getMenu(); $menuitem = $menu->getItem( $query["Itemid"] ); if ( ! is_null( $menuitem ) && ( isset( $menuitem->query["task"] ) || ( isset( $menuitem->query["view"] ) && isset( $menuitem->query["layout"] ) ) ) ) { if ( ! isset( $query['lang'] ) || $menuitem->language == $query['lang'] || $menuitem->language == "*" ) { if ( isset( $menuitem->query["task"] ) && $task == $menuitem->query["task"] ) { return $segments; } else if ( isset( $menuitem->query["view"] ) && isset( $menuitem->query["layout"] ) && $task == $menuitem->query["view"] . "." . $menuitem->query["layout"] ) { return $segments; } else { $segments[] = $transtask; } } } } switch ( $task ) { case "year.listevents": case "month.calendar": case "week.listevents": case "day.listevents": case "cat.listevents": case "jevent.detail": case "icalevent.detail": case "icalrepeat.detail": case "search.form": case "search.results": case "admin.listevents": { if ( ! in_array( $transtask, $segments ) ) { $segments[] = $transtask; } $config = Factory::getConfig(); $t_datenow = JEVHelper::getNow(); // if no date in the query then use TODAY not the calendar date $nowyear = JevDate::strftime( '%Y', $t_datenow->toUnix( true ) ); $nowmonth = JevDate::strftime( '%m', $t_datenow->toUnix( true ) ); $nowday = JevDate::strftime( '%d', $t_datenow->toUnix( true ) ); if ( isset( $query['year'] ) ) { $year = ( $query['year'] == "YYYYyyyy" ) ? "YYYYyyyy" : intval( $query['year'] ); unset( $query['year'] ); } else { $year = $nowyear; } if ( isset( $query['month'] ) ) { $month = ( $query['month'] == "MMMMmmmm" ) ? "MMMMmmmm" : intval( $query['month'] ); unset( $query['month'] ); } else { $month = $nowmonth; } if ( isset( $query['day'] ) ) { $day = intval( $query['day'] ); unset( $query['day'] ); } else { // if no date in the query then use TODAY not the calendar date $day = $nowday; } // for week data always go to the start of the week if ( $task == "week.listevents" && is_int( $month ) ) { $startday = $cfg->get( 'com_starday' ); if ( ! $startday ) { $startday = 0; } $date = mktime( 5, 5, 5, $month, $day, $year ); $currentday = date( "w", $date ); if ( $currentday > $startday ) { $date -= ( $currentday - $startday ) * 86400; list( $year, $month, $day ) = explode( "-", date( "Y-m-d", $date ) ); } else if ( $currentday < $startday ) { $date -= ( 7 + $currentday - $startday ) * 86400; list( $year, $month, $day ) = explode( "-", date( "Y-m-d", $date ) ); } } // only include the year in the date and list views if ( in_array( $task, array( "year.listevents", "month.calendar", "week.listevents", "day.listevents" ) ) ) { $segments[] = $year; } // only include the month in the date and list views (excluding year) if ( in_array( $task, array( "month.calendar", "week.listevents", "day.listevents" ) ) ) { $segments[] = $month; } // only include the day in the week and day views (excluding year and month) if ( in_array( $task, array( "week.listevents", "day.listevents" ) ) ) { $segments[] = $day; } switch ( $task ) { case "jevent.detail": case "icalevent.detail": case "icalrepeat.detail": if ( isset( $query['jevtype'] ) ) { unset( $query['jevtype'] ); } if ( $transtask != "" ) { if ( isset( $query['evid'] ) ) { $segments[] = $query['evid']; unset( $query['evid'] ); } else { $segments[] = "0"; } } if ( $params->get( "nocatindetaillink", 0 ) && isset( $query['catids'] ) && StringHelper::strlen( $query['catids'] ) > 0 ) { unset( $query['catids'] ); } break; default: break; } if ( isset( $query['catids'] ) && StringHelper::strlen( $query['catids'] ) > 0 ) { $segments[] = $query['catids']; } else { if ( $transtask != "" ) { if ( ! $params->get( "nocatindetaillink", 0 ) ) { $segments[] = "-"; } } } unset( $query['catids'] ); switch ( $task ) { case "icalrepeat.detail": if ( isset( $query['uid'] ) ) { // Some remote UIDs have @ and other dodgy characters in them so encode them for safety //$segments[] = base64_encode($query['uid']); unset( $query['uid'] ); } if ( isset( $query['title'] ) ) { $segments[] = StringHelper::substr( ApplicationHelper::stringURLSafe( $query['title'] ), 0, 150 ); unset( $query['title'] ); } else { $segments[] = "-"; } if ( $transtask == "" ) { if ( isset( $query['evid'] ) ) { $segments[] = $query['evid']; unset( $query['evid'] ); } else { $segments[] = "0"; } } break; default: break; } } break; case "jevent.edit": case "icalevent.edit": case "icalevent.publish": case "icalevent.unpublish": case "icalevent.editcopy": case "icalrepeat.edit": case "jevent.delete": case "icalevent.delete": case "icalrepeat.delete": case "icalrepeat.deletefuture": $segments[] = $transtask; if ( isset( $query['jevtype'] ) ) { unset( $query['jevtype'] ); } if ( isset( $query['evid'] ) ) { $segments[] = $query['evid']; unset( $query['evid'] ); } else { $segments[] = "0"; } break; case "modlatest.rss": $segments[] = $transtask; // assume implicit feed document //unset($query['format']); // feed type if ( isset( $query['type'] ) ) { $segments[] = $query['type']; unset( $query['type'] ); } else { $segments[] = 'rss'; } // modid if ( isset( $query['modid'] ) ) { $segments[] = $query['modid']; unset( $query['modid'] ); } else { $segments[] = "0"; } break; case "icalrepeat.vcal": case "icalevent.vcal": $segments[] = $transtask; if ( isset( $query['evid'] ) ) { $segments[] = $query['evid']; unset( $query['evid'] ); } else { $segments[] = "0"; } if ( isset( $query['catids'] ) ) { $segments[] = $query['catids']; unset( $query['catids'] ); } else { $segments[] = "0"; } break; default: if ( ! in_array( $transtask, $segments ) ) { $segments[] = $transtask; } $segments[] = "-"; break; } if ( $task == "icalrepeat.detail" ) { if ( $noeventdetailinurl ) { array_shift( $segments ); } } return $segments; } function JEventsParseRouteNew( &$segments, $task ) { //Get the active menu item $menu = Factory::getApplication()->getMenu(); $item = $menu->getActive(); $vars = array(); $vars["task"] = $task; $params = ComponentHelper::getParams( "com_jevents" ); // Count route segments $count = count( $segments ); $slugcount = 1; switch ( $task ) { case "year.listevents": case "month.calendar": case "week.listevents": case "day.listevents": case "range.listevents": case "cat.listevents": case "jevent.detail": case "icalevent.detail": case "icalrepeat.detail": case "view_cat": if ( strpos( $task, "jevent" ) === 0 ) { $vars['jevtype'] = "jevent"; } else if ( strpos( $task, "icalevent" ) === 0 ) { $vars['jevtype'] = "icaldb"; } // only include the year in the date and list views if ( in_array( $task, array( "year.listevents", "month.calendar", "week.listevents", "day.listevents" ) ) ) { if ( $count > $slugcount ) { $vars['year'] = $segments[1]; } $slugcount ++; } // only include the month in the date and list views (excluding year) if ( in_array( $task, array( "month.calendar", "week.listevents", "day.listevents" ) ) ) { if ( $count > $slugcount ) { $vars['month'] = $segments[2]; } $slugcount ++; } // only include the day in the week and day views (excluding year and month) if ( in_array( $task, array( "week.listevents", "day.listevents" ) ) ) { if ( $count > $slugcount ) { $vars['day'] = $segments[3]; } $slugcount ++; } if ( $count > $slugcount ) { switch ( $task ) { case "jevent.detail": case "icalevent.detail": case "icalrepeat.detail": $vars['evid'] = $segments[$slugcount]; // special case where the target menu item is icalrepeat.detail - we need to make sure the link is to the actual event and not the menu event! if ( $task === "icalrepeat.detail" && ( $item->query['view'] ?? 'missing' ) . '.' . ( $item->query['layout'] ?? 'missing' ) === $task ) { $vars['rp_id'] = $segments[$slugcount]; } unset( $segments[$slugcount] ); $slugcount ++; if ( ! $params->get( "nocatindetaillink", 0 ) ) { // note that URI decoding swaps /-/ for : if ( count( $segments ) > $slugcount && $segments[$slugcount] != ":" ) { $vars['catids'] = $segments[$slugcount]; unset( $segments[$slugcount] ); $slugcount ++; } if ( count( $segments ) > $slugcount && $segments[$slugcount] == ":" ) { unset( $segments[$slugcount] ); $slugcount ++; } } // do we have the title? if ( count( $segments ) > $slugcount && $segments[$slugcount] != "" && $segments[$slugcount] != "-" ) { $vars['title'] = $segments[$slugcount]; unset( $segments[$slugcount] ); $slugcount ++; } break; default: // note that URI decoding swaps /-/ for : if ( $segments[$slugcount] != ":" ) { $vars['catids'] = $segments[$slugcount]; unset( $segments[$slugcount] ); } break; } } break; case "jevent.edit": case "icalevent.editcopy": case "icalevent.edit": case "icalevent.publish": case "icalevent.unpublish": case "icalrepeat.edit": case "icalevent.delete": case "icalrepeat.delete": case "icalrepeat.deletefuture": if ( $count > 1 ) { $vars['evid'] = $segments[1]; } break; case "modlatest.rss": // URI = /task/feedtype/modid // force FeedDocument $vars['format'] = 'feed'; //feed type if ( $count > 1 ) { $vars['type'] = $segments[1]; } else { $vars['type'] = "rss"; } // modid if ( $count > 2 ) { $vars['modid'] = $segments[2]; } else { $vars['modid'] = "0"; } break; case "icalrepeat.vcal": case "icalevent.vcal": if ( $count > 1 ) { $vars['evid'] = $segments[1]; } else { $vars['evid'] = "0"; } // modid if ( $count > 2 ) { $vars['catids'] = $segments[2]; } else { $vars['catids'] = "0"; } break; default: break; } // J4 router is different and we must clean out the $segments; $segments = array(); /* if (count($vars) < count($segments) && $segments[count($segments) - 1] == ":" ) { unset( $segments[count($segments) - 1]); } if (count($vars) == count($segments)) { $segments = array(); } */ return $vars; } function translatetask( $task, $query = false ) { $tasks = array( "year.listevents", "month.calendar", "week.listevents", "day.listevents", "range.listevents", "cat.listevents", "jevent.detail", "icalevent.detail", "icalrepeat.detail", "search.form", "search.results", "admin.listevents", "jevent.edit", "icalevent.edit", "icalevent.publish", "icalevent.unpublish", "icalevent.editcopy", "icalrepeat.edit", "jevent.delete", "icalevent.delete", "icalrepeat.delete", "icalrepeat.deletefuture", "modlatest.rss", "icalrepeat.vcal", "icalevent.vcal" ); if ( ! in_array( $task, $tasks ) ) { return $task; } // if not translated then just drop the . and use _ instead $task = str_replace( ".", "_", $task ); $transtask = Text::_( "JEV_SEF_" . $task ); // does it need a translated task in another language $lang = Factory::getLanguage(); if ( $query && isset( $query["lang"] ) && $lang->get( "tag" ) != $query["lang"] ) { $sefs = LanguageHelper::getLanguages( 'sef' ); $lang_code = $query["lang"]; if ( array_key_exists( $query["lang"], $sefs ) ) { $lang_code = $sefs[$query["lang"]]->lang_code; } $newlang = Language::getInstance( $lang_code ); $newlang->load( "com_jevents", JPATH_SITE ); $transtask = $newlang->_( "JEV_SEF_" . $task ); } $transtask = strpos( $transtask, "JEV_SEF_" ) === 0 ? $task : $transtask; return $transtask; }
/home/megadansyp/www/components/com_xmap/../com_jevents/router.php