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

📄 xul.php

📁 Joomla!除了具有新闻/文章管理
💻 PHP
字号:
<?PHP/** * Dumps templates as XUL * * $Id: XUL.php 10381 2008-06-01 03:35:53Z pasamio $ * * @package		patTemplate * @subpackage	Dump * @author		Stephan Schmidt <schst@php.net> */// Check to ensure this file is within the rest of the frameworkdefined('JPATH_BASE') or die();require_once 'XML/XUL.php';/** * Dumps templates as XUL, using PEAR::XML_XUL * * @package		patTemplate * @subpackage	Dump * @author		Stephan Schmidt <schst@php.net> * * @todo		move this into patTemplate_Dump_Dhtml and keep it free from javascript */class patTemplate_Dump_XUL extends patTemplate_Dump{	var $_doc = null;	var $_root = null;	var $_templates = null;	var $_addedTemplates = array();	var $_vars = array();	/**	* display the header	*	* @access	public	*/	function displayHeader()	{		$this->_addedTemplates = array();		$this->_doc = &XML_XUL::createDocument( );		$this->_doc->addStylesheet('chrome://global/skin/');		$win = &$this->_doc->createElement('Window', array('title'=> 'patTemplate Dump'));		$this->_doc->addRoot($win);		$this->_root = &$this->_doc->createElement( 'Tabbox', array('flex' => 1) );		$win->appendChild($this->_root);	}	/**	* dump the global variables	*	* @access	public	* @param	array		array containing all global variables	*/	function dumpGlobals( $globals )	{		$gbox = &$this->_doc->createElement('Groupbox', array('orient'=>'vertical', 'flex' => 1));		$gbox->setCaption('Global variables');		$grid = &$this->_doc->createElement('Grid');		$grid->setColumns(2, array( 'flex' => 1 ), array( 'flex' => 1 ));		$gbox->appendChild($grid);		$headers = array(						   $this->_doc->createElement( 'Description', array( 'style' => 'font-weight:bold;' ), 'Variable' ),						   $this->_doc->createElement( 'Description', array( 'style' => 'font-weight:bold;' ), 'Value' ),				);		$grid->addRow($headers);		foreach ($globals as $var => $value) {			$row = array($var, $value);			$grid->addRow($row);		}		$this->_root->addTab('Global Variables', $gbox);	}	/**	* dump the templates	*	* @access	public	* @param	array	templates	*/	function dumpTemplates( $templates, $vars )	{		$container = &$this->_doc->createElement('VBox', array('flex' => 1));		$gbox = &$this->_doc->createElement('Groupbox', array('orient'=>'vertical', 'flex' => '2'));		$gbox->setCaption('Templates');		$container->appendChild($gbox);		$this->_templates = $templates;		$this->_vars = $vars;		$templates = array_reverse( $templates );		$tree = &$this->_doc->createElement( 'Tree', array( 'flex' => 1, 'enableColumnDrag' => 'true', 'height' => '500' ) );		$tree->setColumns( 5,						array(								'id'  => 'name',								'label' => 'Name',								'flex'  => 2,								'primary' => 'true',							  ),						array(								'id'  => 'value',								'label' => 'Value',								'flex'  => 1,							  ),						array(								'id'  => 'type',								'label' => 'Type',								'flex'  => 1,							  ),						array(								'id'  => 'visibility',								'label' => 'Visibility',								'flex'  => 1,							  ),						array(								'id'  => 'loaded',								'label' => 'Loaded',								'flex'  => 1,							  )				 );		foreach( $templates as $name => $tmpl )		{			if (in_array($name, $this->_addedTemplates)) {				continue;			}			$this->_addToTree($name, $tree);		}		$gbox->appendChild($tree);		$splitter = &$this->_doc->createElement('Splitter');		$splitter->useGrippy();		$container->appendChild($splitter);		$gbox2 = &$this->_doc->createElement('Groupbox', array('orient'=>'vertical', 'flex' => '2'));		$gbox2->setCaption('Details');		$container->appendChild($gbox2);		$deck = &$this->_doc->createElement('Deck');		$gbox2->appendChild($deck);		$this->_root->addTab('Templates', $container);		return true;	}	function _addToTree($name, &$tree)	{		$tmpl	= $this->_getTemplate($name);		$item	= array(							$name,							'',							$tmpl['attributes']['type'],							$tmpl['attributes']['visibility'],							$tmpl['loaded'] ? 'yes' : 'no',						);		$current = &$tree->addItem($item);		array_push($this->_addedTemplates, $name);		if (!empty($tmpl['dependencies'])) {			$deps = &$current->addItem(array( 'Dependencies' ));			foreach ($tmpl['dependencies'] as $dependency) {				$this->_addToTree($dependency, $deps);			}		}		if (!isset($this->_vars[$name])) {			$this->_vars[$name] = array();		}		$vars = $this->_flattenVars( $this->_vars[$name] );		if (empty($vars)) {			return true;		}		$varItem = &$current->addItem(array( 'Variables' ));		foreach ($vars as $key => $value) {			$varItem->addItem(array($key, $value));		}	}	function _getTemplate($name)	{		if (isset($this->_templates[$name])) {			return $this->_templates[$name];		}	}	/**	* display the footer	*	* @access	public	*/	function displayFooter()	{		if ($_GET['mode'] == 'debug') {			require_once 'XML/Beautifier.php';			$fmt = &new XML_Beautifier( array( 'indent' => '  ' ) );			echo '<pre>';			echo htmlspecialchars( $fmt->formatString($this->_doc->serialize()) );			echo '</pre>';		} elseif ($_GET['mode'] == 'source') {			highlight_file( __FILE__ );		} elseif ($_GET['mode'] == 'debug2') {			echo '<pre>';			echo htmlspecialchars( $this->_doc->getDebug());			echo '</pre>';		} elseif ($_GET['mode'] == 'source') {		} else {			$this->_doc->send();		}	}}?>

⌨️ 快捷键说明

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