* @copyright 2015 PrestaShow.pl * @license http://PrestaShow.pl/license */ //error_reporting(E_ALL & ~E_NOTICE); error_reporting(E_ERROR | E_CORE_ERROR | E_COMPILE_ERROR); ini_set('display_errors', 'On'); //ini_set('xdebug.collect_vars', 'on'); //ini_set('xdebug.collect_params', '4'); //ini_set('xdebug.dump_globals', 'on'); //ini_set('xdebug.dump.SERVER', 'REQUEST_URI'); //ini_set('xdebug.show_local_vars', 'on'); ini_set('upload_max_filesize', '500M'); ini_set('post_max_size', '500M'); ini_set('memory_limit', '2000M'); ini_set('max_execution_time', '86400'); libxml_use_internal_errors(true); require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . "system" . DIRECTORY_SEPARATOR . "autoload.php"; // prevent composer to load static classes if (!defined('HHVM_VERSION')) { define('HHVM_VERSION', true); } require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . "vendor" . DIRECTORY_SEPARATOR . "autoload.php"; ini_set('xdebug.profiler_enable', '1'); ini_set('xdebug.profiler_output_dir', getModulePath(__FILE__)); //ini_set('xdebug.profiler_enable_trigger', '1'); define('_IMPORT_SECURE_KEY_', md5(getModulePath(__FILE__) . _COOKIE_KEY_)); //real path to classes of the module define('_MODULE_CLASS_PATH_', getModulePath(__FILE__) . 'classes/'); //real path to controllers of the module define('_MODULE_CTRL_PATH_', getModulePath(__FILE__) . 'controllers/'); //real path to upload directory define('_MODULE_UPLOAD_PATH_', getModulePath(__FILE__) . 'upload/'); //real path to import configuration directory define('_IMPORT_CONFIG_PATH_', getModulePath(__FILE__) . 'import-config/'); //real path to import logs directory define('_IMPORT_LOG_PATH_', getModulePath(__FILE__) . 'import-log/'); //real path to files with list of the prestashop fields define('_IMPORT_FIELDS_PATH_', getModulePath(__FILE__) . 'import-fields/'); //real path to files with list of the prestashop fields options define('_IMPORT_OPTIONS_PATH_', getModulePath(__FILE__) . 'import-options/'); //real path to files with import status define('_IMPORT_STATUS_PATH_', getModulePath(__FILE__) . 'import-status/'); //real path to files with import status define('_PRESTA_CLASS_PATH_', getModulePath(__FILE__) . '../../class/'); //real path to files with import status define('_IMPORT_FILE_EXTENSIONS_', 'csv,xml,CSV,XML'); //images quality 0-100 define('_IMPORT_IMAGE_QUALITY_', 80); // in seconds define('_IMPORT_MAX_AJAX_REQUEST_TIME_', 20); if (!function_exists('getmicrotime')) { function getmicrotime() { list($usec, $sec) = explode(" ", microtime()); return ((float) $usec + (float) $sec); } } if (!function_exists('varDump')) { function varDump($x) { echo "
";
        var_dump($x);
        echo "
"; } } if (!class_exists('PShow_Import')) { class PShow_Import { public static function getInstance() { return false; } } } function continueImportOnError() { PShow_Import::getInstance()->updateActualRow(); PShow_Import::getInstance()->updateErrorsCounter(); $actual_link = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; if (stripos($actual_link, 'direct_import') !== null) { header('Location: ' . __PS_BASE_URI__ . 'modules/pshowimporter/direct_import_continue.php?securekey=' + Tools::getValue('securekey')); exit; } elseif ((defined('STDIN') || (empty($_SERVER['REMOTE_ADDR']) && !isset($_SERVER['HTTP_USER_AGENT']) && count($_SERVER['argv']) > 0)) && function_exists('exec')) { exec("php " . getModulePath(__FILE__) . "direct_import_continue.php '" . Tools::getValue('securekey') . "'"); exit; } elseif (defined('_PS_ADMIN_DIR_')) { if (PShow_Import::getInstance()->isSomethingToImport()) { Tools::redirectAdmin( Context::getContext()->link->getAdminLink('PShowImporterImport', true) . "&page=import&importnextrow=1" . ((Tools::getValue('ajax')) ? "&ajax=1" : "") . ((Tools::getValue('exc')) ? "&exc=" . (Tools::getValue('exc') + 1) : "&exc=1") ); exit; } else { Tools::redirectAdmin( Context::getContext()->link->getAdminLink('PShowImporterImport', true) . "&page=import" ); exit; } } } if (defined('_PS_ADMIN_DIR_') && defined('IMPORTING_NOW')) { // set_exception_handler(function($e) { // $pattern = "_Handler: Exception in %s [%d]: %s"; // // if (file_exists(_IMPORT_STATUS_PATH_ . 'filename')) { // PShow_Import::getInstance(file_get_contents(_IMPORT_STATUS_PATH_ . 'filename')); // } // // if (PShow_Import::getInstance() && defined('IMPORTING_NOW')) { // PShow_Log::add( // PShow_Import::getInstance()->filename . ".log", sprintf($pattern, $e->getFile(), $e->getLine(), $e->getMessage()) // ); // continueImportOnError(); // } else { // PShow_Log::addGlobal( // sprintf($pattern, $e->getFile(), $e->getLine(), $e->getMessage()) // ); // die(sprintf($pattern, $e->getFile(), $e->getLine(), $e->getMessage())); // } // }); set_error_handler(function($errno, $errstr, $errfile, $errline) { // skip some errors if (in_array($errno, array(E_WARNING, E_NOTICE))) { return; } switch ($errno) { case E_ERROR: case E_CORE_ERROR: case E_COMPILE_ERROR: case E_RECOVERABLE_ERROR: case E_PARSE: case E_COMPILE_ERROR: case E_USER_ERROR: $error_type_name = "FATAL ERROR"; break; case E_USER_WARNING: $error_type_name = "USER WARNING"; break; case E_USER_NOTICE: $error_type_name = "USER NOTICE"; break; case E_WARNING: $error_type_name = "WARNING"; break; case E_DEPRECATED: $error_type_name = "DEPRECATED"; break; default: $error_type_name = "UNKNOWN ERROR "; break; } //$fatal_errors = array(E_ERROR, E_USER_ERROR, E_CORE_ERROR, E_COMPILE_ERROR, E_RECOVERABLE_ERROR, E_PARSE); $pattern = "Handler: " . $error_type_name . " in %s [%d]: %s"; if (file_exists(_IMPORT_STATUS_PATH_ . 'filename')) { PShow_Import::getInstance(file_get_contents(_IMPORT_STATUS_PATH_ . 'filename')); } if (PShow_Import::getInstance() && defined('IMPORTING_NOW')) { PShow_Log::add( PShow_Import::getInstance()->filename . ".log", sprintf($pattern, $errfile, $errline, $errstr) ); //continueImportOnError($errno); } else { PShow_Log::addGlobal( sprintf($pattern, $errfile, $errline, $errstr) ); } }); class PrestaShopException extends PrestaShopExceptionCore { public function displayMessage() { $this->logError(); // $pattern = "Handler: Exception in %s [%d]: %s"; // // if (file_exists(_IMPORT_STATUS_PATH_ . 'filename')) { // PShow_Import::getInstance(file_get_contents(_IMPORT_STATUS_PATH_ . 'filename')); // } // // if (PShow_Import::getInstance() && defined('IMPORTING_NOW')) { // PShow_Log::add( // PShow_Import::getInstance()->filename . ".log", sprintf($pattern, $this->getFile(), $this->getLine(), $this->getMessage()) // ); // continueImportOnError(); // } else { // PShow_Log::addGlobal( // sprintf($pattern, $errfile, $errline, $errstr) // ); // } } } Context::getContext()->smarty->muteExpectedErrors(); } if (!function_exists('showTip')) { function showTip($params) { if (!array_key_exists('id', $params)) { $params['id'] = uniqid(); } if (!array_key_exists('type', $params)) { $params['type'] = 'info'; } if (!array_key_exists('message', $params)) { $params['message'] = 'Enter message...'; } if (!PShow_Settings::getInstance(__FILE__)->get('tip_' . $params['id'])) { echo '
×

' . $params['message'] . '

'; } } smartyRegisterFunction(Context::getContext()->smarty, 'function', 'showTip', 'showTip'); }