Unzer/src/Cron/cron_bankaccount.php

73 lignes
2.1 KiB
PHP
Brut Vue normale Historique

<?php
use Doctrine\DBAL\DBALException;
use OxidEsales\Eshop\Core\Exception\StandardException;
use OxidEsales\Eshop\Core\Registry;
use OxidEsales\ComposerPlugin\Installer\Package\ShopPackageInstaller;
$aParams = [];
if ($argv && is_array($argv) && $argc) {
if (isset($argv[1]) && $argv[1]) {
$aParams['shp'] = $argv[1];
}
if (isset($argv[2]) && $argv[2]) {
$sDate = (string)$argv[2];
if ($sDate) {
$aParams['date'] = substr($sDate, 0, 10);
}
}
$aParams['exec'] = "command_line";
} else {
$aParams['shp'] = $_GET['shp'];
$aParams['date'] = (string)$_GET['date'];
$aParams['key'] = (string)$_GET['key'];
$aParams['exec'] = "url";
}
require_once(__DIR__.'/../../../../../vendor/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);
/** @var D3\Heidelpay\Models\Bankaccount $oResponse */
try {
$oResponse = oxNew(D3\Heidelpay\Models\Bankaccount::class);
$oResponse->setStartParameters($aParams);
$oResponse->checkBankAccount();
Registry::getConfig()->pageClose();
} catch (StandardException $e) {
echo 'Error occurred: ', $e->getMessage(), PHP_EOL, $e->getTraceAsString();
} catch (DBALException $e) {
echo 'DB Error occurred: ', $e->getMessage(), PHP_EOL, $e->getTraceAsString();
}