Implémenation de la suppression

This commit is contained in:
Rodolphe Quiedeville 2004-12-15 10:35:59 +00:00
parent 0b94a88f1c
commit 2099c1863e

View File

@ -448,22 +448,81 @@ class Societe {
function delete($id) function delete($id)
{ {
dolibarr_syslog("Societe::Delete");
$sqr = 0;
if ( $this->db->query("BEGIN") )
{
$sql = "DELETE from ".MAIN_DB_PREFIX."socpeople ";
$sql .= " WHERE fk_soc = " . $id .";";
if ($this->db->query($sql))
{
$sqr++;
}
else
{
$this->error_message .= "Impossible de supprimer les contacts.\n";
dolibarr_syslog("Societe::Delete erreur -1");
}
$sql = "DELETE from ".MAIN_DB_PREFIX."societe_rib ";
$sql .= " WHERE fk_soc = " . $id .";";
if ($this->db->query($sql))
{
$sqr++;
}
else
{
$this->error_message .= "Impossible de supprimer le RIB.\n";
dolibarr_syslog("Societe::Delete erreur -2");
}
$sql = "DELETE from ".MAIN_DB_PREFIX."societe "; $sql = "DELETE from ".MAIN_DB_PREFIX."societe ";
$sql .= " WHERE idp = " . $id .";"; $sql .= " WHERE idp = " . $id .";";
if (! $this->db->query($sql)) if ($this->db->query($sql))
{ {
dolibarr_print_error($this->db); $sqr++;
} }
else
{
$this->error_message .= "Impossible de supprimer la société.\n";
dolibarr_syslog("Societe::Delete erreur -3");
}
if ($sqr == 3)
{
$this->db->query("COMMIT");
// Suppression du répertoire document // Suppression du répertoire document
$docdir = SOCIETE_OUTPUTDIR . "/$id"; $docdir = SOCIETE_OUTPUTDIR . "/$id";
// Cette fonction permet de supprimer le répertoire de la societe if (file_exists ($docdir))
// Meme s'il contient des documents. {
$this->deldir($docdir);
}
return 0;
}
else
{
$this->db->query("ROLLBACK");
return -1;
}
}
}
/*
* Cette fonction permet de supprimer le répertoire de la societe
* Meme s'il contient des documents.
*/
function deldir($dir) function deldir($dir)
{ {
$current_dir = opendir($dir); $current_dir = opendir($dir);
while($entryname = readdir($current_dir)) while($entryname = readdir($current_dir))
{ {
if(is_dir("$dir/$entryname") and ($entryname != "." and $entryname!="..")) if(is_dir("$dir/$entryname") and ($entryname != "." and $entryname!=".."))
@ -479,18 +538,11 @@ class Societe {
rmdir(${dir}); rmdir(${dir});
} }
if (file_exists ($docdir))
{
deldir($docdir);
}
}
/** /**
* \brief Retournes les factures impayées de la société * \brief Retournes les factures impayées de la société
* \return array tableau des id de factures impayées * \return array tableau des id de factures impayées
* *
*/ */
function factures_impayes() function factures_impayes()
{ {
$facimp = array(); $facimp = array();