From 3606275985e869f3083b0e76214aa2928abb8fc5 Mon Sep 17 00:00:00 2001 From: moodler Date: Wed, 7 Apr 2004 08:33:17 +0000 Subject: [PATCH] More robust handling when creating glossary export files --- mod/glossary/lib.php | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/mod/glossary/lib.php b/mod/glossary/lib.php index c181042a41..0c716e0f4a 100644 --- a/mod/glossary/lib.php +++ b/mod/glossary/lib.php @@ -1529,7 +1529,10 @@ function glossary_print_dynaentry($courseid, $entries, $displayformat = -1) { function glossary_generate_export_file($glossary, $hook = "", $hook = 0) { global $CFG; glossary_check_moddata_dir($glossary); - $h = glossary_open_xml($glossary); + + if (!$h = glossary_open_xml($glossary)) { + error("An error occurred while opening a file to write to."); + } $status = fwrite ($h,glossary_start_tag("INFO",1,true)); fwrite ($h,glossary_full_tag("NAME",2,false,$glossary->name)); @@ -1626,8 +1629,15 @@ function glossary_open_xml($glossary) { //Open for writing - $file = $CFG->dataroot."/$glossary->course/glossary/". clean_filename(strip_tags($glossary->name)) ."/glossary.xml"; - $h = fopen($file,"w"); + $glossaryname = clean_filename(strip_tags($glossary->name)); + $pathname = make_upload_directory("$glossary->course/glossary/$glossaryname"); + $filename = "$pathname/glossary.xml"; + + if (!$h = fopen($filename,"w")) { + notify("Error opening '$filename'"); + return false; + } + //Writes the header $status = fwrite ($h,"\n"); if ($status) { -- 2.39.5