--- loncom/homework/structuretags.pm 2006/04/13 18:35:06 1.342 +++ loncom/homework/structuretags.pm 2006/04/14 20:16:23 1.343 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: structuretags.pm,v 1.342 2006/04/13 18:35:06 albertel Exp $ +# $Id: structuretags.pm,v 1.343 2006/04/14 20:16:23 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -69,33 +69,8 @@ sub end_tex { return ''; } -sub body_tag_start { - my ($target,$background,$bgcolor)=@_; - my $body_tag_start=''; } if ($target eq 'edit') { - $head_tag_start.=&Apache::edit::js_change_detection(); - } + $extra_head.=&Apache::edit::js_change_detection(). + "\n"; + + } + $page_start .= + &Apache::loncommon::head($name,$extra_head, + {'force_register' => + ($target ne 'edit') }); } - my $body_tag_start; + if (!defined($found{'body'}) && $env{'request.state'} eq 'construct') { - if ($env{'environment.remote'} eq 'off') { - if ($target eq 'web' || $target eq 'edit') { - $body_tag_start=&Apache::loncommon::bodytag(); - $body_tag_start.=&Apache::lonxml::message_location(); - } - } else { - if ($target eq 'web' || $target eq 'edit') { - $body_tag_start=&Apache::loncommon::bodytag(undef,undef,undef,1); - $body_tag_start.=&Apache::lonxml::message_location(); - } + if ($target eq 'web' || $target eq 'edit') { + $page_start.=&Apache::loncommon::bodytag(); + $page_start.=&Apache::lonxml::message_location(); } } elsif (!defined($found{'body'})) { + my %add_entries; my $background=&Apache::lonxml::get_param('background',$parstack, $safeeval); + if ($background ne '' ) { + $add_entries{'background'} = $background; + } my $bgcolor=&Apache::lonxml::get_param('bgcolor',$parstack, $safeeval); - $body_tag_start=&body_tag_start($target,$background,$bgcolor); + + if ($bgcolor eq '' ) { $bgcolor = '#FFFFFF'; } + $page_start .= + &Apache::loncommon::bodytag(undef,undef,\%add_entries,undef,undef, + 1,undef,undef,$bgcolor,$target,1); + if ( ($target eq 'web' || $target eq 'webgrade') && $env{'request.state'} ne 'construct') { my ($symb,undef,undef,undef,$publicuser)= @@ -148,11 +137,12 @@ sub page_start { if ($symb eq '' && !$publicuser) { my $help = &Apache::loncommon::help_open_topic("Ambiguous_Reference"); $help=&mt("Browsing resource, all submissions are temporary.")."
"; - $body_tag_start.=$help; + $page_start .= $help; } } - $body_tag_start.=&Apache::lonxml::message_location(); + $page_start .= &Apache::lonxml::message_location(); } + my $form_tag_start; if (!defined($found{'form'})) { $form_tag_start='
'; - my $msg=$body_tag_start; + my $msg; if ($status eq 'UNAVAILABLE') { $msg.='

'.&mt('Unable to determine if this resource is open due to network problems. Please try again later.').'

'; } elsif ($status ne 'NOT_YET_VIEWED') { @@ -673,7 +664,7 @@ sub start_problem { if ($status eq 'CLOSED' || $status eq 'INVALID_ACCESS') { $msg.='The problem '.$accessmsg; } elsif ($status eq 'UNCHECKEDOUT') { - $msg.=&checkout_msg; + $msg.=&checkout_msg(); } elsif ($status eq 'NOT_YET_VIEWED') { $msg.=&firstaccess_msg($accessmsg,$symb); } elsif ($status eq 'NOT_IN_A_SLOT') { @@ -695,17 +686,13 @@ sub start_problem { my $bodytext=&Apache::lonxml::get_all_text("/problem",$parser, $style); if ($target eq 'web') { - $result .= $head_tag_start.''; - $result .= $body_tag_start; $result .= &Apache::bridgetask::proctor_validation_screen(); } elsif ($target eq 'grade') { &Apache::bridgetask::proctor_check_auth($slot_name,$slot, 'problem'); } } elsif ($target eq 'web') { - my $name= &get_resource_name($parstack,$safeeval); - $result.="$head_tag_start$name - $body_tag_start \n $form_tag_start". + $result.="\n $form_tag_start". ''; # create a page header and exit if ($env{'request.state'} eq "construct") { @@ -723,8 +710,7 @@ sub start_problem { } } elsif ($target eq 'edit') { - $result.=$head_tag_start."".$body_tag_start.$form_tag_start. - &problem_edit_header(); + $result .= $form_tag_start.&problem_edit_header(); $Apache::lonxml::warnings_error_header= &mt("Editor Errors - these errors might not effect the running of the problem, but they will likely cause problems with further use of the Edit mode. Please use the EditXML mode to fix these errors.")."
"; my $temp=&Apache::edit::insertlist($target,$token); @@ -925,16 +911,16 @@ sub end_problem { sub start_library { my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_; - my ($result,$head_tag_start,$body_tag_start,$form_tag_start); + my ($result,$form_tag_start); if ($$tagstack[0] eq 'library') { &init_problem_globals('library'); $Apache::lonhomework::type='problem'; } if ($target eq 'edit') { - ($result,$head_tag_start,$body_tag_start,$form_tag_start)= - &page_start($target,$token,$tagstack,$parstack,$parser,$safeeval); - $result.=$head_tag_start."".$body_tag_start.$form_tag_start. - &problem_edit_header(); + ($result,$form_tag_start)= + &page_start($target,$token,$tagstack,$parstack,$parser,$safeeval, + 'Edit'); + $result.=$form_tag_start.&problem_edit_header(); my $temp=&Apache::edit::insertlist($target,$token); $result.=$temp; } elsif ($target eq 'modified') { @@ -943,12 +929,12 @@ sub start_library { } elsif (($target eq 'web' || $target eq 'webgrade') && $$tagstack[0] eq 'library' && $env{'request.state'} eq "construct" ) { - ($result,$head_tag_start,$body_tag_start,$form_tag_start)= - &page_start($target,$token,$tagstack,$parstack,$parser,$safeeval); my $name=&get_resource_name($parstack,$safeeval); + ($result,$form_tag_start)= + &page_start($target,$token,$tagstack,$parstack,$parser,$safeeval, + $name); my $rndseed=&setup_rndseed($safeeval); - $result.="$head_tag_start$name - $body_tag_start \n $form_tag_start". + $result.=" \n $form_tag_start". ''; $result.=&problem_web_to_edit_header($rndseed); }