* * * This software is protected by copyright, please * read the file COPYRIGHT. * This program is distributed in the hope that it * will be useful, but without any warranty; without * even the implied warranty of merchantability or * fitness for a particular purpose. Please * read the file LICENCE. * * Ce fichier contient la gestion de BackupDb (Factory+Modéle) * * @author Rooty * @since 2005/03/11 * @link www.rooty.me * @version 0.3 * @package package * @subpackage BackupDb * @copyright Copyright © 2009-2018, Rooty */ if ( !defined('SYSTEM_IN') ) { // die("Hacking attempt"); } /** * Classe BackupDbFactory *Usine a BackupDb *Cette classe permet de générer un fichier .sql * @package package * @subpackage BackupDb */ class BackupDb { /** * Création d'un objet BackupDb de type $type (actuellement mysql) * @param chaine type d'objet BackupDb * @param chaine host * @param chaine login * @param chaine password * @param chaine chemin de sauvgarde * @param chaine nom du fichier de sauvegarde * @param chaine nom de la base de données * @return booleen */ function create($type, $host, $login, $password, $chemin, $nom_fichier, $db, $chmod=0775) { if (file_exists($GLOBALS["CONF_LIB_PATH"]."lib/package/backup/".strtolower($type)."backupdb.php")) { includePackage("backup/".strtolower($type)."backupdb.php"); if (!class_exists($type.'BackupDb')) { addError(2,"BackupDbFactory","le fichier de ressource n'est pas valide!", __line__, __file__); return false; } eval('$return=new '.$type.'BackupDb("'.$host.'", "'.$login.'", "'.$password.'", "'.$chemin.'", "'.$nom_fichier.'", "'.$db.'", "'.$chmod.'");'); if (!isset($return) || !is_object($return)) { addError(2,"BackupDbFactory","le fichier de ressource n'est pas valide!", __line__, __file__); return false; } return $return->backup(); }else{ addError(2,"BackupDbFactory","le fichier de ressource n'existe pas!", __line__, __file__); return false; } } /** * Création d'un objet BackupDb de type $type (actuellement mysql) * @param chaine type d'objet BackupDb * @param chaine host * @param chaine login * @param chaine password * @param chaine chemin de sauvgarde * @param chaine nom du fichier de sauvegarde * @param chaine nom de la base de données * @return booleen */ function restore($type, $host,$login,$password,$chemin,$nom_fichier,$db) { if (file_exists($GLOBALS["CONF_LIB_PATH"]."lib/package/backup/".strtolower($type)."backupdb.php")) { includePackage("backup/".strtolower($type)."backupdb.php"); if (!class_exists($type.'BackupDb')) { addError(2,"BackupDbFactory","le fichier de ressource n'est pas valide!", __line__, __file__); return false; } eval('$return=new '.$type.'BackupDb("'.$host.'", "'.$login.'", "'.$password.'", "'.$chemin.'", "'.$nom_fichier.'", "'.$db.'");'); if (!isset($return) || !is_object($return)) { addError(2,"BackupDbFactory","le fichier de ressource n'est pas valide!", __line__, __file__); return false; } return $return->restore(); }else{ addError(2,"BackupDbFactory","le fichier de ressource n'existe pas!", __line__, __file__); return false; } } /** * Création d'une sauvegarde fichier de la base courante!! * Le type de la base est défini dans conf/conf.data_source.php
* Utilisation:
* $var=BackupDbFactory::createBackup("data/", "test.sql"); * @param chaine host * @param chaine login * @param chaine password * @param chaine chemin de sauvgarde * @param chaine nom du fichier de sauvegarde * @param chaine nom de la base de données * @return booleen */ function createBackupDb($chemin, $nom_fichier) { if (defined("DATA_SOURCE_DB_TYPE")){ return BackupDb::create(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; } } /** * Restoration d'une sauvegarde DB dans la base courante!! * Le type de la base est défini dans conf/conf.data_source.php
* Utilisation:
* $var=BackupDbFactory::createBackup("data/", "test.sql"); * @param chaine host * @param chaine login * @param chaine password * @param chaine chemin de sauvgarde * @param chaine nom du fichier de sauvegarde * @param chaine nom de la base de données * @return booleen */ function restoreBackUpDb($chemin,$nom_fichier){ if (defined("DATA_SOURCE_SQL_TYPE")){ return BackupDb::restore(DATA_SOURCE_SQL_TYPE, DATA_SOURCE_SQL_SERVER, DATA_SOURCE_SQL_USER, DATA_SOURCE_SQL_PASSWORD,$chemin,$nom_fichier, DATA_SOURCE_SQL_DATABASE); }else{ return false; } } } /** * Classe BackupDb *classe de gestion des BackupDb (BD) * Interface pour les ressources DB type mysql etc. voir dans /backupdb * @package package * @subpackage BackupDb */ class CommonBackupDb { // // Attributs // /** * @var entier * @access private */ var $host = ""; /** * @var entier * @access private */ var $login = ""; /** * @var entier * @access private */ var $passwd = ""; /** * @var entier * @access private */ var $path = ""; /** * @var entier * @access private */ var $file = ""; /** * @var entier * @access private */ var $db = ""; /** * @var entier * @access private */ var $perm = ""; // // Constructeur // /** * Constructeur * @param chaine host * @param chaine login * @param chaine password * @param chaine chemin de sauvgarde * @param chaine nom du fichier de sauvegarde * @param chaine nom de la base de données * @return booleen */ function CommonBackupDb($host,$login,$password,$chemin,$nom_fichier,$db, $chmod=0775) { $this->__construct($host,$login,$password,$chemin,$nom_fichier,$db, $chmod); } /** * Constructeur * @param chaine host * @param chaine login * @param chaine password * @param chaine chemin de sauvgarde * @param chaine nom du fichier de sauvegarde * @param chaine nom de la base de données * @return booleen */ function __construct($host,$login,$password,$chemin,$nom_fichier,$db, $chmod=0775) { $this->host=$host; $this->login=$login; $this->passwd=$password; $this->path=$chemin; $this->file=$nom_fichier; $this->db=$db; $this->perm=$chmod; } /** * Création d'une sauvegarde * @return booleen */ function backup() { } /** * Restauration d'une sauvegarde * @return booleen */ function restore() { } } ?>