13.1.04 Bascule en banche de test

Update : checkwrite by file
This commit is contained in:
Fred Tempez 2024-02-03 08:02:32 +01:00
parent c3ade0fe0f
commit 8cefdd027d
2 changed files with 16 additions and 8 deletions

View File

@ -55,7 +55,7 @@ class common
// URL autoupdate // URL autoupdate
const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/cms-update/raw/branch/master/'; const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/cms-update/raw/branch/master/';
const ZWII_UPDATE_CHANNEL = 'v13'; const ZWII_UPDATE_CHANNEL = 'test';
// Valeurs possibles multiple de 10, 10 autorise 9 profils, 100 autorise 99 profils // Valeurs possibles multiple de 10, 10 autorise 9 profils, 100 autorise 99 profils
const MAX_PROFILS = 10; const MAX_PROFILS = 10;

View File

@ -267,11 +267,11 @@ class install extends common
$message = $success ? '' : 'Erreur de copie du fichier htaccess'; $message = $success ? '' : 'Erreur de copie du fichier htaccess';
} }
// Nettoyage des fichiers d'installation précédents // Nettoyage des fichiers d'installation précédents
if (file_exists(self::TEMP_DIR . 'update.tar.gz') && $success) { if ($success && file_exists(self::TEMP_DIR . 'update.tar.gz')) {
$success = unlink(self::TEMP_DIR . 'update.tar.gz'); $success = unlink(self::TEMP_DIR . 'update.tar.gz');
$message = $success ? '' : 'Impossible d\'effacer la mise à jour précédente'; $message = $success ? '' : 'Impossible d\'effacer la mise à jour précédente';
} }
if (file_exists(self::TEMP_DIR . 'update.tar') && $success) { if ($success && file_exists(self::TEMP_DIR . 'update.tar')) {
$success = unlink(self::TEMP_DIR . 'update.tar'); $success = unlink(self::TEMP_DIR . 'update.tar');
$message = $success ? '' : 'Impossible d\'effacer la mise à jour précédente'; $message = $success ? '' : 'Impossible d\'effacer la mise à jour précédente';
} }
@ -286,6 +286,8 @@ class install extends common
break; break;
// Téléchargement // Téléchargement
case 2: case 2:
$success = true;
$message = '';
file_put_contents(self::TEMP_DIR . 'update.tar.gz', helper::getUrlContents(common::ZWII_UPDATE_URL . common::ZWII_UPDATE_CHANNEL . '/update.tar.gz')); file_put_contents(self::TEMP_DIR . 'update.tar.gz', helper::getUrlContents(common::ZWII_UPDATE_URL . common::ZWII_UPDATE_CHANNEL . '/update.tar.gz'));
$md5origin = helper::getUrlContents(common::ZWII_UPDATE_URL . common::ZWII_UPDATE_CHANNEL . '/update.md5'); $md5origin = helper::getUrlContents(common::ZWII_UPDATE_URL . common::ZWII_UPDATE_CHANNEL . '/update.md5');
$md5origin = explode(' ', $md5origin); $md5origin = explode(' ', $md5origin);
@ -296,7 +298,7 @@ class install extends common
$message = ""; $message = "";
} else { } else {
$success = false; $success = false;
$message = json_encode('Erreur de téléchargement ou de somme de contrôle', JSON_UNESCAPED_UNICODE); $message = 'Erreur de téléchargement ou de somme de contrôle';
if (file_exists(self::TEMP_DIR . 'update.tar.gz')) { if (file_exists(self::TEMP_DIR . 'update.tar.gz')) {
unlink(self::TEMP_DIR . 'update.tar.gz'); unlink(self::TEMP_DIR . 'update.tar.gz');
http_response_code(500); http_response_code(500);
@ -308,15 +310,19 @@ class install extends common
'display' => self::DISPLAY_JSON, 'display' => self::DISPLAY_JSON,
'content' => [ 'content' => [
'success' => $success, 'success' => $success,
'data' => $message 'data' => json_encode($message, JSON_UNESCAPED_UNICODE)
] ]
]); ]);
break; break;
// Installation // Installation
case 3: case 3:
$success = true; $success = true;
$message = '';
// Check la réécriture d'URL avant d'écraser les fichiers // Check la réécriture d'URL avant d'écraser les fichiers
$rewrite = helper::checkRewrite(); $rewrite = helper::checkRewrite();
if (helper::checkRewrite()) {
touch(self::DATA_DIR . '.rewrite');
}
// Décompression et installation // Décompression et installation
try { try {
// Décompression dans le dossier de fichier temporaires // Décompression dans le dossier de fichier temporaires
@ -325,6 +331,7 @@ class install extends common
// Installation // Installation
$pharData->extractTo(__DIR__ . '/../../../', null, true); $pharData->extractTo(__DIR__ . '/../../../', null, true);
} catch (Exception $e) { } catch (Exception $e) {
$message = $e->getMessage();
$success = false; $success = false;
http_response_code(500); http_response_code(500);
} }
@ -340,7 +347,7 @@ class install extends common
'display' => self::DISPLAY_JSON, 'display' => self::DISPLAY_JSON,
'content' => [ 'content' => [
'success' => $success, 'success' => $success,
'data' => $rewrite 'data' => json_encode($message, JSON_UNESCAPED_UNICODE)
] ]
]); ]);
break; break;
@ -348,7 +355,7 @@ class install extends common
case 4: case 4:
$success = true; $success = true;
$message = ''; $message = '';
$rewrite = $this->getInput('data'); //$rewrite = $this->getInput('data');
/** /**
* Restaure le fichier htaccess * Restaure le fichier htaccess
@ -369,7 +376,7 @@ class install extends common
/** /**
* Restaure la réécriture d'URL * Restaure la réécriture d'URL
*/ */
if ($rewrite === 'true') { // Ajout des lignes dans le .htaccess if (file_exists(self::DATA_DIR . '.rewrite')) { // Ajout des lignes dans le .htaccess
$fileContent = file_get_contents('.htaccess'); $fileContent = file_get_contents('.htaccess');
$rewriteData = PHP_EOL . $rewriteData = PHP_EOL .
'# URL rewriting' . PHP_EOL . '# URL rewriting' . PHP_EOL .
@ -386,6 +393,7 @@ class install extends common
'.htaccess', '.htaccess',
$fileContent $fileContent
); );
unlink(self::DATA_DIR . '.rewrite');
} }
} }