git-svn-id: https://192.168.0.254/svn/Proyectos.FundacionLQDVI_WebCongresos/trunk@2 94ccb1af-fd9d-d947-8d90-7f70ea60afc8
123 lines
2.6 KiB
PHP
123 lines
2.6 KiB
PHP
<?php
|
|
/**
|
|
* @version $Id: route.php 14401 2010-01-26 14:10:00Z louis $
|
|
* @package Joomla
|
|
* @subpackage Content
|
|
* @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
|
|
* @license GNU/GPL, see LICENSE.php
|
|
* Joomla! is free software. This version may have been modified pursuant to the
|
|
* GNU General Public License, and as distributed it includes or is derivative
|
|
* of works licensed under the GNU General Public License or other free or open
|
|
* source software licenses. See COPYRIGHT.php for copyright notices and
|
|
* details.
|
|
*/
|
|
|
|
// no direct access
|
|
defined('_JEXEC') or die('Restricted access');
|
|
|
|
// Component Helper
|
|
jimport('joomla.application.component.helper');
|
|
|
|
/**
|
|
* Content Component Route Helper
|
|
*
|
|
* @static
|
|
* @package Joomla
|
|
* @subpackage Content
|
|
* @since 1.5
|
|
*/
|
|
class ContentHelperRoute
|
|
{
|
|
/**
|
|
* @param int The route of the content item
|
|
*/
|
|
function getArticleRoute($id, $catid = 0, $sectionid = 0)
|
|
{
|
|
$needles = array(
|
|
'article' => (int) $id,
|
|
'category' => (int) $catid,
|
|
'section' => (int) $sectionid,
|
|
);
|
|
|
|
//Create the link
|
|
$link = 'index.php?option=com_content&view=article&id='. $id;
|
|
|
|
if($catid) {
|
|
$link .= '&catid='.$catid;
|
|
}
|
|
|
|
if($item = ContentHelperRoute::_findItem($needles)) {
|
|
$link .= '&Itemid='.$item->id;
|
|
};
|
|
|
|
return $link;
|
|
}
|
|
|
|
function getSectionRoute($sectionid)
|
|
{
|
|
$needles = array(
|
|
'section' => (int) $sectionid
|
|
);
|
|
|
|
//Create the link
|
|
$link = 'index.php?option=com_content&view=section&id='.$sectionid;
|
|
|
|
if($item = ContentHelperRoute::_findItem($needles)) {
|
|
if(isset($item->query['layout'])) {
|
|
$link .= '&layout='.$item->query['layout'];
|
|
}
|
|
$link .= '&Itemid='.$item->id;
|
|
};
|
|
|
|
return $link;
|
|
}
|
|
|
|
function getCategoryRoute($catid, $sectionid)
|
|
{
|
|
$needles = array(
|
|
'category' => (int) $catid,
|
|
'section' => (int) $sectionid
|
|
);
|
|
|
|
//Create the link
|
|
$link = 'index.php?option=com_content&view=category&id='.$catid;
|
|
|
|
if($item = ContentHelperRoute::_findItem($needles)) {
|
|
if(isset($item->query['layout'])) {
|
|
$link .= '&layout='.$item->query['layout'];
|
|
}
|
|
$link .= '&Itemid='.$item->id;
|
|
};
|
|
|
|
return $link;
|
|
}
|
|
|
|
function _findItem($needles)
|
|
{
|
|
$component =& JComponentHelper::getComponent('com_content');
|
|
|
|
$menus = &JApplication::getMenu('site', array());
|
|
$items = $menus->getItems('componentid', $component->id);
|
|
|
|
$match = null;
|
|
|
|
foreach($needles as $needle => $id)
|
|
{
|
|
foreach($items as $item)
|
|
{
|
|
if ((@$item->query['view'] == $needle) && (@$item->query['id'] == $id)) {
|
|
$match = $item;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(isset($match)) {
|
|
break;
|
|
}
|
|
}
|
|
|
|
return $match;
|
|
}
|
|
}
|
|
?>
|