[LON-CAPA-cvs] cvs: loncom /homework structuretags.pm /interface loncommon.pm
albertel
lon-capa-cvs@mail.lon-capa.org
Fri, 14 Apr 2006 20:16:25 -0000
This is a MIME encoded message
--albertel1145045785
Content-Type: text/plain
albertel Fri Apr 14 16:16:25 2006 EDT
Modified files:
/loncom/interface loncommon.pm
/loncom/homework structuretags.pm
Log:
- starting on getting homework problems to use start_page stuff
--albertel1145045785
Content-Type: text/plain
Content-Disposition: attachment; filename="albertel-20060414161625.txt"
Index: loncom/interface/loncommon.pm
diff -u loncom/interface/loncommon.pm:1.336 loncom/interface/loncommon.pm:1.337
--- loncom/interface/loncommon.pm:1.336 Fri Apr 14 16:12:35 2006
+++ loncom/interface/loncommon.pm Fri Apr 14 16:16:02 2006
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.336 2006/04/14 20:12:35 albertel Exp $
+# $Id: loncommon.pm,v 1.337 2006/04/14 20:16:02 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2766,7 +2766,7 @@
sub bodytag {
my ($title,$function,$addentries,$bodyonly,$domain,$forcereg,$customtitle,
- $notopbar,$bgcolor)=@_;
+ $notopbar,$bgcolor,$hidetitle)=@_;
$title=&mt($title);
$function = &get_users_function() if (!$function);
my $img=&designparm($function.'.img',$domain);
@@ -2825,8 +2825,11 @@
} elsif ($env{'browser.interface'} eq 'textual') {
# Accessibility
- return $bodytag.&Apache::lonmenu::menubuttons($forcereg,$forcereg).
- '<h1>LON-CAPA: '.$title.'</h1>';
+ $bodytag.=&Apache::lonmenu::menubuttons($forcereg,$forcereg);
+ if (!$hidetitle) {
+ $bodytag.='<h1>LON-CAPA: '.$title.'</h1>';
+ }
+ return $bodytag;
} elsif ($env{'environment.remote'} eq 'off') {
# No Remote
my $roleinfo=(<<ENDROLE);
@@ -2875,15 +2878,20 @@
}
$forcereg=1;
}
- my $titletable = '<table bgcolor="'.$pgbg.'" width="100%" border="0" '.
+ my $titletable;
+ if (!$hidetitle) {
+ $titletable =
+ '<table bgcolor="'.$pgbg.'" width="100%" border="0" '.
'cellspacing="3" cellpadding="3">'.
'<tr><td bgcolor="'.$tabbg.'">'.
$titleinfo.'</td>'.$roleinfo.'</tr></table>';
- if ($env{'request.state'} eq 'construct') {
+ }
+ if ($env{'request.state'} eq 'construct') {
if ($notopbar) {
$bodytag .= $titletable;
} else {
- $bodytag .= &Apache::lonmenu::menubuttons($forcereg,$forcereg,$titletable);
+ $bodytag .= &Apache::lonmenu::menubuttons($forcereg,$forcereg,
+ $titletable);
}
} else {
if ($notopbar) {
@@ -2916,6 +2924,9 @@
# Explicit link to get inline menu
my $menu='<br /><font size="2" face="Arial, Helvetica, sans-serif"> <a href="/adm/remote?action=collapse">'.&mt('Switch to Inline Menu Mode').'</a></font>';
#
+ if ($hidetitle) {
+ return $bodytag;
+ }
return(<<ENDBODY);
$bodytag
<table width="100%" cellspacing="0" border="0" cellpadding="0">
@@ -3013,7 +3024,6 @@
$args - optional arguments
force_register - if is true call registerurl so the remote is
informed
-
redirect - array ref of seconds before redirect occurs
url to redirect to
(side effect of setting
@@ -3121,6 +3131,7 @@
is not auto translated like the $title is
frameset -> if true will start with a <frameset>
rather than <body>
+
=back
=cut
Index: loncom/homework/structuretags.pm
diff -u loncom/homework/structuretags.pm:1.342 loncom/homework/structuretags.pm:1.343
--- loncom/homework/structuretags.pm:1.342 Thu Apr 13 14:35:06 2006
+++ loncom/homework/structuretags.pm Fri Apr 14 16:16:23 2006
@@ -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 @@
return '';
}
-sub body_tag_start {
- my ($target,$background,$bgcolor)=@_;
- my $body_tag_start='<body onload="'.&Apache::lonmenu::loadevents().'" '.
- 'onunload="'.&Apache::lonmenu::unloadevents().'" ';
- if ($env{'browser.imagesuppress'} eq 'on') { $background=''; }
- if ($background) {
- &Apache::lonxml::extlink($background);
- $body_tag_start.='background="'.$background.'" ';
- } else {
- if (($bgcolor) && ($env{'browser.blackwhite'} ne 'on')) {
- $body_tag_start.='bgcolor="'.$bgcolor.'" ';
- } else {
- $body_tag_start.='bgcolor="#ffffff"';
- }
- }
- if ($env{'browser.fontenhance'} eq 'on') {
- $body_tag_start.=' style="font-size: x-large;" ';
- }
- $body_tag_start.='>'.&Apache::lonmenu::menubuttons(undef,$target,1);
-
- $body_tag_start.=&Apache::lontexconvert::init_math_support();
-
- return $body_tag_start;
-}
-
sub page_start {
- my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
+ my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$name)=@_;
my %found;
foreach my $taginside (@$tagstack) {
foreach my $taglookedfor ('html','body','form') {
@@ -103,44 +78,58 @@
}
}
- my $result;
- my $head_tag_start;
+
+ if ($target eq 'tex') {
+ return
+ &Apache::londefdef::start_html($target,$token,$tagstack,
+ $parstack,$parser,$safeeval);
+ }
+
+ my $page_start;
if (!defined($found{'html'})) {
- $result=&Apache::londefdef::start_html($target,$token,$tagstack,
- $parstack,$parser,$safeeval);
- $head_tag_start='<head>'.&Apache::lonmenu::registerurl(undef,$target).
- &Apache::lonhtmlcommon::htmlareaheaders().
- &Apache::lonhtmlcommon::spellheader().
- &Apache::lonxml::fontsettings();
+
+ my $extra_head = &Apache::lonhtmlcommon::spellheader();
+
my $css_href = &Apache::lonnet::EXT('resource.0.cssfile');
if ($css_href =~ /\S/) {
&Apache::lonxml::extlink($css_href);
- $head_tag_start =
+ $extra_head .=
'<link rel="stylesheet" type="text/css" href="'.$css_href.'" />';
}
if ($target eq 'edit') {
- $head_tag_start.=&Apache::edit::js_change_detection();
- }
+ $extra_head.=&Apache::edit::js_change_detection().
+ "<script type=\"text/javascript\">\n".
+ "if (typeof swmenu != 'undefined') {swmenu.currentURL=null;}\n".
+ &Apache::loncommon::browser_and_searcher_javascript().
+ "\n</script>\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 @@
if ($symb eq '' && !$publicuser) {
my $help = &Apache::loncommon::help_open_topic("Ambiguous_Reference");
$help=&mt("Browsing resource, all submissions are temporary.")."<br />";
- $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='<form name="lonhomework" enctype="multipart/form-data" method="post" action="';
@@ -163,7 +153,7 @@
}
$form_tag_start.='>';
}
- return ($result,$head_tag_start,$body_tag_start,$form_tag_start);
+ return ($page_start,$form_tag_start);
}
#use Time::HiRes();
@@ -597,8 +587,10 @@
my $accessmsg;
#should get back a <html> or the neccesary stuff to start XML/MathML
- my ($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);
+ my ($result,$form_tag_start)=
+ &page_start($target,$token,$tagstack,$parstack,$parser,$safeeval,
+ $name);
if ($target eq 'tex' and $env{'request.symb'} =~ m/\.page_/) {$result='';}
if ($target eq 'analyze') { my $rndseed=&setup_rndseed($safeeval); }
@@ -613,7 +605,7 @@
$Apache::lonhomework::history{"resource.0.outtoken"}=
$token;
}
- $body_tag_start.=&Apache::lonxml::printtokenheader($target,$token);
+ $result.=&Apache::lonxml::printtokenheader($target,$token);
}
if ($env{'form.markaccess'}) {
&Apache::lonnet::set_first_access('map');
@@ -663,8 +655,7 @@
my $bodytext=&Apache::lonxml::get_all_text("/problem",$parser,
$style);
if ( $target eq "web" ) {
- $result.= $head_tag_start.'</head>';
- my $msg=$body_tag_start;
+ my $msg;
if ($status eq 'UNAVAILABLE') {
$msg.='<h1>'.&mt('Unable to determine if this resource is open due to network problems. Please try again later.').'</h1>';
} elsif ($status ne 'NOT_YET_VIEWED') {
@@ -673,7 +664,7 @@
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 @@
my $bodytext=&Apache::lonxml::get_all_text("/problem",$parser,
$style);
if ($target eq 'web') {
- $result .= $head_tag_start.'</head>';
- $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<title>$name</title></head>
- $body_tag_start \n $form_tag_start".
+ $result.="\n $form_tag_start".
'<input type="hidden" name="submitted" value="yes" />';
# create a page header and exit
if ($env{'request.state'} eq "construct") {
@@ -723,8 +710,7 @@
}
} elsif ($target eq 'edit') {
- $result.=$head_tag_start."</head>".$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.")."<br />";
my $temp=&Apache::edit::insertlist($target,$token);
@@ -925,16 +911,16 @@
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."</head>".$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 @@
} 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<title>$name</title></head>
- $body_tag_start \n $form_tag_start".
+ $result.=" \n $form_tag_start".
'<input type="hidden" name="submitted" value="yes" />';
$result.=&problem_web_to_edit_header($rndseed);
}
--albertel1145045785--