|
|
|
|
@ -600,8 +600,8 @@ class DocumentManager |
|
|
|
|
docs.id = last.ref AND |
|
|
|
|
docs.c_id = last.c_id |
|
|
|
|
) |
|
|
|
|
WHERE |
|
|
|
|
last.tool = '".TOOL_DOCUMENT."' AND |
|
|
|
|
WHERE |
|
|
|
|
last.tool = '".TOOL_DOCUMENT."' AND |
|
|
|
|
docs.c_id = {$courseInfo['real_id']} AND |
|
|
|
|
last.c_id = {$courseInfo['real_id']} AND |
|
|
|
|
docs.path LIKE '".Database::escape_string($path.$addedSlash.'%')."' AND |
|
|
|
|
@ -776,7 +776,7 @@ class DocumentManager |
|
|
|
|
docs.id = last.ref AND |
|
|
|
|
docs.c_id = last.c_id |
|
|
|
|
) |
|
|
|
|
WHERE |
|
|
|
|
WHERE |
|
|
|
|
last.tool = '".TOOL_DOCUMENT."' AND |
|
|
|
|
last.c_id = {$_course['real_id']} AND |
|
|
|
|
docs.c_id = {$_course['real_id']} AND |
|
|
|
|
@ -784,7 +784,7 @@ class DocumentManager |
|
|
|
|
$groupCondition AND |
|
|
|
|
docs.path NOT LIKE '%shared_folder%' AND |
|
|
|
|
docs.path NOT LIKE '%_DELETED_%' AND |
|
|
|
|
last.visibility <> 2 |
|
|
|
|
last.visibility <> 2 |
|
|
|
|
$condition_session "; |
|
|
|
|
} else { |
|
|
|
|
$sql = "SELECT DISTINCT docs.id, path |
|
|
|
|
@ -792,7 +792,7 @@ class DocumentManager |
|
|
|
|
INNER JOIN $TABLE_DOCUMENT AS docs |
|
|
|
|
ON ( |
|
|
|
|
docs.id = last.ref AND |
|
|
|
|
docs.c_id = last.c_id |
|
|
|
|
docs.c_id = last.c_id |
|
|
|
|
) |
|
|
|
|
WHERE |
|
|
|
|
last.tool = '".TOOL_DOCUMENT."' AND |
|
|
|
|
@ -802,8 +802,8 @@ class DocumentManager |
|
|
|
|
docs.path NOT LIKE '%_DELETED_%' AND |
|
|
|
|
$groupCondition AND |
|
|
|
|
last.visibility <> 2 |
|
|
|
|
$show_users_condition |
|
|
|
|
$condition_session |
|
|
|
|
$show_users_condition |
|
|
|
|
$condition_session |
|
|
|
|
"; |
|
|
|
|
} |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
@ -852,7 +852,7 @@ class DocumentManager |
|
|
|
|
//get visible folders |
|
|
|
|
$sql = "SELECT DISTINCT docs.id, path |
|
|
|
|
FROM |
|
|
|
|
$TABLE_ITEMPROPERTY AS last |
|
|
|
|
$TABLE_ITEMPROPERTY AS last |
|
|
|
|
INNER JOIN $TABLE_DOCUMENT AS docs |
|
|
|
|
ON (docs.id = last.ref AND last.c_id = docs.c_id) |
|
|
|
|
WHERE |
|
|
|
|
@ -878,10 +878,10 @@ class DocumentManager |
|
|
|
|
|
|
|
|
|
//get invisible folders |
|
|
|
|
$sql = "SELECT DISTINCT docs.id, path |
|
|
|
|
FROM $TABLE_ITEMPROPERTY AS last |
|
|
|
|
FROM $TABLE_ITEMPROPERTY AS last |
|
|
|
|
INNER JOIN $TABLE_DOCUMENT AS docs |
|
|
|
|
ON (docs.id = last.ref AND last.c_id = docs.c_id) |
|
|
|
|
WHERE |
|
|
|
|
WHERE |
|
|
|
|
docs.filetype = 'folder' AND |
|
|
|
|
last.tool = '".TOOL_DOCUMENT."' AND |
|
|
|
|
$groupCondition AND |
|
|
|
|
@ -893,10 +893,10 @@ class DocumentManager |
|
|
|
|
while ($row = Database::fetch_array($result, 'ASSOC')) { |
|
|
|
|
//get visible folders in the invisible ones -> they are invisible too |
|
|
|
|
$sql = "SELECT DISTINCT docs.id, path |
|
|
|
|
FROM $TABLE_ITEMPROPERTY AS last |
|
|
|
|
FROM $TABLE_ITEMPROPERTY AS last |
|
|
|
|
INNER JOIN $TABLE_DOCUMENT AS docs |
|
|
|
|
ON (docs.id = last.ref AND docs.c_id = last.c_id) |
|
|
|
|
WHERE |
|
|
|
|
WHERE |
|
|
|
|
docs.path LIKE '".Database::escape_string($row['path'].'/%')."' AND |
|
|
|
|
docs.filetype = 'folder' AND |
|
|
|
|
last.tool = '".TOOL_DOCUMENT."' AND |
|
|
|
|
@ -972,13 +972,13 @@ class DocumentManager |
|
|
|
|
$path = Database::escape_string($file); |
|
|
|
|
// Check |
|
|
|
|
$sql = "SELECT td.id, readonly, tp.insert_user_id |
|
|
|
|
FROM $TABLE_DOCUMENT td |
|
|
|
|
FROM $TABLE_DOCUMENT td |
|
|
|
|
INNER JOIN $TABLE_PROPERTY tp |
|
|
|
|
ON (td.c_id = tp.c_id AND tp.ref= td.id) |
|
|
|
|
WHERE |
|
|
|
|
td.c_id = $course_id AND |
|
|
|
|
tp.c_id = $course_id AND |
|
|
|
|
td.session_id = $sessionId AND |
|
|
|
|
td.session_id = $sessionId AND |
|
|
|
|
(path='".$path."' OR path LIKE BINARY '".$path."/%' ) "; |
|
|
|
|
// Get all id's of documents that are deleted |
|
|
|
|
$what_to_check_result = Database::query($sql); |
|
|
|
|
@ -1008,13 +1008,13 @@ class DocumentManager |
|
|
|
|
|
|
|
|
|
if (!empty($document_id)) { |
|
|
|
|
$sql = "SELECT a.insert_user_id, b.readonly |
|
|
|
|
FROM $TABLE_PROPERTY a |
|
|
|
|
FROM $TABLE_PROPERTY a |
|
|
|
|
INNER JOIN $TABLE_DOCUMENT b |
|
|
|
|
ON (a.c_id = b.c_id AND a.ref= b.id) |
|
|
|
|
WHERE |
|
|
|
|
a.c_id = $course_id AND |
|
|
|
|
b.c_id = $course_id AND |
|
|
|
|
a.ref = $document_id |
|
|
|
|
a.ref = $document_id |
|
|
|
|
LIMIT 1"; |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
$doc_details = Database::fetch_array($result, 'ASSOC'); |
|
|
|
|
@ -1636,7 +1636,7 @@ class DocumentManager |
|
|
|
|
INNER JOIN $propTable ip |
|
|
|
|
ON (d.id = ip.ref AND d.c_id = ip.c_id) |
|
|
|
|
WHERE |
|
|
|
|
d.c_id = $course_id AND |
|
|
|
|
d.c_id = $course_id AND |
|
|
|
|
ip.c_id = $course_id AND |
|
|
|
|
ip.tool = '".TOOL_DOCUMENT."' $condition AND |
|
|
|
|
filetype = '$file_type' AND |
|
|
|
|
@ -2158,7 +2158,7 @@ class DocumentManager |
|
|
|
|
{ |
|
|
|
|
$tbl_document = Database::get_course_table(TABLE_DOCUMENT); |
|
|
|
|
$course_id = api_get_course_int_id(); |
|
|
|
|
$sql = "SELECT id FROM $tbl_document |
|
|
|
|
$sql = "SELECT id FROM $tbl_document |
|
|
|
|
WHERE c_id = $course_id AND path='/certificates' "; |
|
|
|
|
$rs = Database::query($sql); |
|
|
|
|
$row = Database::fetch_array($rs); |
|
|
|
|
@ -2911,7 +2911,8 @@ class DocumentManager |
|
|
|
|
$index_document = false, |
|
|
|
|
$show_output = false, |
|
|
|
|
$fileKey = 'file', |
|
|
|
|
$treat_spaces_as_hyphens = true |
|
|
|
|
$treat_spaces_as_hyphens = true, |
|
|
|
|
$recordAudio = false |
|
|
|
|
) { |
|
|
|
|
$course_info = api_get_course_info(); |
|
|
|
|
$sessionId = api_get_session_id(); |
|
|
|
|
@ -2919,6 +2920,11 @@ class DocumentManager |
|
|
|
|
$sys_course_path = api_get_path(SYS_COURSE_PATH); |
|
|
|
|
$base_work_dir = $sys_course_path.$course_dir; |
|
|
|
|
|
|
|
|
|
if ($recordAudio) { |
|
|
|
|
$base_work_dir = $sys_course_path.$course_info['path'].'/exercises'; |
|
|
|
|
$path = str_replace('/../exercises/', '/', $path); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($files[$fileKey])) { |
|
|
|
|
$uploadOk = process_uploaded_file($files[$fileKey], $show_output); |
|
|
|
|
if ($uploadOk) { |
|
|
|
|
@ -3195,7 +3201,7 @@ class DocumentManager |
|
|
|
|
features: [\'playpause\'], |
|
|
|
|
audioWidth: 30, |
|
|
|
|
audioHeight: 30, |
|
|
|
|
success: function(mediaElement, originalNode, instance) { |
|
|
|
|
success: function(mediaElement, originalNode, instance) { |
|
|
|
|
} |
|
|
|
|
});'; |
|
|
|
|
|
|
|
|
|
@ -3370,7 +3376,7 @@ class DocumentManager |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$sql = "SELECT DISTINCT last.visibility, docs.* |
|
|
|
|
FROM $tbl_item_prop AS last |
|
|
|
|
FROM $tbl_item_prop AS last |
|
|
|
|
INNER JOIN $tbl_doc AS docs |
|
|
|
|
ON (docs.id = last.ref AND docs.c_id = last.c_id) |
|
|
|
|
WHERE |
|
|
|
|
@ -4910,11 +4916,11 @@ class DocumentManager |
|
|
|
|
} |
|
|
|
|
$folder_sql = implode("','", $escaped_folders); |
|
|
|
|
|
|
|
|
|
$sql = "SELECT path, title |
|
|
|
|
$sql = "SELECT path, title |
|
|
|
|
FROM $doc_table |
|
|
|
|
WHERE |
|
|
|
|
filetype = 'folder' AND |
|
|
|
|
c_id = $course_id AND |
|
|
|
|
WHERE |
|
|
|
|
filetype = 'folder' AND |
|
|
|
|
c_id = $course_id AND |
|
|
|
|
path IN ('".$folder_sql."')"; |
|
|
|
|
$res = Database::query($sql); |
|
|
|
|
$folder_titles = []; |
|
|
|
|
@ -6201,8 +6207,8 @@ class DocumentManager |
|
|
|
|
$new_path = Database::escape_string($new_path); |
|
|
|
|
$query = "UPDATE $dbTable SET |
|
|
|
|
path = CONCAT('".$new_path."', SUBSTRING(path, LENGTH('".$old_path."')+1) ) |
|
|
|
|
WHERE |
|
|
|
|
c_id = $course_id AND |
|
|
|
|
WHERE |
|
|
|
|
c_id = $course_id AND |
|
|
|
|
(path LIKE BINARY '".$old_path."' OR path LIKE BINARY '".$old_path."/%')"; |
|
|
|
|
Database::query($query); |
|
|
|
|
break; |
|
|
|
|
@ -6280,11 +6286,11 @@ class DocumentManager |
|
|
|
|
|
|
|
|
|
$sql = "SELECT SUM(table1.size) FROM ( |
|
|
|
|
SELECT props.ref, size |
|
|
|
|
FROM $table_itemproperty AS props |
|
|
|
|
FROM $table_itemproperty AS props |
|
|
|
|
INNER JOIN $table_document AS docs |
|
|
|
|
ON (docs.id = props.ref AND docs.c_id = props.c_id) |
|
|
|
|
WHERE |
|
|
|
|
docs.c_id = $course_id AND |
|
|
|
|
docs.c_id = $course_id AND |
|
|
|
|
docs.path LIKE '$path/%' AND |
|
|
|
|
props.c_id = $course_id AND |
|
|
|
|
props.tool = '$tool_document' AND |
|
|
|
|
@ -6405,12 +6411,12 @@ class DocumentManager |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!empty($courseId) && !empty($path)) { |
|
|
|
|
$sql = "SELECT id FROM $table |
|
|
|
|
WHERE |
|
|
|
|
c_id = $courseId AND |
|
|
|
|
path LIKE BINARY '$path' AND |
|
|
|
|
comment = '$url' AND |
|
|
|
|
filetype = 'link' |
|
|
|
|
$sql = "SELECT id FROM $table |
|
|
|
|
WHERE |
|
|
|
|
c_id = $courseId AND |
|
|
|
|
path LIKE BINARY '$path' AND |
|
|
|
|
comment = '$url' AND |
|
|
|
|
filetype = 'link' |
|
|
|
|
LIMIT 1"; |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
if ($result && Database::num_rows($result)) { |
|
|
|
|
@ -6505,10 +6511,10 @@ class DocumentManager |
|
|
|
|
ON ( |
|
|
|
|
docs.c_id = c.id |
|
|
|
|
) |
|
|
|
|
WHERE |
|
|
|
|
last.tool = '".TOOL_DOCUMENT."' AND |
|
|
|
|
WHERE |
|
|
|
|
last.tool = '".TOOL_DOCUMENT."' AND |
|
|
|
|
last.insert_user_id = $userId AND |
|
|
|
|
docs.path NOT LIKE '%_DELETED_%' |
|
|
|
|
docs.path NOT LIKE '%_DELETED_%' |
|
|
|
|
ORDER BY c.directory, docs.path |
|
|
|
|
"; |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
|