HEX
Server: Apache
System: Linux darrell.nocdirect.com 4.18.0-513.18.2.el8_9.x86_64 #1 SMP Sat Mar 30 06:10:41 EDT 2024 x86_64
User: joderbya (1358)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: /home/joderbya/.trash/modules/mod_s5_accordion_menu/helper.php
<?php



/**



 * @version		$Id: helper.php 19594 2010-11-20 05:06:08Z ian $



 * @copyright	Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.



 * @license		GNU General Public License version 2 or later; see LICENSE.txt



 */







// no direct access



defined('_JEXEC') or die;







/**



 * @package		Joomla.Site



 * @subpackage	mod_menu



 * @since		1.5



 */



class modMenuHelper2



{



	/**



	 * Get a list of the menu items.



	 *



	 * @param	JRegistry	$params	The module options.



	 *



	 * @return	array



	 * @since	1.5



	 */



	static function getList(&$params)



	{



		// Initialise variables.



		$list		= array();



		$db			= JFactory::getDbo();



		$user		= JFactory::getUser();



		$app		= JFactory::getApplication();



		$menu		= $app->getMenu();







		// If no active menu, use default



		$active = ($menu->getActive()) ? $menu->getActive() : $menu->getDefault();







		$path		= $active->tree;

		

		

		 



		$start		= (int) $params->get('startLevel');



		$end		= (int) $params->get('endLevel');



		$showAll	= $params->get('showAllChildren');



		$maxdepth	= $params->get('maxdepth');



		$items 		= $menu->getItems('menutype',$params->get('menutype'));

		

		





		$lastitem	= 0;







		if ($items) {



			foreach($items as $i => $item)



			{



				 if (($start && $start > $item->level)



					|| ($end && $item->level > $end)



					|| (!$showAll && $item->level > 1 && !in_array($item->parent_id, $path))



					|| ($maxdepth && $item->level > $maxdepth)



				) {



					unset($items[$i]);



					continue;



				}

				

				else{

						if($item->level > 1){

							$path[] = $item->id;	

						}

				} 







				$item->deeper = false;



				$item->shallower = false;



				$item->level_diff = 0;







				if (isset($items[$lastitem])) {



					$items[$lastitem]->deeper		= ($item->level > $items[$lastitem]->level);



					$items[$lastitem]->shallower	= ($item->level < $items[$lastitem]->level);



					$items[$lastitem]->level_diff	= ($items[$lastitem]->level - $item->level);



					



					 



				}







				$lastitem			= $i;



				$item->active		= false;



				$item->flink = $item->link;







				switch ($item->type)



				{



					case 'separator':



						// No further action needed.



						continue;







					case 'url':



						if ((strpos($item->link, 'index.php?') === 0) && (strpos($item->link, 'Itemid=') === false)) {



							// If this is an internal Joomla link, ensure the Itemid is set.



							$item->flink = $item->link.'&Itemid='.$item->id;



						}



						break;







					case 'alias':



						// If this is an alias use the item id stored in the parameters to make the link.



						$item->flink = 'index.php?Itemid='.$item->params->get('aliasoptions');



						break;







					default:



						$router = JFactory::getApplication()->getRouter();



						if ($router->getMode() == JROUTER_MODE_SEF) {



							$item->flink = 'index.php?Itemid='.$item->id;



						}



						else {



							$item->flink .= '&Itemid='.$item->id;



						}



						break;



				}







				if (strcasecmp(substr($item->flink, 0, 4), 'http') && (strpos($item->flink, 'index.php?') !== false)) {



					$item->flink = JRoute::_($item->flink, true, $item->params->get('secure'));



				}



				else {



					$item->flink = JRoute::_($item->flink);



				}



			}







			if (isset($items[$lastitem])) {



				$items[$lastitem]->deeper		= (($start?$start:1) > $items[$lastitem]->level);



				$items[$lastitem]->shallower	= (($start?$start:1) < $items[$lastitem]->level);



				$items[$lastitem]->level_diff	= ($items[$lastitem]->level - ($start?$start:1));



			}



		}



		

		

		/*echo "<pre>";

		print_r($items);

		exit;*/

		



		return $items;



	}



}