Location: PHPKode > projects > Katyshop > katyshop_ro_0.3.2.1/classes/common/Compat.php
<?php

/**
 * Product: Katyshop
 * @version 0.3.2.1
 * @author Catalin Hulea - hide@address.com
 * @copyright Copyright (C) 2007 Catalin Hulea
 * @license GNU General Public License version 3
 * 			You can find a copy of GNU GPL v3 at this path: /docs/LICENSE
 * @link https://sourceforge.net/projects/katyshop
 * 
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * 
 */

require_once(dirname(__FILE__) . "/BaseClass.php");

class Compat extends BaseClass
{
	/**
	 * Strip slashes from $val if magic quotes (gpc or runtime) is enabled.
	 * $val can be a string or an array
	 * $condition can be "gpc" or "runtime"
	 * 
	 * Example:
	 * $_POST = Compat::stripNice($_POST); // make sure that magic quotes dissapear
	 */
	function stripNice($val, $condition = "gpc")
	{
		$test = true;
		if($condition == "gpc")
			$test = get_magic_quotes_gpc();
		elseif($condition == "runtime")
			$test = get_magic_quotes_runtime();
		
		if($test)
		{
			if(!is_array($val))
			{
				return stripslashes($val);
			}
			else 
			{
				foreach($val as $key => $value)
				{
					$val[$key] = Compat::stripNice($value, $condition);
				}
				return $val;
			}
		}
		else 
		{
			return $val;
		}
	}
	
	function stripNiceRuntime($val)
	{
		return Compat::stripNice($val, "runtime");
	}
	
	function cloneObj($thing)
	{
		if(is_a($thing, "LogicObject"))
		{
			return $thing->createClone();
		}
		elseif(is_object($thing) || is_resource($thing))
		{
			if (version_compare(phpversion(), '5.0') < 0)
				return $thing;
			else 
				return clone($thing);
		}
		elseif (is_array($thing))
		{
			return Compat::array_clone($thing);
		}
		else 
		{
			return $thing;
		}
	}
	
	function array_clone($arr)
	{
		$temp = array();
		foreach ($arr as $key => $value)
		{
			$temp[$key] = Compat::cloneObj($value);
		}
		return $temp;
	}
	
}

?>
Return current item: Katyshop