Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/07/2009, 10:33
_BigBull_
 
Fecha de Ingreso: julio-2009
Mensajes: 14
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Warning: Invalid argument supplied for foreach() in

<?php
/**
* @version $Id: route.php 11190 2008-10-20 00:49:55Z ian $
* @package Joomla
* @subpackage Content
* @copyright Copyright (C) 2005 - 2008 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='.$s ectionid;

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;
}
}
?>