Implementation du mecanisme dbversion
This commit is contained in:
parent
b84e83f539
commit
3055322daa
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user