| Server IP : 180.180.241.3 / Your IP : 216.73.216.25 Web Server : Microsoft-IIS/7.5 System : Windows NT NETWORK-NHRC 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.3.28 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/AppServ/www/news/components/com_poll/ |
Upload File : |
<?php
/**
* @version $Id: router.php 14401 2010-01-26 14:10:00Z louis $
* @package Joomla
* @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.
*/
/**
* @param array
* @return array
*/
function PollBuildRoute( &$query )
{
static $items;
$segments = array();
$itemid = null;
// Break up the poll id into numeric and alias values.
if (isset($query['id']) && strpos($query['id'], ':')) {
list($query['id'], $query['alias']) = explode(':', $query['id'], 2);
}
// Get the menu items for this component.
if (!$items) {
$component = &JComponentHelper::getComponent('com_poll');
$menu = &JSite::getMenu();
$items = $menu->getItems('componentid', $component->id);
}
// Search for an appropriate menu item.
if (is_array($items))
{
// If only the option and itemid are specified in the query, return that item.
if (!isset($query['view']) && !isset($query['id']) && !isset($query['catid']) && isset($query['Itemid'])) {
$itemid = (int) $query['Itemid'];
}
// Search for a specific link based on the critera given.
if (!$itemid) {
foreach ($items as $item)
{
// Check if this menu item links to this view.
if (isset($item->query['view']) && $item->query['view'] == 'poll'
&& isset($query['view']) && $query['view'] != 'category'
&& isset($item->query['id']) && $item->query['id'] == $query['id'])
{
$itemid = $item->id;
}
}
}
// If no specific link has been found, search for a general one.
if (!$itemid) {
foreach ($items as $item)
{
if (isset($query['view']) && $query['view'] == 'poll' && isset($item->query['view']) && $item->query['view'] == 'poll')
{
// Check for an undealt with newsfeed id.
if (isset($query['id']))
{
// This menu item links to the newsfeed view but we need to append the newsfeed id to it.
$itemid = $item->id;
$segments[] = isset($query['alias']) ? $query['id'].':'.$query['alias'] : $query['id'];
break;
}
}
}
}
}
// Check if the router found an appropriate itemid.
if (!$itemid)
{
// Check if a id was specified.
if (isset($query['id']))
{
if (isset($query['alias'])) {
$query['id'] .= ':'.$query['alias'];
}
// Push the id onto the stack.
$segments[] = $query['id'];
unset($query['id']);
unset($query['alias']);
}
unset($query['view']);
}
else
{
$query['Itemid'] = $itemid;
// Remove the unnecessary URL segments.
unset($query['view']);
unset($query['id']);
unset($query['catid']);
unset($query['alias']);
}
return $segments;
}
/**
* @param array
* @return array
*/
function PollParseRoute( $segments )
{
$vars = array();
//Get the active menu item
$menu =& JSite::getMenu();
$item =& $menu->getActive();
$count = count( $segments );
//Standard routing for articles
if(!isset($item))
{
$vars['id'] = $segments[$count - 1];
return $vars;
}
// Count route segments
$vars['id'] = $segments[$count-1];
$vars['view'] = 'poll';
return $vars;
}