} $real_filename = $q->filename; $format = $q->format; $visible = $q->visible; $extra_path = $q->extra_path; $public = $q->public; if (!(resource_access($visible, $public) or isset($status) and $status == USER_TEACHER)) { not_found($downloadDir); } } // Allow unlimited time for creating the archive set_time_limit(0); if ($format == '.dir') { $real_filename = $real_filename . '.zip'; $dload_filename = $webDir . '/courses/temp/' . safe_filename('zip'); zip_documents_directory($dload_filename, $downloadDir, $can_upload); $delete = true; } elseif ($extra_path) { if ($real_path = common_doc_path($extra_path, true)) { // Common document if (!$common_doc_visible) { forbidden($downloadDir); } $dload_filename = $real_path; $delete = false; } else { // External document - redirect to URL redirect($extra_path); } } else { $dload_filename = $basedir . $downloadDir;
function submit_work($uid, $group_id, $id, $file) { global $groupPath, $langUploadError, $langUploadSuccess, $langBack, $m, $tool_content, $workPath, $group_sql, $webDir, $course_code, $is_editor; $ext = get_file_extension($file); $local_name = greek_to_latin('Group ' . $group_id . (empty($ext) ? '' : '.' . $ext)); $original_filename = Database::get()->querySingle("SELECT filename FROM document WHERE $group_sql AND path = ?s", $file)->filename; $source = $groupPath . $file; $destination = work_secret($id) . "/$local_name"; delete_submissions_by_uid($uid, $group_id, $id, $destination); if (is_dir($source)) { $original_filename = $original_filename . '.zip'; $zip_filename = $webDir . 'courses/temp/' . safe_filename('zip'); zip_documents_directory($zip_filename, $file, $is_editor); $source = $zip_filename; } if (copy($source, "$workPath/$destination")) { Database::get()->query("INSERT INTO assignment_submit (uid, assignment_id, submission_date, submission_ip, file_path, file_name, comments, group_id, grade_comments) VALUES (?d, ?d, NOW(), '$_SERVER[REMOTE_ADDR]', ?s, ?s, ?s, ?d, ''", $uid, $id, $destination, $original_filename, $_POST['comments'], $group_id); $tool_content .="<div class='alert alert-success'>$langUploadSuccess <br>$m[the_file] \"$original_filename\" $m[was_submitted]<br> <a href='index.php?course=$course_code'>$langBack</a></div><br>"; } else { $tool_content .="<div class='alert alert-danger'>$langUploadError<br> <a href='index.php?course=$course_code'>$langBack</a></div><br>"; } }