function get_xml_from_db($query) { global $db_user, $db_host, $db_pass, $debug, $version, $client_db; global $debug; if ($debug) { file_put_contents('xmllib/softphone_debugging.htm', Date("Y-m-d H:i:s") . ": " . $query . "<br><br>", FILE_APPEND | LOCK_EX); } $A = new XML(); $Type = 3; $Encoding = 2; $A->SqlString = $query; //if($debug) file_put_contents('softphone_debugging.htm', Date("H:i:s").": ".$query."<br><br>", FILE_APPEND|LOCK_EX); $A->DB = $client_db; $A->DBuser = $db_user[1]; $A->DBhost = $db_host[1]; $A->DBpassword = $db_pass[1]; $A->Type = $Type; if (!isset($Encoding)) { $A->Encoding = 2; } else { $A->Encoding = $Encoding; } $xml_result = $A->DoXML(); if ($A->IsError == 1) { return -1; } return $xml_result; }
/** * Genere un fichier backup.xml a partir de base dbhost connecte avec l'utilisateur dbuser * et le mot de passe dbpassword sur le serveur dbdefault **/ function xmlbackup() { global $CFG_GLPI, $DB; //on parcoure la DB et on liste tous les noms des tables dans $table //on incremente $query[] de "select * from $table" pour chaque occurence de $table $result = $DB->list_tables(); $i = 0; while ($line = $DB->fetch_row($result)) { $table = $line[0]; $query[$i] = "SELECT *\n FROM `{$table}`"; $i++; } //le nom du fichier a generer... //Si fichier existe deja il sera remplac�par le nouveau $chemin = GLPI_DUMP_DIR . "/backup.xml"; // Creation d'une nouvelle instance de la classe // et initialisation des variables $A = new XML(); // Your query $A->SqlString = $query; //File path $A->FilePath = $chemin; // Type of layout : 1,2,3,4 // For details about Type see file genxml.php if (empty($Type)) { $A->Type = 4; } else { $A->Type = $Type; } //appelle de la methode gerant le fichier XML $A->DoXML(); // Affichage, si erreur affiche erreur //sinon affiche un lien vers le fichier XML genere if ($A->IsError == 1) { printf(__('ERROR:'), $A->ErrorString); } //fin de fonction xmlbackup }