* @copyright 2007-2011 PrestaShop SA * @version Release: $Revision: 7541 $ * @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(dirname(__FILE__).DIRECTORY_SEPARATOR.'fb.php')) { if (!defined('PS_USE_FIREPHP')) { require_once(dirname(__FILE__).DIRECTORY_SEPARATOR.'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__) { if (strpos($url, 'http://') === FALSE && strpos($url, 'https://') === FALSE) { global $link; 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 '

Redirection automatique dans 5 secondes

'.$url.''; 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)) { global $link; if (strpos($url, __PS_BASE_URI__) !== FALSE && strpos($url, __PS_BASE_URI__) == 0) $url = substr($url, strlen(__PS_BASE_URI__)); $explode = explode('?', $url); $url = $link->getPageLink($explode[0]); if (isset($explode[1])) $url .= '?'.$explode[1]; } header('Refresh: 5; url='.$url); echo '

Redirection automatique dans 5 secondes

'.$url.''; 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 '

Redirection automatique dans 5 secondes

'.$url.''; 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() { if (_PS_DISPLAY_COMPATIBILITY_WARNING_) { $backtrace = debug_backtrace(); $callee = next($backtrace); if (PS_USE_FIREPHP) FB::warn('Function '.$callee['function'].'() is deprecated in '.$callee['file'].' on line '.$callee['line'].'
', 'Deprecated method'); else trigger_error('Function '.$callee['function'].'() is deprecated in '.$callee['file'].' on line '.$callee['line'].'
', E_USER_WARNING); $message = Tools::displayError('The function').' '.$callee['function'].' ('.Tools::displayError('Line').' '.$callee['line'].') '.Tools::displayError('is deprecated and will be removed in the next major version.'); 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 '.$parameter.' in function '.$callee['function'].'() is deprecated in '.$callee['file'].' on line '.$callee['Line'].'
', E_USER_WARNING); if (PS_USE_FIREPHP) FB::trace('Parameter '.$parameter.' in function '.$callee['function'].'() is deprecated in '.$callee['file'].' on line '.$callee['Line'].'
', 'deprecated parameter'); else $message = Tools::displayError('The parameter').' '.$parameter.' '.Tools::displayError(' in function ').' '.$callee['function'].' ('.Tools::displayError('Line').' '.$callee['Line'].') '.Tools::displayError('is deprecated and will be removed in the next major version.'); 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'

'.$label.'


'; debug_print_backtrace(); echo '
'; } } } // 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); } }