Fixed issues in installmanager and dependencies

This commit is contained in:
Rooty 2021-04-22 19:28:23 +02:00
parent 9b323518e0
commit 5d14783cb3
7 changed files with 137 additions and 77 deletions

View File

@ -1,39 +1,50 @@
<div class="tabe">
<ul>
<ul class="nav container-fluid nav-tabs w-75 border-bottom-0">
<mx:bloc id="TabeB">
<li mXattribut="class:TabeView">
<a mXattribut="href:UrlTabeView" mXattribut="class:ClassTabeView">
<i class="mr-1 fa fa-lg fa-<mx:text id="pictoTabe"/>"></i>
<mx:text id="TabeNameView"/>
</a>
</li>
</mx:bloc id="TabeB">
</ul>
</div>
<div class="box">
<div class="header"><h2><mx:text id="TabeBTabeNameView"/> (<mx:text id="TxtAfterInstallTitle"/>)</h2>
<p><mx:text id="TxtAfterInstallText"/></p>
</div>
<li mXattribut="class:TabeView">
<a mXattribut="class:ClassTabeView" mXattribut="href:UrlTabeView">
<i class="mr-1 fa fa-lg fa-<mx:text id="pictoTabe"/>"></i>
<mx:text id="TabeNameView"/>
</a>
</li>
</mx:bloc id="TabeB">
</ul>
<fieldset class="fieldsetinstall">
<legend><mx:text id="TxtLegendSuiviInstall"/></legend>
<div><strong><mx:text id="TxtEtape1"/></strong><mx:text id="TxtEtape1Install"/></div>
<div><strong><mx:text id="TxtEtape2"/></strong><mx:text id="TxtEtape2Install"/></div>
<div class="colorEtape"><strong><mx:text id="TxtEtape3"/></strong><mx:text id="TxtEtape3Install"/></div>
</fieldset>
<fieldset class="fieldset">
<legend><mx:text id="TxtFileCopyTitle"/></legend>
<table class="table">
<tr>
<th><mx:text id="TxtNomBackup"/></th>
<th><mx:text id="TxtBackupDateCreate"/></th>
</tr>
<mx:bloc id="BLOCBackup">
<tr mXattribut="class:lineStyle">
<td mXattribut="class:class"><mx:text id="NomBackup"/></td>
<td><mx:text id="DateBackup"/></td>
</tr>
</mx:bloc id="BLOCBackup">
</table>
</fieldset>
<div class="tab-content container-fluid px-0 py-2 border w-75">
<div class="card w-100 border-0">
<div class="card-header text-center">
<h3><mx:text id="TabeBTabeNameView"/> (<mx:text id="TxtAfterInstallTitle"/>)</h3>
</div>
<div class="card-title mx-auto w-75">
<p><mx:text id="TxtAfterInstallText"/></p>
</div>
<div class="card-header text-center">
<h3><mx:text id="TxtLegendSuiviInstall"/></h3>
</div>
<div class="card-title mx-auto w-75">
<p class="text-success font-weight-bold"><mx:text id="TxtEtape1"/></strong><mx:text id="TxtEtape1Install"/></p>
<p class="text-success font-weight-bold"><mx:text id="TxtEtape2"/></strong><mx:text id="TxtEtape2Install"/></p>
<p class="text-success font-weight-bold"><mx:text id="TxtEtape3"/></strong><mx:text id="TxtEtape3Install"/></p>
</div>
<div class="card-header text-center">
<h3><mx:text id="TxtFileCopyTitle"/></h3>
</div>
<div class="card-body">
<table class="table table-sm table-responsive-sm table-bordered table-striped table-hover" id="tabListScripts" mXattribut="summary:TxtListScripts">
<thead class="thead-default">
<tr>
<th><mx:text id="TxtNomBackup"/></th>
<th><mx:text id="TxtBackupDateCreate"/></th>
</tr>
</thead>
<tbody>
<mx:bloc id="BlocBackup">
<tr mXattribut="class:lineStyle">
<td mXattribut="class:class"><mx:text id="NomBackup"/></td>
<td><mx:text id="DateBackup"/></td>
</tr>
</mx:bloc id="BlocBackup">
</tbody>
</table>
</div>
</div>
</div>

View File

@ -9,7 +9,7 @@
</mx:bloc id="TabeB">
</ul>
<div class="tab-content container-fluid px-0 py-2 border w-75">
<div class="card w-100 text-center border-0">
<div class="card w-100 border-0">
<div class="card-header text-center">
<h3><mx:text id="TabeBTabeNameView"/> (<mx:text id="TxtBeforeInstallTitle"/>)</h3>
</div>
@ -26,8 +26,8 @@
<tr>
<th><mx:text id="TxtFileSrc"/></th>
<th><mx:text id="TxtFileDest"/></th>
<th><mx:text id="TxtVersionSrc"/></th>
<th><mx:text id="TxtVersionDest"/></th>
<th class="text-right"><mx:text id="TxtVersionSrc"/></th>
<th class="text-right"><mx:text id="TxtVersionDest"/></th>
</tr>
</thead>
<tbody>
@ -35,8 +35,8 @@
<tr>
<td><mx:text id="ficSrc"/></td>
<td><mx:text id="ficDest"/></td>
<td><mx:text id="versionSrc"/></td>
<td><mx:text id="versionDest"/></td>
<td class="text-right"><mx:text id="versionSrc"/></td>
<td class="text-right"><mx:text id="versionDest"/></td>
</tr>
</mx:bloc id="BLOCFIC">
<mx:bloc id="BLOCBD">

View File

@ -423,22 +423,19 @@ var $dbUninstallFile= "uninstall";
function __afterInstall()
{
withBlocPath("InstallManager", "afterinstall");
//Récupération des backup créés.
//$prefixe=(!defined("DATA_ACCES_TABLE_PREFIX"))?"": DATA_ACCES_TABLE_PREFIX ;
$sql="SELECT * FROM ".DATA_ACCES_TABLE_PREFIX.DATA_ACCES_PACKAGE_PREFIX."backup WHERE libelle='".$this->pkgName."'";
$sql="SELECT * FROM ".DATA_ACCES_TABLE_PREFIX.DATA_ACCES_PACKAGE_PREFIX."backup WHERE backup_libelle='".$this->pkgName."'";
$GLOBALS["SYSTEM_DATABASE_CONN"]->sql_query($sql);
while ($tabresult=$GLOBALS["SYSTEM_DATABASE_CONN"]->sql_fetchrow())
{
if (count($tabresult)>0)
{
$GLOBALS["SYSTEM_TEMPLATE"]-> MxAttribut("BLOCBackup.class", "lnColor3");
$GLOBALS["SYSTEM_TEMPLATE"]-> MxText("BLOCBackup.NomBackup",$tabresult["libelle"]);
$GLOBALS["SYSTEM_TEMPLATE"]-> MxText("BLOCBackup.DateBackup",date("H:i:s",$tabresult["bkpdate"]));
$GLOBALS["SYSTEM_TEMPLATE"]-> MxAttribut("BlocBackup.class", "lnColor3");
$GLOBALS["SYSTEM_TEMPLATE"]-> MxText("BlocBackup.NomBackup",$tabresult["backup_libelle"]);
$GLOBALS["SYSTEM_TEMPLATE"]-> MxText("BlocBackup.DateBackup",date("Y/m/d H:i:s",$tabresult["backup_date"]));
}
$GLOBALS["SYSTEM_TEMPLATE"]-> MxBloc("BLOCBackup", "loop");
$GLOBALS["SYSTEM_TEMPLATE"]-> MxBloc("BlocBackup", "loop");
}
return "";
}

View File

@ -169,7 +169,7 @@ Class InstallManager extends CoordinationObj
$tabpatch=$backup->getAllPatch();
for($i=0; $i<count($tabpatch); $i++){
$tabTmp[]=$tabpatch[$i]["nom"];
$tabTmp[]=$tabpatch[$i]["backup_nom"];
}
// on verifie que les éléments sont uploadés ou non...
@ -371,7 +371,7 @@ Class InstallManager extends CoordinationObj
$tabpatch=$backup->getAllPatch();
for($i=0; $i<count($tabpatch); $i++){
$tabTmp[]=$tabpatch[$i]["nom"];
$tabTmp[]=$tabpatch[$i]["backup_nom"];
}
// on verifie que les éléments sont uploadés ou non...
@ -840,7 +840,7 @@ Class InstallManager extends CoordinationObj
# Affichage des backups de db...
if ($tabpatch[$i]["db"]!==false){
$tabDb=$backup->getAllDbArchiveForPatch($tabpatch[$i]["id"]);
$tabDb=$backup->getAllDbArchiveForPatch($tabpatch[$i]["backup_id"]);
for ($j=0; $j<count($tabDb); $j++){
$GLOBALS["SYSTEM_TEMPLATE"]->MxText("BACKUP.DB.id", $tabDb[$j]["id"]);
$GLOBALS["SYSTEM_TEMPLATE"]->MxText("BACKUP.DB.nom", $tabDb[$j]["nom"]);
@ -856,7 +856,7 @@ Class InstallManager extends CoordinationObj
# Affichage des backups de script...
if ($tabpatch[$i]["script"]!==false){
$tabScript=$backup->getAllScriptArchiveForPatch($tabpatch[$i]["id"]);
$tabScript=$backup->getAllScriptArchiveForPatch($tabpatch[$i]["backup_id"]);
for ($j=0; $j<count($tabScript); $j++){
$GLOBALS["SYSTEM_TEMPLATE"]->MxText("BACKUP.SCRIPT.id", $tabScript[$j]["id"]);
$GLOBALS["SYSTEM_TEMPLATE"]->MxText("BACKUP.SCRIPT.newname", $tabScript[$j]["newname"]);

View File

@ -108,11 +108,14 @@ class backup
$tabresult[$i]["backup_date"]=$tabpatch["backup_date"];
//On vérifie s'il existe des scripts associés au patch
$sql_script="SELECT COUNT(new_name) as cpt FROM ".DATA_ACCES_TABLE_PREFIX.DATA_ACCES_PACKAGE_PREFIX."backupfile WHERE backup_id=".$tabpatch["backup_id"];
$sql_script="SELECT COUNT(backup_new_name) as cpt FROM ".DATA_ACCES_TABLE_PREFIX.DATA_ACCES_PACKAGE_PREFIX."backupfile WHERE backup_id=".$tabpatch["backup_id"];
$result_script=$GLOBALS["SYSTEM_DATABASE_CONN"]->sql_query($sql_script);
$tab=$GLOBALS["SYSTEM_DATABASE_CONN"]->sql_fetchrow();
if ($tab["cpt"]>0)
// var_dump($tab);
// exit(0);
if( $tab && $tab["cpt"]>0 )
{
$tabresult[$i]["script"]=true;
}
@ -122,7 +125,7 @@ class backup
}
//On vérifie s'il existe des sauvegardes de bd associées au patch
$sql_db="SELECT COUNT(nom_bd) as cpt FROM ".$prefixe."backupbd WHERE backup_id=".$tabpatch["backup_id"];
$sql_db="SELECT COUNT(backupbd_nom) as cpt FROM ".DATA_ACCES_TABLE_PREFIX.DATA_ACCES_PACKAGE_PREFIX."backupbd WHERE backup_id=".$tabpatch["backup_id"];
$result_db=$GLOBALS["SYSTEM_DATABASE_CONN"]->sql_query($sql_db);
$tab=$GLOBALS["SYSTEM_DATABASE_CONN"]->sql_fetchrow();
@ -155,7 +158,7 @@ class backup
$i=0;
//Requete permettant de recupérer tous les patchs
$sql_patch="SELECT backupfile_id,backupfile_new_name,backupfile_old_name,backup_id FROM ".DATA_ACCES_TABLE_PREFIX.DATA_ACCES_PACKAGE_PREFIX."backupfile WHERE ";
$sql_patch="SELECT backupfile_id, backupfile_new_name, backupfile_old_name, backup_id FROM ".DATA_ACCES_TABLE_PREFIX.DATA_ACCES_PACKAGE_PREFIX."backupfile WHERE ";
$sql_patch.="backup_id=".$id;
$query_patch=$GLOBALS["SYSTEM_DATABASE_CONN"]->sql_query($sql_patch);

View File

@ -148,7 +148,7 @@ class BackupDb
*/
function restoreBackUpDb($chemin,$nom_fichier){
if (defined("DATA_SOURCE_DB_TYPE")){
return BackupDb::restore(DATA_SOURCE_DB_TYPE, DATA_SOURCE_SQL_SERVER, DATA_SOURCE_SQL_USER, DATA_SOURCE_SQL_PASSWORD,$chemin,$nom_fichier, DATA_SOURCE_SQL_DATABASE);
return BackupDb::restore(DATA_SOURCE_DB_TYPE, DATA_SOURCE_DB_SERVER, DATA_SOURCE_DB_USER, DATA_SOURCE_DB_PASSWORD,$chemin,$nom_fichier, DATA_SOURCE_DB_DATABASE);
}else{
return false;
}

View File

@ -240,24 +240,73 @@ class MysqlBackUpDb extends CommonBackupDb
addError(2,"MysqlBackupDb","Impossible d'executer le fichier $nom_fichier n'existe pas.", __line__, __file__);
return false;
}else{
$connect = mysql_connect($host, $login, $password);
mysql_select_db($db, $connect);
$sql_query = @fread(@fopen($emplacement, 'r'), @filesize($emplacement));
$sql_query = remove_remarks($sql_query);
$sql_query = split_sql_file($sql_query, ";");
$sql_query = make_path($sql_query);
for ($i = 0; $i < sizeof($sql_query); $i++)
{
if (trim($sql_query[$i]) != '')
{
if (!($result = mysql_query($sql_query[$i],$connect)))
{
addError(2,"MysqlBackupDb","Impossible d'executer le fichier $nom_fichier n'existe pas.", __line__, __file__);
return false;
}
}
// $connect = mysql_connect($host, $login, $password);
// mysql_select_db($db, $connect);
$dbselect = true;
try {
$bd_connect = new PDO("mysql:host=$host;dbname=$db;charset=utf8", "$login", "$password"); // PDO Connection
} catch (PDOException $e) {
// $e->getCode = 1049 = Unknown database
if( $e->getCode() == '1049' ) $dbselect = false;
}
if($dbselect)
{
// $sql_query = @fread(@fopen($emplacement, 'r'), @filesize($emplacement));
$sql_query = file_get_contents($emplacement);
$sql_query = preg_replace('/{_DATABASE_}/', DATA_SOURCE_DB_DATABASE, $sql_query);
$sql_query = preg_replace('/{_PREFIX_}/', DATA_ACCES_TABLE_PREFIX, $sql_query);
// $sql_query = remove_remarks($sql_query);
// $sql_query = split_sql_file($sql_query, ";");
// for ($i = 0; $i < sizeof($sql_query); $i++)
// {
// if (trim($sql_query[$i]) != '')
// {
// if ($result = $bd_connect->exec($sql_query[$i]))
// {
// addError(2,"MysqlBackupDb","Échec de la requête SQL: ".$sql_query[$i]." / ".$result, __line__, __file__);
// return false;
// } else {
// addError(2,"MysqlBackupDb","Succès de la requête SQL: ".$sql_query[$i], __line__, __file__);
// }
// }
// }
$stmt = $bd_connect->prepare($sql_query);
if ($stmt->execute()){
addError(2,"MysqlBackupDb","Succès de la requête SQL: ".$sql_query);
}else{
addError(2,"MysqlBackupDb","Échec de la requête SQL: ".$sql_query, __line__, __file__);
return false;
}
} else {
echo "Connexion à la base de données échouée !!!";
exit(0);
}
// $sql_query = @fread(@fopen($emplacement, 'r'), @filesize($emplacement));
// $sql_query = remove_remarks($sql_query);
// $sql_query = split_sql_file($sql_query, ";");
// $sql_query = make_path($sql_query);
//
// for ($i = 0; $i < sizeof($sql_query); $i++)
// {
// if (trim($sql_query[$i]) != '')
// {
// // if (!($result = mysql_query($sql_query[$i],$connect)))
// var_dump($sql_query[$i]);
// $result = $GLOBALS["SYSTEM_DATABASE_CONN"]->sql_query($sql_query[$i].";");
// var_dump($result);
// if ($result == FALSE);
// {
// addError(2,"MysqlBackupDb","Échec de la requête SQL: ".$sql_query[$i], __line__, __file__);
// return false;
// }
// }
// }
// exit(0);
return true;
}
}