| Current Path : /home/w/u/e/wuectly/www/03cbe/ |
| Current File : /home/w/u/e/wuectly/www/03cbe/router.php.tar |
home/wuectly/www/components/com_contact/router.php 0000604 00000014174 15245551610 0016532 0 ustar 00 <?php
/**
* @package Joomla.Site
* @subpackage com_contact
*
* @copyright (C) 2007 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* Routing class from com_contact
*
* @since 3.3
*/
class ContactRouter extends JComponentRouterView
{
protected $noIDs = false;
/**
* Search Component router constructor
*
* @param JApplicationCms $app The application object
* @param JMenu $menu The menu object to work with
*/
public function __construct($app = null, $menu = null)
{
$params = JComponentHelper::getParams('com_contact');
$this->noIDs = (bool) $params->get('sef_ids');
$categories = new JComponentRouterViewconfiguration('categories');
$categories->setKey('id');
$this->registerView($categories);
$category = new JComponentRouterViewconfiguration('category');
$category->setKey('id')->setParent($categories, 'catid')->setNestable();
$this->registerView($category);
$contact = new JComponentRouterViewconfiguration('contact');
$contact->setKey('id')->setParent($category, 'catid');
$this->registerView($contact);
$this->registerView(new JComponentRouterViewconfiguration('featured'));
parent::__construct($app, $menu);
$this->attachRule(new JComponentRouterRulesMenu($this));
if ($params->get('sef_advanced', 0))
{
$this->attachRule(new JComponentRouterRulesStandard($this));
$this->attachRule(new JComponentRouterRulesNomenu($this));
}
else
{
JLoader::register('ContactRouterRulesLegacy', __DIR__ . '/helpers/legacyrouter.php');
$this->attachRule(new ContactRouterRulesLegacy($this));
}
}
/**
* Method to get the segment(s) for a category
*
* @param string $id ID of the category to retrieve the segments for
* @param array $query The request that is built right now
*
* @return array|string The segments of this item
*/
public function getCategorySegment($id, $query)
{
$category = JCategories::getInstance($this->getName())->get($id);
if ($category)
{
$path = array_reverse($category->getPath(), true);
$path[0] = '1:root';
if ($this->noIDs)
{
foreach ($path as &$segment)
{
list($id, $segment) = explode(':', $segment, 2);
}
}
return $path;
}
return array();
}
/**
* Method to get the segment(s) for a category
*
* @param string $id ID of the category to retrieve the segments for
* @param array $query The request that is built right now
*
* @return array|string The segments of this item
*/
public function getCategoriesSegment($id, $query)
{
return $this->getCategorySegment($id, $query);
}
/**
* Method to get the segment(s) for a contact
*
* @param string $id ID of the contact to retrieve the segments for
* @param array $query The request that is built right now
*
* @return array|string The segments of this item
*/
public function getContactSegment($id, $query)
{
if (!strpos($id, ':'))
{
$db = JFactory::getDbo();
$dbquery = $db->getQuery(true);
$dbquery->select($dbquery->qn('alias'))
->from($dbquery->qn('#__contact_details'))
->where('id = ' . $dbquery->q((int) $id));
$db->setQuery($dbquery);
$id .= ':' . $db->loadResult();
}
if ($this->noIDs)
{
list($void, $segment) = explode(':', $id, 2);
return array($void => $segment);
}
return array((int) $id => $id);
}
/**
* Method to get the id for a category
*
* @param string $segment Segment to retrieve the ID for
* @param array $query The request that is parsed right now
*
* @return mixed The id of this item or false
*/
public function getCategoryId($segment, $query)
{
if (isset($query['id']))
{
$category = JCategories::getInstance($this->getName(), array('access' => false))->get($query['id']);
if ($category)
{
foreach ($category->getChildren() as $child)
{
if ($this->noIDs)
{
if ($child->alias == $segment)
{
return $child->id;
}
}
else
{
if ($child->id == (int) $segment)
{
return $child->id;
}
}
}
}
}
return false;
}
/**
* Method to get the segment(s) for a category
*
* @param string $segment Segment to retrieve the ID for
* @param array $query The request that is parsed right now
*
* @return mixed The id of this item or false
*/
public function getCategoriesId($segment, $query)
{
return $this->getCategoryId($segment, $query);
}
/**
* Method to get the segment(s) for a contact
*
* @param string $segment Segment of the contact to retrieve the ID for
* @param array $query The request that is parsed right now
*
* @return mixed The id of this item or false
*/
public function getContactId($segment, $query)
{
if ($this->noIDs)
{
$db = JFactory::getDbo();
$dbquery = $db->getQuery(true);
$dbquery->select($dbquery->qn('id'))
->from($dbquery->qn('#__contact_details'))
->where('alias = ' . $dbquery->q($segment))
->where('catid = ' . $dbquery->q($query['id']));
$db->setQuery($dbquery);
return (int) $db->loadResult();
}
return (int) $segment;
}
}
/**
* Contact router functions
*
* These functions are proxys for the new router interface
* for old SEF extensions.
*
* @param array &$query An array of URL arguments
*
* @return array The URL arguments to use to assemble the subsequent URL.
*
* @deprecated 4.0 Use Class based routers instead
*/
function ContactBuildRoute(&$query)
{
$app = JFactory::getApplication();
$router = new ContactRouter($app, $app->getMenu());
return $router->build($query);
}
/**
* Contact router functions
*
* These functions are proxys for the new router interface
* for old SEF extensions.
*
* @param array $segments The segments of the URL to parse.
*
* @return array The URL attributes to be used by the application.
*
* @deprecated 4.0 Use Class based routers instead
*/
function ContactParseRoute($segments)
{
$app = JFactory::getApplication();
$router = new ContactRouter($app, $app->getMenu());
return $router->parse($segments);
}
home/wuectly/www/components/com_privacy/router.php 0000604 00000003610 15245551651 0016552 0 ustar 00 <?php
/**
* @package Joomla.Site
* @subpackage com_privacy
*
* @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* Routing class from com_privacy
*
* @since 3.9.0
*/
class PrivacyRouter extends JComponentRouterView
{
/**
* Privacy Component router constructor
*
* @param JApplicationCms $app The application object
* @param JMenu $menu The menu object to work with
*
* @since 3.9.0
*/
public function __construct($app = null, $menu = null)
{
$this->registerView(new JComponentRouterViewconfiguration('confirm'));
$this->registerView(new JComponentRouterViewconfiguration('request'));
$this->registerView(new JComponentRouterViewconfiguration('remind'));
parent::__construct($app, $menu);
$this->attachRule(new JComponentRouterRulesMenu($this));
$this->attachRule(new JComponentRouterRulesStandard($this));
$this->attachRule(new JComponentRouterRulesNomenu($this));
}
}
/**
* Privacy router functions
*
* These functions are proxies for the new router interface
* for old SEF extensions.
*
* @param array &$query REQUEST query
*
* @return array Segments of the SEF url
*
* @since 3.9.0
* @deprecated 4.0 Use Class based routers instead
*/
function privacyBuildRoute(&$query)
{
$app = JFactory::getApplication();
$router = new PrivacyRouter($app, $app->getMenu());
return $router->build($query);
}
/**
* Convert SEF URL segments into query variables
*
* @param array $segments Segments in the current URL
*
* @return array Query variables
*
* @since 3.9.0
* @deprecated 4.0 Use Class based routers instead
*/
function privacyParseRoute($segments)
{
$app = JFactory::getApplication();
$router = new PrivacyRouter($app, $app->getMenu());
return $router->parse($segments);
}
home/wuectly/www/components/com_wrapper/router.php 0000604 00000003467 15245561526 0016571 0 ustar 00 <?php
/**
* @package Joomla.Site
* @subpackage com_wrapper
*
* @copyright (C) 2008 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* Routing class from com_wrapper
*
* @since 3.3
*/
class WrapperRouter extends JComponentRouterBase
{
/**
* Build the route for the com_wrapper component
*
* @param array &$query An array of URL arguments
*
* @return array The URL arguments to use to assemble the subsequent URL.
*
* @since 3.3
*/
public function build(&$query)
{
if (isset($query['view']))
{
unset($query['view']);
}
return array();
}
/**
* Parse the segments of a URL.
*
* @param array &$segments The segments of the URL to parse.
*
* @return array The URL attributes to be used by the application.
*
* @since 3.3
*/
public function parse(&$segments)
{
return array('view' => 'wrapper');
}
}
/**
* Wrapper router functions
*
* These functions are proxys for the new router interface
* for old SEF extensions.
*
* @param array &$query An array of URL arguments
*
* @return array The URL arguments to use to assemble the subsequent URL.
*
* @deprecated 4.0 Use Class based routers instead
*/
function wrapperBuildRoute(&$query)
{
$router = new WrapperRouter;
return $router->build($query);
}
/**
* Wrapper router functions
*
* These functions are proxys for the new router interface
* for old SEF extensions.
*
* @param array $segments The segments of the URL to parse.
*
* @return array The URL attributes to be used by the application.
*
* @deprecated 4.0 Use Class based routers instead
*/
function wrapperParseRoute($segments)
{
$router = new WrapperRouter;
return $router->parse($segments);
}
home/wuectly/www/components/com_content/router.php 0000604 00000015305 15245562552 0016555 0 ustar 00 <?php
/**
* @package Joomla.Site
* @subpackage com_content
*
* @copyright (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* Routing class of com_content
*
* @since 3.3
*/
class ContentRouter extends JComponentRouterView
{
protected $noIDs = false;
/**
* Content Component router constructor
*
* @param JApplicationCms $app The application object
* @param JMenu $menu The menu object to work with
*/
public function __construct($app = null, $menu = null)
{
$params = JComponentHelper::getParams('com_content');
$this->noIDs = (bool) $params->get('sef_ids');
$categories = new JComponentRouterViewconfiguration('categories');
$categories->setKey('id');
$this->registerView($categories);
$category = new JComponentRouterViewconfiguration('category');
$category->setKey('id')->setParent($categories, 'catid')->setNestable()->addLayout('blog');
$this->registerView($category);
$article = new JComponentRouterViewconfiguration('article');
$article->setKey('id')->setParent($category, 'catid');
$this->registerView($article);
$this->registerView(new JComponentRouterViewconfiguration('archive'));
$this->registerView(new JComponentRouterViewconfiguration('featured'));
$form = new JComponentRouterViewconfiguration('form');
$form->setKey('a_id');
$this->registerView($form);
parent::__construct($app, $menu);
$this->attachRule(new JComponentRouterRulesMenu($this));
if ($params->get('sef_advanced', 0))
{
$this->attachRule(new JComponentRouterRulesStandard($this));
$this->attachRule(new JComponentRouterRulesNomenu($this));
}
else
{
JLoader::register('ContentRouterRulesLegacy', __DIR__ . '/helpers/legacyrouter.php');
$this->attachRule(new ContentRouterRulesLegacy($this));
}
}
/**
* Method to get the segment(s) for a category
*
* @param string $id ID of the category to retrieve the segments for
* @param array $query The request that is built right now
*
* @return array|string The segments of this item
*/
public function getCategorySegment($id, $query)
{
$category = JCategories::getInstance($this->getName())->get($id);
if ($category)
{
$path = array_reverse($category->getPath(), true);
$path[0] = '1:root';
if ($this->noIDs)
{
foreach ($path as &$segment)
{
list($id, $segment) = explode(':', $segment, 2);
}
}
return $path;
}
return array();
}
/**
* Method to get the segment(s) for a category
*
* @param string $id ID of the category to retrieve the segments for
* @param array $query The request that is built right now
*
* @return array|string The segments of this item
*/
public function getCategoriesSegment($id, $query)
{
return $this->getCategorySegment($id, $query);
}
/**
* Method to get the segment(s) for an article
*
* @param string $id ID of the article to retrieve the segments for
* @param array $query The request that is built right now
*
* @return array|string The segments of this item
*/
public function getArticleSegment($id, $query)
{
if (!strpos($id, ':'))
{
$db = JFactory::getDbo();
$dbquery = $db->getQuery(true);
$dbquery->select($dbquery->qn('alias'))
->from($dbquery->qn('#__content'))
->where('id = ' . $dbquery->q($id));
$db->setQuery($dbquery);
$id .= ':' . $db->loadResult();
}
if ($this->noIDs)
{
list($void, $segment) = explode(':', $id, 2);
return array($void => $segment);
}
return array((int) $id => $id);
}
/**
* Method to get the segment(s) for a form
*
* @param string $id ID of the article form to retrieve the segments for
* @param array $query The request that is built right now
*
* @return array|string The segments of this item
*
* @since 3.7.3
*/
public function getFormSegment($id, $query)
{
return $this->getArticleSegment($id, $query);
}
/**
* Method to get the id for a category
*
* @param string $segment Segment to retrieve the ID for
* @param array $query The request that is parsed right now
*
* @return mixed The id of this item or false
*/
public function getCategoryId($segment, $query)
{
if (isset($query['id']))
{
$category = JCategories::getInstance($this->getName(), array('access' => false))->get($query['id']);
if ($category)
{
foreach ($category->getChildren() as $child)
{
if ($this->noIDs)
{
if ($child->alias == $segment)
{
return $child->id;
}
}
else
{
if ($child->id == (int) $segment)
{
return $child->id;
}
}
}
}
}
return false;
}
/**
* Method to get the segment(s) for a category
*
* @param string $segment Segment to retrieve the ID for
* @param array $query The request that is parsed right now
*
* @return mixed The id of this item or false
*/
public function getCategoriesId($segment, $query)
{
return $this->getCategoryId($segment, $query);
}
/**
* Method to get the segment(s) for an article
*
* @param string $segment Segment of the article to retrieve the ID for
* @param array $query The request that is parsed right now
*
* @return mixed The id of this item or false
*/
public function getArticleId($segment, $query)
{
if ($this->noIDs)
{
$db = JFactory::getDbo();
$dbquery = $db->getQuery(true);
$dbquery->select($dbquery->qn('id'))
->from($dbquery->qn('#__content'))
->where('alias = ' . $dbquery->q($segment))
->where('catid = ' . $dbquery->q($query['id']));
$db->setQuery($dbquery);
return (int) $db->loadResult();
}
return (int) $segment;
}
}
/**
* Content router functions
*
* These functions are proxys for the new router interface
* for old SEF extensions.
*
* @param array &$query An array of URL arguments
*
* @return array The URL arguments to use to assemble the subsequent URL.
*
* @deprecated 4.0 Use Class based routers instead
*/
function contentBuildRoute(&$query)
{
$app = JFactory::getApplication();
$router = new ContentRouter($app, $app->getMenu());
return $router->build($query);
}
/**
* Parse the segments of a URL.
*
* This function is a proxy for the new router interface
* for old SEF extensions.
*
* @param array $segments The segments of the URL to parse.
*
* @return array The URL attributes to be used by the application.
*
* @since 3.3
* @deprecated 4.0 Use Class based routers instead
*/
function contentParseRoute($segments)
{
$app = JFactory::getApplication();
$router = new ContentRouter($app, $app->getMenu());
return $router->parse($segments);
}
home/wuectly/www/components/com_banners/router.php 0000604 00000005232 15245572076 0016533 0 ustar 00 <?php
/**
* @package Joomla.Site
* @subpackage com_banners
*
* @copyright (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* Routing class from com_banners
*
* @since 3.3
*/
class BannersRouter extends JComponentRouterBase
{
/**
* Build the route for the com_banners component
*
* @param array &$query An array of URL arguments
*
* @return array The URL arguments to use to assemble the subsequent URL.
*
* @since 3.3
*/
public function build(&$query)
{
$segments = array();
if (isset($query['task']))
{
$segments[] = $query['task'];
unset($query['task']);
}
if (isset($query['id']))
{
$segments[] = $query['id'];
unset($query['id']);
}
$total = count($segments);
for ($i = 0; $i < $total; $i++)
{
$segments[$i] = str_replace(':', '-', $segments[$i]);
}
return $segments;
}
/**
* Parse the segments of a URL.
*
* @param array &$segments The segments of the URL to parse.
*
* @return array The URL attributes to be used by the application.
*
* @since 3.3
*/
public function parse(&$segments)
{
$total = count($segments);
$vars = array();
for ($i = 0; $i < $total; $i++)
{
$segments[$i] = preg_replace('/-/', ':', $segments[$i], 1);
}
// View is always the first element of the array
$count = count($segments);
if ($count)
{
$count--;
$segment = array_shift($segments);
if (is_numeric($segment))
{
$vars['id'] = $segment;
}
else
{
$vars['task'] = $segment;
}
}
if ($count)
{
$segment = array_shift($segments);
if (is_numeric($segment))
{
$vars['id'] = $segment;
}
}
return $vars;
}
}
/**
* Build the route for the com_banners component
*
* This function is a proxy for the new router interface
* for old SEF extensions.
*
* @param array &$query An array of URL arguments
*
* @return array The URL arguments to use to assemble the subsequent URL.
*
* @since 3.3
* @deprecated 4.0 Use Class based routers instead
*/
function bannersBuildRoute(&$query)
{
$router = new BannersRouter;
return $router->build($query);
}
/**
* Parse the segments of a URL.
*
* This function is a proxy for the new router interface
* for old SEF extensions.
*
* @param array $segments The segments of the URL to parse.
*
* @return array The URL attributes to be used by the application.
*
* @since 3.3
* @deprecated 4.0 Use Class based routers instead
*/
function bannersParseRoute($segments)
{
$router = new BannersRouter;
return $router->parse($segments);
}
home/wuectly/www/components/com_finder/router.php 0000604 00000007560 15245603222 0016344 0 ustar 00 <?php
/**
* @package Joomla.Site
* @subpackage com_finder
*
* @copyright (C) 2011 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
/**
* Routing class from com_finder
*
* @since 3.3
*/
class FinderRouter extends JComponentRouterBase
{
/**
* Build the route for the com_finder component
*
* @param array &$query An array of URL arguments
*
* @return array The URL arguments to use to assemble the subsequent URL.
*
* @since 3.3
*/
public function build(&$query)
{
$segments = array();
/*
* First, handle menu item routes first. When the menu system builds a
* route, it only provides the option and the menu item id. We don't have
* to do anything to these routes.
*/
if (count($query) === 2 && isset($query['Itemid'], $query['option']))
{
return $segments;
}
/*
* Next, handle a route with a supplied menu item id. All system generated
* routes should fall into this group. We can assume that the menu item id
* is the best possible match for the query but we need to go through and
* see which variables we can eliminate from the route query string because
* they are present in the menu item route already.
*/
if (!empty($query['Itemid']))
{
// Get the menu item.
$item = $this->menu->getItem($query['Itemid']);
// Check if the view matches.
if ($item && isset($item->query['view']) && isset($query['view']) && $item->query['view'] === $query['view'])
{
unset($query['view']);
}
// Check if the search query filter matches.
if ($item && isset($item->query['f']) && isset($query['f']) && $item->query['f'] === $query['f'])
{
unset($query['f']);
}
// Check if the search query string matches.
if ($item && isset($item->query['q']) && isset($query['q']) && $item->query['q'] === $query['q'])
{
unset($query['q']);
}
return $segments;
}
/*
* Lastly, handle a route with no menu item id. Fortunately, we only need
* to deal with the view as the other route variables are supposed to stay
* in the query string.
*/
if (isset($query['view']))
{
// Add the view to the segments.
$segments[] = $query['view'];
unset($query['view']);
}
$total = count($segments);
for ($i = 0; $i < $total; $i++)
{
$segments[$i] = str_replace(':', '-', $segments[$i]);
}
return $segments;
}
/**
* Parse the segments of a URL.
*
* @param array &$segments The segments of the URL to parse.
*
* @return array The URL attributes to be used by the application.
*
* @since 3.3
*/
public function parse(&$segments)
{
$total = count($segments);
$vars = array();
for ($i = 0; $i < $total; $i++)
{
$segments[$i] = preg_replace('/-/', ':', $segments[$i], 1);
}
// Check if the view segment is set and it equals search or advanced.
if (isset($segments[0]) && ($segments[0] === 'search' || $segments[0] === 'advanced'))
{
$vars['view'] = $segments[0];
}
return $vars;
}
}
/**
* Finder router functions
*
* These functions are proxys for the new router interface
* for old SEF extensions.
*
* @param array &$query An array of URL arguments
*
* @return array The URL arguments to use to assemble the subsequent URL.
*
* @deprecated 4.0 Use Class based routers instead
*/
function FinderBuildRoute(&$query)
{
$router = new FinderRouter;
return $router->build($query);
}
/**
* Finder router functions
*
* These functions are proxys for the new router interface
* for old SEF extensions.
*
* @param array $segments The segments of the URL to parse.
*
* @return array The URL attributes to be used by the application.
*
* @deprecated 4.0 Use Class based routers instead
*/
function FinderParseRoute($segments)
{
$router = new FinderRouter;
return $router->parse($segments);
}
home/wuectly/www/components/com_xmap/router.php 0000604 00000011213 15245613334 0016035 0 ustar 00 <?php
/**
* @version $Id$
* @copyright Copyright (C) 2005 - 2009 Joomla! Vargas. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
* @author Guillermo Vargas (guille@vargas.co.cr)
*/
defined( '_JEXEC' ) or die( 'Restricted access' );
/**
* Content Component Route Helper
*
* @package Xmap
* @subpackage com_xmap
* @since 2.0
*/
class XmapRoute
{
/**
* @param int $id The id of the article.
* @param int $categoryId An optional category id.
*
* @return string The routed link.
*/
public static function sitemap($id, $view = 'html')
{
$needles = array(
'html' => (int) $id
);
//Create the link
$link = 'index.php?option=com_xmap&view='.$view.'&id='. $id;
if ($itemId = self::_findItemId($needles)) {
$link .= '&Itemid='.$itemId;
};
return $link;
}
protected static function _findItemId($needles)
{
// Prepare the reverse lookup array.
if (self::$lookup === null)
{
self::$lookup = array();
$component = &JComponentHelper::getComponent('com_xmap');
$menus = &JApplication::getMenu('site', array());
$items = $menus->getItems('component_id', $component->id);
foreach ($items as &$item)
{
if (isset($item->query) && isset($item->query['view']))
{
$view = $item->query['view'];
if (!isset(self::$lookup[$view])) {
self::$lookup[$view] = array();
}
if (isset($item->query['id'])) {
self::$lookup[$view][$item->query['id']] = $item->id;
}
}
}
}
$match = null;
foreach ($needles as $view => $id)
{
if (isset(self::$lookup[$view]))
{
if (isset(self::$lookup[$view][$id])) {
return self::$lookup[$view][$id];
}
}
}
return null;
}
}
/**
* Build the route for the com_content component
*
* @param array An array of URL arguments
*
* @return array The URL arguments to use to assemble the subsequent URL.
*/
function XmapBuildRoute(&$query)
{
$segments = array();
// get a menu item based on Itemid or currently active
$app = JFactory::getApplication();
$menu = $app->getMenu();
if (empty($query['Itemid'])) {
$menuItem = $menu->getActive();
}
else {
$menuItem = $menu->getItem($query['Itemid']);
}
$mView = (empty($menuItem->query['view'])) ? null : $menuItem->query['view'];
$mId = (empty($menuItem->query['id'])) ? null : $menuItem->query['id'];
if ( !empty($query['Itemid']) ) {
unset($query['view']);
unset($query['id']);
} else {
if ( !empty($query['view']) ) {
$segments[] = $query['view'];
}
}
if (isset($query['id']))
{
if (empty($query['Itemid'])) {
$segments[] = $query['id'];
}
else
{
if (isset($menuItem->query['id']))
{
if ($query['id'] != $mId) {
$segments[] = $query['id'];
}
}
else {
$segments[] = $query['id'];
}
}
unset($query['id']);
};
if (isset($query['layout']))
{
if (!empty($query['Itemid']) && isset($menuItem->query['layout']))
{
if ($query['layout'] == $menuItem->query['layout']) {
unset($query['layout']);
}
}
else
{
if ($query['layout'] == 'default') {
unset($query['layout']);
}
}
};
return $segments;
}
/**
* Parse the segments of a URL.
*
* @param array The segments of the URL to parse.
*
* @return array The URL attributes to be used by the application.
*/
function XmapParseRoute($segments)
{
$vars = array();
//G et the active menu item.
$app = JFactory::getApplication();
$menu = $app->getMenu();
$item = $menu->getActive();
// Count route segments
$count = count($segments);
// Standard routing for articles.
if (!isset($item))
{
$vars['view'] = $segments[0];
$vars['id'] = $segments[$count - 1];
return $vars;
}
$vars['view'] = $item->query['view'];
$vars['id'] = $item->query['id'];
return $vars;
}
home/wuectly/www/components/com_tags/router.php 0000604 00000011232 15245613345 0016031 0 ustar 00 <?php
/**
* @package Joomla.Site
* @subpackage com_tags
*
* @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
use Joomla\Utilities\ArrayHelper;
/**
* Routing class from com_tags
*
* @since 3.3
*/
class TagsRouter extends JComponentRouterBase
{
/**
* Build the route for the com_tags component
*
* @param array &$query An array of URL arguments
*
* @return array The URL arguments to use to assemble the subsequent URL.
*
* @since 3.3
*/
public function build(&$query)
{
$segments = array();
// Get a menu item based on Itemid or currently active
$params = JComponentHelper::getParams('com_tags');
// 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 = $this->menu->getActive();
}
else
{
$menuItem = $this->menu->getItem($query['Itemid']);
}
$mView = empty($menuItem->query['view']) ? null : $menuItem->query['view'];
$mId = empty($menuItem->query['id']) ? null : $menuItem->query['id'];
if (is_array($mId))
{
$mId = ArrayHelper::toInteger($mId);
}
$view = '';
if (isset($query['view']))
{
$view = $query['view'];
if (empty($query['Itemid']))
{
$segments[] = $view;
}
unset($query['view']);
}
// Are we dealing with a tag that is attached to a menu item?
if ($mView == $view && isset($query['id']) && $mId == $query['id'])
{
unset($query['id']);
return $segments;
}
if ($view === 'tag')
{
$notActiveTag = is_array($mId) ? (count($mId) > 1 || $mId[0] != (int) $query['id']) : ($mId != (int) $query['id']);
if ($notActiveTag || $mView != $view)
{
// ID in com_tags can be either an integer, a string or an array of IDs
$id = is_array($query['id']) ? implode(',', $query['id']) : $query['id'];
$segments[] = $id;
}
unset($query['id']);
}
if (isset($query['layout']))
{
if ((!empty($query['Itemid']) && isset($menuItem->query['layout'])
&& $query['layout'] == $menuItem->query['layout'])
|| $query['layout'] === 'default')
{
unset($query['layout']);
}
}
$total = count($segments);
for ($i = 0; $i < $total; $i++)
{
$segments[$i] = str_replace(':', '-', $segments[$i]);
$position = strpos($segments[$i], '-');
if ($position)
{
// Remove id from segment
$segments[$i] = substr($segments[$i], $position + 1);
}
}
return $segments;
}
/**
* Parse the segments of a URL.
*
* @param array &$segments The segments of the URL to parse.
*
* @return array The URL attributes to be used by the application.
*
* @since 3.3
*/
public function parse(&$segments)
{
$total = count($segments);
$vars = array();
for ($i = 0; $i < $total; $i++)
{
$segments[$i] = preg_replace('/-/', ':', $segments[$i], 1);
}
// Get the active menu item.
$item = $this->menu->getActive();
// Count route segments
$count = count($segments);
// Standard routing for tags.
if (!isset($item))
{
$vars['view'] = $segments[0];
$vars['id'] = $this->fixSegment($segments[$count - 1]);
return $vars;
}
$vars['id'] = $this->fixSegment($segments[0]);
$vars['view'] = 'tag';
return $vars;
}
/**
* Try to add missing id to segment
*
* @param string $segment One piece of segment of the URL to parse
*
* @return string The segment with founded id
*
* @since 3.7
*/
protected function fixSegment($segment)
{
$db = JFactory::getDbo();
// Try to find tag id
$alias = str_replace(':', '-', $segment);
$query = $db->getQuery(true)
->select('id')
->from($db->quoteName('#__tags'))
->where($db->quoteName('alias') . " = " . $db->quote($alias));
$id = $db->setQuery($query)->loadResult();
if ($id)
{
$segment = "$id:$alias";
}
return $segment;
}
}
/**
* Tags router functions. These functions are proxys for the new router interface or old SEF extensions.
*
* @param array &$query An array of URL arguments.
*
* @return array
*
* @deprecated 4.0 Use Class based routers instead
*/
function tagsBuildRoute(&$query)
{
$router = new TagsRouter;
return $router->build($query);
}
/**
* Parse the segments of a URL. These functions are proxys for the new router interface or old SEF extensions.
*
* @param array $segments The segments of the URL to parse.
*
* @return array The URL attributes to be used by the application.
*
* @deprecated 4.0 Use Class based routers instead
*/
function tagsParseRoute($segments)
{
$router = new TagsRouter;
return $router->parse($segments);
}
home/wuectly/www/components/com_icagenda/router.php 0000604 00000010437 15245617065 0016637 0 ustar 00 <?php
/**
*------------------------------------------------------------------------------
* iCagenda v3 by Jooml!C - Events Management Extension for Joomla! 2.5 / 3.x
*------------------------------------------------------------------------------
* @package com_icagenda
* @copyright Copyright (c)2012-2015 Cyril Rezé, Jooml!C - All rights reserved
*
* @license GNU General Public License version 3 or later; see LICENSE.txt
* @author Cyril Rezé (Lyr!C)
* @link http://www.joomlic.com
*
* @version 3.4.0 2014-07-08
* @since 1.0
*------------------------------------------------------------------------------
*/
// No direct access to this file
defined('_JEXEC') or die();
function iCagendaBuildRoute( &$query )
{
$segments = array();
// link event
if (isset($query['layout']) && $query['layout'] == 'event')
{
// Make sure we have the id and the alias
if (strpos($query['id'], ':') === false)
{
$db = JFactory::getDbo();
$aquery = $db->setQuery($db->getQuery(true)
->select('alias')
->from('#__icagenda_events')
->where('id=' . (int) $query['id'])
);
$alias = $db->loadResult();
$query['id'] = $query['id'] . ':' . $alias;
}
$segments[] = $query['id'];
unset($query['id']);
unset($query['view']);
unset($query['layout']);
}
// link submit
if (isset($query['layout']) && $query['layout'] == 'send')
{
$segments[] = $query['id'];
unset($query['id']);
$segments[] = 'sending';
unset($query['view']);
unset($query['layout']);
}
// link registration
if (isset($query['layout']) && $query['layout'] == 'registration')
{
// Make sure we have the id and the alias
if (strpos($query['id'], ':') === false)
{
$db = JFactory::getDbo();
$aquery = $db->setQuery($db->getQuery(true)
->select('alias')
->from('#__icagenda_events')
->where('id='.(int)$query['id'])
);
$alias = $db->loadResult();
$query['id'] = $query['id'].':'.$alias;
}
$segments[] = $query['id'];
unset($query['id']);
$segments[] = 'registration';
unset($query['view']);
unset($query['layout']);
}
// link payment
if (isset($query['layout']) && $query['layout'] == 'actions')
{
// Make sure we have the id and the alias
if (strpos($query['id'], ':') === false)
{
$db = JFactory::getDbo();
$aquery = $db->setQuery($db->getQuery(true)
->select('alias')
->from('#__icagenda_events')
->where('id='.(int)$query['id'])
);
$alias = $db->loadResult();
$query['id'] = $query['id'].':'.$alias;
}
$segments[] = $query['id'];
unset($query['id']);
$segments[] = 'actions';
unset($query['view']);
unset($query['layout']);
}
// link search
if (isset($query['view']) && $query['view'] == 'search')
{
$segments[] = 'search';
}
// link submit
if (isset($query['view']) && $query['view'] == 'submit')
{
$segments[] = 'submission';
unset($query['view']);
unset($query['layout']);
}
// link list (since 3.4.0)
if (isset($query['view']) && $query['view'] == 'list')
{
$segments[] = 'list';
unset($query['view']);
unset($query['layout']);
}
return $segments;
}
function iCagendaParseRoute( $segments )
{
$app = JFactory::getApplication();
$menu = $app->getMenu();
$item = $menu->getActive();
$vars = array();
// Count route segments
$count = count($segments);
if (in_array('sending', $segments))
{
$vars['option'] = 'com_icagenda';
$vars['view'] = 'submit';
$vars['layout'] = 'send';
$vars['id'] = $segments[0];
}
elseif (in_array('actions', $segments))
{
$vars['option'] = 'com_icagenda';
$vars['view'] = 'list';
$vars['layout'] = 'actions';
$vars['id'] = $segments[0];
}
elseif (in_array('registration', $segments))
{
$vars['option'] = 'com_icagenda';
$vars['view'] = 'list';
$vars['layout'] = 'registration';
$vars['id'] = $segments[0];
}
elseif (in_array('search', $segments))
{
$vars['option'] = 'com_icagenda';
$vars['view'] = 'list';
$vars['layout'] = 'search';
}
elseif (in_array('submission', $segments))
{
$vars['option'] = 'com_icagenda';
$vars['view'] = 'submit';
}
elseif (in_array('list', $segments))
{
$vars['option'] = 'com_icagenda';
$vars['view'] = 'list';
}
else
{
$vars['option'] = 'com_icagenda';
$vars['view'] = 'list';
$vars['layout'] = 'event';
$vars['id'] = $segments[0];
}
return $vars;
}