/override/classes/_Tools.php
PHP | 321 lines | 186 code | 27 blank | 108 comment | 35 complexity | bd206a0903c543769ab5550df4caebdc MD5 | raw file
- <?php
- /*
- * 2007-2012 PrestaShop
- *
- * NOTICE OF LICENSE
- *
- * This source file is subject to the Open Software License (OSL 3.0)
- * that is bundled with this package in the file LICENSE.txt.
- * It is also available through the world-wide-web at this URL:
- * http://opensource.org/licenses/osl-3.0.php
- * If you did not receive a copy of the license and are unable to
- * obtain it through the world-wide-web, please send an email
- * to license@prestashop.com so we can send you a copy immediately.
- *
- * DISCLAIMER
- *
- * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
- * versions in the future. If you wish to customize PrestaShop for your
- * needs please refer to http://www.prestashop.com for more information.
- *
- * @author PrestaShop SA <contact@prestashop.com>
- * @copyright 2007-2012 PrestaShop SA
- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
- * International Registered Trademark & Property of PrestaShop SA
- */
- //
- // IMPORTANT : don't forget to delete the underscore _ in the file name if you want to use it !
- //
- // if FB class is already loaded, just enable it. else, enable it only if fb.php exists and is loaded
- if (!defined('PS_USE_FIREPHP') AND class_exists('FB'))
- define('PS_USE_FIREPHP',true);
- elseif (file_exists(_PS_TOOL_DIR_.'FirePHP/fb.php'))
- {
- if (!defined('PS_USE_FIREPHP'))
- {
- require_once(_PS_TOOL_DIR_.'FirePHP/fb.php');
- define('PS_USE_FIREPHP',true);
- }
- else
- define('PS_USE_FIREPHP',false);
- }
- else
- define('PS_USE_FIREPHP',class_exists('FB'));
- class Tools extends ToolsCore
- {
- /**
- * Redirect user to another page after 5 sec
- *
- * @param string $url Desired URL
- * @param string $baseUri Base URI (optional)
- */
- public static function redirect($url, $baseUri = __PS_BASE_URI__, Link $link = null)
- {
- if (!$link)
- $link = Context::getContext()->link;
- if (strpos($url, 'http://') === FALSE && strpos($url, 'https://') === FALSE)
- {
- if (strpos($url, $baseUri) !== FALSE && strpos($url, $baseUri) == 0)
- $url = substr($url, strlen($baseUri));
- $explode = explode('?', $url);
- $url = $link->getPageLink($explode[0], true);
- if (isset($explode[1]))
- $url .= '?'.$explode[1];
- $baseUri = '';
- }
- if (isset($_SERVER['HTTP_REFERER']) AND ($url == $_SERVER['HTTP_REFERER']))
- header('Refresh: 5; url='.$_SERVER['HTTP_REFERER']);
- else
- header('Refresh: 5; url='.$baseUri.$url);
- echo '<h1>Redirection automatique dans 5 secondes</h1><a href='.$url.'>'.$url.'</a>';
- exit;
- }
- /**
- * Redirect url wich allready PS_BASE_URI after 5 sec
- *
- * @param string $url Desired URL
- */
- public static function redirectLink($url)
- {
- if (!preg_match('@^https?://@i', $url))
- {
- if (strpos($url, __PS_BASE_URI__) !== FALSE && strpos($url, __PS_BASE_URI__) == 0)
- $url = substr($url, strlen(__PS_BASE_URI__));
- $explode = explode('?', $url);
- $url = Context::getContext()->link->getPageLink($explode[0]);
- if (isset($explode[1]))
- $url .= '?'.$explode[1];
- }
- header('Refresh: 5; url='.$url);
- echo '<h1>Redirection automatique dans 5 secondes</h1><a href='.$url.'>'.$url.'</a>';
- exit;
- }
- /**
- * Redirect user to another admin page after 5 sec
- *
- * @param string $url Desired URL
- */
- public static function redirectAdmin($url)
- {
- header('Refresh: 5; url='.$url);
- echo '<h1>Redirection automatique dans 5 secondes</h1><a href='.$url.'>'.$url.'</a>';
- exit;
- }
- /**
- * Display an error with detailed object
- * (display in firefox console if Firephp is enabled)
- *
- * @param mixed $object
- * @param boolean $kill
- * @return $object if $kill = false;
- */
- public static function dieObject($object, $kill = true)
- {
- if(PS_USE_FIREPHP)
- FB::error($object);
- else
- return parent::dieObject($object,$kill);
- if ($kill)
- die('END');
- return $object;
- }
- /**
- * ALIAS OF dieObject() - Display an error with detailed object
- * (display in firefox console if Firephp is enabled)
- *
- * @param object $object Object to display
- */
- public static function d($obj, $kill = true)
- {
- if(PS_USE_FIREPHP)
- FB::error($obj);
- else
- parent::d($obj,$kill);
- if ($kill)
- die('END');
- return $object;
- }
- /**
- * ALIAS OF dieObject() - Display an error with detailed object but don't stop the execution
- * (display in firefox console if Firephp is enabled)
- *
- * @param object $object Object to display
- */
- public static function p($object)
- {
- if(PS_USE_FIREPHP)
- FB::info($object);
- else
- return parent::p($object);
- return $object;
- }
- /**
- * Display a warning message indicating that the method is deprecated
- * (display in firefox console if Firephp is enabled)
- */
- public static function displayAsDeprecated($message = null)
- {
- if (_PS_DISPLAY_COMPATIBILITY_WARNING_)
- {
- $backtrace = debug_backtrace();
- $callee = next($backtrace);
- if (PS_USE_FIREPHP)
- FB::warn('Function <strong>'.$callee['function'].'()</strong> is deprecated in <strong>'.$callee['file'].'</strong> on line <strong>'.$callee['line'].'</strong><br />', 'Deprecated method');
- else
- trigger_error('Function <strong>'.$callee['function'].'()</strong> is deprecated in <strong>'.$callee['file'].'</strong> on line <strong>'.$callee['line'].'</strong><br />', E_USER_WARNING);
- $message = sprintf(
- Tools::displayError('The function %1$s (Line %2$s) is deprecated and will be removed in the next major version.'),
- $callee['function'],
- $callee['line']
- );
- Logger::addLog($message, 3, $callee['class']);
- }
- }
- /**
- * Display a warning message indicating that the parameter is deprecated
- * (display in firefox console if Firephp is enabled)
- */
- public static function displayParameterAsDeprecated($parameter)
- {
- if (_PS_DISPLAY_COMPATIBILITY_WARNING_)
- {
- $backtrace = debug_backtrace();
- $callee = next($backtrace);
- trigger_error('Parameter <strong>'.$parameter.'</strong> in function <strong>'.$callee['function'].'()</strong> is deprecated in <strong>'.$callee['file'].'</strong> on line <strong>'.$callee['Line'].'</strong><br />', E_USER_WARNING);
- if(PS_USE_FIREPHP)
- FB::trace('Parameter <strong>'.$parameter.'</strong> in function <strong>'.$callee['function'].'()</strong> is deprecated in <strong>'.$callee['file'].'</strong> on line <strong>'.$callee['Line'].'</strong><br />', 'deprecated parameter');
- else
- $message = sprintf(
- Tools::displayError('The parameter %1$s in function %2$s (Line %3$s) is deprecated and will be removed in the next major version.'),
- $parameter,
- $callee['function'],
- $callee['Line']
- );
- Logger::addLog($message, 3, $callee['class']);
- }
- }
- /**
- * use of FirePHP::error() if allowed
- *
- * @param mixed $obj
- * @param string $label
- * @return void
- */
- public static function error($obj, $label = '')
- {
- if(PS_USE_FIREPHP)
- FB::error($obj, $label);
- }
- /**
- * use of FirePHP::warn() if allowed
- *
- * @param mixed $obj
- * @param string $label
- * @return void
- */
- public static function warn($obj, $label = '')
- {
- if(PS_USE_FIREPHP)
- FB::warn($obj, $label);
- }
- /**
- * use of FirePHP::info() if allowed
- *
- * @param mixed $obj
- * @param string $label
- * @return void
- */
- public static function info($obj, $label = '')
- {
- if(PS_USE_FIREPHP)
- FB::info($obj, $label);
- }
- /**
- * use of FirePHP::log() if allowed
- *
- * @param mixed $obj
- * @param string $label
- * @return void
- */
- public static function log($obj, $label = '')
- {
- if(PS_USE_FIREPHP)
- FB::log($obj,$label);
- }
- /**
- * display debug_backtrace()
- * (display in firefox console if Firephp is enabled)
- *
- * @param mixed $obj
- * @return void
- */
- public static function trace($obj = NULL, $label = '')
- {
- if(PS_USE_FIREPHP)
- FB::trace($obj, $label);
- else{
- Tools::p($obj);
- echo'<pre><h1>'.$label.'</h1><br/>';
- debug_print_backtrace();
- echo '</pre>';
- }
- }
- }
- // Add some convenient shortcut
- if (!function_exists('error'))
- {
- function error($obj, $label = ''){
- return Tools::error($obj, $label);
- }
- }
- if (!function_exists('warn'))
- {
- function warn($obj, $label = ''){
- return Tools::warn($obj,$label);
- }
- }
- if (!function_exists('info'))
- {
- function info($obj, $label = ''){
- return Tools::info($obj, $label);
- }
- }
- if (!function_exists('log'))
- {
- function log($obj, $label = ''){
- return Tools::log($obj, $label);
- }
- }
- if (!function_exists('trace'))
- {
- function trace($obj, $label = ''){
- return Tools::trace($obj, $label);
- }
- }