From d7ae9db4637fc6ace80cc51e438c077fa8e55803 Mon Sep 17 00:00:00 2001 From: FHenry Date: Sun, 15 Apr 2012 11:47:57 +0200 Subject: [PATCH 1/4] Correct bug #363 --- htdocs/projet/class/project.class.php | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index b9c81f699ea..bb47ec80fe8 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -439,21 +439,10 @@ class Project extends CommonObject if ($conf->projet->dir_output) { $dir = $conf->projet->dir_output . "/" . $projectref; - $file = $conf->projet->dir_output . "/" . $projectref . "/" . $projectref . ".pdf"; - if (file_exists($file)) - { - dol_delete_preview($this); - - if (!dol_delete_file($file)) - { - $this->error = 'ErrorFailToDeleteFile'; - $this->db->rollback(); - return 0; - } - } + if (file_exists($dir)) { - $res = @dol_delete_dir($dir); + $res = @dol_delete_dir_recursive($dir); if (!$res) { $this->error = 'ErrorFailToDeleteDir'; From cac4d0da6b42554c260eb88d5ba44a784b840061 Mon Sep 17 00:00:00 2001 From: FHenry Date: Sun, 15 Apr 2012 11:51:23 +0200 Subject: [PATCH 2/4] Correct bug 363 --- htdocs/projet/class/project.class.php | 1 - 1 file changed, 1 deletion(-) diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index bb47ec80fe8..6b1fa648f24 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -439,7 +439,6 @@ class Project extends CommonObject if ($conf->projet->dir_output) { $dir = $conf->projet->dir_output . "/" . $projectref; - if (file_exists($dir)) { $res = @dol_delete_dir_recursive($dir); From d66eb5bb23132c9b0c690471553d9fd4174e2b62 Mon Sep 17 00:00:00 2001 From: FHenry Date: Sun, 15 Apr 2012 13:02:31 +0200 Subject: [PATCH 3/4] Corect bug #364 --- htdocs/projet/class/task.class.php | 44 ++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/htdocs/projet/class/task.class.php b/htdocs/projet/class/task.class.php index d1b8c41cb78..d8319d35abe 100644 --- a/htdocs/projet/class/task.class.php +++ b/htdocs/projet/class/task.class.php @@ -319,6 +319,43 @@ class Task extends CommonObject $this->db->rollback(); return 0; } + + //Delete associated link file + + //retreive project ref to know project folder + $sql = "SELECT p.ref"; + $sql.= " FROM ".MAIN_DB_PREFIX."projet_task as t INNER JOIN ".MAIN_DB_PREFIX."projet as p ON p.rowid=t.fk_projet"; + $sql.= " WHERE t.rowid = ".$this->id; + + dol_syslog(get_class($this)."::delete(retreive proj ref) sql=".$sql, LOG_DEBUG); + $resql_projref=$this->db->query($sql); + if ($resql_projref) + { + if ($this->db->num_rows($resql_projref)) + { + $obj = $this->db->fetch_object($resql_projref); + $projectref = $obj->ref; + } + } + $this->db->free($resql_projref); + + if ($conf->projet->dir_output) + { + $dir = $conf->projet->dir_output . "/" . dol_sanitizeFileName($projectref) . '/' . dol_sanitizeFileName($this->id); + dol_syslog(get_class($this)."::delete(retreive proj ref) dir=".$dir, LOG_DEBUG); + if (file_exists($dir)) + { + require_once(DOL_DOCUMENT_ROOT . "/core/lib/files.lib.php"); + $res = @dol_delete_dir_recursive($dir); + if (!$res) + { + $this->error = 'ErrorFailToDeleteDir'; + $this->db->rollback(); + return 0; + } + } + } + if (! $error) { @@ -332,7 +369,8 @@ class Task extends CommonObject return 0; } } - + + // Delete rang of line //$this->delRangOfLine($this->id, $this->element); @@ -368,7 +406,8 @@ class Task extends CommonObject return -1*$error; } else - { + { + $this->db->commit(); return 1; } @@ -395,6 +434,7 @@ class Task extends CommonObject { $obj=$this->db->fetch_object($resql); if ($obj) $ret=$obj->nb; + $this->db->free($resql); } if (! $error) From bf8389144a862aa25653e782b6449140db5b04ba Mon Sep 17 00:00:00 2001 From: FHenry Date: Sun, 15 Apr 2012 16:37:52 +0200 Subject: [PATCH 4/4] correct bug 364 --- htdocs/projet/class/task.class.php | 48 +++++++++++++++--------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/htdocs/projet/class/task.class.php b/htdocs/projet/class/task.class.php index d8319d35abe..6673a7b9b64 100644 --- a/htdocs/projet/class/task.class.php +++ b/htdocs/projet/class/task.class.php @@ -320,8 +320,7 @@ class Task extends CommonObject return 0; } - //Delete associated link file - + //Delete associated link file //retreive project ref to know project folder $sql = "SELECT p.ref"; $sql.= " FROM ".MAIN_DB_PREFIX."projet_task as t INNER JOIN ".MAIN_DB_PREFIX."projet as p ON p.rowid=t.fk_projet"; @@ -338,24 +337,6 @@ class Task extends CommonObject } } $this->db->free($resql_projref); - - if ($conf->projet->dir_output) - { - $dir = $conf->projet->dir_output . "/" . dol_sanitizeFileName($projectref) . '/' . dol_sanitizeFileName($this->id); - dol_syslog(get_class($this)."::delete(retreive proj ref) dir=".$dir, LOG_DEBUG); - if (file_exists($dir)) - { - require_once(DOL_DOCUMENT_ROOT . "/core/lib/files.lib.php"); - $res = @dol_delete_dir_recursive($dir); - if (!$res) - { - $this->error = 'ErrorFailToDeleteDir'; - $this->db->rollback(); - return 0; - } - } - } - if (! $error) { @@ -369,8 +350,7 @@ class Task extends CommonObject return 0; } } - - + // Delete rang of line //$this->delRangOfLine($this->id, $this->element); @@ -406,9 +386,29 @@ class Task extends CommonObject return -1*$error; } else - { - + { $this->db->commit(); + + $this->db->free($resql); + + //Delete associated link file + if ($conf->projet->dir_output) + { + $dir = $conf->projet->dir_output . "/" . dol_sanitizeFileName($projectref) . '/' . dol_sanitizeFileName($this->id); + dol_syslog(get_class($this)."::delete(retreive proj ref) dir=".$dir, LOG_DEBUG); + if (file_exists($dir)) + { + require_once(DOL_DOCUMENT_ROOT . "/core/lib/files.lib.php"); + $res = @dol_delete_dir_recursive($dir); + if (!$res) + { + $this->error = 'ErrorFailToDeleteDir'; + $this->db->rollback(); + return 0; + } + } + } + return 1; } }