Implementation du mecanisme dbversion

This commit is contained in:
Rodolphe Quiedeville 2005-04-08 14:48:37 +00:00
parent b84e83f539
commit 3055322daa

View File

@ -45,9 +45,30 @@ class DolibarrModules
function DolibarrModules($DB) function DolibarrModules($DB)
{ {
$this->db = $DB ; $this->db = $DB ;
$this->dbversion = "-";
} }
function _dbactive()
{
$err = 0;
$sql_del = "DELETE FROM ".MAIN_DB_PREFIX."dolibarr_modules WHERE numero=".$this->numero.";";
$this->db->query($sql_del);
$sql ="INSERT INTO ".MAIN_DB_PREFIX."dolibarr_modules (numero,active,active_date,active_version)";
$sql .= " VALUES (";
$sql .= $this->numero.",1,now(),'".$this->version."')";
$this->db->query($sql);
}
function _dbunactive()
{
$err = 0;
$sql_del = "DELETE FROM ".MAIN_DB_PREFIX."dolibarr_modules WHERE numero=".$this->numero.";";
$this->db->query($sql_del);
}
/** \brief Fonction d'activation. Insère en base les constantes et boites du module /** \brief Fonction d'activation. Insère en base les constantes et boites du module
* \param array_sql tableau de requete sql a exécuter à l'activation * \param array_sql tableau de requete sql a exécuter à l'activation
*/ */
@ -55,6 +76,8 @@ class DolibarrModules
{ {
global $langs; global $langs;
$this->_dbactive();
// Insère les constantes // Insère les constantes
$err = 0; $err = 0;
$sql_del = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = '".$this->const_name."';"; $sql_del = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = '".$this->const_name."';";
@ -227,6 +250,8 @@ class DolibarrModules
{ {
$err = 0; $err = 0;
$this->_dbunactive();
// Supprime la constante d'activation du module // Supprime la constante d'activation du module
$sql = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = '".$this->const_name."'"; $sql = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = '".$this->const_name."'";
if (!$this->db->query($sql)) if (!$this->db->query($sql))
@ -333,5 +358,28 @@ class DolibarrModules
elseif ($this->version) return $this->version; elseif ($this->version) return $this->version;
else return $langs->trans("Unknown"); else return $langs->trans("Unknown");
} }
function getDbVersion()
{
$sql ="SELECT active_version FROM ".MAIN_DB_PREFIX."dolibarr_modules";
$sql .= " WHERE numero=".$this->numero." AND active = 1";
$resql = $this->db->query($sql);
if ($resql)
{
$num = $this->db->num_rows($resql);
if ($num > 0)
{
$row = $this->db->fetch_row($resql);
$this->dbversion = $row[0];
}
$this->db->free($resql);
}
return $this->dbversion;
}
} }
?> ?>