mirror of
https://github.com/myronblair/tomtomgames
synced 2026-06-30 17:51:08 -05:00
53 lines
1.7 KiB
PHP
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¬es=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'),
|
|
]);
|