#!/usr/bin/env php * @link http://www.oxidmodule.com */ use D3\Unzer\Application\Controller\PaymentCollector; use Doctrine\DBAL\DBALException; use OxidEsales\Eshop\Core\Exception\StandardException; use OxidEsales\Eshop\Core\Exception\SystemComponentException; use OxidEsales\ComposerPlugin\Installer\Package\ShopPackageInstaller; use OxidEsales\Eshop\Core\Registry; $aParams = []; if ($argv && is_array($argv) && $argc) { if (isset($argv[1]) && false == empty($argv[1])) { $aParams['shp'] = $argv[1]; } $aParams['exec'] = "command_line"; } else { $aParams['shp'] = $_GET['shp']; $aParams['key'] = (string)$_GET['key']; $aParams['exec'] = "url"; } require_once(__DIR__.'/../../../autoload.php'); $bootstrapFileName = getenv('ESHOP_BOOTSTRAP_PATH'); if (!empty($bootstrapFileName)) { $bootstrapFileName = realpath(trim(getenv('ESHOP_BOOTSTRAP_PATH'))); } else { $count = 0; $bootstrapFileName = '../../../../'. ShopPackageInstaller::SHOP_SOURCE_DIRECTORY .'/bootstrap.php'; $currentDirectory = __DIR__ . '/'; while ($count < 5) { ++$count; if (file_exists($currentDirectory . $bootstrapFileName)) { $bootstrapFileName = $currentDirectory . $bootstrapFileName; break; } $bootstrapFileName = '../' . $bootstrapFileName; } } if (!(file_exists($bootstrapFileName) && !is_dir($bootstrapFileName))) { $items = [ "Unable to find eShop bootstrap.php file.", "You can override the path by using ESHOP_BOOTSTRAP_PATH environment variable.", "\n" ]; $message = implode(" ", $items); die($message); } require_once($bootstrapFileName); // initializes singleton config class try { $config = Registry::getConfig(); // force init a new session (e.g. to determine the voucher values from the shopping cart saved in the session) Registry::getSession()->setForceNewSession(); // executing maintenance tasks.. try { /** @var PaymentCollector $collector */ $collector = oxNew(PaymentCollector::class); $collector->setStartParameters($aParams)->execute(); } catch (StandardException|DBALException $e) { echo $e->getMessage(); } // closing page, writing cache and so on.. $config->pageClose(); } catch (SystemComponentException) { }