Files
tomtomgames/bump_version.php
T
2026-05-22 12:52:50 +00:00

53 lines
1.7 KiB
PHP

<?php
/**
* TomTomGames Version Manager
* Run after uploading a new build to update the DB version.
* Usage: https://tomtomgames.com/bump_version.php?key=ADMIN_KEY&version=1.0.2&notes=Your+notes+here
*
* Or auto-bump: ?key=ADMIN_KEY&bump=patch (1.0.1 → 1.0.2)
* ?key=ADMIN_KEY&bump=minor (1.0.1 → 1.1.0)
* ?key=ADMIN_KEY&bump=major (1.0.1 → 2.0.0)
*/
define('BUMP_KEY', 'TTG_bump_2026!'); // Change this to your own secret key
if (($_GET['key'] ?? '') !== BUMP_KEY) {
http_response_code(403);
echo json_encode(['error' => 'Forbidden']);
exit;
}
require_once __DIR__ . '/../includes/db.php';
// Get current version
$current = db()->query("SELECT version FROM app_version ORDER BY id DESC LIMIT 1")->fetchColumn() ?: '1.0.0';
[$major, $minor, $patch] = array_map('intval', explode('.', $current));
// Determine new version
if (!empty($_GET['version'])) {
$newVersion = trim($_GET['version']);
} elseif (!empty($_GET['bump'])) {
switch ($_GET['bump']) {
case 'major': $newVersion = ($major+1).'.0.0'; break;
case 'minor': $newVersion = $major.'.'.($minor+1).'.0'; break;
default: $newVersion = $major.'.'.$minor.'.'.($patch+1); break;
}
} else {
// Default: bump patch
$newVersion = $major.'.'.$minor.'.'.($patch+1);
}
$notes = trim($_GET['notes'] ?? 'Build ' . date('Y-m-d H:i:s'));
db()->prepare("INSERT INTO app_version (version, notes) VALUES (?, ?)")
->execute([$newVersion, $notes]);
header('Content-Type: application/json');
echo json_encode([
'success' => true,
'previous' => $current,
'new_version' => $newVersion,
'notes' => $notes,
'timestamp' => date('Y-m-d H:i:s'),
]);