⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menu.php

📁 Joomla!是一套获得过多个奖项的内容管理系统(Content Management System, CMS)。Joomla!采用PHP+MySQL数据库开发
💻 PHP
字号:
<?php/** * @version		$Id: menu.php 10381 2008-06-01 03:35:53Z pasamio $ * @package		Joomla * @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. */// Check to ensure this file is included in Joomla!defined('_JEXEC') or die( 'Restricted access' );jimport('joomla.base.tree');class JAdminCSSMenu extends JTree{	/**	 * CSS string to add to document head	 * @var string	 */	var $_css = null;	function __construct()	{		$this->_root = new JMenuNode('ROOT');		$this->_current = & $this->_root;	}	function addSeparator()	{		$this->addChild(new JMenuNode(null, null, 'separator', false));	}	function renderMenu($id = 'menu', $class = '')	{		global $mainframe;		$depth = 1;		if(!empty($id)) {			$id='id="'.$id.'"';		}		if(!empty($class)) {			$class='class="'.$class.'"';		}		/*		 * Recurse through children if they exist		 */		while ($this->_current->hasChildren())		{			echo "<ul ".$id." ".$class.">\n";			foreach ($this->_current->getChildren() as $child)			{				$this->_current = & $child;				$this->renderLevel($depth++);			}			echo "</ul>\n";		}		if ($this->_css) {			// Add style to document head			$doc = & JFactory::getDocument();			$doc->addStyleDeclaration($this->_css);		}	}	function renderLevel($depth)	{		/*		 * Build the CSS class suffix		 */		$class = '';		if ($this->_current->hasChildren()) {			$class = ' class="node"';		}		if($this->_current->class == 'separator') {			$class = ' class="separator"';		}		if($this->_current->class == 'disabled') {			$class = ' class="disabled"';		}		/*		 * Print the item		 */		echo "<li".$class.">";		/*		 * Print a link if it exists		 */		if ($this->_current->link != null) {			echo "<a class=\"".$this->getIconClass($this->_current->class)."\" href=\"".$this->_current->link."\">".$this->_current->title."</a>";		} elseif ($this->_current->title != null) {			echo "<a>".$this->_current->title."</a>\n";		} else {			echo "<span></span>";		}		/*		 * Recurse through children if they exist		 */		while ($this->_current->hasChildren())		{			if ($this->_current->class) {				echo '<ul id="menu-'.strtolower($this->_current->id).'"'.					' class="menu-component">'."\n";			} else {				echo '<ul>'."\n";			}			foreach ($this->_current->getChildren() as $child)			{				$this->_current = & $child;				$this->renderLevel($depth++);			}			echo "</ul>\n";		}		echo "</li>\n";	}	/**	 * Method to get the CSS class name for an icon identifier or create one if	 * a custom image path is passed as the identifier	 *	 * @access	public	 * @param	string	$identifier	Icon identification string	 * @return	string	CSS class name	 * @since	1.5	 */	function getIconClass($identifier)	{		global $mainframe;		static $classes;		// Initialize the known classes array if it does not exist		if (!is_array($classes)) {			$classes = array();		}		/*		 * If we don't already know about the class... build it and mark it		 * known so we don't have to build it again		 */		if (!isset($classes[$identifier])) {			if (substr($identifier, 0, 6) == 'class:') {				// We were passed a class name				$class = substr($identifier, 6);				$classes[$identifier] = "icon-16-$class";			} else {				// We were passed an image path... is it a themeoffice one?				if (substr($identifier, 0, 15) == 'js/ThemeOffice/') {					// Strip the filename without extension and use that for the classname					$class = preg_replace('#\.[^.]*$#', '', basename($identifier));					$classes[$identifier] = "icon-16-$class";				} else {					if ($identifier == null) {						return null;					}					// Build the CSS class for the icon					$class = preg_replace('#\.[^.]*$#', '', basename($identifier));					$class = preg_replace( '#\.\.[^A-Za-z0-9\.\_\- ]#', '', $class);					$this->_css  .= "\n.icon-16-$class {\n" .							"\tbackground: url($identifier) no-repeat;\n" .							"}\n";					$classes[$identifier] = "icon-16-$class";				}			}		}		return $classes[$identifier];	}}class JMenuNode extends JNode{	/**	 * Node Title	 */	var $title = null;	/**	 * Node Id	 */	var $id = null;	/**	 * Node Link	 */	var $link = null;	/**	 * CSS Class for node	 */	var $class = null;	/**	 * Active Node?	 */	var $active = false;	function __construct($title, $link = null, $class = null, $active = false)	{		$this->title	= $title;		$this->link		= JFilterOutput::ampReplace($link);		$this->class	= $class;		$this->active	= $active;		$this->id		= str_replace(" ","-",$title);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -