* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) */ use PrestaShop\Module\AutoUpgrade\ErrorHandler; if (PHP_SAPI !== 'cli') { echo 'This script must be called from CLI'; exit(1); } // Although no arguments execute the script, you can get some help if requested. if (isset($argv) && is_array($argv) && in_array('--help', $argv)) { displayHelp(); exit(0); } require_once realpath(dirname(__FILE__) . '/../../modules/autoupgrade') . '/ajax-upgradetabconfig.php'; $container = autoupgrade_init_container(dirname(__FILE__)); $logger = new PrestaShop\Module\AutoUpgrade\Log\StreamedLogger(); $container->setLogger($logger); (new ErrorHandler($logger))->enable(); $controller = new \PrestaShop\Module\AutoUpgrade\Task\Runner\AllUpgradeTasks($container); $controller->setOptions(getopt('', ['action::', 'channel::', 'data::'])); $controller->init(); $exitCode = $controller->run(); $options = getopt('', ['chain::']); $chain = true; if (isset($options['chain'])) { $chain = $options['chain'] === false || filter_var($options['chain'], FILTER_VALIDATE_BOOLEAN); } if ($chain && strpos($logger->getLastInfo(), 'cli-upgrade.php') !== false) { $new_string = str_replace('INFO - $ ', '', $logger->getLastInfo()); system('php ' . $new_string, $exitCode); } exit($exitCode); /** * displays the help. */ function displayHelp(): void { echo <<