Server IP : 195.201.23.43 / Your IP : 18.119.140.150 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/kdecoratie/public_html/libraries/src/Menu/ |
Upload File : |
<?php /** * Joomla! Content Management System * * @copyright (C) 2017 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\CMS\Menu; defined('JPATH_PLATFORM') or die; /** * Menu Tree class to represent a menu tree hierarchy * * @since 3.8.0 * @deprecated 4.0 Use Joomla\CMS\Menu\MenuItem */ class Tree { /** * The root menu node * * @var Node * * @since 3.8.0 */ protected $root = null; /** * The current working menu node * * @var Node * * @since 3.8.0 */ protected $current = null; /** * The CSS style array * * @var string[] * * @since 3.8.0 */ protected $css = array(); /** * Constructor * * @since 3.8.0 * * @deprecated 4.0 Use Joomla\CMS\Menu\MenuItem */ public function __construct() { $this->root = new Node; $this->current = $this->root; } /** * Get the root node * * @return Node * * @since 3.8.0 * * @deprecated 4.0 Use Joomla\CMS\Menu\MenuItem */ public function getRoot() { return $this->root; } /** * Get the current node * * @return Node * * @since 3.8.0 * * @deprecated 4.0 Use Joomla\CMS\Menu\MenuItem */ public function getCurrent() { return $this->current; } /** * Get the current node * * @param Node $node The node to be set as current * * @return void * * @since 3.8.0 * * @deprecated 4.0 Use Joomla\CMS\Menu\MenuItem */ public function setCurrent($node) { if ($node) { $this->current = $node; } } /** * Method to get the parent and set it as active optionally * * @param bool $setCurrent Set that parent as the current node for further working * * @return Node * * @since 3.8.0 * * @deprecated 4.0 Use Joomla\CMS\Menu\MenuItem */ public function getParent($setCurrent = true) { $parent = $this->current->getParent(); if ($setCurrent) { $this->setCurrent($parent); } return $parent; } /** * Method to reset the working pointer to the root node and optionally clear all menu nodes * * @param bool $clear Whether to clear the existing menu items or just reset the pointer to root element * * @return Node The root node * * @since 3.8.0 * * @deprecated 4.0 Use Joomla\CMS\Menu\MenuItem */ public function reset($clear = false) { if ($clear) { $this->root = new Node; $this->css = array(); } $this->current = $this->root; return $this->current; } /** * Method to add a child * * @param Node $node The node to process * @param bool $setCurrent Set this new child as the current node for further working * * @return Node The newly added node * * @since 3.8.0 * * @deprecated 4.0 Use Joomla\CMS\Menu\MenuItem */ public function addChild(Node $node, $setCurrent = false) { $this->current->addChild($node); if ($setCurrent) { $this->setCurrent($node); } return $node; } /** * Method to get the CSS class name for an icon identifier or create one if * a custom image path is passed as the identifier * * @return string CSS class name * * @since 3.8.0 * * @deprecated 4.0 */ public function getIconClass() { static $classes = array(); $identifier = $this->current->get('class'); // Top level is special if (trim($identifier) == '' || !$this->current->hasParent()) { return null; } if (!isset($classes[$identifier])) { // We were passed a class name if (substr($identifier, 0, 6) == 'class:') { $class = substr($identifier, 6); } // We were passed background icon url. Build the CSS class for the icon else { $class = preg_replace('#\.[^.]*$#', '', basename($identifier)); $class = preg_replace('#\.\.[^A-Za-z0-9\.\_\- ]#', '', $class); if ($class) { $this->css[] = ".menu-$class {background: url($identifier) no-repeat;}"; } } $classes[$identifier] = "menu-$class"; } return $classes[$identifier]; } /** * Get the CSS declarations for this tree * * @return string[] * * @since 3.8.0 * * @deprecated 4.0 */ public function getCss() { return $this->css; } }Private