?
Path : /home/admin/domains/happytokorea.com/public_html_bk/board/libraries/joomla/registry/format/ |
Current File : /home/admin/domains/happytokorea.com/public_html_bk/board/libraries/joomla/registry/format/php.php |
<?php /** * @version $Id: php.php 14401 2010-01-26 14:10:00Z louis $ * @package Joomla.Framework * @subpackage Registry * @copyright Copyright (C) 2005 - 2010 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 within the rest of the framework defined('JPATH_BASE') or die(); /** * PHP class format handler for JRegistry * * @package Joomla.Framework * @subpackage Registry * @since 1.5 */ class JRegistryFormatPHP extends JRegistryFormat { /** * Converts an object into a php class string. * - NOTE: Only one depth level is supported. * * @access public * @param object $object Data Source Object * @param array $param Parameters used by the formatter * @return string Config class formatted string * @since 1.5 */ function objectToString( &$object, $params ) { // Build the object variables string $vars = ''; foreach (get_object_vars( $object ) as $k => $v) { if (is_scalar($v)) { $vars .= "\tvar $". $k . " = '" . addcslashes($v, '\\\'') . "';\n"; } elseif (is_array($v)) { $vars .= "\tvar $". $k . " = " . $this->_getArrayString($v) . ";\n"; } } $str = "<?php\nclass ".$params['class']." {\n"; $str .= $vars; $str .= "}\n?>"; return $str; } /** * Placeholder method * * @access public * @return boolean True * @since 1.5 */ function stringToObject() { return true; } function _getArrayString($a) { $s = 'array('; $i = 0; foreach ($a as $k => $v) { $s .= ($i) ? ', ' : ''; $s .= '"'.$k.'" => '; if (is_array($v)) { $s .= $this->_getArrayString($v); } else { $s .= '"'.addslashes($v).'"'; } $i++; } $s .= ')'; return $s; } }