You've already forked joomla_test
							
							
		
			
	
	
		
			107 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			107 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | /** | ||
|  |  * @package     Joomla.Legacy | ||
|  |  * @subpackage  Utilities | ||
|  |  * | ||
|  |  * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved. | ||
|  |  * @license     GNU General Public License version 2 or later; see LICENSE | ||
|  |  */ | ||
|  | 
 | ||
|  | defined('JPATH_PLATFORM') or die; | ||
|  | 
 | ||
|  | JLog::add('JXMLElement is deprecated. Use SimpleXMLElement.', JLog::WARNING, 'deprecated'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Wrapper class for php SimpleXMLElement. | ||
|  |  * | ||
|  |  * @package     Joomla.Legacy | ||
|  |  * @subpackage  Utilities | ||
|  |  * @since       11.1 | ||
|  |  * @deprecated  13.3 (Platform) & 4.0 (CMS) - Use SimpleXMLElement instead. | ||
|  |  */ | ||
|  | class JXMLElement extends SimpleXMLElement | ||
|  | { | ||
|  | 	/** | ||
|  | 	 * Get the name of the element. | ||
|  | 	 * | ||
|  | 	 * @return  string | ||
|  | 	 * | ||
|  | 	 * @since   11.1 | ||
|  | 	 * @deprecated 13.3  Use SimpleXMLElement::getName() instead. | ||
|  | 	 */ | ||
|  | 	public function name() | ||
|  | 	{ | ||
|  | 		JLog::add('JXMLElement::name() is deprecated, use SimpleXMLElement::getName() instead.', JLog::WARNING, 'deprecated'); | ||
|  | 		return (string) $this->getName(); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Return a well-formed XML string based on SimpleXML element | ||
|  | 	 * | ||
|  | 	 * @param   boolean  $compressed  Should we use indentation and newlines ? | ||
|  | 	 * @param   string   $indent      Indention character. | ||
|  | 	 * @param   integer  $level       The level within the document which informs the indentation. | ||
|  | 	 * | ||
|  | 	 * @return  string | ||
|  | 	 * | ||
|  | 	 * @since   11.1 | ||
|  | 	 * @deprecated 13.3  Use SimpleXMLElement::asXML() instead. | ||
|  | 	 */ | ||
|  | 	public function asFormattedXML($compressed = false, $indent = "\t", $level = 0) | ||
|  | 	{ | ||
|  | 		JLog::add('JXMLElement::asFormattedXML() is deprecated, use SimpleXMLElement::asXML() instead.', JLog::WARNING, 'deprecated'); | ||
|  | 		$out = ''; | ||
|  | 
 | ||
|  | 		// Start a new line, indent by the number indicated in $level
 | ||
|  | 		$out .= ($compressed) ? '' : "\n" . str_repeat($indent, $level); | ||
|  | 
 | ||
|  | 		// Add a <, and add the name of the tag
 | ||
|  | 		$out .= '<' . $this->getName(); | ||
|  | 
 | ||
|  | 		// For each attribute, add attr="value"
 | ||
|  | 		foreach ($this->attributes() as $attr) | ||
|  | 		{ | ||
|  | 			$out .= ' ' . $attr->getName() . '="' . htmlspecialchars((string) $attr, ENT_COMPAT, 'UTF-8') . '"'; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		// If there are no children and it contains no data, end it off with a />
 | ||
|  | 		if (!count($this->children()) && !(string) $this) | ||
|  | 		{ | ||
|  | 			$out .= " />"; | ||
|  | 		} | ||
|  | 		else | ||
|  | 		{ | ||
|  | 			// If there are children
 | ||
|  | 			if (count($this->children())) | ||
|  | 			{ | ||
|  | 				// Close off the start tag
 | ||
|  | 				$out .= '>'; | ||
|  | 
 | ||
|  | 				$level++; | ||
|  | 
 | ||
|  | 				// For each child, call the asFormattedXML function (this will ensure that all children are added recursively)
 | ||
|  | 				foreach ($this->children() as $child) | ||
|  | 				{ | ||
|  | 					$out .= $child->asFormattedXML($compressed, $indent, $level); | ||
|  | 				} | ||
|  | 
 | ||
|  | 				$level--; | ||
|  | 
 | ||
|  | 				// Add the newline and indentation to go along with the close tag
 | ||
|  | 				$out .= ($compressed) ? '' : "\n" . str_repeat($indent, $level); | ||
|  | 
 | ||
|  | 			} | ||
|  | 			elseif ((string) $this) | ||
|  | 			{ | ||
|  | 				// If there is data, close off the start tag and add the data
 | ||
|  | 				$out .= '>' . htmlspecialchars((string) $this, ENT_COMPAT, 'UTF-8'); | ||
|  | 			} | ||
|  | 
 | ||
|  | 			// Add the end tag
 | ||
|  | 			$out .= '</' . $this->getName() . '>'; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		return $out; | ||
|  | 	} | ||
|  | } |