shortname: $stredithelpdocs: $currentfile", "$site->fullname", "$stradministration -> ". "$strconfiguration -> $strlanguage -> $stredithelpdocs", 'choosefile.popup', '', true); $currentlang = current_language(); $langdir = "$CFG->dirroot/lang/$currentlang"; $enlangdir = "$CFG->dirroot/lang/en"; error_reporting(0); // Error reporting turned off due to non-existing files // Generate selection for all help and documentation files // Get all files from /docs directory if (! $files = get_directory_list("$CFG->dirroot/lang/en/docs", "CVS")) { error("Could not find English language docs files!"); } $options = array(); foreach ($files as $filekey => $file) { // check all the docs files. $options["docs/$file"] = "docs/$file"; // add (!) if file doesn't exists or is empty if (( !file_exists("$langdir/docs/$file")) || (filesize("$langdir/docs/$file") == 0)) { $options["docs/$file"] .= "$filemissingmark"; } } // Get all files from /help directory if (! $files = get_directory_list("$CFG->dirroot/lang/en/help", "CVS")) { error("Could not find English language help files!"); } foreach ($files as $filekey => $file) { // check all the help files. $options["help/$file"] = "help/$file"; if (!file_exists("$langdir/help/$file")) { $options["help/$file"] .= "$filemissingmark"; } } echo "
"; echo $prevfile; echo popup_form ("$CFG->wwwroot/$CFG->admin/langdoc.php?sesskey=$USER->sesskey&currentfile=", $options, "choosefile", $currentfile, "", "", "", true); echo $nextfile; echo "
"; // Shall I save POSTed data? if (isset($_POST['currentfile'])) { if (confirm_sesskey()) { if (langdoc_save_file($langdir, $currentfile, $_POST['filedata'])) { notify(get_string("changessaved")." ($langdir/$currentfile)", "green"); } else { error("Could not save the file '$currentfile'!", "langdoc.php?currentfile=$currentfile&sesskey=$USER->sesskey"); } } } // Generate textareas if (!empty($currentfile)) { if (!file_exists("$langdir/$currentfile")) { if (!touch("$langdir/$currentfile")) { echo "

".get_string("filemissing", "", "$langdir/$currentfile")."

"; } } if ($f = fopen("$langdir/$currentfile","r+")) { $editable = true; fclose($f); } else { $editable = false; echo "

".get_string("makeeditable", "", "$langdir/$currentfile")."

"; } echo "\n"; if ($fileeditorinline == 1) { echo "\n\n"; } echo "\n\n
\n"; echo "\n"; link_to_popup_window("/lang/en/$currentfile", "popup", get_string("preview")); echo "
\n"; if ($editable) { echo "
"; echo ''; echo ''; } echo "\n"; link_to_popup_window("/lang/$currentlang/$currentfile", "popup", get_string("preview")); echo "
"; if ($editable) { echo '
'; echo ''; } error_reporting($CFG->debug); } print_footer(); ////////////////////////////////////////////////////////////////////// function langdoc_save_file($path, $file, $content) { // $path is a full pathname to the file // $file is the file to overwrite. // $content are data to write global $CFG, $USER; error_reporting(0); if (!$f = fopen("$path/$file","w")) { return false; } error_reporting(7); $content = str_replace("\r", "",$content); // Remove linefeed characters $content = preg_replace("/\n{3,}/", "\n\n", $content); // Collapse runs of blank lines $content = trim($content, "\n"); // Delete leading/trailing lines $content = str_replace("\\","",$content); // Delete all slashes $content = str_replace("%%","%",$content); fwrite($f, $content); fclose($f); // Remove file if its empty if (filesize("$path/$file") == 0) { unlink("$path/$file"); } return true; } ?>