49 lines
1.5 KiB
PHP
49 lines
1.5 KiB
PHP
<?PHP
|
|
|
|
// Auteur : Cédrix pour a5l.fr
|
|
// Projet : scripts-bash/ytdll
|
|
|
|
// Version 2024.07.07-14.31
|
|
// Version initiale
|
|
|
|
class UpdateManager {
|
|
private $pdo;
|
|
private $database;
|
|
|
|
public function __construct($database) {
|
|
$this->database = $database;
|
|
$this->pdo = $this->database->getPDO();
|
|
|
|
}
|
|
|
|
public function manageVersionTables() {
|
|
$configManager = new Config($this->database);
|
|
// Obtenir le numéro de version dans le fichier de définitions de table
|
|
$definitionsTablesFile = json_decode(file_get_contents($configManager->getPathDefinitionsTablesFile()), true);
|
|
$newDefinitionNumber = $definitionsTablesFile['definition_number'];
|
|
|
|
// Obtenir le numéro de version des Tables en base
|
|
$currentDefinitionNumber = $configManager->getVersionDefinitionsTables();
|
|
|
|
if ($currentDefinitionNumber !== null) {
|
|
echo 'Version not set or an error occurred.';
|
|
$currentDefinitionNumber = 0;
|
|
}
|
|
|
|
$tables = $definitionsTablesFile['tables'];
|
|
|
|
if ($newDefinitionNumber > $currentDefinitionNumber) {
|
|
$tableManager = new TableManager($this->database);
|
|
$tableManager->processTables($tables);
|
|
$configManager->setVersionDefinitionsTables($newDefinitionNumber);
|
|
if ($currentDefinitionNumber == 0) {
|
|
echo "Tables created successfully.";
|
|
} else {
|
|
echo "Tables updated successfully from $currentDefinitionNumber to $newDefinitionNumber.";
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|