Update of /cvsroot/aimmath/AIM/WEB-INF/maple/aim/admin
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16947/maple/aim/admin
Modified Files:
Tag: aim-xml
Generate.mpl Quiz.mpl Register.mpl SourceDir.mpl
SourceFile.mpl Subject.mpl SubjectHome.mpl Zone.mpl
ZoneAdminHome.mpl ZoneStudentHome.mpl
Log Message:
Many small changes, especially to error handling
Index: Subject.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/aim/admin/Subject.mpl,v
retrieving revision 1.5.4.2
retrieving revision 1.5.4.3
diff -C2 -d -r1.5.4.2 -r1.5.4.3
*** Subject.mpl 10 Mar 2005 21:13:55 -0000 1.5.4.2
--- Subject.mpl 31 Mar 2005 12:38:13 -0000 1.5.4.3
***************
*** 332,341 ****
if `OS/FileExists`(subjectdir) then
subjectfile := cat(subjectdir,"/",subjectname,".m");
! subject := traperror(eval(AimCache['Load',subjectfile]));
! if type(subject,`aim/Subject`) then
page['SetAlert',__("Subject %s exists already."),subjectname];
action := "LoadSubjectOptions";
else
- subject := NULL;
page['SetAlert',__("Using preexisting directory.")];
fi;
--- 332,345 ----
if `OS/FileExists`(subjectdir) then
subjectfile := cat(subjectdir,"/",subjectname,".m");
! subject := NULL;
! try
! subject := eval(AimCache['Load',subjectfile]);
! catch:
! end try;
!
! if type([subject],[`aim/Subject`]) then
page['SetAlert',__("Subject %s exists already."),subjectname];
action := "LoadSubjectOptions";
else
page['SetAlert',__("Using preexisting directory.")];
fi;
***************
*** 352,368 ****
# get here if that file was not successfully read. No
# other information will be destroyed.
! err := traperror(subject['CreateRoot']);
! if err = lasterror then
page['SetError',
cat(__("Error while creating subject %s:"),"\n<br/>\n%s<br/>\n"),
! subjectname,err];
! RETURN();
! fi;
fi;
else # action <> CreateSubject
subjectname := p["SubjectName"];
! subject := traperror(eval(DefaultZone['GetSubject',subjectname]));
! if subject = lasterror or not(type(subject,`aim/Subject`)) then
page['SetError',
__("Could not load subject %A."),
--- 356,378 ----
# get here if that file was not successfully read. No
# other information will be destroyed.
! try
! subject['CreateRoot'];
! catch:
page['SetError',
cat(__("Error while creating subject %s:"),"\n<br/>\n%s<br/>\n"),
! subjectname,
! StringTools[FormatMessage](lastexception[2..-1])];
! return();
! end try;
fi;
else # action <> CreateSubject
subjectname := p["SubjectName"];
! subject := NULL;
! try
! subject := eval(DefaultZone['GetSubject',subjectname]);
! catch:
! end try;
! if not(type([subject],[`aim/Subject`])) then
page['SetError',
__("Could not load subject %A."),
***************
*** 371,375 ****
fi;
fi;
-
if action = "ToggleQuiz" then
--- 381,384 ----
***************
*** 382,390 ****
elif action = "DeleteQuiz" then
nam := p["QuizName"];
! err := traperror(
! `OS/RemoveDirectory`(cat(subject['RootDir'],"/quizzes/",nam)));
! if err = lasterror then
page['SetAlert',__("Could not remove directory:\n%s\n"),nam];
! fi;
excludedquiz := nam;
fi;
--- 391,399 ----
elif action = "DeleteQuiz" then
nam := p["QuizName"];
! try
! `OS/RemoveDirectory`(cat(subject['RootDir'],"/quizzes/",nam));
! catch:
page['SetAlert',__("Could not remove directory:\n%s\n"),nam];
! end try;
excludedquiz := nam;
fi;
***************
*** 439,447 ****
subject['QuizNames'] := quizlist;
! err := traperror(subject['Save']);
! if err = lasterror then
page['SetAlert',"%s %s\n\n%s",
! __("Could not save subject:"),subject['Name'],lasterr];
! fi;
fi;
--- 448,459 ----
subject['QuizNames'] := quizlist;
! try
! subject['Save'];
! catch:
page['SetAlert',"%s %s\n\n%s",
! __("Could not save subject:"),subject['Name'],
! StringTools[FormatMessage](lastexception[2..-1])
! ];
! end try;
fi;
Index: SourceFile.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/aim/admin/SourceFile.mpl,v
retrieving revision 1.5.2.1
retrieving revision 1.5.2.2
diff -C2 -d -r1.5.2.1 -r1.5.2.2
*** SourceFile.mpl 10 Mar 2005 21:13:55 -0000 1.5.2.1
--- SourceFile.mpl 31 Mar 2005 12:38:13 -0000 1.5.2.2
***************
*** 12,17 ****
):
- #`Package/Dependencies` := [];
-
######################################################################
--- 12,15 ----
***************
*** 161,169 ****
quiz := NULL;
if quizname <> "" then
! quiz := traperror(eval(subject['GetQuiz',quizname]));
if type([quiz],[`aim/Quiz`]) then
quiztitle := quiz['Title'];
else
- quiz := NULL;
quiztitle := quizname;
fi;
--- 159,170 ----
quiz := NULL;
if quizname <> "" then
! quiz := NULL;
! try
! quiz := eval(subject['GetQuiz',quizname]);
! catch:
! end try;
if type([quiz],[`aim/Quiz`]) then
quiztitle := quiz['Title'];
else
quiztitle := quizname;
fi;
***************
*** 198,202 ****
fi;
question := traperror(eval(quiz['GetQuestion',questionname]));
! if not(type(question,`aim/Question`)) then
page['SetError',__("Could not load question: %s"),questionname];
RETURN();
--- 199,203 ----
fi;
question := traperror(eval(quiz['GetQuestion',questionname]));
! if not(type([question],[`aim/Question`])) then
page['SetError',__("Could not load question: %s"),questionname];
RETURN();
***************
*** 255,284 ****
if srcdir <> "" and not(`OS/FileExists`(srcdir)) then
! err := traperror(`OS/MakeDirectory`(srcdir));
! if err = lasterror then
page['SetError',
__("Source directory %s does not exist and cannot be created"),
srcdir];
! RETURN();
! fi;
fi;
! traperror(fclose(fullsrcfile));
! err := traperror(fprintf(fullsrcfile,"%s",sourcetext));
! if err = lasterror then
page['SetError',
__("Could not save source file: %s"),fullsrcfile];
! RETURN();
! fi;
else
if (`OS/FileExists`(fullsrcfile)) then
! sourcetext :=
! traperror(`Util/TextFileContents`(fullsrcfile));
! if sourcetext = lasterror then
page['SetError',
__("Source file %s exists but could not be read."),
fullsrcfile];
! RETURN();
! fi;
p["SourceText"] := sourcetext;
else
--- 256,288 ----
if srcdir <> "" and not(`OS/FileExists`(srcdir)) then
! try
! `OS/MakeDirectory`(srcdir);
! catch:
page['SetError',
__("Source directory %s does not exist and cannot be created"),
srcdir];
! return();
! end try;
fi;
! try fclose(fullsrcfile); catch: end try;
!
! try
! fprintf(fullsrcfile,"%s",sourcetext);
! catch:
page['SetError',
__("Could not save source file: %s"),fullsrcfile];
! return();
! end try;
else
if (`OS/FileExists`(fullsrcfile)) then
! try
! sourcetext := `Util/TextFileContents`(fullsrcfile);
! catch:
page['SetError',
__("Source file %s exists but could not be read."),
fullsrcfile];
! return();
! end try;
p["SourceText"] := sourcetext;
else
***************
*** 296,301 ****
fi;
- questions := traperror(`aim/CompileFile`(fulldir,srcfile));
-
if quiz <> NULL then
# Saving the quiz automatically updates its modification time.
--- 300,303 ----
***************
*** 304,315 ****
fi;
! if questions = lasterror or not type(questions,list) then
compreport :=
cat(__("Compilation error:"),"\n<pre>\n",
! `HTML/Escape/String`(questions),"\n</pre>\n");
! questions := [];
! else
! compreport := "";
! fi;
if nops(questions) = 0 then
--- 306,319 ----
fi;
! try
! questions := `aim/CompileFile`(fulldir,srcfile);
! compreport := "";
! catch:
! questions := [];
compreport :=
cat(__("Compilation error:"),"\n<pre>\n",
! `HTML/Escape/String`(StringTools[FormatMessage](lastexception[2..-1])),
! "\n</pre>\n");
! end try;
if nops(questions) = 0 then
Index: ZoneStudentHome.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/aim/admin/ZoneStudentHome.mpl,v
retrieving revision 1.2
retrieving revision 1.2.6.1
diff -C2 -d -r1.2 -r1.2.6.1
*** ZoneStudentHome.mpl 25 Aug 2003 21:47:19 -0000 1.2
--- ZoneStudentHome.mpl 31 Mar 2005 12:38:13 -0000 1.2.6.1
***************
*** 9,15 ****
`aim/admin/Command/Declare`('`admin/ZoneStudentHome`',
- # KM
['AuthLevel',"zone"],
- # END KM
['Parameter',
"Action" ::
--- 9,13 ----
***************
*** 122,131 ****
['Process',
proc(page::`aim/admin/Page`,p::table)
- # KM
- # DIST local headtext,foottext,headfile,footfile,action;
local headtext,foottext,IDtext,headfile,footfile,action;
global DefaultZone;
- # END KM
headfile := cat(DefaultZone['RootDir'],"/studenthead.html");
--- 120,126 ----
***************
*** 135,166 ****
if action = "LoadZoneStudentHome" then
! headtext := traperror(`Util/TextFileContents`(headfile));
!
! if headtext = lasterror then
! # KM
! # DIST headtext := "<h1>Administrator login page</h1>\n<br/>\n";
headtext := "<h1>Student login page</h1>\n<br/>\n";
! # END KM
! fi;
! foottext := traperror(`Util/TextFileContents`(footfile));
!
! if foottext = lasterror then foottext := ""; fi;
else # SaveZoneStudentHome
- # KM
page['SetTable',
DefaultZone,
'IDNote'
];
- # END KM
headtext := p["HeadText"];
if headtext = "" then
- # KM
- # DIST headtext := "<h1>Administrator login page</h1>\n<br/>\n";
headtext := "<h1>Student login page</h1>\n<br/>\n";
- # END KM
fi;
--- 130,155 ----
if action = "LoadZoneStudentHome" then
! try
! headtext := `Util/TextFileContents`(headfile);
! catch:
headtext := "<h1>Student login page</h1>\n<br/>\n";
! end try;
! try
! foottext := `Util/TextFileContents`(footfile);
! catch:
! foottext := "";
! end try;
else # SaveZoneStudentHome
page['SetTable',
DefaultZone,
'IDNote'
];
headtext := p["HeadText"];
if headtext = "" then
headtext := "<h1>Student login page</h1>\n<br/>\n";
fi;
***************
*** 172,176 ****
traperror(fclose(footfile));
- # KM
try DefaultZone['MakeLoginPage'];
catch :
--- 161,164 ----
***************
*** 178,191 ****
__("Could not create login pages"),lasterr];
end:
- # END KM
-
fi;
IDtext := DefaultZone['IDNote'];
- # KM
- # DIST page['Title'] :=__("Administrator login page edit:");
page['Title'] :=__("Student login page editor:");
- # END
page['FillTemplate',
--- 166,174 ----
***************
*** 193,199 ****
"headtext" = headtext,
"foottext" = foottext,
- # KM
"IDNote" = IDtext
- # END KM
];
end
--- 176,180 ----
Index: Quiz.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/aim/admin/Quiz.mpl,v
retrieving revision 1.6.2.1
retrieving revision 1.6.2.2
diff -C2 -d -r1.6.2.1 -r1.6.2.2
*** Quiz.mpl 7 Oct 2004 11:22:17 -0000 1.6.2.1
--- Quiz.mpl 31 Mar 2005 12:38:13 -0000 1.6.2.2
***************
*** 237,242 ****
if `OS/FileExists`(quizdir) then
quizfile := cat(quizdir,"/",quizname,".m");
! quiz := traperror(eval(AimCache['Load',quizfile]));
! if type(quiz,`aim/Quiz`) then
page['SetAlert',__("Quiz %s exists already."),quizname];
action := "LoadQuizOptions";
--- 237,245 ----
if `OS/FileExists`(quizdir) then
quizfile := cat(quizdir,"/",quizname,".m");
! quiz := NULL;
! try
! quiz := eval(AimCache['Load',quizfile]);
! end try;
! if type([quiz],[`aim/Quiz`]) then
page['SetAlert',__("Quiz %s exists already."),quizname];
action := "LoadQuizOptions";
***************
*** 257,272 ****
# get here if that file was not successfully read. No
# other information will be destroyed.
! err := traperror(quiz['CreateRoot']);
! if err = lasterror then
page['SetError',
cat(__("Error while creating quiz %s:"),"\n<br/>\n%s<br/>\n"),
! quizname,err];
! RETURN();
! fi;
fi;
else
! quiz := traperror(eval(subject['GetQuiz',quizname]));
! if quiz = lasterror or not(type(quiz,`aim/Quiz`)) then
page['SetError',
__("Could not load quiz %A in subject %A."),
--- 260,279 ----
# get here if that file was not successfully read. No
# other information will be destroyed.
! try
! quiz['CreateRoot'];
! catch:
page['SetError',
cat(__("Error while creating quiz %s:"),"\n<br/>\n%s<br/>\n"),
! quizname,StringTools[FormatMessage](lastexception[2..-1])];
! return();
! end try;
fi;
else
! quiz := NULL;
! try
! quiz := eval(subject['GetQuiz',quizname]);
! end try;
! if not(type([quiz],[`aim/Quiz`])) then
page['SetError',
__("Could not load quiz %A in subject %A."),
***************
*** 292,300 ****
nam := p["QuestionName"];
file := cat(quiz['RootDir'],"/questions/",nam,".m");
! err := traperror(fremove(file));
! if err = lasterror then
page['SetAlert',"%s %s\n\n%s",
! __("Could not remove file:"),file,lasterr];
! fi;
excludedquestion := nam;
fi;
--- 299,310 ----
nam := p["QuestionName"];
file := cat(quiz['RootDir'],"/questions/",nam,".m");
! try
! fremove(file);
! catch:
page['SetAlert',"%s %s\n\n%s",
! __("Could not remove file:"),file,
! StringTools[FormatMessage](lastexception[2..-1])
! ];
! end try;
excludedquestion := nam;
fi;
***************
*** 329,340 ****
quiz['Selector'] := NULL;
else
parsedtext:=`new/ParsedText`();
! err := traperror(parsedtext['SetText',selectortext]);
! if err = lasterror then
! parseerr := err;
! else
! parseerr := "";
quiz['Selector'] := eval(parsedtext);
! fi;
fi;
--- 339,350 ----
quiz['Selector'] := NULL;
else
+ parseerr := "";
parsedtext:=`new/ParsedText`();
! try
! parsedtext['SetText',selectortext];
quiz['Selector'] := eval(parsedtext);
! catch:
! parseerr := StringTools[FormatMessage](lastexception[2..-1]);
! end try;
fi;
***************
*** 369,377 ****
fi;
! err := traperror(quiz['Save']);
! if err = lasterror then
page['SetAlert',"%s %s\n\n%s",
! __("Could not save quiz:"),quiz['Name'],lasterr];
! fi;
fi;
--- 379,389 ----
fi;
! try
! quiz['Save'];
! catch:
page['SetAlert',"%s %s\n\n%s",
! __("Could not save quiz:"),quiz['Name'],
! StringTools[FormatMessage](lastexception[2..-1])];
! end try;
fi;
Index: Register.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/aim/admin/Register.mpl,v
retrieving revision 1.3.6.1
retrieving revision 1.3.6.2
diff -C2 -d -r1.3.6.1 -r1.3.6.2
*** Register.mpl 10 Mar 2005 21:13:55 -0000 1.3.6.1
--- Register.mpl 31 Mar 2005 12:38:13 -0000 1.3.6.2
***************
*** 420,429 ****
"DeleteStudents"}) then
backup := cat(regfile,".bak");
! err := traperror(`OS/Copy`(regfile,backup));
! if err = lasterror then
page['SetAlert',
__("Could not make backup:\n%s\nProceeding anyway."),
! err];
! fi;
fi;
--- 420,430 ----
"DeleteStudents"}) then
backup := cat(regfile,".bak");
! try
! `OS/Copy`(regfile,backup);
! catch:
page['SetAlert',
__("Could not make backup:\n%s\nProceeding anyway."),
! StringTools[FormatMessage](lastexception[2..-1])];
! end try;
fi;
***************
*** 440,455 ****
if action = "UploadRegister" then
! err := traperror(register['LoadText',p["FileToUpload"]]);
! if err = lasterror then
! page['SetError',__("Error uploading register:<br/>%s<br/>"),err];
! RETURN();
! fi;
register['Save'];
elif action = "UpMergeRegister" then
! err := traperror(register['MergeText',textfile]);
! if err = lasterror then
! page['SetError',__("Error uploading register:<br/>%s<br/>"),err];
! RETURN();
! fi;
register['Save'];
elif action = "RemoveStudent" then
--- 441,460 ----
if action = "UploadRegister" then
! try
! register['LoadText',p["FileToUpload"]];
! catch:
! page['SetError',__("Error uploading register:<br/>%s<br/>"),
! StringTools[FormatMessage](lastexception[2..-1])];
! return();
! end try;
register['Save'];
elif action = "UpMergeRegister" then
! try
! register['MergeText',textfile];
! catch:
! page['SetError',__("Error uploading register:<br/>%s<br/>"),
! StringTools[FormatMessage](lastexception[2..-1])];
! return();
! end try;
register['Save'];
elif action = "RemoveStudent" then
Index: ZoneAdminHome.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/aim/admin/ZoneAdminHome.mpl,v
retrieving revision 1.3
retrieving revision 1.3.4.1
diff -C2 -d -r1.3 -r1.3.4.1
*** ZoneAdminHome.mpl 26 Aug 2003 20:37:08 -0000 1.3
--- ZoneAdminHome.mpl 31 Mar 2005 12:38:13 -0000 1.3.4.1
***************
*** 104,110 ****
local headtext,foottext,headfile,footfile,action;
- # KM
global DefaultZone;
- # END KM
headfile := cat(DefaultZone['RootDir'],"/adminhead.html");
--- 104,108 ----
***************
*** 114,126 ****
if action = "LoadZoneAdminHome" then
! headtext := traperror(`Util/TextFileContents`(headfile));
!
! if headtext = lasterror then
headtext := "<h1>Administrator login page</h1>\n<br/>\n";
! fi;
! foottext := traperror(`Util/TextFileContents`(footfile));
!
! if foottext = lasterror then foottext := "AIM comes with ABSOLUTELY NO WARRANTY. It is free software, and you are welcome to redistribute it under certain conditions. See the README file and the GNU General Public License for more details. "; fi;
else
--- 112,126 ----
if action = "LoadZoneAdminHome" then
! try
! headtext := `Util/TextFileContents`(headfile);
! catch:
headtext := "<h1>Administrator login page</h1>\n<br/>\n";
! end try;
! try
! foottext := `Util/TextFileContents`(footfile);
! catch:
! foottext := "AiM comes with ABSOLUTELY NO WARRANTY. It is free software, and you are welcome to redistribute it under certain conditions. See the README file and the GNU General Public License for more details. ";
! end try;
else
***************
*** 134,147 ****
fprintf(headfile,"%s",headtext);
fprintf(footfile,"%s",foottext);
! traperror(fclose(headfile));
! traperror(fclose(footfile));
! # KM
! try traperror(DefaultZone['MakeLoginPage']);
catch :
page['SetAlert',"%s\n\n%s",
__("Could not create login pages"),lasterr];
end;
- # END KM
-
fi;
--- 134,146 ----
fprintf(headfile,"%s",headtext);
fprintf(footfile,"%s",foottext);
! try fclose(headfile) catch: end try;
! try fclose(footfile) catch: end try;
!
! try
! DefaultZone['MakeLoginPage'];
catch :
page['SetAlert',"%s\n\n%s",
__("Could not create login pages"),lasterr];
end;
fi;
Index: Zone.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/aim/admin/Zone.mpl,v
retrieving revision 1.3
retrieving revision 1.3.6.1
diff -C2 -d -r1.3 -r1.3.6.1
*** Zone.mpl 25 Aug 2003 21:47:19 -0000 1.3
--- Zone.mpl 31 Mar 2005 12:38:13 -0000 1.3.6.1
***************
*** 14,21 ****
['Parameter',"SubjectName"],
- # KM
- # DIST ['Parameter',"ShowHiddenSubjects"::boolean = false],
['Parameter',"ShowHiddenSubjects"::boolean = true],
! # END KM
['Parameter',
"Action" ::
--- 14,19 ----
['Parameter',"SubjectName"],
['Parameter',"ShowHiddenSubjects"::boolean = true],
!
['Parameter',
"Action" ::
***************
*** 304,319 ****
DefaultZone['SubjectNames'] := subjectlist;
! err := traperror(DefaultZone['Save']);
! if err = lasterror then
page['SetAlert',"%s\n\n%s",
! __("Could not save options for default zone"),lasterr];
! else
! err := traperror(DefaultZone['MakeLoginPage']);
! if err = lasterror then
! page['SetAlert',"%s\n\n%s",
! __("Could not create login pages"),lasterr];
! fi;
! fi;
!
fi;
--- 302,322 ----
DefaultZone['SubjectNames'] := subjectlist;
! try
! DefaultZone['Save'];
! catch:
page['SetAlert',"%s\n\n%s",
! __("Could not save options for default zone"),
! StringTools[FormatMessage](lastexception[2..-1])
! ];
! end try;
!
! try
! DefaultZone['MakeLoginPage'];
! catch:
! page['SetAlert',"%s\n\n%s",
! __("Could not create login pages"),
! StringTools[FormatMessage](lastexception[2..-1])
! ];
! end try;
fi;
Index: SourceDir.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/aim/admin/SourceDir.mpl,v
retrieving revision 1.3
retrieving revision 1.3.6.1
diff -C2 -d -r1.3 -r1.3.6.1
*** SourceDir.mpl 25 Aug 2003 21:47:19 -0000 1.3
--- SourceDir.mpl 31 Mar 2005 12:38:13 -0000 1.3.6.1
***************
*** 12,17 ****
):
- #`Package/Dependencies` := [];
-
######################################################################
--- 12,15 ----
***************
*** 153,161 ****
if quizname <> "" then
dir := cat(subject['RootDir'],"/quizzes/",quizname,"/source");
! quiz := traperror(eval(subject['GetQuiz',quizname]));
if type([quiz],[`aim/Quiz`]) then
quiztitle := quiz['Title'];
else
- quiz := NULL;
quiztitle := quizname;
fi;
--- 151,161 ----
if quizname <> "" then
dir := cat(subject['RootDir'],"/quizzes/",quizname,"/source");
! quiz := NULL;
! try
! quiz := eval(subject['GetQuiz',quizname]);
! end try;
if type([quiz],[`aim/Quiz`]) then
quiztitle := quiz['Title'];
else
quiztitle := quizname;
fi;
***************
*** 234,246 ****
file := `Util/Basename`(file);
fullfile := cat(dir,"/",file);
! err :=
! traperror(`OS/Rename`(p["FileToUpload"],fullfile));
! if err = lasterror then
! page['SetAlert',
! sprintf(__("Problem uploading %s: \n%s\n"),file,lasterr)];
! else
page['SetAlert',
sprintf(__("File %s uploaded"),file)];
! fi;
fi;
else
--- 234,246 ----
file := `Util/Basename`(file);
fullfile := cat(dir,"/",file);
! try
! `OS/Rename`(p["FileToUpload"],fullfile);
page['SetAlert',
sprintf(__("File %s uploaded"),file)];
! catch:
! page['SetAlert',
! sprintf(__("Problem uploading %s: \n%s\n"),file,
! StringTools[FormatMessage](lastexception[2..-1]))];
! end try;
fi;
else
***************
*** 248,274 ****
fullfile := cat(dir,"/",p["SourceFile"]);
if action = "DeleteSource" then
! err := traperror(fremove(fullfile));
! if err = lasterror then
! page['SetAlert'] :=
sprintf(__("Error: Could not delete file: \n%s\n%s\n"),
! fullfile,lasterr);
! fi;
else # Rename or Copy
if assigned(p["NewSourceName"]) then
newname := cat(dir,"/",p["NewSourceName"]);
if action = "RenameSource" then
! err := traperror(`OS/Rename`(fullfile,newname));
! if err = lasterror then
! page['SetAlert'] :=
sprintf(__("Error: Could not rename %s to %s\n%s\n"),
! fullfile,newname,lasterr);
! fi;
else
! err := traperror(`OS/Copy`(fullfile,newname));
! if err = lasterror then
page['SetAlert',
__("Error: Could not copy %s to %s\n%s\n"),
! fullfile,newname,lasterr];
! fi;
fi;
else
--- 248,279 ----
fullfile := cat(dir,"/",p["SourceFile"]);
if action = "DeleteSource" then
! try
! fremove(fullfile);
! catch:
! page['SetAlert',
sprintf(__("Error: Could not delete file: \n%s\n%s\n"),
! fullfile,StringTools[FormatMessage](lastexception[2..-1]))];
! end try;
else # Rename or Copy
if assigned(p["NewSourceName"]) then
newname := cat(dir,"/",p["NewSourceName"]);
if action = "RenameSource" then
! try
! `OS/Rename`(fullfile,newname);
! catch:
! page['SetAlert',
sprintf(__("Error: Could not rename %s to %s\n%s\n"),
! fullfile,newname,
! StringTools[FormatMessage](lastexception[2..-1]))];
! end try;
else
! try
! `OS/Copy`(fullfile,newname);
! catch:
page['SetAlert',
__("Error: Could not copy %s to %s\n%s\n"),
! fullfile,newname,
! StringTools[FormatMessage](lastexception[2..-1])];
! end try;
fi;
else
Index: SubjectHome.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/aim/admin/SubjectHome.mpl,v
retrieving revision 1.3
retrieving revision 1.3.6.1
diff -C2 -d -r1.3 -r1.3.6.1
*** SubjectHome.mpl 25 Aug 2003 21:47:19 -0000 1.3
--- SubjectHome.mpl 31 Mar 2005 12:38:13 -0000 1.3.6.1
***************
*** 105,115 ****
subjectname := p["SubjectName"];
! subject := traperror(eval(DefaultZone['GetSubject',subjectname]));
! if subject = lasterror or not(type(subject,`aim/Subject`)) then
page['SetError',
__("Could not load subject %A."),
subjectname];
! RETURN();
fi;
--- 105,120 ----
subjectname := p["SubjectName"];
! subject := NULL;
! try
! subject := eval(DefaultZone['GetSubject',subjectname]);
! catch:
! end try;
!
! if not(type([subject],[`aim/Subject`])) then
page['SetError',
__("Could not load subject %A."),
subjectname];
! return();
fi;
***************
*** 120,132 ****
if action = "LoadSubjectHome" then
! headtext := traperror(`Util/TextFileContents`(headfile));
!
! if headtext = lasterror then
headtext := sprintf("<h1>%s</h1>\n<br/>\n",subject['Title']);
! fi;
! foottext := traperror(`Util/TextFileContents`(footfile));
!
! if foottext = lasterror then foottext := ""; fi;
else
--- 125,139 ----
if action = "LoadSubjectHome" then
! try
! headtext := `Util/TextFileContents`(headfile);
! catch:
headtext := sprintf("<h1>%s</h1>\n<br/>\n",subject['Title']);
! end try;
! try
! foottext := `Util/TextFileContents`(footfile);
! catch:
! foottext := "";
! end try;
else
***************
*** 140,146 ****
fprintf(headfile,"%s",headtext);
fprintf(footfile,"%s",foottext);
! traperror(fclose(headfile));
! traperror(fclose(footfile));
!
fi;
--- 147,152 ----
fprintf(headfile,"%s",headtext);
fprintf(footfile,"%s",foottext);
! try fclose(headfile); catch: end try;
! try fclose(footfile); catch: end try;
fi;
Index: Generate.mpl
===================================================================
RCS file: /cvsroot/aimmath/AIM/WEB-INF/maple/aim/admin/Generate.mpl,v
retrieving revision 1.3
retrieving revision 1.3.6.1
diff -C2 -d -r1.3 -r1.3.6.1
*** Generate.mpl 25 Aug 2003 21:47:19 -0000 1.3
--- Generate.mpl 31 Mar 2005 12:38:13 -0000 1.3.6.1
***************
*** 62,79 ****
err := "";
! generated := traperror(register['GenerateMissingPasswords']);
! if generated = lasterror then
! err := generated;
generated := NULL;
! elif not(type([generated],[list(`aim/Student`)])) then
err := cat(__("Wrong type"),sprintf(": %A",[generated]));
generated := NULL;
else
! err := traperror(register['Save']);
! if err = lasterror then
generated := NULL;
! else
! err := "";
! fi;
fi;
--- 62,83 ----
err := "";
! try
! generated := register['GenerateMissingPasswords'];
! catch:
! err := StringTools[FormatMessage](lastexception[2..-1]);
generated := NULL;
! end try;
!
! if not(type([generated],[list(`aim/Student`)])) then
err := cat(__("Wrong type"),sprintf(": %A",[generated]));
generated := NULL;
else
! err := "";
! try
! register['Save'];
! catch:
! err := StringTools[FormatMessage](lastexception[2..-1]);
generated := NULL;
! end try;
fi;
|