114 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /*
 | |
|  * @package Joomla 3.8
 | |
|  * @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
 | |
|  * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
 | |
|  *
 | |
|  * @component Phoca Component
 | |
|  * @copyright Copyright (C) Jan Pavelka www.phoca.cz
 | |
|  * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
 | |
|  */
 | |
| defined('_JEXEC') or die('Restricted access');
 | |
| use Joomla\CMS\Component\ComponentHelper;
 | |
| use Joomla\CMS\Factory;
 | |
| jimport('joomla.application.component.helper');
 | |
| 
 | |
| class PhocaMapsHelperRoute
 | |
| {
 | |
| 
 | |
| 	public static function getMapRoute($id, $idAlias = '') {
 | |
| 		$needles = array(
 | |
| 			'map'  => (int) $id
 | |
| 		);
 | |
| 		
 | |
| 		
 | |
| 		if ($idAlias != '') {
 | |
| 			$id = $id . ':' . $idAlias;
 | |
| 		}
 | |
| 		
 | |
| 		//Create the link
 | |
| 		$link = 'index.php?option=com_phocamaps&view=map&id='. $id;
 | |
| 
 | |
| 		if($item = PhocaMapsHelperRoute::_findItem($needles)) {
 | |
| 			if(isset($item->id)) {
 | |
| 				$link .= '&Itemid='.$item->id;
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		return $link;
 | |
| 	}
 | |
| 	
 | |
| 	public static function getPrintRouteRoute($id, $idAlias = '', $suffix = '') {
 | |
| 		$needles = array(
 | |
| 			'map'  => (int) $id
 | |
| 		);
 | |
| 		
 | |
| 		
 | |
| 		if ($idAlias != '') {
 | |
| 			$id = $id . ':' . $idAlias;
 | |
| 		}
 | |
| 
 | |
| 		if ($suffix != '') {
 | |
| 			$suffix = '&'. $suffix;
 | |
| 		}
 | |
| 		
 | |
| 		$link = 'index.php?option=com_phocamaps&view=route&id='. $id . $suffix;
 | |
| 		
 | |
| 		if($item = PhocaMapsHelperRoute::_findItem($needles)) {
 | |
| 			if(isset($item->id)) {
 | |
| 				$link .= '&Itemid='.$item->id;
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		return $link;
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 	public static function _findItem($needles, $notCheckId = 0)
 | |
| 	{
 | |
| 		$component 	= ComponentHelper::getComponent('com_phocamaps');
 | |
| 		$app		= Factory::getApplication();
 | |
| 		//$menus	= &JApplication::getMenu('site', array());
 | |
| 		//$items	= $menus->getItems('componentid', $component->id);
 | |
| 		//$menu		= &J Site::getMenu();
 | |
| 		$app 	= Factory::getApplication('site');
 | |
| 		$menu  = $app->getMenu();
 | |
| 		$items		= $menu->getItems('component', 'com_phocamaps');
 | |
| 
 | |
| 		if(!$items) {
 | |
| 			return  $app->input->get('id', 0, 'int');
 | |
| 			//return null;
 | |
| 		}
 | |
| 		
 | |
| 		$match = null;
 | |
| 		
 | |
| 
 | |
| 		foreach($needles as $needle => $id)
 | |
| 		{
 | |
| 			
 | |
| 			if ($notCheckId == 0) {
 | |
| 				foreach($items as $item) {
 | |
| 					if ((@$item->query['view'] == $needle) && (@$item->query['id'] == $id)) {
 | |
| 						$match = $item;
 | |
| 						break;
 | |
| 					}
 | |
| 				}
 | |
| 			} else {
 | |
| 				foreach($items as $item) {
 | |
| 					if (@$item->query['view'] == $needle) {
 | |
| 						$match = $item;
 | |
| 						break;
 | |
| 					}
 | |
| 				}
 | |
| 			}
 | |
| 
 | |
| 			if(isset($match)) {
 | |
| 				break;
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		return $match;
 | |
| 	}
 | |
| }
 | |
| ?>
 |