diff --git a/main/work/work.lib.php b/main/work/work.lib.php index e1ecae53f9..d83460078e 100755 --- a/main/work/work.lib.php +++ b/main/work/work.lib.php @@ -1062,7 +1062,7 @@ function create_unexisting_work_directory($base_work_dir, $desired_dir_name) { /** * Delete a work-tool directory - * @param string Base "work" directory for this course as /var/www/dokeos/courses/ABCD/work/ + * @param string Base "work" directory for this course as /var/www/chamilo/courses/ABCD/work/ * @param string The directory name as the bit after "work/", without trailing slash * @return integer -1 on error */ @@ -1076,21 +1076,27 @@ function del_dir($base_work_dir, $dir, $id) { return -1; } $table = Database::get_course_table(TABLE_STUDENT_PUBLICATION); - $sql = "DELETE FROM $table WHERE url LIKE BINARY 'work/".$dir."/%'"; - $res = Database::query($sql); - - //delete from DB the directories - $sql = "DELETE FROM $table WHERE filetype = 'folder' AND url LIKE BINARY '/".$dir."%'"; - $res = Database::query($sql); - - require_once api_get_path(LIBRARY_PATH).'fileManage.lib.php'; - $new_dir = $dir.'_DELETED_'.$id; - if (api_get_setting('permanently_remove_deleted_files') == 'true'){ - my_delete($base_work_dir.$dir); - } else { - if (file_exists($base_work_dir.$dir)) { - rename($base_work_dir.$dir, $base_work_dir.$new_dir); - } + + //Deleting the folder + $url_path = get_work_path($id); + if (!empty($url_path) && $url_path != -1) { + + //Deleting all contents inside the folder + $sql = "DELETE FROM $table WHERE url LIKE BINARY 'work/".$dir."/%'"; + $res = Database::query($sql); + + $sql = "DELETE FROM $table WHERE filetype = 'folder' AND id = $id"; + $res = Database::query($sql); + + require_once api_get_path(LIBRARY_PATH).'fileManage.lib.php'; + $new_dir = $dir.'_DELETED_'.$id; + if (api_get_setting('permanently_remove_deleted_files') == 'true'){ + my_delete($base_work_dir.$dir); + } else { + if (file_exists($base_work_dir.$dir)) { + rename($base_work_dir.$dir, $base_work_dir.$new_dir); + } + } } } @@ -1103,12 +1109,11 @@ function get_work_path($id) { $table = Database::get_course_table(TABLE_STUDENT_PUBLICATION); $sql = 'SELECT url FROM '.$table.' WHERE id='.intval($id); $res = Database::query($sql); - if (Database::num_rows($res) != 1) { - return -1; - } else { - $row = Database::fetch_array($res); - return $row['url']; + if (Database::num_rows($res)) { + $row = Database::fetch_array($res); + return $row['url']; } + return -1; } /**