v1.0.0.1
StocketBase
- <?php
-
- declare(strict_types=1);
-
- require_once __DIR__ . '/includes/config.php';
- require_once __DIR__ . '/includes/database.php';
- require_once __DIR__ . '/includes/updater.php';
-
- $isCli = PHP_SAPI === 'cli';
-
- if (!$isCli) {
- header('Content-Type: text/plain; charset=utf-8');
- header('Cache-Control: no-store');
- header('X-Robots-Tag: noindex, nofollow');
- }
-
- if (!Config::isInstalled()) {
- if (!$isCli) {
- http_response_code(503);
- }
- echo "[error] StocketBase is not installed.\n";
- exit(1);
- }
-
- $db = Database::site();
-
- if (!$isCli) {
- $auto = Updater::autoSettings($db);
- $token = (string) ($_GET['token'] ?? '');
-
- if (!$auto['enabled'] || $auto['token'] === '' || $token === '' || !hash_equals($auto['token'], $token)) {
- http_response_code(403);
- echo "Forbidden\n";
- exit;
- }
-
- ignore_user_abort(true);
- }
-
- set_time_limit(300);
-
- $result = Updater::runAutomatic($db);
-
- if (!$isCli && $result['status'] === 'error') {
- http_response_code(500);
- }
-
- echo '[' . $result['status'] . '] ' . $result['message'] . "\n";
-
- exit($result['status'] === 'error' ? 1 : 0);
-