--- loncom/homework/structuretags.pm 2011/01/13 18:11:45 1.485
+++ loncom/homework/structuretags.pm 2011/06/06 17:43:51 1.488
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# definition of tags that give a structure to a document
#
-# $Id: structuretags.pm,v 1.485 2011/01/13 18:11:45 raeburn Exp $
+# $Id: structuretags.pm,v 1.488 2011/06/06 17:43:51 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -411,7 +411,9 @@ sub setup_rndseed {
delete($env{'form.resetdata'});
delete($env{'form.newrandomization'});
}
- if (defined($rndseed) && $rndseed ne int($rndseed)) {
+ $rndseed=~s/\,/\:/g;
+ $rndseed=~s/[^\w\d\:\-]//g;
+ if ((defined($rndseed)) && ($rndseed!~/^[\d\-]+\:[\d\-]+/)) {
$rndseed=join(':',&Apache::lonnet::digest($rndseed));
}
if ($Apache::lonhomework::history{'resource.CODE'}) {
@@ -464,27 +466,48 @@ sub remember_problem_state {
';
}
+sub problem_edit_action_button {
+ my ($name,$action,$accesskey,$text,$flag)=@_;
+ my $actionscript="setmode(this.form,'$action')";
+ return "\n ";
+}
+
sub problem_edit_buttons {
- return '
-
-
-
-
-
-
-
-
-
';
+ my ($mode)=@_;
+# Buttons that do not save
+ my $result=''.
+ &problem_edit_action_button('subdiscview','discard','d','Discard Edits and View',1);
+ if ($mode eq 'editxml') {
+ $result.=&problem_edit_action_button('subedit','edit','e','Edit',1);
+ $result.=&problem_edit_action_button('subundo','undoxml','u','Undo',1);
+ $result.=&Apache::lonhtmlcommon::dragmath_button("LC_editxmltext",1);
+ } else {
+ $result.=&problem_edit_action_button('subeditxml','editxml','x','EditXML',1);
+ $result.=&problem_edit_action_button('subundo','undo','u','Undo',1);
+ }
+ $result.="\n
";
+# Buttons that save
+ $result.='';
+ if ($mode eq 'editxml') {
+ $result.=&problem_edit_action_button('subsaveedit','saveeditxml','s','Save and EditXML');
+ $result.=&problem_edit_action_button('subsaveview','saveviewxml','v','Save and View');
+ } else {
+ $result.=&problem_edit_action_button('subsaveedit','saveedit','s','Save and Edit');
+ $result.=&problem_edit_action_button('subsaveview','saveview','v','Save and View');
+ }
+ $result.="\n
\n";
+ return $result;
}
sub problem_edit_header {
- return ' '.
- &Apache::structuretags::remember_problem_state().'
+ return ' '.
+ &remember_problem_state('edit').'