From ced1889f6b5cf243828a5dbc595134fffbbc6355 Mon Sep 17 00:00:00 2001 From: Carlos Alvarado Date: Mon, 23 Nov 2020 13:13:26 -0500 Subject: [PATCH 1/3] Document : Comment basename($document_to_move['path']) to prevent twice folder #3596 - refs GH#3596 --- main/document/document.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/document/document.php b/main/document/document.php index 6fc44a1ef7..0343dba7af 100755 --- a/main/document/document.php +++ b/main/document/document.php @@ -1165,7 +1165,7 @@ if ($isAllowedToEdit || $groupMemberWithUploadRights || DocumentManager::updateDbInfo( 'update', $document_to_move['path'], - $moveTo.'/'.basename($document_to_move['path']) + $moveTo.'/' // .basename($document_to_move['path']) ); // Update database item property From 69ac604ae15cc2c998c1362e9601af40ce45358a Mon Sep 17 00:00:00 2001 From: Carlos Alvarado Date: Tue, 24 Nov 2020 09:04:38 -0500 Subject: [PATCH 2/3] Document : Move only a link instead all links #3596 - refs GH#3596 --- main/document/document.php | 4 +++- main/inc/lib/document.lib.php | 13 +++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/main/document/document.php b/main/document/document.php index 0343dba7af..7af7ba3659 100755 --- a/main/document/document.php +++ b/main/document/document.php @@ -1165,8 +1165,10 @@ if ($isAllowedToEdit || $groupMemberWithUploadRights || DocumentManager::updateDbInfo( 'update', $document_to_move['path'], - $moveTo.'/' // .basename($document_to_move['path']) + $moveTo.'/', + $doc_id ); + // $moveTo.'/' .basename($document_to_move['path']) // Update database item property api_item_property_update( diff --git a/main/inc/lib/document.lib.php b/main/inc/lib/document.lib.php index 1d62901b37..64b22c7bf7 100644 --- a/main/inc/lib/document.lib.php +++ b/main/inc/lib/document.lib.php @@ -6328,14 +6328,16 @@ class DocumentManager * * @author - Hugues Peeters * - * @param string $action - action type require : 'delete' or 'update' - * @param string $old_path - old path info stored to change - * @param string $new_path - new path info to substitute + * @param string $action - action type require : 'delete' or 'update' + * @param string $old_path - old path info stored to change + * @param string $new_path - new path info to substitute + * @param Int $documentId - Id of specific document * * @desc Update the file or directory path in the document db document table */ - public static function updateDbInfo($action, $old_path, $new_path = '') + public static function updateDbInfo($action, $old_path, $new_path = '', $documentId = 0) { + $documentId = (int) $documentId; $dbTable = Database::get_course_table(TABLE_DOCUMENT); $course_id = api_get_course_int_id(); $old_path = Database::escape_string($old_path); @@ -6363,6 +6365,9 @@ class DocumentManager WHERE c_id = $course_id AND (path LIKE BINARY '".$old_path."' OR path LIKE BINARY '".$old_path."/%')"; + if ($documentId != 0) { + $query .= " AND id = $documentId"; + } Database::query($query); break; } From e4cba3d0d5c69d0a89f15d77fbf5833bcf17a8e9 Mon Sep 17 00:00:00 2001 From: Yannick Warnier Date: Fri, 27 Nov 2020 13:36:06 +0100 Subject: [PATCH 3/3] Document: Use iid instead of id in cloud files related query - #3596 --- main/inc/lib/document.lib.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main/inc/lib/document.lib.php b/main/inc/lib/document.lib.php index 64b22c7bf7..d6e0e810d3 100644 --- a/main/inc/lib/document.lib.php +++ b/main/inc/lib/document.lib.php @@ -6331,7 +6331,7 @@ class DocumentManager * @param string $action - action type require : 'delete' or 'update' * @param string $old_path - old path info stored to change * @param string $new_path - new path info to substitute - * @param Int $documentId - Id of specific document + * @param int $documentId - iid of specific document * * @desc Update the file or directory path in the document db document table */ @@ -6366,7 +6366,7 @@ class DocumentManager c_id = $course_id AND (path LIKE BINARY '".$old_path."' OR path LIKE BINARY '".$old_path."/%')"; if ($documentId != 0) { - $query .= " AND id = $documentId"; + $query .= " AND iid = $documentId"; } Database::query($query); break;