From 94b9a1ca02a26092b305b6e78ac4c24a99d2faa7 Mon Sep 17 00:00:00 2001 From: paca70 Date: Thu, 19 Feb 2004 10:13:07 +0000 Subject: [PATCH] First changes for creating help-translation system. http://site/files/index.php?fi=lang shows now selected language "lang" files. --- files/index.php | 48 ++++++++++++++++++++++++++++++++++++++--------- lib/moodlelib.php | 9 +++++++-- 2 files changed, 46 insertions(+), 11 deletions(-) diff --git a/files/index.php b/files/index.php index 53332d4d81..9ff6e6192c 100644 --- a/files/index.php +++ b/files/index.php @@ -14,14 +14,31 @@ optional_variable($wdir, ""); optional_variable($action, ""); - if (! $course = get_record("course", "id", $id) ) { - error("That's an invalid course id"); - } + if (! is_numeric($id)) { + // editing language + if (! isadmin()) { + error ("You must be site administrator to edit translations"); + } + + //$activelangs = get_list_of_languages(); + //if (! in_array($id, $activelangs)) { + // error("Selected translation is inactive. $activelangs"); + //} + + // Create "fake" course + $course = new object; + $course->id = $id; + + } else { + if (! $course = get_record("course", "id", $id) ) { + error("That's an invalid course id"); + } - require_login($course->id); + require_login($course->id); - if (! isteacheredit($course->id) ) { - error("You need to be a teacher with editing privileges"); + if (! isteacheredit($course->id) ) { + error("You need to be a teacher with editing privileges"); + } } function html_footer() { @@ -40,6 +57,8 @@ if ($course->id == $site->id) { $strfiles = get_string("sitefiles"); + } else if (! is_numeric($course->id)){ + $strfiles = $course->id; } else { $strfiles = get_string("files"); } @@ -76,8 +95,13 @@ echo ""; echo ""; } - - if (! $basedir = make_upload_directory("$course->id")) { + + if (is_numeric($id)) { + $fileroot = $CFG->dataroot ; + } else { + $fileroot = $CFG->dirroot."/lang"; + } + if (! $basedir = mdl_mkdir($fileroot, "$course->id")) { error("The site administrator needs to fix the file permissions"); } @@ -657,9 +681,15 @@ function displaydir ($wdir) { $fullpath = $basedir.$wdir; + $dontshow = array ("." , ".."); + + if (! is_numeric($id)) { //editing language files + array_push($dontshow, "CVS"); + } + $directory = opendir($fullpath); // Find all files while ($file = readdir($directory)) { - if ($file == "." || $file == "..") { + if (in_array($file , $dontshow)) { continue; } diff --git a/lib/moodlelib.php b/lib/moodlelib.php index bb6ff02428..c81408160b 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -1386,8 +1386,14 @@ function make_upload_directory($directory) { return false; } } + $currdir = mdl_mkdir($currdir, $directory); + return $currdir; +} - $dirarray = explode("/", $directory); +function mdl_mkdir($currdir, $directory) { +//Makes directory (or multiple directorys at once) + + $dirarray = explode("/", $directory); foreach ($dirarray as $dir) { $currdir = "$currdir/$dir"; @@ -1402,7 +1408,6 @@ function make_upload_directory($directory) { return $currdir; } - function make_mod_upload_directory($courseid) { /// Makes an upload directory for a particular module global $CFG; -- 2.39.5