You've already forked joomla_test
							
							
		
			
	
	
		
			107 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			107 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | /** | ||
|  |  * @package     Joomla.Platform | ||
|  |  * @subpackage  Registry | ||
|  |  * | ||
|  |  * @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; | ||
|  | 
 | ||
|  | /** | ||
|  |  * PHP class format handler for JRegistry | ||
|  |  * | ||
|  |  * @package     Joomla.Platform | ||
|  |  * @subpackage  Registry | ||
|  |  * @since       11.1 | ||
|  |  */ | ||
|  | class JRegistryFormatPHP extends JRegistryFormat | ||
|  | { | ||
|  | 	/** | ||
|  | 	 * Converts an object into a php class string. | ||
|  | 	 * - NOTE: Only one depth level is supported. | ||
|  | 	 * | ||
|  | 	 * @param   object  $object  Data Source Object | ||
|  | 	 * @param   array   $params  Parameters used by the formatter | ||
|  | 	 * | ||
|  | 	 * @return  string  Config class formatted string | ||
|  | 	 * | ||
|  | 	 * @since   11.1 | ||
|  | 	 */ | ||
|  | 	public function objectToString($object, $params = array()) | ||
|  | 	{ | ||
|  | 		// Build the object variables string
 | ||
|  | 		$vars = ''; | ||
|  | 		foreach (get_object_vars($object) as $k => $v) | ||
|  | 		{ | ||
|  | 			if (is_scalar($v)) | ||
|  | 			{ | ||
|  | 				$vars .= "\tpublic $" . $k . " = '" . addcslashes($v, '\\\'') . "';\n"; | ||
|  | 			} | ||
|  | 			elseif (is_array($v) || is_object($v)) | ||
|  | 			{ | ||
|  | 				$vars .= "\tpublic $" . $k . " = " . $this->getArrayString((array) $v) . ";\n"; | ||
|  | 			} | ||
|  | 		} | ||
|  | 
 | ||
|  | 		$str = "<?php\nclass " . $params['class'] . " {\n"; | ||
|  | 		$str .= $vars; | ||
|  | 		$str .= "}"; | ||
|  | 
 | ||
|  | 		// Use the closing tag if it not set to false in parameters.
 | ||
|  | 		if (!isset($params['closingtag']) || $params['closingtag'] !== false) | ||
|  | 		{ | ||
|  | 			$str .= "\n?>"; | ||
|  | 		} | ||
|  | 
 | ||
|  | 		return $str; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Parse a PHP class formatted string and convert it into an object. | ||
|  | 	 * | ||
|  | 	 * @param   string  $data     PHP Class formatted string to convert. | ||
|  | 	 * @param   array   $options  Options used by the formatter. | ||
|  | 	 * | ||
|  | 	 * @return  object   Data object. | ||
|  | 	 * | ||
|  | 	 * @since   11.1 | ||
|  | 	 */ | ||
|  | 	public function stringToObject($data, array $options = array()) | ||
|  | 	{ | ||
|  | 		return true; | ||
|  | 	} | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Method to get an array as an exported string. | ||
|  | 	 * | ||
|  | 	 * @param   array  $a  The array to get as a string. | ||
|  | 	 * | ||
|  | 	 * @return  array | ||
|  | 	 * | ||
|  | 	 * @since   11.1 | ||
|  | 	 */ | ||
|  | 	protected function getArrayString($a) | ||
|  | 	{ | ||
|  | 		$s = 'array('; | ||
|  | 		$i = 0; | ||
|  | 		foreach ($a as $k => $v) | ||
|  | 		{ | ||
|  | 			$s .= ($i) ? ', ' : ''; | ||
|  | 			$s .= '"' . $k . '" => '; | ||
|  | 			if (is_array($v) || is_object($v)) | ||
|  | 			{ | ||
|  | 				$s .= $this->getArrayString((array) $v); | ||
|  | 			} | ||
|  | 			else | ||
|  | 			{ | ||
|  | 				$s .= '"' . addslashes($v) . '"'; | ||
|  | 			} | ||
|  | 			$i++; | ||
|  | 		} | ||
|  | 		$s .= ')'; | ||
|  | 		return $s; | ||
|  | 	} | ||
|  | } |