--- loncom/homework/structuretags.pm 2006/04/20 03:35:06 1.351 +++ loncom/homework/structuretags.pm 2006/09/29 20:55:33 1.366 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: structuretags.pm,v 1.351 2006/04/20 03:35:06 albertel Exp $ +# $Id: structuretags.pm,v 1.366 2006/09/29 20:55:33 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -38,6 +38,9 @@ use Apache::lonlocal; use Apache::lonxml; use Apache::lonenc(); use Time::HiRes qw( gettimeofday tv_interval ); +use lib '/home/httpd/lib/perl/'; +use LONCAPA; + BEGIN { &Apache::lonxml::register('Apache::structuretags',('block','languageblock','instructorcomment','while','randomlist','problem','library','web','tex','part','preduedate','postanswerdate','solved','notsolved','problemtype','startouttext','endouttext','simpleeditbutton','definetag')); } @@ -131,7 +134,7 @@ sub page_start { $body_args{'force_register'} = 1; $body_args{'add_entries'} = \%add_entries; } - + $body_args{'no_auto_mt_title'} = 1; my $page_start = &Apache::loncommon::start_page($name,$extra_head, \%body_args); @@ -160,6 +163,14 @@ sub page_start { $form_tag_start.=&Apache::edit::form_change_detection(); } $form_tag_start.='>'; + + my $symb=&Apache::lonnet::symbread(); + if ($symb =~ /\S/) { + $symb= + &HTML::Entities::encode(&Apache::lonenc::check_encrypt($symb)); + $form_tag_start.= + ''; + } } return ($page_start,$form_tag_start); } @@ -240,7 +251,7 @@ sub problem_edit_header {
'. - &Apache::loncommon::help_open_menu('','Problem Editing Help','Problem_Editor_XML_Index','',5,'Authoring',undef,undef,undef,'Problem Editing Help') + &Apache::loncommon::help_open_menu('Problem Editing Help','Problem_Editor_XML_Index',5,'Authoring',undef,undef,undef,'Problem Editing Help') .' |
';
}
@@ -331,9 +342,18 @@ Feedback Mode:
}
sub initialize_storage {
- %Apache::lonhomework::results=();
- %Apache::lonhomework::history=();
- my ($symb,$courseid,$domain,$name) = &Apache::lonxml::whichuser();
+ my ($given_symb) = @_;
+ undef(%Apache::lonhomework::results);
+ undef(%Apache::lonhomework::history);
+ my ($symb,$courseid,$domain,$name) =
+ &Apache::lonxml::whichuser($given_symb);
+
+ # anonymous users (CODEd exams) have no data
+ if ($name eq 'anonymous'
+ && !defined($domain)) {
+ return;
+ }
+
if ($env{'request.state'} eq 'construct'
|| $symb eq ''
|| $Apache::lonhomework::type eq 'practice') {
@@ -353,6 +373,7 @@ sub initialize_storage {
%Apache::lonhomework::history=
&Apache::lonnet::restore($symb,$courseid,$domain,$name);
}
+
#ignore error conditions
my ($temp)=keys %Apache::lonhomework::history ;
if ($temp =~ m/^error:.*/) { %Apache::lonhomework::history=(); }
@@ -365,11 +386,13 @@ sub initialize_storage {
# Will increment totals for attempts, students, and corrects
# if running user has student role.
sub finalize_storage {
+ my ($given_symb) = @_;
my $result;
if (%Apache::lonhomework::results) {
my @remove = grep(/^INTERNAL_/,keys(%Apache::lonhomework::results));
delete(@Apache::lonhomework::results{@remove});
- my ($symb,$courseid,$domain,$name) = &Apache::lonxml::whichuser();
+ my ($symb,$courseid,$domain,$name) =
+ &Apache::lonxml::whichuser($given_symb);
if ($env{'request.state'} eq 'construct'
|| $symb eq ''
|| $Apache::lonhomework::type eq 'practice') {
@@ -440,13 +463,14 @@ sub checkout_msg {
'warning'=>'Checking out resources is subject to course policies, and may exclude future credit even if done erroneously.',
'checkout'=>'Check out Exam for Viewing',
'checkout?'=>'Check out Exam?');
+ my $uri = &Apache::lonenc::check_encrypt($env{'request.uri'});
return (< $lt{'id_expln'} $lt{'warning'} - @@ -458,9 +482,10 @@ sub firstaccess_msg { my ($map)=&Apache::lonnet::decode_symb($symb); my $foldertitle=&Apache::lonnet::gettitle($map); &Apache::lonxml::debug("map is $map title is $foldertitle"); + my $uri = &Apache::lonenc::check_encrypt($env{'request.uri'}); return (< |
". &Apache::edit::insertlist($target,$token). + ' | ' .
+ &Apache::loncommon::helpLatexCheatsheet().
&Apache::edit::end_row().
- &Apache::edit::start_spanning_row()."\n"
- . &Apache::loncommon::helpLatexCheatsheet () .
+ &Apache::edit::start_spanning_row()."\n".
&Apache::edit::editfield($token->[1],$text,"",80,8,1);
}
if ($target eq 'modified') {
@@ -1614,7 +1656,7 @@ sub start_simpleeditbutton {
$url=~s/\?.*$//;
my ($symb) = &Apache::lonxml::whichuser();
$result='
'; } return $result; |