| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- <?php
- class maj {
- public static function query(string $query = NULL){
- if($query != NULL){
- db::query($query);
- try {
- db::execute();
- maj::print("SUCCESS : " . $query);
- return TRUE;
- } catch (Exception $ex) {
- maj::print("ERREUR TECHNIQUE : " . $query);
- return FALSE;
- }
- } else {
- maj::print("ERREUR TECHNIQUE : Query not found");
- return FALSE;
- }
- }
- public static function compareHash(){
- if(git::getCommitHash() == git::getCommitHash(MAJ_TARGET)){
- return TRUE;
- } else {
- return FALSE;
- }
- }
-
- public static function print(string $string){
- echo "<div>" . $string . "</string>";
- }
- public static function printSeparateur(){
- self::print("**********************");
- }
- public static function start(){
- self::printSeparateur();
- self::print(">> Démarrage de la mise à jour de " . DOMAIN_CMS);
- historique::recRef("/parametres.html");
- historique::add(array(
- "idType" => historique::getIdRef("ACTION"),
- "idUser" => session::getId(),
- "idPage" => historique::getIdRef("/parametres.html"),
- "log" => "Lancement de la mise à jour [" . MAJ_TARGET . " - " . git::getCommitHash(MAJ_TARGET) . "]"
- ));
- // Activation du mode maintenance
- self::printSeparateur();
- self::print(">> Mode maintenance activé");
- core::addFileMaintenance();
- // Création d'un backUp
- self::printSeparateur();
- self::print(">> Création du backup");
- backup::create();
- file::cleanFilesByOrder(DIR_BACKUP, BACKUP_LIMIT);
- include_once(DIR_MAJ . "sql/maj.php");
- self::printSeparateur();
- if(goSql() == TRUE){
- self::print("Maj SQL réalisée");
- self::printSeparateur();
- $gitReturn = self::bashMaj();
- } else {
- self::print("ERROR : Maj SQL");
- }
- if($gitReturn == FALSE){
- self::printSeparateur();
- self::print("ERROR : Repo GIT [" . MAJ_TARGET . " - " . git::getCommitHash(MAJ_TARGET) . "]");
- self::printSeparateur();
- self::print(">> ROLLBACK : Restauration des données");
- backup::restore(DIR_BACKUP . backup::last());
- alert::recError("Mise à jour en erreur de [" . MAJ_TARGET . " - " . git::getCommitHash(MAJ_TARGET) . "]");
- historique::recRef("/parametres.html");
- historique::add(array(
- "idType" => historique::getIdRef("ERROR"),
- "idUser" => session::getId(),
- "idPage" => historique::getIdRef("/parametres.html"),
- "log" => "Erreur lors de la mise à jour [" . MAJ_TARGET . " - " . git::getCommitHash(MAJ_TARGET) . "]"
- ));
- } else {
- self::printSeparateur();
- self::print("Mise à jour du repo GIT [" . MAJ_TARGET . " - " . git::getCommitHash(MAJ_TARGET) . "] effectué");
- }
- self::printSeparateur();
- self::print(">> Réinitialisation des JSON");
- json::create("salaries");
- json::create("excel");
- json::create("excel-proweb");
- json::create("events");
- json::create("users");
- json::create("salaries-proweb");
- json::create("lotterys");
- self::printSeparateur();
- self::print(">> Mode maintenance désactivé");
- core::removeFileMaintenance();
- self::printSeparateur();
- self::print(">> Fin de la mise à jour de " . DOMAIN_CMS);
- self::printSeparateur();
- if($gitReturn == TRUE){
- historique::recRef("/parametres.html");
- historique::add(array(
- "idType" => historique::getIdRef("ACTION"),
- "idUser" => session::getId(),
- "idPage" => historique::getIdRef("/parametres.html"),
- "log" => "Mise à jour [" . MAJ_TARGET . " - " . git::getCommitHash(MAJ_TARGET) . "] terminée"
- ));
- self::print("MAJ EN SUCCES [" . MAJ_TARGET . " - " . git::getCommitHash(MAJ_TARGET) . "]");
- self::printSeparateur();
- } else {
- self::print("MAJ EN ERREUR [" . MAJ_TARGET . " - " . git::getCommitHash(MAJ_TARGET) . "]");
- self::printSeparateur();
- }
- }
- public static function bashMaj(){
- $output = NULL;
- $retval = NULL;
- $bash = DIR_MAJ . MAJ . ".sh";
- $error = 0;
- if(is_file($bash)){
- try {
- exec("bash " .$bash, $output, $retval);
- foreach ($output as $key => $value) {
- self::print($value);
- if(git::checkError($value) == TRUE){
- $error = 1;
- }
- }
- } catch (\Throwable $th) {
- self::print("ERROR : " . $bash);
- return FALSE;
- }
- return ($error == 0)? TRUE : FALSE;
- } else {
- self::print("ERROR : " . $bash . " not found");
- return FALSE;
- }
- }
- public static function bashFetch(){
- $output = NULL;
- $retval = NULL;
- $bash = DIR_MAJ . "get-origin.sh";
- $error = 0;
- if(is_file($bash)){
- try {
- exec("bash " .$bash, $output, $retval);
- foreach ($output as $key => $value) {
- self::print($value);
- }
- } catch (\Throwable $th) {
- self::print("ERROR : " . $bash);
- return FALSE;
- }
- return ($error == 0)? TRUE : FALSE;
- } else {
- self::print("ERROR : " . $bash . " not found");
- return FALSE;
- }
- }
- }
|