@ -780,8 +780,10 @@ class DocumentManager
$sessionId = intval($sessionId);
}
if (!(!empty($document_id) & & is_numeric($document_id) )) {
if (empty($document_id) || !is_numeric($document_id )) {
$document_id = self::get_document_id($_course, $file, $sessionId);
} else {
$document_id = intval($document_id);
}
$TABLE_PROPERTY = Database::get_course_table(TABLE_ITEM_PROPERTY);
@ -936,15 +938,25 @@ class DocumentManager
* @param array $_course
* @param string $path, path stored in the database
* @param string $base_work_dir, path to the documents folder
* @param int $sessionId The ID of the session, if any
* @param int $documentId The document id, if available
* @return boolean true/false
* @todo now only files/folders in a folder get visibility 2, we should rename them too.
*/
public static function delete_document($_course, $path, $base_work_dir, $sessionId = null)
public static function delete_document($_course, $path = null , $base_work_dir, $sessionId = null, $document Id = null)
{
$TABLE_DOCUMENT = Database :: get_course_table(TABLE_DOCUMENT);
if (empty($path) || empty($base_work_dir)) {
return false;
// @todo We should be able to get rid of this later when using only documentId (check further usage)
if (empty ($documentId)) {
if (empty($path) || empty($base_work_dir)) {
return false;
}
} else {
if (empty($base_work_dir)) {
return false;
}
$docInfo = self::get_document_data_by_id($documentId, $_course['code'], false, $sessionId);
$path = $docInfo['path'];
}
$course_id = $_course['real_id'];
@ -960,7 +972,11 @@ class DocumentManager
}
// First, delete the actual document.
$document_id = self::get_document_id($_course, $path, $sessionId);
if (empty($documentId)) {
$document_id = self::get_document_id($_course, $path, $sessionId);
} else {
$document_id = intval($documentId);
}
if (empty($document_id)) {
return false;
@ -1045,6 +1061,7 @@ class DocumentManager
}
// Checking inconsistency
//error_log('Doc status: (1 del db :'.($file_deleted_from_db?'yes':'no').') - (2 del disk: '.($file_deleted_from_disk?'yes':'no').') - (3 ren disk: '.($file_renamed_from_disk?'yes':'no').')');
if ($file_deleted_from_db & & $file_deleted_from_disk ||
$file_deleted_from_db & & $file_renamed_from_disk
) {
@ -1137,7 +1154,7 @@ class DocumentManager
return false;
}
if (empty($session_id)) {
if (! empty($session_id)) {
$session_id = intval($session_id);
} else {
$session_id = api_get_session_id();