You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(58) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(53) |
Feb
(56) |
Mar
|
Apr
|
May
(30) |
Jun
(78) |
Jul
(121) |
Aug
(155) |
Sep
(77) |
Oct
(61) |
Nov
(45) |
Dec
(94) |
2006 |
Jan
(116) |
Feb
(33) |
Mar
(11) |
Apr
(23) |
May
(60) |
Jun
(89) |
Jul
(130) |
Aug
(109) |
Sep
(124) |
Oct
(63) |
Nov
(82) |
Dec
(45) |
2007 |
Jan
(31) |
Feb
(35) |
Mar
(123) |
Apr
(36) |
May
(18) |
Jun
(134) |
Jul
(133) |
Aug
(241) |
Sep
(126) |
Oct
(31) |
Nov
(15) |
Dec
(5) |
2008 |
Jan
(11) |
Feb
(6) |
Mar
(16) |
Apr
(29) |
May
(43) |
Jun
(149) |
Jul
(27) |
Aug
(29) |
Sep
(37) |
Oct
(20) |
Nov
(4) |
Dec
(6) |
2009 |
Jan
(34) |
Feb
(30) |
Mar
(16) |
Apr
(6) |
May
(1) |
Jun
(32) |
Jul
(22) |
Aug
(7) |
Sep
(18) |
Oct
(50) |
Nov
(22) |
Dec
(8) |
2010 |
Jan
(17) |
Feb
(15) |
Mar
(10) |
Apr
(9) |
May
(67) |
Jun
(30) |
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
(1) |
Dec
|
From: Sam H. v. a. <we...@ma...> - 2005-12-19 03:44:15
|
Log Message: ----------- use new theme/template arrangment Modified Files: -------------- webwork2/lib/WeBWorK: ContentGenerator.pm Revision Data ------------- Index: ContentGenerator.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/ContentGenerator.pm,v retrieving revision 1.159 retrieving revision 1.160 diff -Llib/WeBWorK/ContentGenerator.pm -Llib/WeBWorK/ContentGenerator.pm -u -r1.159 -r1.160 --- lib/WeBWorK/ContentGenerator.pm +++ lib/WeBWorK/ContentGenerator.pm @@ -425,18 +425,16 @@ sub content { my ($self) = @_; - my $ce = $self->r->ce; + my $r = $self->r; + my $ce = $r->ce; - # if the content generator specifies a custom template name, use that - # field in the $ce->{templates} hash instead of "system" if it exists. - my $templateName; - if ($self->can("templateName")) { - $templateName = $self->templateName; - } else { - $templateName = "system"; - } - $templateName = "system" unless exists $ce->{templates}->{$templateName}; - template($ce->{templates}->{$templateName}, $self); + my $themesDir = $ce->{webworkDirs}{templates}; + my $theme = $r->param("theme") || $ce->{defaultTheme}; + $theme = $ce->{defaultTheme} if $theme =~ m!(?:^|/)\.\.(?:/|$)!; + my $template = $self->can("templateName") ? $self->templateName : $ce->{defaultThemeTemplate}; + my $templateFile = "$themesDir/$theme/$template.template"; + + template($templateFile, $self); } =back |
From: Sam H. v. a. <we...@ma...> - 2005-12-19 03:44:03
|
Log Message: ----------- instead of a template hash, we give the default theme name and default template name. Modified Files: -------------- webwork2/conf: global.conf.dist Revision Data ------------- Index: global.conf.dist =================================================================== RCS file: /webwork/cvs/system/webwork2/conf/global.conf.dist,v retrieving revision 1.158 retrieving revision 1.159 diff -Lconf/global.conf.dist -Lconf/global.conf.dist -u -r1.158 -r1.159 --- conf/global.conf.dist +++ conf/global.conf.dist @@ -171,6 +171,9 @@ # Location of configuration files, templates, snippets, etc. $webworkDirs{conf} = "$webworkDirs{root}/conf"; +# Location of theme templates. +$webworkDirs{templates} = "$webworkDirs{conf}/templates"; + # Location of course directories. $webworkDirs{courses} = "$webwork_courses_dir" || "$webworkDirs{root}/courses"; @@ -452,13 +455,11 @@ $siteDefaults{default_templates_course} ="modelCourse"; ################################################################################ -# Frontend options +# Theme ################################################################################ -%templates = ( - system => "$webworkDirs{conf}/templates/ur.template", - gateway => "$webworkDirs{conf}/templates/gw.template", -); +$defaultTheme = "math"; +$defaultThemeTemplate = "system"; ################################################################################ # Authorization system |
From: Sam H. v. a. <we...@ma...> - 2005-12-19 03:40:41
|
Log Message: ----------- moved template files into theme directories Added Files: ----------- webwork2/conf/templates/math: gateway.template system.template webwork2/conf/templates/test: system.template webwork2/conf/templates/ur: gateway.template system.template Revision Data ------------- --- /dev/null +++ conf/templates/test/system.template @@ -0,0 +1,99 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<!-- +########################################################################= ######## +# WeBWorK Online Homework Delivery System +# Copyright =A9 2000-2003 The WeBWorK Project, http://openwebwork.sf.net= / +# $CVSHeader: webwork2/conf/templates/test/system.template,v 1.1 2005/12= /19 03:37:32 sh002i Exp $ +#=20 +# This program is free software; you can redistribute it and/or modify i= t under +# the terms of either: (a) the GNU General Public License as published b= y the +# Free Software Foundation; either version 2, or (at your option) any la= ter +# version, or (b) the "Artistic License" which comes with this package. +#=20 +# This program is distributed in the hope that it will be useful, but WI= THOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or = FITNESS +# FOR A PARTICULAR PURPOSE. See either the GNU General Public License o= r the +# Artistic License for more details. +########################################################################= ######## +--> + +<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en-US"> +<head> +<title>WeBWorK Test Template</title> +<style type=3D"text/css"> +div.test_box { border: 1px solid black } +</style> +<!--#head--> +</head> +<body> + +<h1>help</h1> +<div class=3D"test_box"> +<!--#help--> +</div> + +<h1>links</h1> +<div class=3D"test_box"> +<!--#links--> +</div> + +<h1>siblings</h1> +<div class=3D"test_box"> +<!--#siblings--> +</div> + +<h1>options</h1> +<div class=3D"test_box"> +<!--#options--> +</div> + +<h1>path</h1> +<div class=3D"test_box"> +<!--#path style=3D"text" text=3D" > "--> +</div> + +<h1>loginstatus</h1> +<div class=3D"test_box"> +<!--#loginstatus--> +</div> + +<h1>nav</h1> +<div class=3D"test_box"> +<!--#nav style=3D"images" imageprefix=3D"/webwork2_files/images/nav" ima= gesuffix=3D".gif" separator=3D" "--> +</div> + +<h1>title</h1> +<div class=3D"test_box"> +<!--#title--> +</div> + +<h1>message</h1> +<p>used for addmessage/addgoodmessae/addbadmessage... displayed at top a= nd bottom of page in ur.template.</p> +<div class=3D"test_box"> +<!--#message--> +</div> + +<h1>body</h1> +<div class=3D"test_box"> +<!--#body--> +</div> + +<h1>warnings</h1> +<div class=3D"test_box"> +<!--#warnings--> +</div> + +<h1>info</h1> +<div class=3D"test_box"> +<!--#info--> +</div> + +<h1>timestamp</h1> +<div class=3D"test_box"> +<!--#timestamp--> +</div> + +</body> +</html> --- /dev/null +++ conf/templates/math/gateway.template @@ -0,0 +1,171 @@ +=EF=BB=BF<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns=3D"http://www.w3.org/1999/xhtml" xml:lang=3D"en" lang=3D"en"= > +<head> +<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF-8"= /> +<link rel=3D"stylesheet" type=3D"text/css" media=3D"All" href=3D"<!--#ur= l type=3D"webwork" name=3D"htdocs"-->/css/math.css"/> +<!-- [gateway] since the left-side menus are gone, don't indent the main= content area --> +<style type=3D"text/css"> + #breadcrumbs { margin-left: .5em } + #content { margin-left: .5em } + #footer { margin-left: .5em } +=09 +</style> +<title><!--#path style=3D"text" text=3D" : " textonly=3D"1"--></title> +<!--#head--> +<script language=3D"javascript" type=3D"text/javascript"> +function jumpTo(ref) { // scrolling javascript function + if ( ref ) { + var pn =3D ref - 1; // we start anchors at 1, not zero + if ( navigator.appName =3D=3D "Netscape" &&=20 + parseFloat(navigator.appVersion) < 5 ) { + var xpos =3D document.anchors[pn].x; + var ypos =3D document.anchors[pn].y; + } else { + var xpos =3D document.anchors[pn].offsetLeft; + var ypos =3D document.anchors[pn].offsetTop; + } + if ( window.scrollTo =3D=3D null ) { // cover for anyone + window.scroll(xpos,ypos); // lacking js1.2 + } else { + window.scrollTo(xpos,ypos); + } + } + return false; // prevent link from being followed +} + +// timer for gateway=20 +var theTime =3D -1; // -1 before we've initialized +var alerted =3D -1; // -1 =3D no alert set; 1 =3D 1st alert set + // this shouldn't really be needed + +function runtimer() { +// aesthetically this is displeasing: we're assuming that the=20 +// ContentGenerator will put the appropriate form elements in that +// page for us to manipulate. even with error checking, it seems sort +// of odd. + if ( document.gwtimer =3D=3D null ) { // no timer + return; + } else { + var tm =3D document.gwtimer.gwtime; + var st =3D document.gwtimer.gwpagetimeleft.value; + + if ( st =3D=3D 0 ) { // no time limit + return; + } else { + if ( theTime =3D=3D -1 ) { + theTime =3D st; + tm.value =3D toMinSec(theTime); + setTimeout("runtimer()", 1000); // 1000 ms =3D 1 sec + } else if ( theTime =3D=3D 0 && alerted !=3D 3 ) { + alert("* You are out of time! *"); + alerted =3D 3; + } else if ( alerted !=3D 3 ) { + theTime--; + tm.value =3D toMinSec(theTime); + setTimeout("runtimer()", 1000); // 1000 ms =3D 1 sec + if ( theTime =3D=3D 35 && alerted !=3D 2 ) { // time is in seconds + alert("* You have only about 30 seconds to complete " + + "this assignment. Press Grade very soon! *\n" + + "* The timer stops while this alert box is open. *"); + alerted =3D 2; + theTime -=3D 5; + } else if ( theTime =3D=3D 75 && alerted !=3D 1) { + alert("* You have only about a minute left " + + "to complete this assignment! *\n" + + "* The timer stops while this alert box is open. *"); + alerted =3D 1; + theTime -=3D 5; + } + } + } + } +} +function toMinSec(t) { +// convert to min:sec + mn =3D Math.floor(t/60); + sc =3D t - 60*mn; + if ( mn < 10 && mn > -1 ) { + mn =3D "0" + mn; + } + if ( sc < 10 ) { + sc =3D "0" + sc; + } + return mn + ":" + sc; +} +</script> +</head> +<body bgcolor=3D"white"> + +<div id=3D"masthead"> + <div id=3D"loginstatus"> + <!--#loginstatus--> + </div> + <div id=3D"logo"> + <img src=3D"<!--#url type=3D"webwork" name=3D"htdocs"-->/images/webwor= k_rectangle.png" alt=3D"WeBWorK" height=3D"51" width=3D"267" /> + </div> +</div> +<hr class=3D"for-broken-browsers"/> +<div id=3D"big-wrapper"> + <div id=3D"breadcrumbs"> + <!--#path style=3D"text" text=3D" =E2=86=92 "--> + </div> + <div id=3D"content"> + =09 + <!--#if can=3D"info"--> + <div id=3D"page-info"> + <div class=3D"info-box" id=3D"fisheye"> + <h2>Info</h2> + <!--#info--> + </div> + </div> + <!--#endif--> + <!-- [gateway] removed nav button to go up --> + <!--#if can=3D"title"--> + <h1><!--#title--></h1> + <!--#endif--> + <!--#if can=3D"message"--> + <div class=3D"Message"> + <!--#message--> + </div> + <!--#endif--> + + <!--#if can=3D"body"--> + <div class=3D"Body"> + <!--#body--> + </div> + <!--#endif--> + <!--#if warnings=3D"1"--> + <hr> + <div class=3D"Warnings"> + <!--#warnings--> + </div> + <!--#endif--> + <!--#if can=3D"message"--> + <div class=3D"Message"> + <!--#message--> + </div> + <!--#endif--> + =09 + </div> <!-- content --> + <hr class=3D"for-broken-browsers"/> + <div id=3D"footer"> + <p id=3D"last-modified">Page generated at <!--#timestamp--></p> + <!--<div id=3D"feedback"> + FEEDBACK + </div>--> + <div id=3D"copyright"> + WeBWorK =C2=A9 2000-2005 <a href=3D"http://openwebwork.sf.net/">The W= eBWorK Project</a> + </div> + <!--<div id=3D"validate"> + VALIDATE + </div>--> + <!--<p class=3D"page-url"> + PAGE-URL (p) + </p>--> + </div> + <!-- [gateway] removed left sidebar --> +</div> <!-- big-wrapper --> + +</body> +</html> --- /dev/null +++ conf/templates/math/system.template @@ -0,0 +1,106 @@ +=EF=BB=BF<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns=3D"http://www.w3.org/1999/xhtml" xml:lang=3D"en" lang=3D"en"= > +<head> +<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF-8"= /> +<link rel=3D"stylesheet" type=3D"text/css" media=3D"All" href=3D"<!--#ur= l type=3D"webwork" name=3D"htdocs"-->/css/math.css"/> +<title><!--#path style=3D"text" text=3D" : " textonly=3D"1"--></title> +<!--#head--> +</head> +<body bgcolor=3D"white"> + +<div id=3D"masthead"> + <div id=3D"loginstatus"> + <!--#loginstatus--> + </div> + <div id=3D"logo"> + <img src=3D"<!--#url type=3D"webwork" name=3D"htdocs"-->/images/webwor= k_rectangle.png" alt=3D"WeBWorK" height=3D"51" width=3D"267" /> + </div> +</div> +<hr class=3D"for-broken-browsers"/> +<div id=3D"big-wrapper"> + <div id=3D"breadcrumbs"> + <!--#path style=3D"text" text=3D" =E2=86=92 "--> + </div> + <div id=3D"content"> + =09 + <!--#if can=3D"info"--> + <div id=3D"page-info"> + <div class=3D"info-box" id=3D"fisheye"> + <h2>Info</h2> + <!--#info--> + </div> + </div> + <!--#endif--> + <!--#if can=3D"nav"--> + <div class=3D"Nav"> + <!--#nav style=3D"images" imageprefix=3D"/webwork2_files/images/nav" = imagesuffix=3D".gif" separator=3D" "--> + </div> + <!--#endif--> + <!--#if can=3D"title"--> + <h1><!--#title--></h1> + <!--#endif--> + <!--#if can=3D"message"--> + <div class=3D"Message"> + <!--#message--> + </div> + <!--#endif--> + + <!--#if can=3D"body"--> + <div class=3D"Body"> + <!--#body--> + </div> + <!--#endif--> + <!--#if warnings=3D"1"--> + <hr> + <div class=3D"Warnings"> + <!--#warnings--> + </div> + <!--#endif--> + <!--#if can=3D"message"--> + <div class=3D"Message"> + <!--#message--> + </div> + <!--#endif--> + =09 + </div> <!-- content --> + <hr class=3D"for-broken-browsers"/> + <div id=3D"footer"> + <p id=3D"last-modified">Page generated at <!--#timestamp--></p> + <!--<div id=3D"feedback"> + FEEDBACK + </div>--> + <div id=3D"copyright"> + WeBWorK =C2=A9 2000-2005 <a href=3D"http://openwebwork.sf.net/">The W= eBWorK Project</a> + </div> + <!--<div id=3D"validate"> + VALIDATE + </div>--> + <!--<p class=3D"page-url"> + PAGE-URL (p) + </p>--> + </div> + <div id=3D"site-navigation"> + <!--#if can=3D"links"--> + <div class=3D"info-box" id=3D"fisheye"> + <h2>Main Menu</h2> + <!--#links--> + </div> + <!--#endif--> + <!--#if can=3D"siblings"--> + <div class=3D"info-box" id=3D"fisheye"> + <h2>Siblings</h2> + <!--#siblings--> + </div> + <!--#endif--> + <!--#if can=3D"options"--> + <div class=3D"info-box" id=3D"fisheye"> + <h2>Display Options</h2> + <!--#options--> + </div> + <!--#endif--> + </div> +</div> <!-- big-wrapper --> + +</body> +</html> --- /dev/null +++ conf/templates/ur/gateway.template @@ -0,0 +1,367 @@ +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<!-- +########################################################################= ######## +# WeBWorK Online Homework Delivery System +# Copyright =A9 2000-2003 The WeBWorK Project, http://openwebwork.sf.net= / +# $CVSHeader: webwork2/conf/templates/ur/gateway.template,v 1.1 2005/12/= 19 03:37:33 sh002i Exp $ +#=20 +# This program is free software; you can redistribute it and/or modify i= t under +# the terms of either: (a) the GNU General Public License as published b= y the +# Free Software Foundation; either version 2, or (at your option) any la= ter +# version, or (b) the "Artistic License" which comes with this package. +#=20 +# This program is distributed in the hope that it will be useful, but WI= THOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or = FITNESS +# FOR A PARTICULAR PURPOSE. See either the GNU General Public License o= r the +# Artistic License for more details. +########################################################################= ######## +--> + +<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en-US"> +<head> +<title><!--#path style=3D"text" text=3D" : " textonly=3D"1"--></title> +<!--#head--> +<style type=3D"text/css"> + +/********************/ +/* template classes */ +/********************/ + +body { margin: 0px; } + +/* left table cell, contains logo and menus */ +td.LeftPanel { background-color: #003366; color: white; white-space: now= rap; width: 1em; } +td.LeftPanel a:link, +td.LeftPanel a:visited { color: #FF9933; } + +div.Logo { } +div.Links { font-size: small; } +div.Siblings { font-size: small; } +div.Options { font-size: small; } + +/* top table cell, contains login message and path */ +td.TopPanel { background-color: #003366; color: white; height: 1; } +td.TopPanel a:link, +td.TopPanel a:visited { color: #FF9933; } + + +*.LoginStatus { text-align: right; font-size: small; position:absolute; = right: 0; } +td.Timestamp { text-align: left; font-size: small; font-style: italic= ; } + +*.Path { } + +/* main content panel, contains body */ +td.ContentPanel { background-color: white; color: black; } +td.ContentPanel a:link, +td.ContentPanel a:visited { color: blue; } +td.ContentPanel a:active { color: red; } + +/* contains info */ +td.InfoPanel { background-color: #DDDDDD; color: black; width: 15% } +td.InfoPanel a:link, +td.InfoPanel a:visited { color: blue; } +td.InfoPanel a:active { color: red; } + +div.Info { } +div.Nav { } +div.Title { font-size: 16pt; } +div.SubmitError { color: red; font-style: italic; } +div.Message { font-style: italic; } +div.Body { } +div.Warnings { } + +/* background colors for success and failure messages */ +div.ResultsWithoutError { background-color: #66ff99 } /* light green */ +div.ResultsWithError { background-color: #ffcccc } /* light red */ + +/* text colors for published and unpublished sets */ +font.Published { font-style: normal; font-weight: bold; color: #0000= 00; } /* black */ +font.Unpublished { font-style: italic; font-weight: normal; color: #aaaa= aa; } /* light grey */ + +/* text colors for Auditing, Current, and Dropped students */ +div.Audit { font-style: normal; color: black; } +div.Enrolled { font-weight: bold; color: black; } +div.Drop { font-style: italic; color: grey; } + +/*******************/ +/* general classes */ +/*******************/ + +p.emphasis { font-style:italic; } + +/************************/ +/* new standard classes */ +/************************/ + +/* tables used for laying out form fields shouldn't have a border */ +table.FormLayout { border: 0; } +table.FormLayout tr { vertical-align: top; } +table.FormLayout th.LeftHeader { text-align: right; white-space: nowrap;= } +table.FormLayout tr.ButtonRow { text-align: left; } +table.FormLayout tr.ButtonRowCenter { text-align: center; } + +/* for problems which are rendered by themselves, e.g., by Set Maker */ +div.RenderSolo { background-color: #E0E0E0; color: black; } + +/* minimal style for lists of links (generated by the links escape) */ +ul.LinksMenu { list-style: none; margin-left: 0; padding-left: 0; } +ul.LinksMenu ul { list-style: none; margin-left: 0.5em; padding-left: 0;= } + +/*************************/ +/* WeBWorK::HTML widgets */ +/*************************/ + +/* WeBWorK::HTML::ScrollingRecordList */ +div.ScrollingRecordList { padding: 1em; white-space: nowrap; border: thi= n solid gray; } +div.ScrollingRecordList select.ScrollingRecordList { width: 99%; } + +/***********************************************************************= **/ +/* classes used in Problem.pm (replace these with new standard classes?)= */ +/***********************************************************************= **/ + +table.attemptResults { + border-style: outset;=20 + border-width: 1px;=20 + margin: 0px 10pt;=20 + border-spacing: 1px; +} +table.attemptResults td, +table.attemptResults th { + border-style: inset;=20 + border-width: 1px;=20 + text-align: center;=20 + width: 15ex; + background-color: #DDDDDD; +} +div.problemHeader { float: left; } +div.problem { clear: both; background-color: #E0E0E0; color: black; } +.parsehilight { background-color:yellow; } + +</style> + +<style type=3D"text/css"> +/******************/ +/* gateway styles */ +/******************/ + +div.gwMessage { background-color:#dddddd; color: black; } +div.gwTiming {=20 + background-color:#ddddff;=20 + color: black;=20 + margin-top: 10px; + margin-bottom: 0px; +} +div.gwWarning { background-color:#ffffdd; color: black; } + +span.resultsWithError { background-color: #ffcccc; color: black; } +span.resultsWithoutError { background-color: #66ff99; color: black; } +div.gwCorrect { background-color: #66ff99; color: black; } +div.gwIncorrect { background-color: #ff9999; color: black; } + +div.gwProblem { + clear: both;=20 + background-color: #E0E0E0;=20 + color: black; + padding: 3px; + border: solid black 1px; +} +div.gwSoln { +/* background-color: #e0e0ff; */ + background-color: transparent; + color: black; +/* padding: 2px; */, +/* border: dashed black 1px; */ +} +div.gwSoln b { color: navy; } + +p.gwPreview {=20 + font-size: smaller; + text-align: right;=20 + margin-top: 0px; + margin-bottom: 0px; +} + +table.gwAttemptResults { + border-width: 0px; +} +table.gwAttemptResults td.label {=20 + font-weight: bold;=20 + background-color: transparent; + color: navy; +} +table.gwAttemptResults td.output { + padding: 2px; + border: solid black 1px; + background-color: #eeeeee; +} + +</style> +<script language=3D"javascript" type=3D"text/javascript"> +function jumpTo(ref) { // scrolling javascript function + if ( ref ) { + var pn =3D ref - 1; // we start anchors at 1, not zero + if ( navigator.appName =3D=3D "Netscape" &&=20 + parseFloat(navigator.appVersion) < 5 ) { + var xpos =3D document.anchors[pn].x; + var ypos =3D document.anchors[pn].y; + } else { + var xpos =3D document.anchors[pn].offsetLeft; + var ypos =3D document.anchors[pn].offsetTop; + } + if ( window.scrollTo =3D=3D null ) { // cover for anyone + window.scroll(xpos,ypos); // lacking js1.2 + } else { + window.scrollTo(xpos,ypos); + } + } + return false; // prevent link from being followed +} + +// timer for gateway=20 +var theTime =3D -1; // -1 before we've initialized +var alerted =3D -1; // -1 =3D no alert set; 1 =3D 1st alert set + // this shouldn't really be needed + +function runtimer() { +// aesthetically this is displeasing: we're assuming that the=20 +// ContentGenerator will put the appropriate form elements in that +// page for us to manipulate. even with error checking, it seems sort +// of odd. + if ( document.gwtimer =3D=3D null ) { // no timer + return; + } else { + var tm =3D document.gwtimer.gwtime; + var st =3D document.gwtimer.gwpagetimeleft.value; + + if ( st =3D=3D 0 ) { // no time limit + return; + } else { + if ( theTime =3D=3D -1 ) { + theTime =3D st; + tm.value =3D toMinSec(theTime); + setTimeout("runtimer()", 1000); // 1000 ms =3D 1 sec + } else if ( theTime =3D=3D 0 && alerted !=3D 3 ) { + alert("* You are out of time! *"); + alerted =3D 3; + } else if ( alerted !=3D 3 ) { + theTime--; + tm.value =3D toMinSec(theTime); + setTimeout("runtimer()", 1000); // 1000 ms =3D 1 sec + if ( theTime =3D=3D 35 && alerted !=3D 2 ) { // time is in seconds + alert("* You have only about 30 seconds to complete " + + "this assignment. Press Grade very soon! *\n" + + "* The timer stops while this alert box is open. *"); + alerted =3D 2; + theTime -=3D 5; + } else if ( theTime =3D=3D 75 && alerted !=3D 1) { + alert("* You have only about a minute left " + + "to complete this assignment! *\n" + + "* The timer stops while this alert box is open. *"); + alerted =3D 1; + theTime -=3D 5; + } + } + } + } +} +function toMinSec(t) { +// convert to min:sec + mn =3D Math.floor(t/60); + sc =3D t - 60*mn; + if ( mn < 10 && mn > -1 ) { + mn =3D "0" + mn; + } + if ( sc < 10 ) { + sc =3D "0" + sc; + } + return mn + ":" + sc; +} +</script> +</head> +<body onload=3D"runtimer();"> +<table width=3D"100%" cellpadding=3D"10" cellspacing=3D"0" border=3D"0"> + <tr valign=3D"top"> +<!-- removed left sidebar --> + <!--#if can=3D"info"--> + <td class=3D"TopPanel" colspan=3D"2"> + <!--#else--> + <td class=3D"TopPanel" > + <!--#endif--> + <div style=3D"position:relative; width:100%;"> + <!--#if can=3D"path"--> + <span class=3D"Path"> + <!--#path style=3D"text" image=3D"/webwork2_files/images/right_arro= w.png" text=3D" > "--> + </span> + <!--#endif--> + =09 + <!--#if loggedin=3D"1"--> + <!--#if can=3D"loginstatus"--> + =09 + <span class=3D"LoginStatus"> =09 + =09 + <!--#loginstatus--> + </span> + <!--#endif--> + <!--#endif--> + </div> + </td> + </tr> + <tr valign=3D"top"> + <!--#if warnings=3D"1"--> + <td class=3D"ContentPanelError" bgcolor=3D"#ffcccc"> + <!--#else--> + <td class=3D"ContentPanel" bgcolor=3D"#ffffff"> + <!--#endif-->=09 +<!-- removed nav button to go up --> + <!--#if can=3D"title"--> + <div class=3D"Title"> + <!--#title--> + </div> + <!--#endif--> + <!--#if can=3D"message"--> + <div class=3D"Message"> + <!--#message--> + </div> + <!--#endif--> + + <!--#if can=3D"submiterror"--> + <div class=3D"SubmitError"> + <!--#submiterror--> + </div> + <!--#endif--> + <!--#if can=3D"body"--> + <div class=3D"Body"> + <!--#body--> + </div> + <!--#endif--> + <!--#if warnings=3D"1"--> + <hr> + <div class=3D"Warnings"> + <!--#warnings--> + </div> + <!--#endif--> + <!--#if can=3D"message"--> + <div class=3D"Message"> + <!--#message--> + </div> + <!--#endif--> + </td> + <!--#if can=3D"info"--> + <td class=3D"InfoPanel"> + <div class=3D"Info"> + <!--#info--> + </div> + </td> + <!--#endif--> + </tr> + <tr> + <td class =3D "Timestamp", colspan=3D3> + Updated: <!--#timestamp--> + </td> + </tr> +</table> +</body> +</html> --- /dev/null +++ conf/templates/ur/system.template @@ -0,0 +1,144 @@ +<!DOCTYPE html + PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<!-- +########################################################################= ######## +# WeBWorK Online Homework Delivery System +# Copyright =A9 2000-2003 The WeBWorK Project, http://openwebwork.sf.net= / +# $CVSHeader: webwork2/conf/templates/ur/system.template,v 1.1 2005/12/1= 9 03:37:33 sh002i Exp $ +#=20 +# This program is free software; you can redistribute it and/or modify i= t under +# the terms of either: (a) the GNU General Public License as published b= y the +# Free Software Foundation; either version 2, or (at your option) any la= ter +# version, or (b) the "Artistic License" which comes with this package. +#=20 +# This program is distributed in the hope that it will be useful, but WI= THOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or = FITNESS +# FOR A PARTICULAR PURPOSE. See either the GNU General Public License o= r the +# Artistic License for more details. +########################################################################= ######## +--> + + +<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en-US"> +<head> +<title><!--#path style=3D"text" text=3D" : " textonly=3D"1"--></title> +<!--#head--> +<style type=3D"text/css" media=3D"all">@import "<!--#url type=3D"webwork= " name=3D"stylesheet"-->";</style> +</head> +<body> +<table width=3D"100%" cellpadding=3D"10" cellspacing=3D"0" border=3D"0"> + <tr valign=3D"top"> + <td align=3D"left" valign=3D"top" rowspan=3D"2" class=3D"LeftPanel"> + <a href=3D"http://webwork.math.rochester.edu"> + <img src=3D"/webwork2_files/images/webwork_square.gif" alt=3D"WeBWorK= " height=3D"64" width=3D"66" /> + </a> + <span style=3D"position:relative;top: -44px; right: -10px"> + <!--#help-->=20 + </span> + <br /> + =09 + <!-- + <hr /> + <div class=3D"Logo"> =09 + <a href=3D"http://webwork3.math.rochester.edu/bugzilla/enter_bug.cgi= ?product=3DWeBWorK%20mod_perl" target=3D"bugzillaPage">Report bugs</a> + </div> + --> + <!--#if loggedin=3D"1"--> + <hr /> + <div class=3D"Links"> + <!--#links--> + </div> + <!--#if can=3D"links"--> + <!--#if can=3D"siblings"--> + <hr /> + <!--#endif--> + <!--#endif--> + <div class=3D"Siblings"> + <!--#siblings--> + </div> + <!--#if can=3D"options"--> + <div class=3D"Options"> + <!--#options--> + </div> + <!--#endif--> + <!--#endif--> + </td> + <!--#if can=3D"info"--> + <td class=3D"TopPanel" colspan=3D"2"> + <!--#else--> + <td class=3D"TopPanel" > + <!--#endif--> + <table cellpadding=3D"0" cellspacing=3D"0" border=3D"0" width=3D"100%= "> + <tr valign=3D"top"> + <td class=3D"TopPanel"> + <!--#if can=3D"path"--> + <span class=3D"Path"><!--#path style=3D"text" image=3D"/webwork2_f= iles/images/right_arrow.png" text=3D" > "--></span> + <!--#endif--> + </td> + <td class=3D"TopPanel" align=3D"right" nowrap> + <!--#if can=3D"loginstatus"--> + <span class=3D"LoginStatus"><!--#loginstatus--></span> + <!--#endif--> + </td> + </tr> + </table> + </td> + </tr> + <tr valign=3D"top"> + <!--#if warnings=3D"1"--> + <td class=3D"ContentPanelError" bgcolor=3D"#ffcccc"> + <!--#else--> + <td class=3D"ContentPanel" bgcolor=3D"#ffffff"> + <!--#endif-->=09 + <!--#if can=3D"nav"--> + <div class=3D"Nav"> + <!--#nav style=3D"images" imageprefix=3D"/webwork2_files/images/nav"= imagesuffix=3D".gif" separator=3D" "--> + </div> + <!--#endif--> + <!--#if can=3D"title"--> + <div class=3D"Title"> + <!--#title--> + </div> + <!--#endif--> + <!--#if can=3D"message"--> + <div class=3D"Message"> + <!--#message--> + </div> + <!--#endif--> + + <!--#if can=3D"body"--> + <div class=3D"Body"> + <!--#body--> + </div> + <!--#endif--> + <!--#if warnings=3D"1"--> + <hr> + <div class=3D"Warnings"> + <!--#warnings--> + </div> + <!--#endif--> + <!--#if can=3D"message"--> + <div class=3D"Message"> + <!--#message--> + </div> + <!--#endif--> + </td> + <!--#if can=3D"info"--> + <td class=3D"InfoPanel"> + <div class=3D"Info"> + <!--#info--> + </div> + </td> + <!--#endif--> + </tr> + <tr> + <td class =3D "Timestamp", colspan=3D3> + Updated: <!--#timestamp--> + </td> + </tr> +</table> +</body> + +</html> |
From: Sam H. v. a. <we...@ma...> - 2005-12-19 03:40:10
|
Log Message: ----------- moved template files into theme directories Removed Files: ------------- webwork2/conf/templates: gw.template math-gateway.template math-system.template test.template ur.template Revision Data ------------- --- conf/templates/ur.template +++ /dev/null @@ -1,144 +0,0 @@ -<!DOCTYPE html - PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<!-- -########################################################################= ######## -# WeBWorK Online Homework Delivery System -# Copyright =A9 2000-2003 The WeBWorK Project, http://openwebwork.sf.net= / -# $CVSHeader: webwork2/conf/templates/ur.template,v 1.48 2005/12/19 00:1= 2:53 sh002i Exp $ -#=20 -# This program is free software; you can redistribute it and/or modify i= t under -# the terms of either: (a) the GNU General Public License as published b= y the -# Free Software Foundation; either version 2, or (at your option) any la= ter -# version, or (b) the "Artistic License" which comes with this package. -#=20 -# This program is distributed in the hope that it will be useful, but WI= THOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or = FITNESS -# FOR A PARTICULAR PURPOSE. See either the GNU General Public License o= r the -# Artistic License for more details. -########################################################################= ######## ---> - - -<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en-US"> -<head> -<title><!--#path style=3D"text" text=3D" : " textonly=3D"1"--></title> -<!--#head--> -<style type=3D"text/css" media=3D"all">@import "<!--#url type=3D"webwork= " name=3D"stylesheet"-->";</style> -</head> -<body> -<table width=3D"100%" cellpadding=3D"10" cellspacing=3D"0" border=3D"0"> - <tr valign=3D"top"> - <td align=3D"left" valign=3D"top" rowspan=3D"2" class=3D"LeftPanel"> - <a href=3D"http://webwork.math.rochester.edu"> - <img src=3D"/webwork2_files/images/webwork_square.gif" alt=3D"WeBWorK= " height=3D"64" width=3D"66" /> - </a> - <span style=3D"position:relative;top: -44px; right: -10px"> - <!--#help-->=20 - </span> - <br /> - =09 - <!-- - <hr /> - <div class=3D"Logo"> =09 - <a href=3D"http://webwork3.math.rochester.edu/bugzilla/enter_bug.cgi= ?product=3DWeBWorK%20mod_perl" target=3D"bugzillaPage">Report bugs</a> - </div> - --> - <!--#if loggedin=3D"1"--> - <hr /> - <div class=3D"Links"> - <!--#links--> - </div> - <!--#if can=3D"links"--> - <!--#if can=3D"siblings"--> - <hr /> - <!--#endif--> - <!--#endif--> - <div class=3D"Siblings"> - <!--#siblings--> - </div> - <!--#if can=3D"options"--> - <div class=3D"Options"> - <!--#options--> - </div> - <!--#endif--> - <!--#endif--> - </td> - <!--#if can=3D"info"--> - <td class=3D"TopPanel" colspan=3D"2"> - <!--#else--> - <td class=3D"TopPanel" > - <!--#endif--> - <table cellpadding=3D"0" cellspacing=3D"0" border=3D"0" width=3D"100%= "> - <tr valign=3D"top"> - <td class=3D"TopPanel"> - <!--#if can=3D"path"--> - <span class=3D"Path"><!--#path style=3D"text" image=3D"/webwork2_f= iles/images/right_arrow.png" text=3D" > "--></span> - <!--#endif--> - </td> - <td class=3D"TopPanel" align=3D"right" nowrap> - <!--#if can=3D"loginstatus"--> - <span class=3D"LoginStatus"><!--#loginstatus--></span> - <!--#endif--> - </td> - </tr> - </table> - </td> - </tr> - <tr valign=3D"top"> - <!--#if warnings=3D"1"--> - <td class=3D"ContentPanelError" bgcolor=3D"#ffcccc"> - <!--#else--> - <td class=3D"ContentPanel" bgcolor=3D"#ffffff"> - <!--#endif-->=09 - <!--#if can=3D"nav"--> - <div class=3D"Nav"> - <!--#nav style=3D"images" imageprefix=3D"/webwork2_files/images/nav"= imagesuffix=3D".gif" separator=3D" "--> - </div> - <!--#endif--> - <!--#if can=3D"title"--> - <div class=3D"Title"> - <!--#title--> - </div> - <!--#endif--> - <!--#if can=3D"message"--> - <div class=3D"Message"> - <!--#message--> - </div> - <!--#endif--> - - <!--#if can=3D"body"--> - <div class=3D"Body"> - <!--#body--> - </div> - <!--#endif--> - <!--#if warnings=3D"1"--> - <hr> - <div class=3D"Warnings"> - <!--#warnings--> - </div> - <!--#endif--> - <!--#if can=3D"message"--> - <div class=3D"Message"> - <!--#message--> - </div> - <!--#endif--> - </td> - <!--#if can=3D"info"--> - <td class=3D"InfoPanel"> - <div class=3D"Info"> - <!--#info--> - </div> - </td> - <!--#endif--> - </tr> - <tr> - <td class =3D "Timestamp", colspan=3D3> - Updated: <!--#timestamp--> - </td> - </tr> -</table> -</body> - -</html> --- conf/templates/test.template +++ /dev/null @@ -1,99 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<!-- -########################################################################= ######## -# WeBWorK Online Homework Delivery System -# Copyright =A9 2000-2003 The WeBWorK Project, http://openwebwork.sf.net= / -# $CVSHeader: webwork2/conf/templates/test.template,v 1.6 2005/12/18 22:= 38:55 sh002i Exp $ -#=20 -# This program is free software; you can redistribute it and/or modify i= t under -# the terms of either: (a) the GNU General Public License as published b= y the -# Free Software Foundation; either version 2, or (at your option) any la= ter -# version, or (b) the "Artistic License" which comes with this package. -#=20 -# This program is distributed in the hope that it will be useful, but WI= THOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or = FITNESS -# FOR A PARTICULAR PURPOSE. See either the GNU General Public License o= r the -# Artistic License for more details. -########################################################################= ######## ---> - -<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en-US"> -<head> -<title>WeBWorK Test Template</title> -<style type=3D"text/css"> -div.test_box { border: 1px solid black } -</style> -<!--#head--> -</head> -<body> - -<h1>help</h1> -<div class=3D"test_box"> -<!--#help--> -</div> - -<h1>links</h1> -<div class=3D"test_box"> -<!--#links--> -</div> - -<h1>siblings</h1> -<div class=3D"test_box"> -<!--#siblings--> -</div> - -<h1>options</h1> -<div class=3D"test_box"> -<!--#options--> -</div> - -<h1>path</h1> -<div class=3D"test_box"> -<!--#path style=3D"text" text=3D" > "--> -</div> - -<h1>loginstatus</h1> -<div class=3D"test_box"> -<!--#loginstatus--> -</div> - -<h1>nav</h1> -<div class=3D"test_box"> -<!--#nav style=3D"images" imageprefix=3D"/webwork2_files/images/nav" ima= gesuffix=3D".gif" separator=3D" "--> -</div> - -<h1>title</h1> -<div class=3D"test_box"> -<!--#title--> -</div> - -<h1>message</h1> -<p>used for addmessage/addgoodmessae/addbadmessage... displayed at top a= nd bottom of page in ur.template.</p> -<div class=3D"test_box"> -<!--#message--> -</div> - -<h1>body</h1> -<div class=3D"test_box"> -<!--#body--> -</div> - -<h1>warnings</h1> -<div class=3D"test_box"> -<!--#warnings--> -</div> - -<h1>info</h1> -<div class=3D"test_box"> -<!--#info--> -</div> - -<h1>timestamp</h1> -<div class=3D"test_box"> -<!--#timestamp--> -</div> - -</body> -</html> --- conf/templates/math-gateway.template +++ /dev/null @@ -1,171 +0,0 @@ -=EF=BB=BF<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns=3D"http://www.w3.org/1999/xhtml" xml:lang=3D"en" lang=3D"en"= > -<head> -<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF-8"= /> -<link rel=3D"stylesheet" type=3D"text/css" media=3D"All" href=3D"<!--#ur= l type=3D"webwork" name=3D"htdocs"-->/css/math.css"/> -<!-- [gateway] since the left-side menus are gone, don't indent the main= content area --> -<style type=3D"text/css"> - #breadcrumbs { margin-left: .5em } - #content { margin-left: .5em } - #footer { margin-left: .5em } -=09 -</style> -<title><!--#path style=3D"text" text=3D" : " textonly=3D"1"--></title> -<!--#head--> -<script language=3D"javascript" type=3D"text/javascript"> -function jumpTo(ref) { // scrolling javascript function - if ( ref ) { - var pn =3D ref - 1; // we start anchors at 1, not zero - if ( navigator.appName =3D=3D "Netscape" &&=20 - parseFloat(navigator.appVersion) < 5 ) { - var xpos =3D document.anchors[pn].x; - var ypos =3D document.anchors[pn].y; - } else { - var xpos =3D document.anchors[pn].offsetLeft; - var ypos =3D document.anchors[pn].offsetTop; - } - if ( window.scrollTo =3D=3D null ) { // cover for anyone - window.scroll(xpos,ypos); // lacking js1.2 - } else { - window.scrollTo(xpos,ypos); - } - } - return false; // prevent link from being followed -} - -// timer for gateway=20 -var theTime =3D -1; // -1 before we've initialized -var alerted =3D -1; // -1 =3D no alert set; 1 =3D 1st alert set - // this shouldn't really be needed - -function runtimer() { -// aesthetically this is displeasing: we're assuming that the=20 -// ContentGenerator will put the appropriate form elements in that -// page for us to manipulate. even with error checking, it seems sort -// of odd. - if ( document.gwtimer =3D=3D null ) { // no timer - return; - } else { - var tm =3D document.gwtimer.gwtime; - var st =3D document.gwtimer.gwpagetimeleft.value; - - if ( st =3D=3D 0 ) { // no time limit - return; - } else { - if ( theTime =3D=3D -1 ) { - theTime =3D st; - tm.value =3D toMinSec(theTime); - setTimeout("runtimer()", 1000); // 1000 ms =3D 1 sec - } else if ( theTime =3D=3D 0 && alerted !=3D 3 ) { - alert("* You are out of time! *"); - alerted =3D 3; - } else if ( alerted !=3D 3 ) { - theTime--; - tm.value =3D toMinSec(theTime); - setTimeout("runtimer()", 1000); // 1000 ms =3D 1 sec - if ( theTime =3D=3D 35 && alerted !=3D 2 ) { // time is in seconds - alert("* You have only about 30 seconds to complete " + - "this assignment. Press Grade very soon! *\n" + - "* The timer stops while this alert box is open. *"); - alerted =3D 2; - theTime -=3D 5; - } else if ( theTime =3D=3D 75 && alerted !=3D 1) { - alert("* You have only about a minute left " + - "to complete this assignment! *\n" + - "* The timer stops while this alert box is open. *"); - alerted =3D 1; - theTime -=3D 5; - } - } - } - } -} -function toMinSec(t) { -// convert to min:sec - mn =3D Math.floor(t/60); - sc =3D t - 60*mn; - if ( mn < 10 && mn > -1 ) { - mn =3D "0" + mn; - } - if ( sc < 10 ) { - sc =3D "0" + sc; - } - return mn + ":" + sc; -} -</script> -</head> -<body bgcolor=3D"white"> - -<div id=3D"masthead"> - <div id=3D"loginstatus"> - <!--#loginstatus--> - </div> - <div id=3D"logo"> - <img src=3D"<!--#url type=3D"webwork" name=3D"htdocs"-->/images/webwor= k_rectangle.png" alt=3D"WeBWorK" height=3D"51" width=3D"267" /> - </div> -</div> -<hr class=3D"for-broken-browsers"/> -<div id=3D"big-wrapper"> - <div id=3D"breadcrumbs"> - <!--#path style=3D"text" text=3D" =E2=86=92 "--> - </div> - <div id=3D"content"> - =09 - <!--#if can=3D"info"--> - <div id=3D"page-info"> - <div class=3D"info-box" id=3D"fisheye"> - <h2>Info</h2> - <!--#info--> - </div> - </div> - <!--#endif--> - <!-- [gateway] removed nav button to go up --> - <!--#if can=3D"title"--> - <h1><!--#title--></h1> - <!--#endif--> - <!--#if can=3D"message"--> - <div class=3D"Message"> - <!--#message--> - </div> - <!--#endif--> - - <!--#if can=3D"body"--> - <div class=3D"Body"> - <!--#body--> - </div> - <!--#endif--> - <!--#if warnings=3D"1"--> - <hr> - <div class=3D"Warnings"> - <!--#warnings--> - </div> - <!--#endif--> - <!--#if can=3D"message"--> - <div class=3D"Message"> - <!--#message--> - </div> - <!--#endif--> - =09 - </div> <!-- content --> - <hr class=3D"for-broken-browsers"/> - <div id=3D"footer"> - <p id=3D"last-modified">Page generated at <!--#timestamp--></p> - <!--<div id=3D"feedback"> - FEEDBACK - </div>--> - <div id=3D"copyright"> - WeBWorK =C2=A9 2000-2005 <a href=3D"http://openwebwork.sf.net/">The W= eBWorK Project</a> - </div> - <!--<div id=3D"validate"> - VALIDATE - </div>--> - <!--<p class=3D"page-url"> - PAGE-URL (p) - </p>--> - </div> - <!-- [gateway] removed left sidebar --> -</div> <!-- big-wrapper --> - -</body> -</html> --- conf/templates/gw.template +++ /dev/null @@ -1,367 +0,0 @@ -<!DOCTYPE html - PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - -<!-- -########################################################################= ######## -# WeBWorK Online Homework Delivery System -# Copyright =A9 2000-2003 The WeBWorK Project, http://openwebwork.sf.net= / -# $CVSHeader: webwork2/conf/templates/gw.template,v 1.2 2005/07/14 13:15= :23 glarose Exp $ -#=20 -# This program is free software; you can redistribute it and/or modify i= t under -# the terms of either: (a) the GNU General Public License as published b= y the -# Free Software Foundation; either version 2, or (at your option) any la= ter -# version, or (b) the "Artistic License" which comes with this package. -#=20 -# This program is distributed in the hope that it will be useful, but WI= THOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or = FITNESS -# FOR A PARTICULAR PURPOSE. See either the GNU General Public License o= r the -# Artistic License for more details. -########################################################################= ######## ---> - -<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en-US"> -<head> -<title><!--#path style=3D"text" text=3D" : " textonly=3D"1"--></title> -<!--#head--> -<style type=3D"text/css"> - -/********************/ -/* template classes */ -/********************/ - -body { margin: 0px; } - -/* left table cell, contains logo and menus */ -td.LeftPanel { background-color: #003366; color: white; white-space: now= rap; width: 1em; } -td.LeftPanel a:link, -td.LeftPanel a:visited { color: #FF9933; } - -div.Logo { } -div.Links { font-size: small; } -div.Siblings { font-size: small; } -div.Options { font-size: small; } - -/* top table cell, contains login message and path */ -td.TopPanel { background-color: #003366; color: white; height: 1; } -td.TopPanel a:link, -td.TopPanel a:visited { color: #FF9933; } - - -*.LoginStatus { text-align: right; font-size: small; position:absolute; = right: 0; } -td.Timestamp { text-align: left; font-size: small; font-style: italic= ; } - -*.Path { } - -/* main content panel, contains body */ -td.ContentPanel { background-color: white; color: black; } -td.ContentPanel a:link, -td.ContentPanel a:visited { color: blue; } -td.ContentPanel a:active { color: red; } - -/* contains info */ -td.InfoPanel { background-color: #DDDDDD; color: black; width: 15% } -td.InfoPanel a:link, -td.InfoPanel a:visited { color: blue; } -td.InfoPanel a:active { color: red; } - -div.Info { } -div.Nav { } -div.Title { font-size: 16pt; } -div.SubmitError { color: red; font-style: italic; } -div.Message { font-style: italic; } -div.Body { } -div.Warnings { } - -/* background colors for success and failure messages */ -div.ResultsWithoutError { background-color: #66ff99 } /* light green */ -div.ResultsWithError { background-color: #ffcccc } /* light red */ - -/* text colors for published and unpublished sets */ -font.Published { font-style: normal; font-weight: bold; color: #0000= 00; } /* black */ -font.Unpublished { font-style: italic; font-weight: normal; color: #aaaa= aa; } /* light grey */ - -/* text colors for Auditing, Current, and Dropped students */ -div.Audit { font-style: normal; color: black; } -div.Enrolled { font-weight: bold; color: black; } -div.Drop { font-style: italic; color: grey; } - -/*******************/ -/* general classes */ -/*******************/ - -p.emphasis { font-style:italic; } - -/************************/ -/* new standard classes */ -/************************/ - -/* tables used for laying out form fields shouldn't have a border */ -table.FormLayout { border: 0; } -table.FormLayout tr { vertical-align: top; } -table.FormLayout th.LeftHeader { text-align: right; white-space: nowrap;= } -table.FormLayout tr.ButtonRow { text-align: left; } -table.FormLayout tr.ButtonRowCenter { text-align: center; } - -/* for problems which are rendered by themselves, e.g., by Set Maker */ -div.RenderSolo { background-color: #E0E0E0; color: black; } - -/* minimal style for lists of links (generated by the links escape) */ -ul.LinksMenu { list-style: none; margin-left: 0; padding-left: 0; } -ul.LinksMenu ul { list-style: none; margin-left: 0.5em; padding-left: 0;= } - -/*************************/ -/* WeBWorK::HTML widgets */ -/*************************/ - -/* WeBWorK::HTML::ScrollingRecordList */ -div.ScrollingRecordList { padding: 1em; white-space: nowrap; border: thi= n solid gray; } -div.ScrollingRecordList select.ScrollingRecordList { width: 99%; } - -/***********************************************************************= **/ -/* classes used in Problem.pm (replace these with new standard classes?)= */ -/***********************************************************************= **/ - -table.attemptResults { - border-style: outset;=20 - border-width: 1px;=20 - margin: 0px 10pt;=20 - border-spacing: 1px; -} -table.attemptResults td, -table.attemptResults th { - border-style: inset;=20 - border-width: 1px;=20 - text-align: center;=20 - width: 15ex; - background-color: #DDDDDD; -} -div.problemHeader { float: left; } -div.problem { clear: both; background-color: #E0E0E0; color: black; } -.parsehilight { background-color:yellow; } - -</style> - -<style type=3D"text/css"> -/******************/ -/* gateway styles */ -/******************/ - -div.gwMessage { background-color:#dddddd; color: black; } -div.gwTiming {=20 - background-color:#ddddff;=20 - color: black;=20 - margin-top: 10px; - margin-bottom: 0px; -} -div.gwWarning { background-color:#ffffdd; color: black; } - -span.resultsWithError { background-color: #ffcccc; color: black; } -span.resultsWithoutError { background-color: #66ff99; color: black; } -div.gwCorrect { background-color: #66ff99; color: black; } -div.gwIncorrect { background-color: #ff9999; color: black; } - -div.gwProblem { - clear: both;=20 - background-color: #E0E0E0;=20 - color: black; - padding: 3px; - border: solid black 1px; -} -div.gwSoln { -/* background-color: #e0e0ff; */ - background-color: transparent; - color: black; -/* padding: 2px; */, -/* border: dashed black 1px; */ -} -div.gwSoln b { color: navy; } - -p.gwPreview {=20 - font-size: smaller; - text-align: right;=20 - margin-top: 0px; - margin-bottom: 0px; -} - -table.gwAttemptResults { - border-width: 0px; -} -table.gwAttemptResults td.label {=20 - font-weight: bold;=20 - background-color: transparent; - color: navy; -} -table.gwAttemptResults td.output { - padding: 2px; - border: solid black 1px; - background-color: #eeeeee; -} - -</style> -<script language=3D"javascript" type=3D"text/javascript"> -function jumpTo(ref) { // scrolling javascript function - if ( ref ) { - var pn =3D ref - 1; // we start anchors at 1, not zero - if ( navigator.appName =3D=3D "Netscape" &&=20 - parseFloat(navigator.appVersion) < 5 ) { - var xpos =3D document.anchors[pn].x; - var ypos =3D document.anchors[pn].y; - } else { - var xpos =3D document.anchors[pn].offsetLeft; - var ypos =3D document.anchors[pn].offsetTop; - } - if ( window.scrollTo =3D=3D null ) { // cover for anyone - window.scroll(xpos,ypos); // lacking js1.2 - } else { - window.scrollTo(xpos,ypos); - } - } - return false; // prevent link from being followed -} - -// timer for gateway=20 -var theTime =3D -1; // -1 before we've initialized -var alerted =3D -1; // -1 =3D no alert set; 1 =3D 1st alert set - // this shouldn't really be needed - -function runtimer() { -// aesthetically this is displeasing: we're assuming that the=20 -// ContentGenerator will put the appropriate form elements in that -// page for us to manipulate. even with error checking, it seems sort -// of odd. - if ( document.gwtimer =3D=3D null ) { // no timer - return; - } else { - var tm =3D document.gwtimer.gwtime; - var st =3D document.gwtimer.gwpagetimeleft.value; - - if ( st =3D=3D 0 ) { // no time limit - return; - } else { - if ( theTime =3D=3D -1 ) { - theTime =3D st; - tm.value =3D toMinSec(theTime); - setTimeout("runtimer()", 1000); // 1000 ms =3D 1 sec - } else if ( theTime =3D=3D 0 && alerted !=3D 3 ) { - alert("* You are out of time! *"); - alerted =3D 3; - } else if ( alerted !=3D 3 ) { - theTime--; - tm.value =3D toMinSec(theTime); - setTimeout("runtimer()", 1000); // 1000 ms =3D 1 sec - if ( theTime =3D=3D 35 && alerted !=3D 2 ) { // time is in seconds - alert("* You have only about 30 seconds to complete " + - "this assignment. Press Grade very soon! *\n" + - "* The timer stops while this alert box is open. *"); - alerted =3D 2; - theTime -=3D 5; - } else if ( theTime =3D=3D 75 && alerted !=3D 1) { - alert("* You have only about a minute left " + - "to complete this assignment! *\n" + - "* The timer stops while this alert box is open. *"); - alerted =3D 1; - theTime -=3D 5; - } - } - } - } -} -function toMinSec(t) { -// convert to min:sec - mn =3D Math.floor(t/60); - sc =3D t - 60*mn; - if ( mn < 10 && mn > -1 ) { - mn =3D "0" + mn; - } - if ( sc < 10 ) { - sc =3D "0" + sc; - } - return mn + ":" + sc; -} -</script> -</head> -<body onload=3D"runtimer();"> -<table width=3D"100%" cellpadding=3D"10" cellspacing=3D"0" border=3D"0"> - <tr valign=3D"top"> -<!-- removed left sidebar --> - <!--#if can=3D"info"--> - <td class=3D"TopPanel" colspan=3D"2"> - <!--#else--> - <td class=3D"TopPanel" > - <!--#endif--> - <div style=3D"position:relative; width:100%;"> - <!--#if can=3D"path"--> - <span class=3D"Path"> - <!--#path style=3D"text" image=3D"/webwork2_files/images/right_arro= w.png" text=3D" > "--> - </span> - <!--#endif--> - =09 - <!--#if loggedin=3D"1"--> - <!--#if can=3D"loginstatus"--> - =09 - <span class=3D"LoginStatus"> =09 - =09 - <!--#loginstatus--> - </span> - <!--#endif--> - <!--#endif--> - </div> - </td> - </tr> - <tr valign=3D"top"> - <!--#if warnings=3D"1"--> - <td class=3D"ContentPanelError" bgcolor=3D"#ffcccc"> - <!--#else--> - <td class=3D"ContentPanel" bgcolor=3D"#ffffff"> - <!--#endif-->=09 -<!-- removed nav button to go up --> - <!--#if can=3D"title"--> - <div class=3D"Title"> - <!--#title--> - </div> - <!--#endif--> - <!--#if can=3D"message"--> - <div class=3D"Message"> - <!--#message--> - </div> - <!--#endif--> - - <!--#if can=3D"submiterror"--> - <div class=3D"SubmitError"> - <!--#submiterror--> - </div> - <!--#endif--> - <!--#if can=3D"body"--> - <div class=3D"Body"> - <!--#body--> - </div> - <!--#endif--> - <!--#if warnings=3D"1"--> - <hr> - <div class=3D"Warnings"> - <!--#warnings--> - </div> - <!--#endif--> - <!--#if can=3D"message"--> - <div class=3D"Message"> - <!--#message--> - </div> - <!--#endif--> - </td> - <!--#if can=3D"info"--> - <td class=3D"InfoPanel"> - <div class=3D"Info"> - <!--#info--> - </div> - </td> - <!--#endif--> - </tr> - <tr> - <td class =3D "Timestamp", colspan=3D3> - Updated: <!--#timestamp--> - </td> - </tr> -</table> -</body> -</html> --- conf/templates/math-system.template +++ /dev/null @@ -1,106 +0,0 @@ -=EF=BB=BF<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns=3D"http://www.w3.org/1999/xhtml" xml:lang=3D"en" lang=3D"en"= > -<head> -<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF-8"= /> -<link rel=3D"stylesheet" type=3D"text/css" media=3D"All" href=3D"<!--#ur= l type=3D"webwork" name=3D"htdocs"-->/css/math.css"/> -<title><!--#path style=3D"text" text=3D" : " textonly=3D"1"--></title> -<!--#head--> -</head> -<body bgcolor=3D"white"> - -<div id=3D"masthead"> - <div id=3D"loginstatus"> - <!--#loginstatus--> - </div> - <div id=3D"logo"> - <img src=3D"<!--#url type=3D"webwork" name=3D"htdocs"-->/images/webwor= k_rectangle.png" alt=3D"WeBWorK" height=3D"51" width=3D"267" /> - </div> -</div> -<hr class=3D"for-broken-browsers"/> -<div id=3D"big-wrapper"> - <div id=3D"breadcrumbs"> - <!--#path style=3D"text" text=3D" =E2=86=92 "--> - </div> - <div id=3D"content"> - =09 - <!--#if can=3D"info"--> - <div id=3D"page-info"> - <div class=3D"info-box" id=3D"fisheye"> - <h2>Info</h2> - <!--#info--> - </div> - </div> - <!--#endif--> - <!--#if can=3D"nav"--> - <div class=3D"Nav"> - <!--#nav style=3D"images" imageprefix=3D"/webwork2_files/images/nav" = imagesuffix=3D".gif" separator=3D" "--> - </div> - <!--#endif--> - <!--#if can=3D"title"--> - <h1><!--#title--></h1> - <!--#endif--> - <!--#if can=3D"message"--> - <div class=3D"Message"> - <!--#message--> - </div> - <!--#endif--> - - <!--#if can=3D"body"--> - <div class=3D"Body"> - <!--#body--> - </div> - <!--#endif--> - <!--#if warnings=3D"1"--> - <hr> - <div class=3D"Warnings"> - <!--#warnings--> - </div> - <!--#endif--> - <!--#if can=3D"message"--> - <div class=3D"Message"> - <!--#message--> - </div> - <!--#endif--> - =09 - </div> <!-- content --> - <hr class=3D"for-broken-browsers"/> - <div id=3D"footer"> - <p id=3D"last-modified">Page generated at <!--#timestamp--></p> - <!--<div id=3D"feedback"> - FEEDBACK - </div>--> - <div id=3D"copyright"> - WeBWorK =C2=A9 2000-2005 <a href=3D"http://openwebwork.sf.net/">The W= eBWorK Project</a> - </div> - <!--<div id=3D"validate"> - VALIDATE - </div>--> - <!--<p class=3D"page-url"> - PAGE-URL (p) - </p>--> - </div> - <div id=3D"site-navigation"> - <!--#if can=3D"links"--> - <div class=3D"info-box" id=3D"fisheye"> - <h2>Main Menu</h2> - <!--#links--> - </div> - <!--#endif--> - <!--#if can=3D"siblings"--> - <div class=3D"info-box" id=3D"fisheye"> - <h2>Siblings</h2> - <!--#siblings--> - </div> - <!--#endif--> - <!--#if can=3D"options"--> - <div class=3D"info-box" id=3D"fisheye"> - <h2>Display Options</h2> - <!--#options--> - </div> - <!--#endif--> - </div> -</div> <!-- big-wrapper --> - -</body> -</html> |
From: Sam H. v. a. <we...@ma...> - 2005-12-19 03:39:26
|
Update of /webwork/cvs/system/webwork2/conf/templates/ur In directory devel.webwork.rochester.edu:/home/sh002i/work/webwork2_HEAD/conf/templates/ur Log Message: Directory /webwork/cvs/system/webwork2/conf/templates/ur added to the repository |
From: Sam H. v. a. <we...@ma...> - 2005-12-19 03:39:25
|
Update of /webwork/cvs/system/webwork2/conf/templates/math In directory devel.webwork.rochester.edu:/home/sh002i/work/webwork2_HEAD/conf/templates/math Log Message: Directory /webwork/cvs/system/webwork2/conf/templates/math added to the repository |
From: Sam H. v. a. <we...@ma...> - 2005-12-19 03:39:24
|
Update of /webwork/cvs/system/webwork2/conf/templates/test In directory devel.webwork.rochester.edu:/home/sh002i/work/webwork2_HEAD/conf/templates/test Log Message: Directory /webwork/cvs/system/webwork2/conf/templates/test added to the repository |
From: Sam H. v. a. <we...@ma...> - 2005-12-19 00:16:39
|
Log Message: ----------- added math-based template hack on it and figure out how it sucks. Modified Files: -------------- webwork2/conf/templates: ur.template webwork2/lib/WeBWorK: ContentGenerator.pm Added Files: ----------- webwork2/conf/templates: math-gateway.template math-system.template webwork2/htdocs/css: math.css webwork2/htdocs/images: spiderweb.png Revision Data ------------- --- /dev/null +++ conf/templates/math-gateway.template @@ -0,0 +1,171 @@ +=EF=BB=BF<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns=3D"http://www.w3.org/1999/xhtml" xml:lang=3D"en" lang=3D"en"= > +<head> +<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF-8"= /> +<link rel=3D"stylesheet" type=3D"text/css" media=3D"All" href=3D"<!--#ur= l type=3D"webwork" name=3D"htdocs"-->/css/math.css"/> +<!-- [gateway] since the left-side menus are gone, don't indent the main= content area --> +<style type=3D"text/css"> + #breadcrumbs { margin-left: .5em } + #content { margin-left: .5em } + #footer { margin-left: .5em } +=09 +</style> +<title><!--#path style=3D"text" text=3D" : " textonly=3D"1"--></title> +<!--#head--> +<script language=3D"javascript" type=3D"text/javascript"> +function jumpTo(ref) { // scrolling javascript function + if ( ref ) { + var pn =3D ref - 1; // we start anchors at 1, not zero + if ( navigator.appName =3D=3D "Netscape" &&=20 + parseFloat(navigator.appVersion) < 5 ) { + var xpos =3D document.anchors[pn].x; + var ypos =3D document.anchors[pn].y; + } else { + var xpos =3D document.anchors[pn].offsetLeft; + var ypos =3D document.anchors[pn].offsetTop; + } + if ( window.scrollTo =3D=3D null ) { // cover for anyone + window.scroll(xpos,ypos); // lacking js1.2 + } else { + window.scrollTo(xpos,ypos); + } + } + return false; // prevent link from being followed +} + +// timer for gateway=20 +var theTime =3D -1; // -1 before we've initialized +var alerted =3D -1; // -1 =3D no alert set; 1 =3D 1st alert set + // this shouldn't really be needed + +function runtimer() { +// aesthetically this is displeasing: we're assuming that the=20 +// ContentGenerator will put the appropriate form elements in that +// page for us to manipulate. even with error checking, it seems sort +// of odd. + if ( document.gwtimer =3D=3D null ) { // no timer + return; + } else { + var tm =3D document.gwtimer.gwtime; + var st =3D document.gwtimer.gwpagetimeleft.value; + + if ( st =3D=3D 0 ) { // no time limit + return; + } else { + if ( theTime =3D=3D -1 ) { + theTime =3D st; + tm.value =3D toMinSec(theTime); + setTimeout("runtimer()", 1000); // 1000 ms =3D 1 sec + } else if ( theTime =3D=3D 0 && alerted !=3D 3 ) { + alert("* You are out of time! *"); + alerted =3D 3; + } else if ( alerted !=3D 3 ) { + theTime--; + tm.value =3D toMinSec(theTime); + setTimeout("runtimer()", 1000); // 1000 ms =3D 1 sec + if ( theTime =3D=3D 35 && alerted !=3D 2 ) { // time is in seconds + alert("* You have only about 30 seconds to complete " + + "this assignment. Press Grade very soon! *\n" + + "* The timer stops while this alert box is open. *"); + alerted =3D 2; + theTime -=3D 5; + } else if ( theTime =3D=3D 75 && alerted !=3D 1) { + alert("* You have only about a minute left " + + "to complete this assignment! *\n" + + "* The timer stops while this alert box is open. *"); + alerted =3D 1; + theTime -=3D 5; + } + } + } + } +} +function toMinSec(t) { +// convert to min:sec + mn =3D Math.floor(t/60); + sc =3D t - 60*mn; + if ( mn < 10 && mn > -1 ) { + mn =3D "0" + mn; + } + if ( sc < 10 ) { + sc =3D "0" + sc; + } + return mn + ":" + sc; +} +</script> +</head> +<body bgcolor=3D"white"> + +<div id=3D"masthead"> + <div id=3D"loginstatus"> + <!--#loginstatus--> + </div> + <div id=3D"logo"> + <img src=3D"<!--#url type=3D"webwork" name=3D"htdocs"-->/images/webwor= k_rectangle.png" alt=3D"WeBWorK" height=3D"51" width=3D"267" /> + </div> +</div> +<hr class=3D"for-broken-browsers"/> +<div id=3D"big-wrapper"> + <div id=3D"breadcrumbs"> + <!--#path style=3D"text" text=3D" =E2=86=92 "--> + </div> + <div id=3D"content"> + =09 + <!--#if can=3D"info"--> + <div id=3D"page-info"> + <div class=3D"info-box" id=3D"fisheye"> + <h2>Info</h2> + <!--#info--> + </div> + </div> + <!--#endif--> + <!-- [gateway] removed nav button to go up --> + <!--#if can=3D"title"--> + <h1><!--#title--></h1> + <!--#endif--> + <!--#if can=3D"message"--> + <div class=3D"Message"> + <!--#message--> + </div> + <!--#endif--> + + <!--#if can=3D"body"--> + <div class=3D"Body"> + <!--#body--> + </div> + <!--#endif--> + <!--#if warnings=3D"1"--> + <hr> + <div class=3D"Warnings"> + <!--#warnings--> + </div> + <!--#endif--> + <!--#if can=3D"message"--> + <div class=3D"Message"> + <!--#message--> + </div> + <!--#endif--> + =09 + </div> <!-- content --> + <hr class=3D"for-broken-browsers"/> + <div id=3D"footer"> + <p id=3D"last-modified">Page generated at <!--#timestamp--></p> + <!--<div id=3D"feedback"> + FEEDBACK + </div>--> + <div id=3D"copyright"> + WeBWorK =C2=A9 2000-2005 <a href=3D"http://openwebwork.sf.net/">The W= eBWorK Project</a> + </div> + <!--<div id=3D"validate"> + VALIDATE + </div>--> + <!--<p class=3D"page-url"> + PAGE-URL (p) + </p>--> + </div> + <!-- [gateway] removed left sidebar --> +</div> <!-- big-wrapper --> + +</body> +</html> --- /dev/null +++ conf/templates/math-system.template @@ -0,0 +1,106 @@ +=EF=BB=BF<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns=3D"http://www.w3.org/1999/xhtml" xml:lang=3D"en" lang=3D"en"= > +<head> +<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF-8"= /> +<link rel=3D"stylesheet" type=3D"text/css" media=3D"All" href=3D"<!--#ur= l type=3D"webwork" name=3D"htdocs"-->/css/math.css"/> +<title><!--#path style=3D"text" text=3D" : " textonly=3D"1"--></title> +<!--#head--> +</head> +<body bgcolor=3D"white"> + +<div id=3D"masthead"> + <div id=3D"loginstatus"> + <!--#loginstatus--> + </div> + <div id=3D"logo"> + <img src=3D"<!--#url type=3D"webwork" name=3D"htdocs"-->/images/webwor= k_rectangle.png" alt=3D"WeBWorK" height=3D"51" width=3D"267" /> + </div> +</div> +<hr class=3D"for-broken-browsers"/> +<div id=3D"big-wrapper"> + <div id=3D"breadcrumbs"> + <!--#path style=3D"text" text=3D" =E2=86=92 "--> + </div> + <div id=3D"content"> + =09 + <!--#if can=3D"info"--> + <div id=3D"page-info"> + <div class=3D"info-box" id=3D"fisheye"> + <h2>Info</h2> + <!--#info--> + </div> + </div> + <!--#endif--> + <!--#if can=3D"nav"--> + <div class=3D"Nav"> + <!--#nav style=3D"images" imageprefix=3D"/webwork2_files/images/nav" = imagesuffix=3D".gif" separator=3D" "--> + </div> + <!--#endif--> + <!--#if can=3D"title"--> + <h1><!--#title--></h1> + <!--#endif--> + <!--#if can=3D"message"--> + <div class=3D"Message"> + <!--#message--> + </div> + <!--#endif--> + + <!--#if can=3D"body"--> + <div class=3D"Body"> + <!--#body--> + </div> + <!--#endif--> + <!--#if warnings=3D"1"--> + <hr> + <div class=3D"Warnings"> + <!--#warnings--> + </div> + <!--#endif--> + <!--#if can=3D"message"--> + <div class=3D"Message"> + <!--#message--> + </div> + <!--#endif--> + =09 + </div> <!-- content --> + <hr class=3D"for-broken-browsers"/> + <div id=3D"footer"> + <p id=3D"last-modified">Page generated at <!--#timestamp--></p> + <!--<div id=3D"feedback"> + FEEDBACK + </div>--> + <div id=3D"copyright"> + WeBWorK =C2=A9 2000-2005 <a href=3D"http://openwebwork.sf.net/">The W= eBWorK Project</a> + </div> + <!--<div id=3D"validate"> + VALIDATE + </div>--> + <!--<p class=3D"page-url"> + PAGE-URL (p) + </p>--> + </div> + <div id=3D"site-navigation"> + <!--#if can=3D"links"--> + <div class=3D"info-box" id=3D"fisheye"> + <h2>Main Menu</h2> + <!--#links--> + </div> + <!--#endif--> + <!--#if can=3D"siblings"--> + <div class=3D"info-box" id=3D"fisheye"> + <h2>Siblings</h2> + <!--#siblings--> + </div> + <!--#endif--> + <!--#if can=3D"options"--> + <div class=3D"info-box" id=3D"fisheye"> + <h2>Display Options</h2> + <!--#options--> + </div> + <!--#endif--> + </div> +</div> <!-- big-wrapper --> + +</body> +</html> --- /dev/null +++ htdocs/css/math.css @@ -0,0 +1,823 @@ +/* *********************************************************************= ***** */ + +/* Default look-and-feel for www.math.rochester.edu. + * + * This file controls the appearance of a LOT of pages;=20 + * PLEASE BE CAREFUL when making modifications! If you want to + * add new styles for a specific subset of pages, you may want + * to isolate those styles in a separate style sheet. + * + * $Id: math.css,v 1.1 2005/12/19 00:12:55 sh002i Exp $ + */ + +/*=20 + * Default styles for standard elements. + */ +body { + background: white; + color: black; + margin: .5em .5em 0 .5em; /* MSIE ignores bottom margin; Gecko doesn'= t */ + padding: 0; + font-family: Times, serif; + min-width: 25em; + /* ugly hack to hide background from Mac MSIE 5.1, which messes it up= \*/ + /* don't need the background image */ + /*background-image: url("/images/pale-KleinBottle.gif"); + background-position: bottom left; + background-repeat: no-repeat; + background-attachment: scroll;*/ + /* end of ugly hack */ +} + +h1, h2, h3, h4, h5, h6 { + font-family: Trebuchet MS, Arial, Helvetica, sans-serif; + background: transparent; + color: #225; +} +h1 { font-size: 170%; } +h2 { font-size: 140%; padding-bottom: 0; margin-bottom: .5ex } +h3 { font-size: 120%; } +h4 { font-size: 110%; } +h5 { font-size: 105%; } +h6 { font-size: 105%; }=20 + +/* no need for large margin-top on headers after XSLT-generated navheade= r */ +h1.title, h2.title { margin-top: .3em } + +/* for personal home pages */ +h1.whoami { margin: 0; padding: .5ex 0 0 0; } +h2.whoami { margin: 0; padding: 0; } +table.contact-info { margin: 2ex 0 0 0; border: 0 } +table.contact-info th, table.contact-info td {=20 + text-align: left; + padding: 0 .2em 0 0; + font-weight: normal; +} +table.contact-info th { font-family: Arial, sans-serif } +img.portrait { float: left; margin: 1.5ex 1ex 0 0 } + +img { border: 0; } +sup, sub { font-size: 60%; } +acronym sub, .acronym sub, +acronym sup, .acronym sup { + font-size: 70%; + position: relative; +} +acronym sup, .acronym sup { + top: .5ex; +} +acronym sub, .acronym sub { + top: -1ex; +} + + +a:link { color: #00e; background-color: inherit; } +a:visited { color: #808; background-color: inherit; } + +/* kludge to make "current semester" links on catalog pages larger */=20 +a[href=3Dhome] { font-size: 170%; } + +abbr, +acronym { + border-bottom: 1px dotted; + cursor: help; + font-variant: normal; +} + +span[title], a[title] { /* indicate when a link or span has a t= itle */ + cursor: help; +} + +/* --- Miscellaneous classes -------------------------------------------= --- */ + +/* "Split" title, with main heading left-aligned above a horizontal line= , + * and subheading right-aligned below the line.=20 + * + * Usage: + * <h1 class=3D"compound">Alumni Newsletter</h1> + * <h2 class=3D"compound">Spring '00</h2> + * + */ +h1.compound { + border-bottom: 1px solid #559; + text-align: left; + padding: .5ex 0 0 0; + margin: 0; +} +h2.compound { float: right; margin: 0; padding: 0 } + + +ul.inline { + display: inline; + list-style-type: none; + margin: 0; + padding: 0; +} +ul.inline li {=20 + display: inline; + margin: 0; + padding: 0 .3em 0 .3em; + border-right: 1px solid #555; +} +ul.inline li.last {=20 + border-right: none; +} + +/* Course catalog stuff */ +dl.catalog dt { + font-weight: bold;=20 + font-family: sans-serif; +} +dl.catalog dd { + margin-left: 0; + padding-left: 0; + margin-bottom: 1ex; +} + +.for-broken-browsers { display: none } /* show only to CSS-ignorant brow= sers */ +.print-only, .page-url { display: none; } + +/* for hiding floats from Netscape 4.x */ +.float-left { float: left; } +.float-right { float: right; } + +.unobtrusive { font-size: smaller; color: #555; background-color: inheri= t; } +.unobtrusive a:link { color: #77f; background-color: inherit; } +.unobtrusive a:visited { color: #f7f; background-color: inherit; } + +/* + * Common style for a small box to hold supplemental info; typically thi= s + * box will appear in a sidebar. Sample usage: + * + * <div class=3D"info-box"> + * <h2>Announcements</h2> + * <ul> + * <li>foo</li> + * </ul> + * <a class=3D"more" href=3D"bar">Older announcements...</a> + * </div> + */ +.info-box { + border: 1px solid #559; + border-radius-topright: 1.5ex; border-radius-topleft: 1.5ex; + -moz-border-radius-topright: 1.5ex; -moz-border-radius-topleft: 1.5ex= ; + margin-bottom: 1ex;=20 + margin-top: 0; +} +.info-box h2, +.info-box h3, +.info-box h4, +.info-box h5, +.info-box h6 { + border-radius-topright: 1.5ex; border-radius-topleft: 1.5ex; + -moz-border-radius-topright: 1.5ex; -moz-border-radius-topleft: 1.5ex= ; + border-bottom: 1px solid #559; + font-size: 100%; + text-align: center; + background: #88d; + color: white; + margin: 0; + padding: 0 .5em 0 .5em; +} +.info-box ul, +.info-box ol { + margin: 1ex .5em 1ex 0; + padding-left: 1.5em; + font-size: 80%; +} +.info-box dl { + margin: 1ex .5em 1ex 1ex; + padding: 0; + font-size: 80%; +} +.info-box li, +.info-box dt { + margin: 0 0 .5ex 0; + padding: 0; + line-height: 2.2ex; +} +.info-box dt { font-weight: bold } +.info-box dd { + margin: 0 0 .5ex 1em; + padding: 0; + line-height: 2.2ex; +} +.info-box dd p { + margin-top: 0; +} +.info-box a.more { + float: right; + font-size: 80%; + font-style: italic; + margin-bottom: 1ex; + margin-right: .5em; +} + +/* --- Classes for online documentation --------------------------------= --- */ + =20 +kbd { font-family: monospace; font-weight: bold } +address { display: inline; font-style: normal; border: 0; margin: 0;} +.note, .byline { font-style: italic; } +.byline { display: block; font-size: medium; font-weight: normal } + +/* typed commands */ +.field-data, .command { + font-family: monospace; + font-weight: bold; +} + +/* GUI menu, elements */ +.field-name, .button-name, .menu-name, .menu-title, .menu-item, +.gui-text, .icon-name, .window-name, .radio-button-name, .check-box-name= , +.guimenu, .guisubmenu, .guimenuitem, /* DocBook elements */ +.guibutton, .guiicon, .guilabel, /* DocBook elements */ +.tab-name { + font-family: Arial, Helvetica, sans-serif; + font-weight: bold; + /*=20 + color: #992222; + background-color: inherit; + */ + white-space: nowrap; +} + +/* for highlighting documentation references to hyperlinks */ +.link-name { + font-family: sans-serif; + font-weight: bold; + color: #225522; + background-color: inherit; +} + +/* host names, URLs, etc. */ +.host-name, .terminal-text, .file-name, .url, .userinput { + font-family: monospace; +} +.email-address { font-family: inherit; } +.url { white-space: nowrap; } /* don't break URLs */ + +/* make RCS tags visible, but non-obtrusive */ +.rcs-id, #rcs-id { + float: right; + font-family: Helvetica, Arial, sans-serif; + font-size: x-small; + color: #ababab; + background-color: inherit; +} + +/* code blocks or terminal sessions */ +/* +pre.code, pre.terminal-text, pre.screen { + background-color: #aaddaa; + color: black; + border: 1px solid #88bb88; + font-family: monospace; + margin-left: 0em; + margin-right: 1em; + padding: 0.5em; + white-space: pre; +} +*/ + +pre.code, pre.terminal-text, pre.screen, pre.programlisting { + background-color: inherit; + color: #258; + white-space: pre; + font-family: Courier, "Courier New", monospace; + margin-left: 1em; + margin-right: 1em; +} + +/* DocBook program listings */ +pre.programlisting, pre.screen { + font-size: 90%; + margin-left: 2em; + /* width: 83ex; */ +} +pre.programlisting em { + background: #ccf; + color: #000; + font-style: normal;=20 + font-weight: normal; +} + +/* comments in DocBook program listings */ +pre .lineannotation { + color: gray; + background: inherit; +} + +pre .computeroutput { + background: inherit; + /* color: #222222; */ +} + +tt.literal { font-weight: bold } + +/* DocBook tips, warnings, important */ +.tip img, +.warning img, +.important img {=20 + float: left; + vertical-align: middle; + position: absolute; +} +.tip, +.warning, +.important {=20 + margin: .8ex 3em .8ex 1em; + font-style: italic; font-size: 90%; + padding: 1ex 1em .1ex 1ex; +} +.tip p, +.warning p, +.important p, +.tip pre, +.warning pre, +.important pre { + margin-top: 0; + margin-left: 35px; +} +.tip p + p, +.warning p + p, +.important p + p { + margin-top: auto; +} +.tip pre, +.warning pre, +.important pre { + padding-left: 1em; +} + + +div.tip, +div.warning,=20 +div.important { + /* border: 1px dotted gray; */ +} + +/* Docbook figures */ +.figure { + float: right; + margin-left: .3em;=20 +} + +.figure p.title { + font-family: sans-serif; + font-size: smaller; + text-align: center; + background: inherit; + color: #248; +} + + +.orderedlist ol { + margin-left: .6em; + padding-left: 1em; +} + +/* stuff that we want to stand out */ +.prominent { + font-weight: bold; + text-decoration: underline; +} +a.prominent:link, +a.prominent:visited { + color: red; +} + +.error { + font-weight: bold; + color: red; +} + +.success { + font-weight: bold; + color: green; +} + +div.question { + margin: 0; + font-family: Trebuchet MS, Verdana, sans-serif; + font-size: 110%; + border: solid #225; + border-width: 0 0 .1em .5em; + padding-left: .2em; +} +div.question strong { + color: #228822; +} + +div.answer { + margin: 0 0 2em 0; +} + +div.qandaset dl { font-size: 95%; } +div.qandaset dl dl { font-size: 100%; } +div.qandaset dt a { text-decoration: none; } +div.qandaset dl dt { font-size: 140%; } +div.qandaset div.variablelist dl dt { font-size: 100%; } +div.qandaset dd dl dt { font-size: 100%; } + + +/* --- common layout elements for documents using templates ------------= ----*/ + +/* The "masthead" of our document that tells users what site they're on. + * It contains a logo-ish title and some basic site navigation. The + * masthead should appear at the top of the page, but we're not position= ing + * it absolutely because we can't know its height in advance. Therefore= this=20 + * element should be placed at the very top of the <body> of our HTML do= cument. + */ +#masthead { + font-family: Trebuchet MS, Arial, Helvetica, sans-serif; + font-size: 100%; + margin: 0; + padding: 0; + color: #fff; + border: 1px solid #000; + background-color: #000038; + /* i don't think we need this */ + /*background-image: url("/images/mandel-wide.jpg");*/ + background-repeat: repeat-x; + background-position: top left; +} +#masthead a { + color: #fff; + background: transparent; + text-decoration: none; +} +#masthead a:hover { text-decoration: underline; } + +/*[ww] since this is a logo and not text, we need borders that are the s= ame width all the way around */ +/*#masthead #logo { padding: .5ex .2em .1ex .5em }*/ +#masthead #logo { padding: .5ex } +/* [ww] don't need these -- logo is an image */ +/*#masthead #logo h1 { + background-image: none; + background-color: transparent; + font-size: 100%; + font-weight: normal; + padding: 0; + margin: 0; + white-space: nowrap; + line-height: 1.9ex; +}*/ +/*#masthead #logo h2 { + background-color: transparent; + background-image: none; + font-weight: bold; + font-size: 210%; + line-height: 1.9ex; + margin: 0; + padding: 0; +}*/ +/* [ww] instead of a form, we want the loginstatus there */ +/*#masthead form {*/ +#masthead #loginstatus { + float: right; + padding: 0; + margin: 1ex .5em .1ex .1em; +} + +/* "big-wrapper" contains everything other than the masthead. It's mere= ly=20 + * a relatively positioned div that allows us to use absolute positionin= g + * on elements within it -- and because it's relatively positioned, + * absolutely positioned objects *stay* within it. + */ +#big-wrapper { + position: relative; + top: 1ex; + width: 100%; + min-width: 18em; + margin: 0; + border: 0; +} + +/* + * A simple list of "breadcrumbs" showing a path of links from the root = of + * the site's hierarchy to our present location. We are not positioning + * this element absolutely, because we don't know in advance how tall it + * will be, and we might want to place content under it. So when coding + * our HTML document, we'll probably want to include this element right + * before the main content. + */ + +#breadcrumbs { + margin-left: 10.4em; + margin-right: 0; + padding: 0 .4em; + border: 1px solid #559; + background: #88d; + color: #fff; + text-align: left;=20 + font-size: 100%; + font-family: Trebuchet MS, Arial, sans-serif; +} +#breadcrumbs a { + font-size: 100%; + white-space: nowrap; + background-color: inherit; + color: #fff; + text-decoration: none; +} +#breadcrumbs a.active { font-weight: bold; } +#breadcrumbs a:hover { text-decoration: underline; } + + +/*=20 + * For the more CSS-compliant browsers, we'd like to provide site-wide + * navigation links (e.g., a mini site map) to appear in a column along + * the left side of the page, just below the masthead. This column is + * absolutely positioned, so that ideally we should be able to include i= ts + * contents anywhere within the body of our HTML documents. However, we= =20 + * probably want to include this data at the END of our documents -- aft= er + * the main content -- so that it doesn't interfere with document flow i= n=20 + * browsers that don't understand CSS (e.g., lynx) -- or in browsers for + * which we've disabled CSS via some hack (e.g. Netscape Navigator 4.x). + * + * We consider this meta-information to be non-essential; it is NOT part= of + * the content, and may not be displayed in some circumstances. + */ + +#site-navigation { + position: absolute; + left: 0; + top: 0; + margin: 0; + padding: 0; + width: 9.8em; +} + +/* + * The "fisheye" view: a hierarchical view of the website to show the=20 + * user where they are in the document hierarchy. Provides more "latera= l"=20 + * information than breadcrumbs, but not as much as a full sitemap. To=20 + * appear within the #site-navigation div. Inherits many of its attribu= tes=20 + * from class info-box, and overrides some. + */ +#mini-sitemap, +#fisheye { + font-family: Trebuchet MS, Arial, Helvetica, sans-serif; + padding: 0 0 1ex 0; +} +#mini-sitemap a, +#fisheye a { + text-decoration: none; +} +#mini-sitemap a:hover, +#fisheye a:hover { + text-decoration: underline; +} +#mini-sitemap li, +#fisheye li { + line-height: 2.5ex; + margin: 0; +} +#mini-sitemap ul, +#fisheye ul { + font-size: 100%; + list-style-type: none; + margin: 0 .1em .3ex .3em; + padding: 0; +} + +#mini-sitemap ul ul, +#fisheye ul ul { + font-size: 95%; + margin-left: 0; +} +#mini-sitemap ul li, +#fisheye ul li { + font-weight: bold; +} + +#mini-sitemap ul ul ul, +#fisheye ul ul ul { + font-size: 80%; + margin-left: .3em; + padding-left: .5em; + border-left: 1px dotted gray; +} +#mini-sitemap ul ul li a.active, +#fisheye ul ul li a.active { + font-weight: bold; + color: black; + background-color: inherit; +} + +#mini-sitemap ul ul ul li, +#fisheye ul ul ul li { + font-weight: normal; +} +#mini-sitemap ul ul ul ul, +#fisheye ul ul ul ul { + font-size: 90%; +} +#mini-sitemap ul ul ul ul ul, +#fisheye ul ul ul ul ul { + font-size: 90%; +} + + +/* The primary information content of the document, excluding masthead a= nd + * site navigation. We want to leave a wide left margin to prevent over= lap + * with our site map, which will be displayed on the left-hand side of t= he + * screen. + */ +#content { + /* [ww] we need to put things that don't have a top border at the top= of this, so we need a top margin */ + /*margin: 0 1em 0 10.4em;*/ + margin: .5em 1em 0 10.4em; + padding: 0 0 0 0;=20 + font-family: Times, serif; + /* border-left: 1px dotted #bbf; */ +} +#content h1 { margin: .4ex 0; } /* for crappy MSIE */ + + +#footer { + /* white-space: nowrap; */ + clear: both; + /* border-top: 1px solid #559; */ + margin: 0 .5em .2ex 10.4em; + padding: 0; + font-family: Trebuchet MS, Arial, Helvetica, sans-serif; +} +#validate { + background-color: inherit; + clear: both; + margin-bottom: 2ex; + font-size: x-small; + color: #bbb; + font-family: Trebuchet MS, Arial, Helvetica, sans-serif; +} +#validate a { background-color: inherit; color: #ccc; } +#feedback { + font-size: 75%; + /* Hide from mac MSIE 5.1, which screws up floats \*/float: right; /*= */ +} +#feedback img { vertical-align: middle; } +#copyright { font-size: 75%; margin: 0;} +#last-modified { + clear: both; + font-family: Trebuchet MS, Arial, Helvetica, sans-serif; + font-size: 75%; + background-color: inherit; + color: #444; + margin: 1ex 0 0 0; + padding: 0; + border-bottom: 1px solid #559; +} + +/* --- Turn off some features for handheld devices --- */ + +@media handheld { + + #site-navigation { + display: none + /* + position: relative; + width: auto; + */ + } + + /* remove any empty space we used for screen layout */ + #content, #footer { margin: 0; padding: 0; border: none; } + + /* keep masthead bar, but simplify its appearance */ + #masthead { + margin: 0; + padding: 1ex 0 0 1ex; + font-size: 65%; + background: #ddd; + color: #fff; + border: 1px solid #444; + } + + /* unfloat floated meta-info, make it smaller than other text */ + #copyright, #last-modified { float: none; color: #444; font-size: 70%= ; } + +} + + + +/* --- old stuff to eventually remove ----------------------------------= --- */ +/* [ww] ok, i'll remove it */ +/*div.breadcrumbs { + font-family: sans-serif; + font-size: small;=20 + margin: .5ex .5em 1ex .5em; + padding-bottom: .5ex; + border-bottom: 2px dotted #ddd;=20 +} +.bottom-nav { + float: left; + font-family: sans-serif; + font-size: small; +}*/ + +/***********************************************************************= *******/ +/* [ww] Additional template classes added for WW elements */ + +#page-info { + font-size: smaller; + float: right; + width: 40%; + padding-left: 1em; +} + +/***********************************************************************= *******/ +/* WeBWorK classes: These classes are emitted by WeBWorK code and should + * appear in ANY WeBWorK template. they need not be implemented the same= way + * in each template though. */ + +/* tables used for laying out form fields shouldn't have a border */ +table.FormLayout { border: 0; } +table.FormLayout tr { vertical-align: top; } +table.FormLayout th.LeftHeader { text-align: right; white-space: nowrap;= } +table.FormLayout tr.ButtonRow { text-align: left; } +table.FormLayout tr.ButtonRowCenter { text-align: center; } + +/* for problems which are rendered by themselves, e.g., by Set Maker */ +div.RenderSolo { background-color: #E0E0E0; color: black; } +div.AuthorComment { background-color: #00E0E0; color: black; } + +/* minimal style for lists of links (generated by the links escape) */ +/*ul.LinksMenu { list-style: none; margin-left: 0; padding-left: 0; }*/ +/*ul.LinksMenu ul { list-style: none; margin-left: 0.5em; padding-left: = 0; }*/ + +/* background styles for success and failure messages */ +div.ResultsWithoutError { background-color: #66ff99 } /* light green */ +div.ResultsWithError { background-color: #ffcccc } /* light red */ +div.ResultsAlert { background-color: yellow } /* yellow */ + +/* styles used by WeBWorK::HTML::ScrollingRecordList */ +div.ScrollingRecordList { padding: 1em; white-space: nowrap; border: thi= n solid gray; } +div.ScrollingRecordList select.ScrollingRecordList { width: 99%; } + +/* wraps the View Options form (generated by &optionsMacro) */ +/* FIXME: can't this style information just go in div.Options above? */ +div.viewOptions { font-size: small } + +/* messages, attempt results, answer previews, etc. go in this DIV */ +/* this used to be "float:left", but that was suspected of causing MSIE = peekaboo bug */ +div.problemHeader {} + +/* styles for the attemptResults table */ +table.attemptResults { + border-style: outset;=20 + border-width: 1px;=20 + margin: 0px 10pt;=20 + border-spacing: 1px; +} +table.attemptResults td, +table.attemptResults th { + border-style: inset;=20 + border-width: 1px;=20 + text-align: center;=20 +# width: 15ex; + padding: 2px 5px 2px 5px; + background-color: #DDDDDD; +} +/* override above settings in tables used to display ans_array results *= / +table.attemptResults td td, +table.attemptResults td th, +table.ArrayLayout td { + border-style: none;=20 + border-width: 0px;=20 + padding: 0px; +} +table.attemptResults td.Message { + text-align: left;=20 + padding: 2px 5px 2px 5px; + width: auto; +} +.attemptResultsSummary { font-style:italic; } +.parsehilight { background-color:yellow; } + +/* the problem TEXT itself does in this box */ +div.problem { clear: both; background-color: #E0E0E0; color: black; } + +/* jsMath emits this class when appropriate math fonts aren't available = */ +div.NoFontMessage { + padding: 10; + border-style: solid; + border-width:3; + border-color: #DD0000; + background-color: #FFF8F8; + width: 75%; + text-align: left; + margin: 10px auto 10px 12%; +} + +/* text colors for published and unpublished sets */ +font.Published { font-style: normal; font-weight: normal; color: #0000= 00; } /* black */ +font.Unpublished { font-style: italic; font-weight: normal; color: #aaaa= aa; } /* light grey */ + +/* styles used when editing a temporary file */ +.temporaryFile { background-color: #ff9900 ; font-style: italic; } + +/* text colors for Auditing, Current, and Dropped students */ +.Audit { font-style: normal; color: purple; } +.Enrolled { font-weight: normal; color: black; } +.Drop { font-style: italic; color: grey; } Index: ContentGenerator.pm =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/ContentGenerator.pm,v retrieving revision 1.158 retrieving revision 1.159 diff -Llib/WeBWorK/ContentGenerator.pm -Llib/WeBWorK/ContentGenerator.pm = -u -r1.158 -r1.159 --- lib/WeBWorK/ContentGenerator.pm +++ lib/WeBWorK/ContentGenerator.pm @@ -1347,7 +1347,6 @@ $result .=3D CGI::br(); } =09 - $result .=3D CGI::br(); $result .=3D CGI::submit(-name=3D>"redisplay", -label=3D>"Apply Options= "); $result .=3D CGI::end_div(); $result .=3D CGI::end_form(); |
From: Sam H. v. a. <we...@ma...> - 2005-12-18 22:42:35
|
Log Message: ----------- get rid of submiterror escape Modified Files: -------------- webwork2/conf/templates: test.template ur.template webwork2/lib/WeBWorK: ContentGenerator.pm Revision Data ------------- Index: ur.template =================================================================== RCS file: /webwork/cvs/system/webwork2/conf/templates/ur.template,v retrieving revision 1.46 retrieving revision 1.47 diff -Lconf/templates/ur.template -Lconf/templates/ur.template -u -r1.46 -r1.47 --- conf/templates/ur.template +++ conf/templates/ur.template @@ -108,11 +108,6 @@ </div> <!--#endif--> - <!--#if can="submiterror"--> - <div class="SubmitError"> - <!--#submiterror--> - </div> - <!--#endif--> <!--#if can="body"--> <div class="Body"> <!--#body--> Index: test.template =================================================================== RCS file: /webwork/cvs/system/webwork2/conf/templates/test.template,v retrieving revision 1.5 retrieving revision 1.6 diff -Lconf/templates/test.template -Lconf/templates/test.template -u -r1.5 -r1.6 --- conf/templates/test.template +++ conf/templates/test.template @@ -75,12 +75,6 @@ <!--#message--> </div> -<h1>submiterror</h1> -<p>this should go away... it is only used in three places (Grades, SendMail, ShowAnswers), and could be replaced with calls to addbadmessage.</p> -<div class="test_box"> -<!--#submiterror--> -</div> - <h1>body</h1> <div class="test_box"> <!--#body--> Index: ContentGenerator.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/ContentGenerator.pm,v retrieving revision 1.157 retrieving revision 1.158 diff -Llib/WeBWorK/ContentGenerator.pm -Llib/WeBWorK/ContentGenerator.pm -u -r1.157 -r1.158 --- lib/WeBWorK/ContentGenerator.pm +++ lib/WeBWorK/ContentGenerator.pm @@ -867,29 +867,6 @@ return(Date::Format::time2str($formatstring, time())); } -=item submiterror() - -Defined in this package. - -Print any error messages resulting from the last form submission. - -This method is deprecated -- use message() instead - -The implementation in this package prints the value of the field -$self->{submitError}, if it is present. - -=cut - -sub submiterror { - my ($self) = @_; - - print "\n<!-- BEGIN " . __PACKAGE__ . "::submiterror -->\n"; - print $self->{submitError} if exists $self->{submitError}; - print "<!-- END " . __PACKAGE__ . "::submiterror -->\n"; - - return ""; -} - =item message() Defined in this package. @@ -1078,40 +1055,6 @@ return $self->r->authen->was_verified() ? $arg : !$arg; } -=item if_submiterror($arg) - -If the last form submission generated an error, $arg is returned. Otherwise, the -inverse of $arg is returned. - -The implementation in this package checks for the field $self->{submitError} to -determine if an error condition is present. - -If a subclass uses some other method to classify submission results, this method could be -redefined to handle that variance: - - sub if_submiterror { - my ($self, $arg) = @_; - - my $status = $self->{processReturnValue}; - if ($status != 0) { - return $arg; - } else { - return !$arg; - } - } - -=cut - -sub if_submiterror { - my ($self, $arg) = @_; - - if (exists $self->{submitError}) { - return $arg; - } else { - return !$arg; - } -} - =item if_message($arg) If the last form submission generated a message, $arg is returned. Otherwise, the |
From: Sam H. v. a. <we...@ma...> - 2005-12-18 22:40:52
|
Log Message: ----------- get rid of submitError usage Modified Files: -------------- webwork2/lib/WeBWorK/ContentGenerator: Grades.pm webwork2/lib/WeBWorK/ContentGenerator/Instructor: SendMail.pm ShowAnswers.pm Revision Data ------------- Index: Grades.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/ContentGenerator/Grades.pm,v retrieving revision 1.19 retrieving revision 1.20 diff -Llib/WeBWorK/ContentGenerator/Grades.pm -Llib/WeBWorK/ContentGenerator/Grades.pm -u -r1.19 -r1.20 --- lib/WeBWorK/ContentGenerator/Grades.pm +++ lib/WeBWorK/ContentGenerator/Grades.pm @@ -113,13 +113,6 @@ return \%assocArray; } -sub submission_error { - my $self = shift; - my $msg = join( " ", @_); - $self->{submitError} .= CGI::br().$msg; - return; -} - sub scoring_info { my ($self) = @_; my $r = $self->r; Index: ShowAnswers.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/ContentGenerator/Instructor/ShowAnswers.pm,v retrieving revision 1.16 retrieving revision 1.17 diff -Llib/WeBWorK/ContentGenerator/Instructor/ShowAnswers.pm -Llib/WeBWorK/ContentGenerator/Instructor/ShowAnswers.pm -u -r1.16 -r1.17 --- lib/WeBWorK/ContentGenerator/Instructor/ShowAnswers.pm +++ lib/WeBWorK/ContentGenerator/Instructor/ShowAnswers.pm @@ -38,7 +38,7 @@ my $user = $r->param('user'); unless ($authz->hasPermissions($user, "view_answers")) { - $self->{submitError} = "You aren't authorized to view past answers"; + $self->addbadmessage("You aren't authorized to view past answers"); return; } } Index: SendMail.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/ContentGenerator/Instructor/SendMail.pm,v retrieving revision 1.44 retrieving revision 1.45 diff -Llib/WeBWorK/ContentGenerator/Instructor/SendMail.pm -Llib/WeBWorK/ContentGenerator/Instructor/SendMail.pm -u -r1.44 -r1.45 --- lib/WeBWorK/ContentGenerator/Instructor/SendMail.pm +++ lib/WeBWorK/ContentGenerator/Instructor/SendMail.pm @@ -757,12 +757,6 @@ ############################################################################## # Utility methods ############################################################################## -sub submission_error { - my $self = shift; - my $msg = join( " ", @_); - $self->{submitError} .= CGI::br().$msg; - return; -} sub saveProblem { my $self = shift; |
From: Sam H. v. a. <we...@ma...> - 2005-12-18 22:04:05
|
Log Message: ----------- change it back Modified Files: -------------- webwork2/conf: global.conf.dist Revision Data ------------- Index: global.conf.dist =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /webwork/cvs/system/webwork2/conf/global.conf.dist,v retrieving revision 1.157 retrieving revision 1.158 diff -Lconf/global.conf.dist -Lconf/global.conf.dist -u -r1.157 -r1.158 --- conf/global.conf.dist +++ conf/global.conf.dist @@ -1,7 +1,7 @@ #!perl ########################################################################= ######## # WeBWorK Online Homework Delivery System -# Copyright =C2=A9 2000-2003 The WeBWorK Project, http://openwebwork.sf.= net/ +# Copyright =A9 2000-2003 The WeBWorK Project, http://openwebwork.sf.net= / # $CVSHeader$ #=20 # This program is free software; you can redistribute it and/or modify i= t under |
From: Sam H. v. a. <we...@ma...> - 2005-12-18 21:48:00
|
Log Message: ----------- test fix of copyright symbol Modified Files: -------------- webwork2/conf: global.conf.dist Revision Data ------------- Index: global.conf.dist =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /webwork/cvs/system/webwork2/conf/global.conf.dist,v retrieving revision 1.156 retrieving revision 1.157 diff -Lconf/global.conf.dist -Lconf/global.conf.dist -u -r1.156 -r1.157 --- conf/global.conf.dist +++ conf/global.conf.dist @@ -1,7 +1,7 @@ #!perl ########################################################################= ######## # WeBWorK Online Homework Delivery System -# Copyright =A9 2000-2003 The WeBWorK Project, http://openwebwork.sf.net= / +# Copyright =C2=A9 2000-2003 The WeBWorK Project, http://openwebwork.sf.= net/ # $CVSHeader$ #=20 # This program is free software; you can redistribute it and/or modify i= t under |
From: Sam H. v. a. <we...@ma...> - 2005-12-18 21:42:13
|
Log Message: ----------- the left half of the logo from http://webwork.rochester.edu Added Files: ----------- webwork2/htdocs/images: webwork_rectangle.png Revision Data ------------- |
From: Sam H. v. a. <we...@ma...> - 2005-12-16 23:16:27
|
Log Message: ----------- don't write globalUserID to course.conf file. Modified Files: -------------- webwork2/lib/WeBWorK/Utils: CourseManagement.pm Revision Data ------------- Index: CourseManagement.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/Utils/CourseManagement.pm,v retrieving revision 1.26 retrieving revision 1.27 diff -Llib/WeBWorK/Utils/CourseManagement.pm -Llib/WeBWorK/Utils/CourseManagement.pm -u -r1.26 -r1.27 --- lib/WeBWorK/Utils/CourseManagement.pm +++ lib/WeBWorK/Utils/CourseManagement.pm @@ -826,44 +826,6 @@ } print $fh <<'EOF'; -# Global User ID (global value typically defined in database.conf) -# -# The globalUserID parameter given for the set and problem tables denotes the ID -# of the user that the GlobalTableEmulator will use to store data for the set -# and problem tables. -# -# If a course will be used under WeBWorK 1.x, this value should be overridden on -# a course-by-course basis to the ID of the professor who is most likely to be -# involved in creating new problem sets. Sets which have not been assigned will -# only be visible to this user when logging into WeBWorK 1.x. -# -# The global user ID is always set here, since one should be able to change the -# default value in database.conf without disrupting existing courses. -# -# global.conf values: -EOF - - print $fh "# \t", '$dbLayouts{gdbm}->{set}->{params}->{globalUserID} = \'', - protectQString($ce->{dbLayouts}->{gdbm}->{set}->{params}->{globalUserID}), '\';', "\n"; - print $fh "# \t", '$dbLayouts{gdbm}->{problem}->{params}->{globalUserID} = \'', - protectQString($ce->{dbLayouts}->{gdbm}->{problem}->{params}->{globalUserID}), '\';', "\n"; - print $fh "\n"; - - if (defined $options{globalUserID} or defined $options{globalUserID}) { - if (defined $options{globalUserID}) { - print $fh '$dbLayouts{gdbm}->{set}->{params}->{globalUserID} = \'', - protectQString($options{globalUserID}), '\';', "\n"; - } - if (defined $options{globalUserID}) { - print $fh '$dbLayouts{gdbm}->{problem}->{params}->{globalUserID} = \'', - protectQString($options{globalUserID}), '\';', "\n"; - } - print $fh "\n"; - } else { - print $fh "\n\n\n"; - } - - print $fh <<'EOF'; # Allowed Mail Recipients (global value typically not defined) # # Defines addresses to which the PG system is allowed to send mail. This should |
From: Sam H. v. a. <we...@ma...> - 2005-12-16 23:06:08
|
Log Message: ----------- disable gdbm and sql database layouts, remove unneeded config options. this is the first step in removing support for these deprecated database layouts. Modified Files: -------------- webwork2/conf: database.conf.dist global.conf.dist Revision Data ------------- Index: global.conf.dist =================================================================== RCS file: /webwork/cvs/system/webwork2/conf/global.conf.dist,v retrieving revision 1.155 retrieving revision 1.156 diff -Lconf/global.conf.dist -Lconf/global.conf.dist -u -r1.155 -r1.156 --- conf/global.conf.dist +++ conf/global.conf.dist @@ -236,12 +236,6 @@ # available in $courseName.) $courseDirs{root} = "$webworkDirs{courses}/$courseName"; -# Location of course-specific data files, such as WW1 (GDBM) database files. -$courseDirs{DATA} = "$courseDirs{root}/DATA"; - -# Location of authentication data files when using a WW1 (GDBM) database. -$courseDirs{auth_DATA} = "$courseDirs{DATA}/.auth"; - # Location of course HTML files, passed to PG. $courseDirs{html} = "$courseDirs{root}/html"; $courseURLs{html} = "$webwork_courses_url/$courseName"; @@ -372,11 +366,9 @@ include "conf/database.conf"; # Select the default database layout. This can be overridden in the course.conf -# file of a particular course. If you choose "gdbm", WeBWorK will be able to -# use courses from WeBWorK 1 without first adding course.conf files to them. -# However, the recommended database layout for new courses is "sql_single". This -# can be set when creating a course. -$dbLayoutName = "sql_single"; # or "gdbm" or "sql" +# file of a particular course. The only database layout supported in WW 2.1.4 +# and up is "sql_single". +$dbLayoutName = "sql_single"; # This sets the symbol "dbLayout" as an alias for the selected database layout. *dbLayout = $dbLayouts{$dbLayoutName}; @@ -701,8 +693,8 @@ # FIXME: this database can become a table in the 'webwork' database dvipng_depth_db => { dbsource => 'dbi:mysql:DvipngDepths', - user => $dbLayouts{sql}->{password}->{params}->{usernameRW}, - passwd => $dbLayouts{sql}->{password}->{params}->{passwordRW}, + user => $dbLayouts{sql_single}->{password}->{params}->{usernameRW}, + passwd => $dbLayouts{sql_single}->{password}->{params}->{passwordRW}, }, }; Index: database.conf.dist =================================================================== RCS file: /webwork/cvs/system/webwork2/conf/database.conf.dist,v retrieving revision 1.14 retrieving revision 1.15 diff -Lconf/database.conf.dist -Lconf/database.conf.dist -u -r1.14 -r1.15 --- conf/database.conf.dist +++ conf/database.conf.dist @@ -43,96 +43,12 @@ %dbLayouts = (); # layouts are added to this hash below -=head1 THE GDBM DATABASE LAYOUT ($dbLayouts{gdbm}) - -This layout uses the traditional WeBWorK 1.x database format, using the GDBM -file format. Use this layout if you wish to share courses between WeBWorK 1.x -and WeBWorK 2. - -The C<globalUserID> parameter given for the C<set> and C<problem> tables denotes -the ID of the user that the GlobalTableEmulator will use to store data for the -C<set> and C<problem> tables. This is set to "global_user" by default, but can -be overridden on a course-by-course basis to the ID of the professor who is most -likely to be involved in creating new problem sets. Sets which have not been -assigned will only be visible to this user when logging into WeBWorK 1.x. - -Use the following code to override these values in a course's F<course.conf> -file: - - $dbLayout{set}->{params}->{globalUserID} = "some_user"; - $dbLayout{problem}->{params}->{globalUserID} = "some_user"; - -=cut - -my %gdbmGlobalTableParams = ( - globalUserID => "global_user", -); - -my %gdbmUserSpecificTableParams = ( - psvnLength => 5, -); - -$dbLayouts{gdbm} = { - password => { - record => "WeBWorK::DB::Record::Password", - schema => "WeBWorK::DB::Schema::Auth1Hash", - driver => "WeBWorK::DB::Driver::GDBM", - source => "$courseDirs{auth_DATA}/$courseName\_password_DB", - }, - permission => { - record => "WeBWorK::DB::Record::PermissionLevel", - schema => "WeBWorK::DB::Schema::Auth1Hash", - driver => "WeBWorK::DB::Driver::GDBM", - source => "$courseDirs{auth_DATA}/$courseName\_permissions_DB", - }, - key => { - record => "WeBWorK::DB::Record::Key", - schema => "WeBWorK::DB::Schema::Auth1Hash", - driver => "WeBWorK::DB::Driver::GDBM", - source => "$courseDirs{auth_DATA}/keys", - }, - user => { - record => "WeBWorK::DB::Record::User", - schema => "WeBWorK::DB::Schema::Classlist1Hash", - driver => "WeBWorK::DB::Driver::GDBM", - source => "$courseDirs{DATA}/$courseName\_classlist_DB", - }, - set => { - record => "WeBWorK::DB::Record::Set", - schema => "WeBWorK::DB::Schema::GlobalTableEmulator", - driver => "WeBWorK::DB::Driver::Null", - params => { %gdbmGlobalTableParams }, - }, - set_user => { - record => "WeBWorK::DB::Record::UserSet", - schema => "WeBWorK::DB::Schema::WW1Hash", - driver => "WeBWorK::DB::Driver::GDBM", - source => "$courseDirs{DATA}/$courseName\_webwork_DB", - params => { %gdbmUserSpecificTableParams }, - }, - problem => { - record => "WeBWorK::DB::Record::Problem", - schema => "WeBWorK::DB::Schema::GlobalTableEmulator", - driver => "WeBWorK::DB::Driver::Null", - params => { %gdbmGlobalTableParams }, - }, - problem_user => { - record => "WeBWorK::DB::Record::UserProblem", - schema => "WeBWorK::DB::Schema::WW1Hash", - driver => "WeBWorK::DB::Driver::GDBM", - source => "$courseDirs{DATA}/$courseName\_webwork_DB", - params => { %gdbmUserSpecificTableParams }, - }, -}; - -=head1 THE SQL DATABASE LAYOUT ($dbLayouts{sql}) +=head1 THE SQL_SINGLE DATABASE LAYOUT -The SQL database layout uses an SQL database server to store the tables of the -WeBWorK database. The SQL driver uses two SQL accounts, a read only and a -read-write account. The read-only account must have C<SELECT> access, and the -read-write account needs C<SELECT>, C<INSERT>, C<UPDATE>, and C<DELETE> access. -The names and passwords of these accounts are given as parameters to each table -in the layout. +The C<sql_single> layout is similar to the C<sql> layout, excpet that it uses a +single database for all courses. This is accomplised by prefixing each table +name with the name of the course. The names and passwords of these accounts are +given as parameters to each table in the layout. usernameRO the name of the read-only account usernameRW the name of the read-write account @@ -160,6 +76,7 @@ =cut +# params common to all tables (also used by "sql" layout) my %sqlParams = ( usernameRO => "webworkRead", passwordRO => "", @@ -168,82 +85,6 @@ debug => 0, ); -my $sqlDBISourcePrefix = "dbi:mysql:webwork_"; - -$dbLayouts{sql} = { - password => { - record => "WeBWorK::DB::Record::Password", - schema => "WeBWorK::DB::Schema::SQL", - driver => "WeBWorK::DB::Driver::SQL", - source => "$sqlDBISourcePrefix$courseName", - params => { %sqlParams }, - }, - permission => { - record => "WeBWorK::DB::Record::PermissionLevel", - schema => "WeBWorK::DB::Schema::SQL", - driver => "WeBWorK::DB::Driver::SQL", - source => "$sqlDBISourcePrefix$courseName", - params => { %sqlParams }, - }, - key => { - record => "WeBWorK::DB::Record::Key", - schema => "WeBWorK::DB::Schema::SQL", - driver => "WeBWorK::DB::Driver::SQL", - source => "$sqlDBISourcePrefix$courseName", - params => { - %sqlParams, - tableOverride => "key_not_a_keyword", - fieldOverride => { key => "key_not_a_keyword" }, - }, - }, - user => { - record => "WeBWorK::DB::Record::User", - schema => "WeBWorK::DB::Schema::SQL", - driver => "WeBWorK::DB::Driver::SQL", - source => "$sqlDBISourcePrefix$courseName", - params => { %sqlParams }, - }, - set => { - record => "WeBWorK::DB::Record::Set", - schema => "WeBWorK::DB::Schema::SQL", - driver => "WeBWorK::DB::Driver::SQL", - source => "$sqlDBISourcePrefix$courseName", - params => { - %sqlParams, - tableOverride => "set_not_a_keyword" - }, - }, - set_user => { - record => "WeBWorK::DB::Record::UserSet", - schema => "WeBWorK::DB::Schema::SQL", - driver => "WeBWorK::DB::Driver::SQL", - source => "$sqlDBISourcePrefix$courseName", - params => { %sqlParams }, - }, - problem => { - record => "WeBWorK::DB::Record::Problem", - schema => "WeBWorK::DB::Schema::SQL", - driver => "WeBWorK::DB::Driver::SQL", - source => "$sqlDBISourcePrefix$courseName", - params => { %sqlParams }, - }, - problem_user => { - record => "WeBWorK::DB::Record::UserProblem", - schema => "WeBWorK::DB::Schema::SQL", - driver => "WeBWorK::DB::Driver::SQL", - source => "$sqlDBISourcePrefix$courseName", - params => { %sqlParams }, - }, -}; - -=head1 THE SQL_SINGLE DATABASE LAYOUT - -The C<sql_single> layout is similar to the C<sql> layout, excpet that it uses a -single database for all courses. This is accomplised by prefixing each table -name with the name of the course. - -=cut - my $sqlSingleDBISource = "dbi:mysql:webwork"; $dbLayouts{sql_single} = { @@ -322,3 +163,14 @@ }, }; +=head1 THE SQL DATABASE LAYOUT ($dbLayouts{sql}) + +This layout is not supported as of WeBWorK 2.1.4. + +=cut + +=head1 THE GDBM DATABASE LAYOUT ($dbLayouts{gdbm}) + +This layout is not supported as of WeBWorK 2.1.4. + +=cut |
From: Sam H. v. a. <we...@ma...> - 2005-12-16 22:01:19
|
Log Message: ----------- remove global_user from classlists (gdbm is dead) Modified Files: -------------- webwork2/courses: adminClasslist.lst defaultClasslist.lst Revision Data ------------- Index: adminClasslist.lst =================================================================== RCS file: /webwork/cvs/system/webwork2/courses/adminClasslist.lst,v retrieving revision 1.5 retrieving revision 1.6 diff -Lcourses/adminClasslist.lst -Lcourses/adminClasslist.lst -u -r1.5 -r1.6 --- courses/adminClasslist.lst +++ courses/adminClasslist.lst @@ -1,4 +1,3 @@ # $Id$ # Field order: student_id,last_name,first_name,status,comment,section,recitation,email_address,user_id,password,permission -global_user,GlobalUser,,D,,,,,global_user,,0 admin,Administrator,,C,,,,,admin,.bxpcera4I/bg,10 Index: defaultClasslist.lst =================================================================== RCS file: /webwork/cvs/system/webwork2/courses/defaultClasslist.lst,v retrieving revision 1.6 retrieving revision 1.7 diff -Lcourses/defaultClasslist.lst -Lcourses/defaultClasslist.lst -u -r1.6 -r1.7 --- courses/defaultClasslist.lst +++ courses/defaultClasslist.lst @@ -1,6 +1,5 @@ # $Id$ # Field order: student_id,last_name,first_name,status,comment,section,recitation,email_address,user_id,password,permission -global_user,GlobalUser,,D,,,,,global_user,,0 practice1,Practice1,,C,,,,,practice1,,-5 practice2,Practice2,,C,,,,,practice2,,-5 practice3,Practice3,,C,,,,,practice3,,-5 |
From: jj v. a. <we...@ma...> - 2005-12-16 18:44:20
|
Log Message: ----------- Added more permission levels for the course configuration module. Modified Files: -------------- webwork-modperl/lib/WeBWorK: Constants.pm Revision Data ------------- Index: Constants.pm =================================================================== RCS file: /webwork/cvs/system/webwork-modperl/lib/WeBWorK/Constants.pm,v retrieving revision 1.34 retrieving revision 1.35 diff -Llib/WeBWorK/Constants.pm -Llib/WeBWorK/Constants.pm -u -r1.34 -r1.35 --- lib/WeBWorK/Constants.pm +++ lib/WeBWorK/Constants.pm @@ -147,6 +147,10 @@ { var => 'permissionLevels{become_student}', doc => 'Allowed to <em>act as</em> another user', type => 'permission'}, + { var => 'permissionLevels{submit_feedback}', + doc => 'Can e-mail instructor', + doc2 => 'Only this permission level and higher get buttons for sending e-mail to the instructor.', + type => 'permission'}, { var => 'permissionLevels{record_answers_when_acting_as_student}', doc => 'Can submit answers for a student', doc2 => 'When acting as a student, this permission level and higher can submit answers for that student.', @@ -155,6 +159,31 @@ doc => 'Can report bugs', doc2 => 'Users with at least this permission level get a link in the left panel for reporting bugs to the bug tracking system in Rochester', type => 'permission'}, + { var => 'permissionLevels{change_email_address}', + doc => 'Allowed to change their e-mail address', + doc2 => 'Users at this level and higher are allowed to change their e-mail address. Normally guest users are not allowed to change the e-mail address since it does not make sense to send e-mail to anonymous accounts.', + type => 'permission'}, + { var => 'permissionLevels{view_answers}', + doc => 'Allowed to view past answers', + doc2 => 'These users and higher get the "Show Past Answers" button on the problem page.', + type => 'permission'}, + { var => 'permissionLevels{view_unopened_sets}', + doc => 'Allowed to view problems in sets which are not open yet', + type => 'permission'}, + { var => 'permissionLevels{show_correct_answers_before_answer_date}', + doc => 'Allowed to see the correct answers before the answer date', + type => 'permission'}, + { var => 'permissionLevels{show_solutions_before_answer_date}', + doc => 'Allowed to see solutions before the answer date', + type => 'permission'}, + { var => 'permissionLevels{can_show_old_answers_by_default}', + doc => 'Can show old answers by default', + doc2 => 'When viewing a problem, WeBWorK usually puts the previously submitted answer in the answer blank if it is before the due date. Below this level, old answers are never initially shown. Typically, that is the desired behaviour for guest accounts.', + type => 'permission'}, + { var => 'permissionLevels{can_always_use_show_old_answers_default}', + doc => 'Can always show old answers by default', + doc2 => 'When viewing a problem, WeBWorK usually puts the previously submitted answer in the answer blank if it is before the due date. At this level and higher, old answers are always shown (independent of the answer date).', + type => 'permission'}, ], ['PG - Problem Display/Answer Checking', { var => 'pg{displayModes}', |
From: dpvc v. a. <we...@ma...> - 2005-12-16 18:32:21
|
Log Message: ----------- Updated to version 3.0 of jsMath (see the jsMath web site for details of the changes in this version). Also updated the jsMath-ww.js bootstrap code to use the window onLoad handler to do one call to jsMath at the end rather than lots of calls for pages that show multiple problems (like the library browser). Modified Files: -------------- webwork-modperl/htdocs/jsMath: COPYING.txt jsMath-controls.html jsMath-fallback-mac-mozilla.js jsMath-fallback-mac-msie.js jsMath-fallback-mac.js jsMath-fallback-pc.js jsMath-fallback-symbols.js jsMath-fallback-unix.js jsMath-msie-mac.js jsMath-ww.js jsMath.js webwork-modperl/htdocs/jsMath/plugins: mimeTeX.js noImageFonts.js tex2math.js Added Files: ----------- webwork-modperl/htdocs/jsMath: jsMath-BaKoMa-fonts.js jsMath-autoload.html jsMath-loader.html webwork-modperl/htdocs/jsMath/plugins: autoload.js Revision Data ------------- Index: jsMath-msie-mac.js =================================================================== RCS file: /webwork/cvs/system/webwork-modperl/htdocs/jsMath/jsMath-msie-mac.js,v retrieving revision 1.2 retrieving revision 1.3 diff -Lhtdocs/jsMath/jsMath-msie-mac.js -Lhtdocs/jsMath/jsMath-msie-mac.js -u -r1.2 -r1.3 --- htdocs/jsMath/jsMath-msie-mac.js +++ htdocs/jsMath/jsMath-msie-mac.js @@ -7,19 +7,19 @@ * * --------------------------------------------------------------------- * - * jsMath is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * jsMath is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with jsMath; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Copyright 2004-2005 by Davide P. Cervone + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ @@ -31,83 +31,7 @@ * possible. */ -jsMath.Update.TeXfonts({ - - cmr10: { - '3': {c: '<FONT FACE="Symbol">L</FONT>', tclass: 'normal'}, - '5': {c: '<FONT FACE="Symbol">P</FONT>', tclass: 'normal'}, - '10': {c: '<FONT FACE="Symbol">W</FONT>', tclass: 'normal'}, - '16': {c: 'ı', tclass: 'normal'}, - '20': {c: '­'}, - '22': {c: '¯', tclass: 'normal', w: .3}, - '25': {c: 'ß', tclass: 'normal'}, - '26': {c: 'æ', tclass: 'normal'}, - '27': {c: 'œ', tclass: 'normal'} - }, - - cmmi10: { - '3': {c: '<I><FONT FACE="Symbol">L</FONT></I>', tclass: 'normal'}, - '5': {c: '<I><FONT FACE="Symbol">P</FONT></I>', tclass: 'normal'}, - '10': {c: '<I><FONT FACE="Symbol">W</FONT></I>', tclass: 'normal'}, - '15': {c: '<I><FONT FACE="Symbol">e</FONT></I>', tclass: 'normal'}, - '16': {c: '<I><FONT FACE="Symbol">z</FONT></I>', tclass: 'normal'}, - '20': {c: '<I><FONT FACE="Symbol">k</FONT></I>', tclass: 'normal'}, - '22': {c: '<I><FONT FACE="Symbol">m</FONT></I>', tclass: 'normal'}, - '25': {c: '<I><FONT FACE="Symbol">p</FONT></I>', tclass: 'normal'}, - '26': {c: '<I><FONT FACE="Symbol">r</FONT></I>', tclass: 'normal'}, - '27': {c: '<I><FONT FACE="Symbol">s</FONT></I>', tclass: 'normal'} - }, - - cmsy10: { - '3': {c: '<SPAN STYLE="vertical-align:-.3em">*</SPAN>', tclass: 'normal'}, - '5': {c: 'Ή', tclass: 'normal'}, - '10': {c: '⊗', tclass: 'normal'}, - '15': {c: '•', tclass: 'normal'}, - '16': {c: '≍', tclass: 'normal'}, - '20': {c: '≤', tclass: 'normal'}, - '22': {c: '≤', tclass: 'normal'}, - '25': {c: '≈', tclass: 'normal'}, - '26': {c: '<FONT FACE="Symbol">Ì</FONT>', tclass: 'normal'}, - '27': {c: '<FONT FACE="Symbol">É</FONT>', tclass: 'normal'} - }, - - cmex10: { - '3': {c: '<SPAN STYLE="font-size: 67%">i</SPAN>'}, - '5': {c: '<SPAN STYLE="font-size: 67%">k</SPAN>'}, - '10': {c: '<SPAN STYLE="font-size: 67%">D</SPAN>'}, - '15': {c: '<SPAN STYLE="font-size: 55%">Â</SPAN>'}, - '16': {c: '<SPAN STYLE="font-size: 83%">µ</SPAN>'}, - '20': {c: '<SPAN STYLE="font-size: 83%">"</SPAN>'}, - '22': {c: '<SPAN STYLE="font-size: 83%">$</SPAN>'}, - '25': {c: '<SPAN STYLE="font-size: 83%">\'</SPAN>'}, - '26': {c: '<SPAN STYLE="font-size: 83%">(</SPAN>'}, - '27': {c: '<SPAN STYLE="font-size: 83%">)</SPAN>'} - }, - - cmti10: { - '3': {c: '<I><FONT FACE="Symbol">L</FONT></I>', tclass: 'normal'}, - '5': {c: '<I><FONT FACE="Symbol">P</FONT></I>', tclass: 'normal'}, - '10': {c: '<I><FONT FACE="Symbol">W</FONT></I>', tclass: 'normal'}, - '16': {c: '<I>ı</I>', tclass: 'normal'}, - '20': {c: '<I>­</I>'}, - '22': {c: '<I>¯</I>', tclass: 'normal', w: .3}, - '25': {c: '<I>ß</I>', tclass: 'normal'}, - '26': {c: '<I>æ</I>', tclass: 'normal'}, - '27': {c: '<I>œ</I>', tclass: 'normal'} - }, - - cmbx10: { - '3': {c: '<B><FONT FACE="Symbol">L</FONT></B>', tclass: 'normal'}, - '5': {c: '<B><FONT FACE="Symbol">P</FONT></B>', tclass: 'normal'}, - '10': {c: '<B><FONT FACE="Symbol">W</FONT></B>', tclass: 'normal'}, - '16': {c: '<B>ı</B>', tclass: 'normal'}, - '20': {c: '<B>­</B>'}, - '22': {c: '<B>¯</B>', tclass: 'normal', w: .3}, - '25': {c: '<B>ß</B>', tclass: 'normal'}, - '26': {c: '<B>æ</B>', tclass: 'normal'}, - '27': {c: '<B>œ</B>', tclass: 'normal'} - } -}); +jsMath.Script.Start(); /* * MSIE crashes if it changes the page too quickly, so we add a @@ -123,17 +47,18 @@ Process: function () { // we need to delay a bit before starting to process the page // in order to avoid an MSIE display bug - setTimeout('jsMath.msieProcess()',jsMath.delay); + jsMath.Message.Set("Processing Math: 0%"); + setTimeout('jsMath.msieProcess()',jsMath.Browser.delay); }, ProcessBeforeShowing: function () { // we need to delay a bit before starting to process the page // in order to avoid an MSIE display bug - window.status = "Processing Math..."; - setTimeout('jsMath.msieProcessBeforeShowing()',5*jsMath.delay); + setTimeout('jsMath.msieProcessBeforeShowing()',5*jsMath.Browser.delay); } }); -jsMath.delay = 50; // hope this is enogh of a delay! +jsMath.Browser.delay = 75; // hope this is enogh of a delay! +jsMath.Script.End(); Index: jsMath-fallback-mac-msie.js =================================================================== RCS file: /webwork/cvs/system/webwork-modperl/htdocs/jsMath/jsMath-fallback-mac-msie.js,v retrieving revision 1.3 retrieving revision 1.4 diff -Lhtdocs/jsMath/jsMath-fallback-mac-msie.js -Lhtdocs/jsMath/jsMath-fallback-mac-msie.js -u -r1.3 -r1.4 --- htdocs/jsMath/jsMath-fallback-mac-msie.js +++ htdocs/jsMath/jsMath-fallback-mac-msie.js @@ -8,19 +8,19 @@ * * --------------------------------------------------------------------- * - * jsMath is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * jsMath is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with jsMath; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Copyright 2004-2005 by Davide P. Cervone + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ @@ -31,6 +31,8 @@ * */ +jsMath.Script.Start(); + jsMath.Update.TeXfonts({ cmr10: { '0': {c: 'G', tclass: 'greek'}, @@ -44,50 +46,50 @@ '8': {c: 'F', tclass: 'greek'}, '9': {c: 'Y', tclass: 'greek'}, '10': {c: 'W', tclass: 'greek'}, - '22': {c: '<SPAN STYLE="position:relative; top:.1em">`</SPAN>', tclass: 'symbol3'} + '22': {c: '<span style="position:relative; top:.1em">`</span>', tclass: 'symbol3'} }, cmti10: { - '0': {c: '<I>G</I>', tclass: 'greek'}, - '1': {c: '<I>D</I>', tclass: 'greek'}, - '2': {c: '<I>Q</I>', tclass: 'greek'}, - '3': {c: '<I>L</I>', tclass: 'greek'}, - '4': {c: '<I>X</I>', tclass: 'greek'}, - '5': {c: '<I>P</I>', tclass: 'greek'}, - '6': {c: '<I>S</I>', tclass: 'greek'}, - '7': {c: '<I>¡</I>', tclass: 'greek'}, - '8': {c: '<I>F</I>', tclass: 'greek'}, - '9': {c: '<I>Y</I>', tclass: 'greek'}, - '10': {c: '<I>W</I>', tclass: 'greek'}, - '22': {c: '<SPAN STYLE="position:relative; top:.1em">`</SPAN>', tclass: 'symbol3'} + '0': {c: 'G', tclass: 'igreek'}, + '1': {c: 'D', tclass: 'igreek'}, + '2': {c: 'Q', tclass: 'igreek'}, + '3': {c: 'L', tclass: 'igreek'}, + '4': {c: 'X', tclass: 'igreek'}, + '5': {c: 'P', tclass: 'igreek'}, + '6': {c: 'S', tclass: 'igreek'}, + '7': {c: '¡', tclass: 'igreek'}, + '8': {c: 'F', tclass: 'igreek'}, + '9': {c: 'Y', tclass: 'igreek'}, + '10': {c: 'W', tclass: 'igreek'}, + '22': {c: '<span style="position:relative; top:.1em">`</span>', tclass: 'symbol3'} }, cmbx10: { - '0': {c: '<B>G</B>', tclass: 'greek'}, - '1': {c: '<B>D</B>', tclass: 'greek'}, - '2': {c: '<B>Q</B>', tclass: 'greek'}, - '3': {c: '<B>L</B>', tclass: 'greek'}, - '4': {c: '<B>X</B>', tclass: 'greek'}, - '5': {c: '<B>P</B>', tclass: 'greek'}, - '6': {c: '<B>S</B>', tclass: 'greek'}, - '7': {c: '<B>¡</B>', tclass: 'greek'}, - '8': {c: '<B>F</B>', tclass: 'greek'}, - '9': {c: '<B>Y</B>', tclass: 'greek'}, - '10': {c: '<B>W</B>', tclass: 'greek'}, - '22': {c: '<SPAN STYLE="position:relative; top:.1em">`</SPAN>', tclass: 'symbol3'} + '0': {c: 'G', tclass: 'bgreek'}, + '1': {c: 'D', tclass: 'bgreek'}, + '2': {c: 'Q', tclass: 'bgreek'}, + '3': {c: 'L', tclass: 'bgreek'}, + '4': {c: 'X', tclass: 'bgreek'}, + '5': {c: 'P', tclass: 'bgreek'}, + '6': {c: 'S', tclass: 'bgreek'}, + '7': {c: '¡', tclass: 'bgreek'}, + '8': {c: 'F', tclass: 'bgreek'}, + '9': {c: 'Y', tclass: 'bgreek'}, + '10': {c: 'W', tclass: 'bgreek'}, + '22': {c: '<span style="position:relative; top:.1em">`</span>', tclass: 'symbol3'} }, cmmi10: { - '0': {c: '<I>G</I>', tclass: 'greek'}, - '1': {c: '<I>D</I>', tclass: 'greek'}, - '2': {c: '<I>Q</I>', tclass: 'greek'}, - '3': {c: '<I>L</I>', tclass: 'greek'}, - '4': {c: '<I>X</I>', tclass: 'greek'}, - '5': {c: '<I>P</I>', tclass: 'greek'}, - '6': {c: '<I>S</I>', tclass: 'greek'}, - '7': {c: '<I>¡</I>', tclass: 'greek'}, - '8': {c: '<I>F</I>', tclass: 'greek'}, - '9': {c: '<I>Y</I>', tclass: 'greek'}, - '10': {c: '<I>W</I>', tclass: 'greek'}, + '0': {c: 'G', tclass: 'igreek'}, + '1': {c: 'D', tclass: 'igreek'}, + '2': {c: 'Q', tclass: 'igreek'}, + '3': {c: 'L', tclass: 'igreek'}, + '4': {c: 'X', tclass: 'igreek'}, + '5': {c: 'P', tclass: 'igreek'}, + '6': {c: 'S', tclass: 'igreek'}, + '7': {c: '¡', tclass: 'igreek'}, + '8': {c: 'F', tclass: 'igreek'}, + '9': {c: 'Y', tclass: 'igreek'}, + '10': {c: 'W', tclass: 'igreek'}, '11': {c: 'a', tclass: 'greek'}, '12': {c: 'b', tclass: 'greek'}, '13': {c: 'g', tclass: 'greek'}, @@ -116,21 +118,21 @@ // '44': // hook left // '45': // hook right // '92': // natural - '94': {c: '<SPAN STYLE="position:relative; top:.3em">︶</SPAN>'}, - '95': {c: '<SPAN STYLE="position:relative; top:-.2em">︵</SPAN>'} + '94': {c: '<span style="position:relative; top:.3em">︶</span>'}, + '95': {c: '<span style="position:relative; top:-.2em">︵</span>'} // '127': // half-circle down accent? }, cmsy10: { '0': {c: '–', tclass: 'normal'}, - '11': {c: '<SPAN STYLE="font-size: 70%">◯</SPAN><SPAN STYLE="position:relative; margin-left:-.5em; top:.1em; margin-right:.3em">/</SPAN>', tclass: 'normal'}, - '16': {c: '<SPAN STYLE="position:relative;top:-.1em; font-size: 67%">︵</SPAN><SPAN STYLE="position:relative;top:.1em;font-size:67%;margin-left:-1em">︶</SPAN>', tclass: 'normal'}, - '48': {c: '<SPAN STYLE="font-size: 133%; margin-left:-.1em; margin-right: -.6em; position: relative; top:.4em">′</SPAN>'}, - '93': {c: '∪<SPAN STYLE="font-size: 50%; margin-left:-1.3em; position: relative; top:-.3em; margin-right:.6em">+</SPAN>'}, - '96': {c: '<SPAN STYLE="font-size:67%; position:relative; top:-.3em;">|</SPAN><SPAN STYLE="position:relative; top:-.15em; margin-left:-.1em">–</SPAN>', tclass: 'normal'}, - '104': {c: '<SPAN STYLE="position:relative; top:.2em; margin-left:-.6em">〈</SPAN>'}, - '105': {c: '<SPAN STYLE="position:relative; top:.2em; margin-right:-.6em">〉</SPAN>'}, - '109': {c: '⇑<SPAN STYLE="position:relative; top:.1em; margin-left:-1em">⇓</SPAN>'}, + '11': {c: '<span style="font-size: 70%">◯</span><span style="position:relative; margin-left:-.5em; top:.1em; margin-right:.3em">/</span>', tclass: 'normal'}, + '16': {c: '<span style="position:relative;top:-.1em; font-size: 67%">︵</span><span style="position:relative;top:.1em;font-size:67%;margin-left:-1em">︶</span>', tclass: 'normal'}, + '48': {c: '<span style="font-size: 133%; margin-left:-.1em; margin-right: -.6em; position: relative; top:.4em">′</span>'}, + '93': {c: '∪<span style="font-size: 50%; margin-left:-1.3em; position: relative; top:-.3em; margin-right:.6em">+</span>'}, + '96': {c: '<span style="font-size:67%; position:relative; top:-.3em;">|</span><span style="position:relative; top:-.15em; margin-left:-.1em">–</span>', tclass: 'normal'}, + '104': {c: '<span style="position:relative; top:.2em; margin-left:-.6em">〈</span>'}, + '105': {c: '<span style="position:relative; top:.2em; margin-right:-.6em">〉</span>'}, + '109': {c: '⇑<span style="position:relative; top:.1em; margin-left:-1em">⇓</span>'}, '110': {c: '\\', d:0, tclass: 'normal'} // '111': // wr //, '113': // amalg @@ -141,24 +143,24 @@ }, cmex10: { - '10': {c: '<SPAN STYLE="position:relative; top:.1em; margin-left:-.6em">〈</SPAN>'}, - '11': {c: '<SPAN STYLE="position:relative; top:.1em; margin-right:-.6em">〉</SPAN>'}, + '10': {c: '<span style="position:relative; top:.1em; margin-left:-.6em">〈</span>'}, + '11': {c: '<span style="position:relative; top:.1em; margin-right:-.6em">〉</span>'}, '14': {c: '/'}, '15': {c: '\\'}, - '28': {c: '<SPAN STYLE="position:relative; top:.05em; margin-left:-.6em">〈</SPAN>'}, - '29': {c: '<SPAN STYLE="position:relative; top:.05em; margin-right:-.6em">〉</SPAN>'}, + '28': {c: '<span style="position:relative; top:.05em; margin-left:-.6em">〈</span>'}, + '29': {c: '<span style="position:relative; top:.05em; margin-right:-.6em">〉</span>'}, '30': {c: '/'}, '31': {c: '\\'}, - '42': {c: '<SPAN STYLE="margin-left:-.6em">〈</SPAN>'}, - '43': {c: '<SPAN STYLE="margin-right:-.6em">〉</SPAN>'}, + '42': {c: '<span style="margin-left:-.6em">〈</span>'}, + '43': {c: '<span style="margin-right:-.6em">〉</span>'}, '44': {c: '/'}, '45': {c: '\\'}, '46': {c: '/'}, '47': {c: '\\'}, - '68': {c: '<SPAN STYLE="margin-left:-.6em">〈</SPAN>'}, - '69': {c: '<SPAN STYLE="margin-right:-.6em">〉</SPAN>'}, + '68': {c: '<span style="margin-left:-.6em">〈</span>'}, + '69': {c: '<span style="margin-right:-.6em">〉</span>'}, // '70': // sqcup // '71': // big sqcup '72': {ic: 0}, '73': {ic: 0}, '82': {tclass: 'bigop1cx', ic: .15}, '90': {tclass: 'bigop2cx', ic:.6}, - '85': {c: '∪<SPAN STYLE="font-size: 50%; margin-left:-1.25em; position: relative; top:-.3em; margin-right:.6em">+</SPAN>'}, - '93': {c: '∪<SPAN STYLE="font-size: 50%; margin-left:-1.25em; position: relative; top:-.3em; margin-right:.6em">+</SPAN>'}, + '85': {c: '∪<span style="font-size: 50%; margin-left:-1.25em; position: relative; top:-.3em; margin-right:.6em">+</span>'}, + '93': {c: '∪<span style="font-size: 50%; margin-left:-1.25em; position: relative; top:-.3em; margin-right:.6em">+</span>'}, // '96': // coprod // '97': // big coprod '98': {c: '︿', h: 0.722, w: .58, tclass: 'wide1'}, @@ -171,31 +173,32 @@ }); -jsMath.Update.Styles({ - '.arrow1': "font-family: Osaka; position: relative; top: .125em; margin: -1px", - '.arrow2': "font-family: Osaka; position: relative; top: .1em; margin:-1px", - '.bigop1': "font-family: Symbol; font-size: 110%; position:relative; top: .8em; margin:-.05em", - '.bigop1b': "font-family: Symbol; font-size: 140%; position: relative; top: .8em; margin:-.1em", - '.bigop1c': "font-family: Osaka; font-size: 125%; position:relative; top: .85em; margin:-.3em", - '.bigop1cx': "font-family: 'Apple Chancery'; font-size: 125%; position:relative; top: .7em; margin:-.1em", - '.bigop2': "font-family: Symbol; font-size: 175%; position:relative; top: .8em; margin:-.07em", - '.bigop2a': "font-family: Baskerville; font-size: 175%; position: relative; top: .65em", - '.bigop2b': "font-family: Symbol; font-size: 175%; position: relative; top: .8em; margin:-.07em", - '.bigop2c': "font-family: Osaka; font-size: 230%; position:relative; top: .85em; margin:-.35em", - '.bigop2cx': "font-family: 'Apple Chancery'; font-size: 250%; position:relative; top: .6em; margin-left:-.1em; margin-right:-.2em", - '.delim1b': "font-family: Times; font-size: 150%; position:relative; top:.8em", - '.delim2b': "font-family: Times; font-size: 210%; position:relative; top:.75em;", - '.delim3b': "font-family: Times; font-size: 300%; position:relative; top:.7em;", - '.delim4b': "font-family: Times; font-size: 400%; position:relative; top:.65em;", - '.symbol3': "font-family: Symbol", - '.wide1': "font-size: 50%; position: relative; top:-1.1em", - '.wide2': "font-size: 80%; position: relative; top:-.7em", - '.wide3': "font-size: 125%; position: relative; top:-.5em", - '.wide1a': "font-size: 75%; position: relative; top:-.5em", - '.wide2a': "font-size: 133%; position: relative; top: -.15em", - '.wide3a': "font-size: 200%; position: relative; top: -.05em", - '.greek': "font-family: Symbol" +jsMath.Setup.Styles({ + '.typeset .arrow1': "font-family: Osaka; position: relative; top: .125em; margin: -1px", + '.typeset .arrow2': "font-family: Osaka; position: relative; top: .1em; margin:-1px", + '.typeset .bigop1': "font-family: Symbol; font-size: 110%; position:relative; top: .8em; margin:-.05em", + '.typeset .bigop1b': "font-family: Symbol; font-size: 140%; position: relative; top: .8em; margin:-.1em", + '.typeset .bigop1c': "font-family: Osaka; font-size: 125%; position:relative; top: .85em; margin:-.3em", + '.typeset .bigop1cx': "font-family: 'Apple Chancery'; font-size: 125%; position:relative; top: .7em; margin:-.1em", + '.typeset .bigop2': "font-family: Symbol; font-size: 175%; position:relative; top: .8em; margin:-.07em", + '.typeset .bigop2a': "font-family: Baskerville; font-size: 175%; position: relative; top: .65em", + '.typeset .bigop2b': "font-family: Symbol; font-size: 175%; position: relative; top: .8em; margin:-.07em", + '.typeset .bigop2c': "font-family: Osaka; font-size: 230%; position:relative; top: .85em; margin:-.35em", + '.typeset .bigop2cx': "font-family: 'Apple Chancery'; font-size: 250%; position:relative; top: .6em; margin-left:-.1em; margin-right:-.2em", + '.typeset .delim1b': "font-family: Times; font-size: 150%; position:relative; top:.8em", + '.typeset .delim2b': "font-family: Times; font-size: 210%; position:relative; top:.75em;", + '.typeset .delim3b': "font-family: Times; font-size: 300%; position:relative; top:.7em;", + '.typeset .delim4b': "font-family: Times; font-size: 400%; position:relative; top:.65em;", + '.typeset .symbol3': "font-family: Symbol", + '.typeset .wide1': "font-size: 50%; position: relative; top:-1.1em", + '.typeset .wide2': "font-size: 80%; position: relative; top:-.7em", + '.typeset .wide3': "font-size: 125%; position: relative; top:-.5em", + '.typeset .wide1a': "font-size: 75%; position: relative; top:-.5em", + '.typeset .wide2a': "font-size: 133%; position: relative; top: -.15em", + '.typeset .wide3a': "font-size: 200%; position: relative; top: -.05em", + '.typeset .greek': "font-family: Symbol", + '.typeset .igreek': "font-family: Symbol; font-style:italic", + '.typeset .bgreek': "font-family: Symbol; font-weight:bold" }); -jsMath.Setup.Styles(); - +jsMath.Script.End(); Index: jsMath-fallback-mac-mozilla.js =================================================================== RCS file: /webwork/cvs/system/webwork-modperl/htdocs/jsMath/jsMath-fallback-mac-mozilla.js,v retrieving revision 1.3 retrieving revision 1.4 diff -Lhtdocs/jsMath/jsMath-fallback-mac-mozilla.js -Lhtdocs/jsMath/jsMath-fallback-mac-mozilla.js -u -r1.3 -r1.4 --- htdocs/jsMath/jsMath-fallback-mac-mozilla.js +++ htdocs/jsMath/jsMath-fallback-mac-mozilla.js @@ -8,19 +8,19 @@ * * --------------------------------------------------------------------- * - * jsMath is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * jsMath is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with jsMath; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Copyright 2004-2005 by Davide P. Cervone + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ @@ -31,26 +31,28 @@ * */ +jsMath.Script.Start(); + jsMath.Update.TeXfonts({ cmmi10: { // '41': // leftharpoondown // '43': // rightharpoondown - '44': {c: '<SPAN STYLE="position:relative; top:.15em; margin-right:-.1em; margin-left:-.2em">˓</SPAN>'}, - '45': {c: '<SPAN STYLE="position:relative; top:.15em; margin-right:-.1em; margin-left:-.2em">˒</SPAN>'}, - '47': {c: '<SPAN STYLE="font-size:60%">◁</SPAN>'}, + '44': {c: '<span style="position:relative; top:.15em; margin-right:-.1em; margin-left:-.2em">˓</span>'}, + '45': {c: '<span style="position:relative; top:.15em; margin-right:-.1em; margin-left:-.2em">˒</span>'}, + '47': {c: '<span style="font-size:60%">◁</span>'}, // '92': // natural - '126': {c: '<SPAN STYLE="position:relative; left: .3em; top: -.7em; font-size: 50%">→</SPAN>'} + '126': {c: '<span style="position:relative; left: .3em; top: -.7em; font-size: 50%">→</span>'} }, cmsy10: { '0': {c: '–', tclass: 'normal'}, - '11': {c: '<SPAN STYLE="font-size: 70%">◯</SPAN><SPAN STYLE="position:relative; margin-left:-.5em; top:.1em; margin-right:.3em">/</SPAN>', tclass: 'normal'}, + '11': {c: '<span style="font-size: 70%">◯</span><span style="position:relative; margin-left:-.5em; top:.1em; margin-right:.3em">/</span>', tclass: 'normal'}, '42': {c: '⥣'}, '43': {c: '⥥'}, - '48': {c: '<SPAN STYLE="font-size: 133%; margin-right: -.75em; position: relative; top:.4em">′</SPAN>', tclass: 'normal'}, - '93': {c: '∪<SPAN STYLE="font-size: 50%; margin-left:-1.3em; position: relative; top:-.3em; margin-right:.6em">+</SPAN>'}, - '104': {c: '<SPAN STYLE="position:relative; top:.15em; margin-left:-.6em">〈</SPAN>'}, - '105': {c: '<SPAN STYLE="position:relative; top:.15em; margin-right:-.6em">〉</SPAN>'}, - '109': {c: '⥣<SPAN STYLE="position:relative; top:.1em; margin-left:-1em">⥥</SPAN>'} + '48': {c: '<span style="font-size: 133%; margin-right: -.75em; position: relative; top:.4em">′</span>', tclass: 'normal'}, + '93': {c: '∪<span style="font-size: 50%; margin-left:-1.3em; position: relative; top:-.3em; margin-right:.6em">+</span>'}, + '104': {c: '<span style="position:relative; top:.15em; margin-left:-.6em">〈</span>'}, + '105': {c: '<span style="position:relative; top:.15em; margin-right:-.6em">〉</span>'}, + '109': {c: '⥣<span style="position:relative; top:.1em; margin-left:-1em">⥥</span>'} //, '116': // sqcup // '117': // sqcap // '118': // sqsubseteq @@ -58,44 +60,44 @@ }, cmex10: { - '10': {c: '<SPAN STYLE="position:relative; top:.1em; margin-left:-.6em">〈</SPAN>'}, - '11': {c: '<SPAN STYLE="position:relative; top:.1em; margin-right:-.6em">〉</SPAN>'}, + '10': {c: '<span style="position:relative; top:.1em; margin-left:-.6em">〈</span>'}, + '11': {c: '<span style="position:relative; top:.1em; margin-right:-.6em">〉</span>'}, '14': {c: '/'}, '15': {c: '\\'}, - '28': {c: '<SPAN STYLE="position:relative; top:.1em; margin-left:-.6em">〈</SPAN>'}, - '29': {c: '<SPAN STYLE="position:relative; top:.1em; margin-right:-.6em">〉</SPAN>'}, + '28': {c: '<span style="position:relative; top:.1em; margin-left:-.6em">〈</span>'}, + '29': {c: '<span style="position:relative; top:.1em; margin-right:-.6em">〉</span>'}, '30': {c: '/'}, '31': {c: '\\'}, - '42': {c: '<SPAN STYLE="position:relative; top:.1em; margin-left:-.6em">〈</SPAN>'}, - '43': {c: '<SPAN STYLE="position:relative; top:.1em; margin-right:-.6em">〉</SPAN>'}, + '42': {c: '<span style="position:relative; top:.1em; margin-left:-.6em">〈</span>'}, + '43': {c: '<span style="position:relative; top:.1em; margin-right:-.6em">〉</span>'}, '44': {c: '/'}, '45': {c: '\\'}, '46': {c: '/'}, '47': {c: '\\'}, - '68': {c: '<SPAN STYLE="position:relative; top:.1em; margin-left:-.6em">〈</SPAN>'}, - '69': {c: '<SPAN STYLE="position:relative; top:.1em; margin-right:-.6em">〉</SPAN>'}, + '68': {c: '<span style="position:relative; top:.1em; margin-left:-.6em">〈</span>'}, + '69': {c: '<span style="position:relative; top:.1em; margin-right:-.6em">〉</span>'}, // '70': // sqcup // '71': // big sqcup '72': {ic: .194}, '73': {ic: .444}, '82': {tclass: 'bigop1cx', ic: .15}, '90': {tclass: 'bigop2cx', ic:.6}, - '85': {c: '∪<SPAN STYLE="font-size: 50%; margin-left:-1.3em; position: relative; top:-.3em; margin-right:.6em">+</SPAN>'}, - '93': {c: '∪<SPAN STYLE="font-size: 50%; margin-left:-1.3em; position: relative; top:-.3em; margin-right:.6em">+</SPAN>'} + '85': {c: '∪<span style="font-size: 50%; margin-left:-1.3em; position: relative; top:-.3em; margin-right:.6em">+</span>'}, + '93': {c: '∪<span style="font-size: 50%; margin-left:-1.3em; position: relative; top:-.3em; margin-right:.6em">+</span>'} } }); -jsMath.Update.Styles({ - '.symbol': "font-family: Osaka", - '.arrow1': "font-family: Osaka; position: relative; top: .125em; margin: -1px", - '.arrow2': "font-family: AppleGothic; font-size: 100%; position:relative; top: .11em; margin:-1px", - '.bigop1': "font-family: AppleGothic; font-size: 110%; position:relative; top: .9em; margin:-.05em", - '.bigop1b': "font-family: Osaka; font-size: 140%; position: relative; top: .8em; margin:-.1em", - '.bigop1c': "font-family: AppleGothic; font-size: 125%; position:relative; top: .85em; margin:-.3em", - '.bigop1cx': "font-family: 'Apple Chancery'; font-size: 125%; position:relative; top: .7em; margin:-.1em", - '.bigop2': "font-family: AppleGothic; font-size: 175%; position:relative; top: .85em; margin:-.1em", - '.bigop2b': "font-family: Osaka; font-size: 200%; position: relative; top: .75em; margin:-.15em", - '.bigop2c': "font-family: AppleGothic; font-size: 300%; position:relative; top: .75em; margin:-.35em", - '.bigop2cx': "font-family: 'Apple Chancery'; font-size: 250%; position:relative; top: .7em; margin-left:-.1em; margin-right:-.2em", - '.delim1b': "font-family: Times; font-size: 150%; position:relative; top:.8em; margin:.01em", - '.delim2b': "font-family: Times; font-size: 210%; position:relative; top:.8em; margin:.01em", - '.delim3b': "font-family: Times; font-size: 300%; position:relative; top:.75em; margin:.01em", - '.delim4b': "font-family: Times; font-size: 400%; position:relative; top:.725em; margin:.01em", +jsMath.Setup.Styles({ + '.typeset .symbol': "font-family: Osaka", + '.typeset .arrow1': "font-family: Osaka; position: relative; top: .125em; margin: -1px", + '.typeset .arrow2': "font-family: AppleGothic; font-size: 100%; position:relative; top: .11em; margin:-1px", + '.typeset .bigop1': "font-family: AppleGothic; font-size: 110%; position:relative; top: .9em; margin:-.05em", + '.typeset .bigop1b': "font-family: Osaka; font-size: 140%; position: relative; top: .8em; margin:-.1em", + '.typeset .bigop1c': "font-family: AppleGothic; font-size: 125%; position:relative; top: .85em; margin:-.3em", + '.typeset .bigop1cx': "font-family: 'Apple Chancery'; font-size: 125%; position:relative; top: .7em; margin:-.1em", + '.typeset .bigop2': "font-family: AppleGothic; font-size: 175%; position:relative; top: .85em; margin:-.1em", + '.typeset .bigop2b': "font-family: Osaka; font-size: 200%; position: relative; top: .75em; margin:-.15em", + '.typeset .bigop2c': "font-family: AppleGothic; font-size: 300%; position:relative; top: .75em; margin:-.35em", + '.typeset .bigop2cx': "font-family: 'Apple Chancery'; font-size: 250%; position:relative; top: .7em; margin-left:-.1em; margin-right:-.2em", + '.typeset .delim1b': "font-family: Times; font-size: 150%; position:relative; top:.8em; margin:.01em", + '.typeset .delim2b': "font-family: Times; font-size: 210%; position:relative; top:.8em; margin:.01em", + '.typeset .delim3b': "font-family: Times; font-size: 300%; position:relative; top:.75em; margin:.01em", + '.typeset .delim4b': "font-family: Times; font-size: 400%; position:relative; top:.725em; margin:.01em" }); @@ -107,9 +109,4 @@ jsMath.Macro('joinrel','\\mathrel{\\kern-3mu}'); -/* - * Reinstall the styles - */ - -jsMath.Setup.Styles(); - +jsMath.Script.End(); Index: jsMath-controls.html =================================================================== RCS file: /webwork/cvs/system/webwork-modperl/htdocs/jsMath/jsMath-controls.html,v retrieving revision 1.4 retrieving revision 1.5 diff -Lhtdocs/jsMath/jsMath-controls.html -Lhtdocs/jsMath/jsMath-controls.html -u -r1.4 -r1.5 --- htdocs/jsMath/jsMath-controls.html +++ htdocs/jsMath/jsMath-controls.html @@ -1,5 +1,5 @@ -<HTML> -<HEAD> +<html> +<head> <!-- | jsMath-controls.html | @@ -9,65 +9,69 @@ | | --------------------------------------------------------------------- | - | jsMath is free software; you can redistribute it and/or modify - | it under the terms of the GNU General Public License as published by - | the Free Software Foundation; either version 2 of the License, or - | (at your option) any later version. - | - | jsMath is distributed in the hope that it will be useful, - | but WITHOUT ANY WARRANTY; without even the implied warranty of - | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - | GNU General Public License for more details. - | - | You should have received a copy of the GNU General Public License - | along with jsMath; if not, write to the Free Software - | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + | Copyright 2004-2005 by Davide P. Cervone + | + | Licensed under the Apache License, Version 2.0 (the "License"); + | you may not use this file except in compliance with the License. + | You may obtain a copy of the License at + | + | http://www.apache.org/licenses/LICENSE-2.0 + | + | Unless required by applicable law or agreed to in writing, software + | distributed under the License is distributed on an "AS IS" BASIS, + | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + | See the License for the specific language governing permissions and + | limitations under the License. --> -</HEAD> -<BODY> +</head> +<body> -<SCRIPT> -while (!window.jsMath) { +<script> +var showWarning = 0; +while (!window.jsMath && !showWarning) { try { window.jsMath = window.parent.jsMath; - if (!window.jsMath) {error()} + if (!window.jsMath) {throw "no jsMath";} } catch (err) { - var showWarning = 1; + showWarning = 1; + // + // MSIE on Mac can't change document.domain, and 'try' won't + // catch the error (Grrr!) so don't even try for it + // if (document.domain.match(/\..*\./) && (navigator.appName != 'Microsoft Internet Explorer' || navigator.platform != 'MacPPC' || !navigator.userProfile || !document.all)) { - // - // MSIE on Mac can't change document.domain, and 'try' won't - // catch the error (Grrr!) so don't even try for it - // try { document.domain = document.domain.replace(/^[^.]*\./,''); showWarning = 0; } catch(err) {} } - if (showWarning) { - window.jsMath = {Add: function (x,y) {}}; - alert( - "jsMath can't open the control panel, since jsMath was not " + - "obtained from a server that is in the same domain as the " + - "page that loaded it." - ); - } } } +function Warning () { + alert( + "jsMath can't open the control panel, since jsMath was not " + + "obtained from a server that is in the same domain as the " + + "page that loaded it." + ); +} + +if (showWarning) {setTimeout("Warning()",1)} else { +debug = window.parent.debug; show = window.parent.show; + jsMath.Add(jsMath.Controls,{ loaded: 1, Close: function () { this.panel.style.display = "none"; - jsMath.Element("jsMath").style.display = (this.cookie.button ? "block" : "none"); - if (this.document.location.protocol == 'file:') return; + jsMath.Element("button").style.display = (this.cookie.button ? "block" : "none"); + if (jsMath.document.location.protocol == 'file:') return; for (var id in {scale:1, scaleImg:1, font:1, print:1, autofont:1, alpha:1, tex2math:1}) { - if (this.cookie[id] != this.oldCookie[id]) { + if (this.cookie[id] != this.oldCookie[id] && this.oldCookie[id] != null) { this.loaded = 0; - this.document.location.reload(); + jsMath.document.location.reload(); return; } } @@ -76,31 +80,37 @@ Main: function () { this.oldCookie = {}; jsMath.Add(this.oldCookie,this.cookie); this.panel.innerHTML = ""; // for MSIE on the Mac - this.panel.innerHTML = document.getElementById("jsMath.panel").innerHTML; + if (jsMath.browser == 'Mozilla') { + this.panel.appendChild(document.getElementById("jsMath_panel").cloneNode(true)); + } else { + this.panel.innerHTML = document.getElementById("jsMath_panel").innerHTML; + } - jsMath.Element("fontType").innerHTML = + jsMath.Element("_version").innerHTML = jsMath.version; + + jsMath.Element("_fontType").innerHTML = ({tex:"TeX", image:"Image", symbol:"Image symbol", unicode:"Unicode"})[this.cookie.font]; - jsMath.Element("mailto").href = + jsMath.Element("_mailto").href = "mailto:dp...@un...?subject=Bug Report for jsMath " + jsMath.version + " (using " + jsMath.browser + " in " + this.cookie.font + " mode)"; if (this.cookie.print || (this.cookie.font != 'image' && this.cookie.font != 'symbol')) - {jsMath.Element("resolution").disabled = true} + {jsMath.Element("_resolution").disabled = true} /* * Seems to be a bug in Safari that messes up the button names * when the page is reloaded after an option change */ if (jsMath.browser == 'Safari') { - jsMath.Element("resolution").value = "Hi-Res Fonts for Printing"; - jsMath.Element("opts").value = "Options"; - jsMath.Element("done").value = "Done"; + jsMath.Element("_resolution").value = "Hi-Res Fonts for Printing"; + jsMath.Element("_opts").value = "Options"; + jsMath.Element("_done").value = "Done"; } this.panel.style.display = "block"; @@ -109,32 +119,37 @@ Options: function () { this.panel.innerHTML = ""; // for MSIE on the Mac - this.panel.innerHTML = document.getElementById("jsMath.options").innerHTML; - jsMath.Element("scale").value = this.cookie.scale; - jsMath.Element("keep").value = this.cookie.keep; - for (var id in {autofont:1, scaleImg:1, alpha:1, warn:1, button:1, tex2math:1}) { - if (this.cookie[id]) {jsMath.Element(id).checked = true} + if (jsMath.browser == 'Mozilla') { + this.panel.appendChild(document.getElementById("jsMath_options").cloneNode(true)); + } else { + this.panel.innerHTML = document.getElementById("jsMath_options").innerHTML; + } + jsMath.Element("_scale").value = this.cookie.scale; + jsMath.Element("_keep").value = this.cookie.keep; + for (var id in {autofont:1, scaleImg:1, alpha:1, warn:1, button:1, + progress:1, asynch:1, blank:1, tex2math:1}) { + if (this.cookie[id]) {jsMath.Element('_'+id).checked = true} } - var font = this.document.getElementsByName("jsMath.font"); + var font = jsMath.document.getElementsByName("jsMath__font"); for (var i = 0; i < font.length; i++) { if ((font[i].value == 'tex' && jsMath.nofonts) || ((font[i].value == 'symbol' || font[i].value == 'image') && jsMath.noImgFonts)) { - jsMath.Element(font[i].value+"Text").style.color = "#888888"; + jsMath.Element('_'+font[i].value+"Text").style.color = "#888888"; font[i].disabled = true; } else if (this.cookie.font == font[i].value) {font[i].checked = true} } if (jsMath.noImgFonts) { - jsMath.Element("alphaText").style.color = "#888888"; - jsMath.Element("alpha").disabled = true; - jsMath.Element("scaleImg").disabled = true; + jsMath.Element("_alphaText").style.color = "#888888"; + jsMath.Element("_alpha").disabled = true; + jsMath.Element("_scaleImg").disabled = true; } else if (jsMath.Browser.imgScale != 1) { - jsMath.Element("alphaText").style.color = "#888888"; - jsMath.Element("alpha").disabled = true; + jsMath.Element("_alphaText").style.color = "#888888"; + jsMath.Element("_alpha").disabled = true; } - if (!jsMath.tex2math) { - jsMath.Element("tex2mathRow").style.display = 'none'; + if (jsMath.tex2math.Convert) { + jsMath.Element("_tex2mathRow").style.display = ''; } /* @@ -142,22 +157,25 @@ * when the page is reloaded after an option change */ if (jsMath.isSafari) { - jsMath.Element("back").value = "Back"; - jsMath.Element("done").value = "Done"; + jsMath.Element("_back").value = "Back"; + jsMath.Element("_done").value = "Done"; } this.panel.style.display = "block"; }, SaveOptions: function (close) { - this.cookie.scale = jsMath.Element("scale").value; - var font = this.document.getElementsByName("jsMath.font"); + this.cookie.scale = jsMath.Element("_scale").value; + var font = jsMath.document.getElementsByName("jsMath__font"); for (var i = 0; i < font.length; i++) {if (font[i].checked) {this.cookie.font = font[i].value}} - for (var id in {autofont:1, scaleImg:1, alpha:1, warn:1, button:1, tex2math:1}) { - this.cookie[id] = jsMath.Element(id).checked ? 1: 0; + for (var id in {autofont:1, scaleImg:1, alpha:1, warn:1, button:1, + progress:1, asynch:1, blank:1, tex2math:1}) { + if (this.cookie[id] != null) { + this.cookie[id] = jsMath.Element('_'+id).checked ? 1: 0; + } } - this.cookie.keep = jsMath.Element("keep").value; + this.cookie.keep = jsMath.Element("_keep").value; this.SetCookie(1); if (close) {this.Close()} else {this.Main()} }, @@ -168,138 +186,155 @@ this.Close(); }, - NoAuto: function () {jsMath.Element("autofont").checked = false} + NoAuto: function () {jsMath.Element("_autofont").checked = false} }); -</SCRIPT> +} +</script> <!------------------------------------------------------------> -<DIV ID="jsMath.panel"> -<DIV STYLE="text-align:center"> -<B STYLE="font-size:large">jsMath -<SCRIPT>document.write('v'+jsMath.version)</SCRIPT></B><BR> -<SMALL>(<SPAN ID="jsMath.fontType">type</SPAN> fonts)</SMALL> +<div id="jsMath_panel"> +<div style="text-align:center; margin:1em 2em"> +<b style="font-size:large">jsMath v<span ID="jsMath__version"></span></b><br/> +<small>(<span id="jsMath__fontType">type</span> fonts)</small> <p> -<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0" STYLE="margin:0pt 1em"> -<TR><TD ALIGN="CENTER"><TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0"> -<TR><TD ALIGN="CENTER" COLSPAN="3"> -<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0"> -<TR><TD> -<UL STYLE="text-align:left; margin:0pt 0pt; padding-left:1em; padding-bottom:1em"> -<LI><A TARGET="_blank" HREF="http://www.math.union.edu:/locate/jsMath/users/quickstart.html">Quick Start</A></LI> -<LI><A TARGET="_blank" HREF="http://www.math.union.edu:/locate/jsMath">Home Page</A></LI> -<LI><A TARGET="_blank" HREF="http://www.math.union.edu:/locate/jsMath/download/fonts.html">Download Fonts</A></LI> -<LI><A TARGET="_blank" HREF="http://www.math.union.edu:/locate/jsMath/users/">Documentation</A></LI> -<LI><A TARGET="_blank" HREF="http://www.math.union.edu:/locate/jsMath/bugs.html">Known Bugs</A></LI> -<LI><A ID="jsMath.mailto" HREF="mailto:dp...@un...?subject=jsMath Bug Report">Bug Reports</A></LI> -</UL> -</TD></TR> -</TABLE> -</TD></TR> -<TR><TD ALIGN="CENTER" COLSPAN="3"> -<INPUT TYPE="BUTTON" ID="jsMath.resolution" VALUE="Hi-Res Fonts for Printing" - STYLE="width:17em" onClick="jsMath.Controls.PrintResolution()"> -</TD></TR> -<TR><TD HEIGHT="5"></TD></TR> -<TR><TD ALIGN="LEFT"> -<INPUT TYPE="BUTTON" VALUE="Options" ID="jsMath.opts" STYLE="width:8em" onClick="jsMath.Controls.Options()"> -</TD><TD> +<table border="0" cellspacing="0" cellpadding="0" style="margin:0px"> +<tr><td align="center"><table border="0" cellspacing="0" cellpadding="0"> +<tr><td align="center" colspan="3"> +<table border="0" cellspacing="0" cellpadding="0"> +<tr><td align="left">• <a target="_blank" href="http://www.math.union.edu/locate/jsMath/users/quickstart.html">Quick Start</a></td></tr> +<tr><td height="5"></td></tr> +<tr><td align="left">• <a target="_blank" href="http://www.math.union.edu/locate/jsMath">Home Page</a></td></tr> +<tr><td align="left">• <a target="_blank" href="http://www.math.union.edu/locate/jsMath/users/">Documentation</a></td></tr> +<tr><td align="left">• <a target="_blank" href="http://www.math.union.edu/locate/jsMath/download/fonts.html">Download Fonts</a></td></tr> +<tr><td height="5"></td></tr> +<tr><td align="left">• <a target="_blank" href="http://www.math.union.edu/locate/jsMath/bugs.html">Known Bugs</a></td></tr> +<tr><td align="left">• <a id="jsMath__mailto" href="mailto:dp...@un...?subject=jsMath Bug Report">Bug Reports</a></td></tr> +<tr><td height="5"></td></tr> +<tr><td align="left">• <a target="_blank" href="http://www.math.union.edu/locate/jsMath/jsMath/COPYING.txt">License</a></td></tr> +</table> +</td></tr> +<tr><td style="height:1em"></td></tr> +<tr><td align="center" colspan="3"> +<input type="button" id="jsMath__resolution" value="Hi-Res Fonts for Printing" + style="width:17em" onclick="jsMath.Controls.PrintResolution()" /> +</td></tr> +<tr><td height="5"></td></tr> +<tr><td align="left"> +<input type="button" value="Options" id="jsMath__opts" style="width:8em" onclick="jsMath.Controls.Options()" /> +</td><td> -</TD><TD ALIGN="RIGHT"> -<INPUT TYPE="BUTTON" VALUE="Done" ID="jsMath.done" STYLE="width:8em" onClick="jsMath.Controls.Close()"> -</TD></TR> -</TABLE></TD></TR> -<TR><TD HEIGHT="10"></TD></TR> -<TR><TD ALIGN="CENTER" COLSPAN="3" STYLE="width:20em; font-size:x-small"> -<I>Click on the jsMath floating button or <NOBR>ALT-click</NOBR> on a -mathematical expression to get this dialog at any time.</I> -</TD></TR> -</TABLE><p> -</DIV> -</DIV> +</td><td align="right"> +<input type="button" value="Done" id="jsMath__done" style="width:8em" onclick="jsMath.Controls.Close()" /> +</td></tr> +</table></td></tr> +<tr><td height="7"></td></tr> +<tr><td align="center" colspan="3" style="width:20em; font-size:x-small"> +<i>Click on the jsMath floating button or <nobr>ALT-click</nobr> on a +mathematical expression to get this dialog at any time.</i> +</td></tr> +</table></p> +</div> +</div> <!------------------------------------------------------------> -<DIV ID="jsMath.options"> -<DIV STYLE="text-align:center"> -<B STYLE="font-size:large">jsMath Options</B> <SMALL>[<A TARGET="_blank" HREF="http://www.math.union.edu/locate/jsMath/users/help.html">help</A>]</SMALL> +<div id="jsMath_options"> +<div style="text-align:center; padding:.75em 1.4em;"> +<b style="font-size:large">jsMath Options</b> <small>[<a target="_blank" href="http://www.math.union.edu/locate/jsMath/users/help.html">help</a>]</small> <p> -<FORM ACTION="javascript:" STYLE"margin:0"> -<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0" STYLE="text-align:left"> +<form action="javascript:" style="margin:0px;"> +<table border="0" cellspacing="0" cellpadding="0" style="text-align:left"> -<TR><TD>Scale all mathematics to <INPUT TYPE="TEXT" ID="jsMath.scale" VALUE="100" SIZE="3">%</TD></TR> +<tr><td>Scale all mathematics to <input type="text" id="jsMath__scale" value="100" size="3" />%</td></tr> -<TR><TD HEIGHT="5"></TD></TR> +<tr><td height="5"></td></tr> -<TR><TD><INPUT TYPE="RADIO" NAME="jsMath.font" VALUE="tex" onClick="jsMath.Controls.NoAuto()"> -<SPAN ID="jsMath.texText">Use native TeX fonts</SPAN> -<SMALL>(<A TARGET="_blank" HREF="http://www.math.union.edu/locate/jsMath/download/fonts.html">download</A>)</SMALL> -</TD></TR> -<TR><TD><INPUT TYPE="RADIO" NAME="jsMath.font" VALUE="image" onClick="jsMath.Controls.NoAuto()"> -<SPAN ID="jsMath.imageText">Use image fonts -(<INPUT TYPE="CHECKBOX" ID="jsMath.scaleImg" VALUE="1"> scalable)</SPAN></TD></TR> -<TR><TD><INPUT TYPE="RADIO" NAME="jsMath.font" VALUE="symbol" onClick="jsMath.Controls.NoAuto()"> -<SPAN ID="jsMath.symbolText">Use images for symbols only</SPAN></TD></TR> -<TR><TD HEIGHT="2"></TD></TR> -<TR><TD><INPUT TYPE="RADIO" NAME="jsMath.font" VALUE="unicode" onClick="jsMath.Controls.NoAuto()"> -Use native Unicode fonts</TD></TR> - -<TR><TD HEIGHT="8"></TD></TR> - -<TR><TD><INPUT TYPE="CHECKBOX" ID="jsMath.autofont" VALUE="1"> Autoselect best font</TD></TR> -<TR><TD><INPUT TYPE="CHECKBOX" ID="jsMath.alpha" VALUE="1"> <SPAN ID="jsMath.alphaText">Use image alpha channels</SPAN></TD></TR> -<TR><TD><INPUT TYPE="CHECKBOX" ID="jsMath.warn" VALUE="1"> Show font warnings</TD></TR> -<TR><TD><INPUT TYPE="CHECKBOX" ID="jsMath.button" VALUE="1"> Show jsMath button</TD></TR> -<TR ID="jsMath.tex2mathRow"><TD><INPUT TYPE="CHECKBOX" ID="jsMath.tex2math" VALUE="1"> Enable <CODE>tex2math</CODE> plug-in</TD></TR> - -<TR><TD HEIGHT="8"></TD></TR> - -<TR><TD>Save settings for - -<SELECT ID="jsMath.keep"> -<OPTION VALUE="0D">this session only -<OPTION VALUE="1D">1 day -<OPTION VALUE="2D">2 days -<OPTION VALUE="3D">3 days -<OPTION VALUE="1W">1 week -<OPTION VALUE="2W">2 weeks -<OPTION VALUE="1M">1 month -<OPTION VALUE="2M">2 months -<OPTION VALUE="3M">3 months -<OPTION VALUE="6M">6 months -<OPTION VALUE="1Y">1 year -<OPTION VALUE="5Y">5 years -</SELECT> - -</TD></TR> - -<TR><TD HEIGHT="13"></TD></TR> - -<TR><TD ALIGN="CENTER"> -<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="0" WIDTH="100%"> -<TR> -<TD ALIGN="Left"> -<INPUT TYPE="BUTTON" VALUE="Back" ID="jsMath.back" STYLE="width:8em" onClick="jsMath.Controls.SaveOptions(0)"> +<tr><td><input type="radio" name="jsMath__font" value="tex" onclick="jsMath.Controls.NoAuto()" /> +<span id="jsMath__texText">Use native TeX fonts</span> +<small>(<a target="_blank" href="http://www.math.union.edu/locate/jsMath/download/fonts.html">download</a>)</small> +</td></tr> +<tr><td><input type="radio" name="jsMath__font" value="image" onclick="jsMath.Controls.NoAuto()" /> +<span id="jsMath__imageText">Use image fonts +(<input type="checkbox" id="jsMath__scaleImg" value="1" /> scalable)</span></td></tr> +<tr><td><input type="radio" name="jsMath__font" value="symbol" onclick="jsMath.Controls.NoAuto()" /> +<span id="jsMath__symbolText">Use images for symbols only</span></td></tr> +<tr><td height="2"></td></tr> +<tr><td><input type="radio" name="jsMath__font" value="unicode" onclick="jsMath.Controls.NoAuto()" /> +Use native Unicode fonts</td></tr> + +<tr><td height="8"></td></tr> + +<tr><td><input type="checkbox" id="jsMath__autofont" value="1" /> Autoselect best font</td></tr> +<tr><td><input type="checkbox" id="jsMath__alpha" value="1" /> <span id="jsMath__alphaText">Use image alpha channels</span></td></tr> +<tr><td><input type="checkbox" id="jsMath__warn" value="1" /> Show font warnings</td></tr> + +<tr><td height="8"></td></tr> + +<tr><td><input type="checkbox" id="jsMath__progress" value="1" /> Show progress messages</td></tr> +<tr><td><input type="checkbox" id="jsMath__asynch" value="1" /> Force asynchronous processing</td></tr> +<tr><td><input type="checkbox" id="jsMath__blank" value="1" /> Don't show page until complete</td></tr> +<tr><td><input type="checkbox" id="jsMath__button" value="1" /> Show jsMath button</td></tr> + +<tr><td height="8"></td></tr> + +<tr id="jsMath__tex2mathRow" STYLE="display:none"><td><input type="checkbox" id="jsMath__tex2math" value="1" /> Enable <code>tex2math</code> plug-in</td></tr> + +<tr><td height="8"></td></tr> + +<tr><td>Save settings for + +<select id="jsMath__keep"> +<option value="0D">this session only +<option value="1D">1 day +<option value="2D">2 days +<option value="3D">3 days +<option value="1W">1 week +<option value="2W">2 weeks +<option value="1M">1 month +<option value="2M">2 months +<option value="3M">3 months +<option value="6M">6 months +<option value="1Y">1 year +<option value="5Y">5 years +</select> + +</td></tr> + +<tr><td height="13"></td></tr> + +<tr><td align="center"> +<table border="0" cellspacing="0" cellpadding="0" width="100%"> +<tr> +<td align="left"> +<input type="button" value="Back" id="jsMath__back" style="width:8em" onclick="jsMath.Controls.SaveOptions(0)" /> -</TD> -<TD ALIGN="RIGHT"> -<INPUT TYPE="BUTTON" VALUE="Done" ID="jsMath.done" STYLE="width:8em" onClick="jsMath.Controls.SaveOptions(1)"> -</TD> -</TR> -</TABLE> -</TD></TR> - -</TABLE> -</FORM> -</DIV> -</DIV> +</td> +<td align="right"> +<input type="button" value="Done" id="jsMath__done" style="width:8em" onclick="jsMath.Controls.SaveOptions(1)" /> +</td> +</tr> +</table> +</td></tr> + +</table> +</form> +</div> +</div> +</p> <!------------------------------------------------------------> -<SCRIPT> -if (jsMath.Controls.openMain) {jsMath.Controls.Main()} -</SCRIPT> -</BODY> -</HTML> +<script> + if (!showWarning) {jsMath.Controls.Main()} +</script> +<script> + if (window.jsMath) { + jsMath.Script.endLoad(); + jsMath.Message.doClear(); + } +</script> +</body> +</html> --- /dev/null +++ htdocs/jsMath/jsMath-autoload.html @@ -0,0 +1,47 @@ +<html> +<head> +<!-- + | jsMath-autoload.html + | + | Part of the jsMath package for mathematics on the web. + | + | This file is used for loading jsMath.js and other components + | when the "autoload" plugin is used. + | + | --------------------------------------------------------------------- + | + | Copyright 2004-2005 by Davide P. Cervone + | + | Licensed under the Apache License, Version 2.0 (the "License"); + | you may not use this file except in compliance with the License. + | You may obtain a copy of the License at + | + | http://www.apache.org/licenses/LICENSE-2.0 + | + | Unless required by applicable law or agreed to in writing, software + | distributed under the License is distributed on an "AS IS" BASIS, + | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + | See the License for the specific language governing permissions and + | limitations under the License. +--> +</head> +<body> + +<script> + window.jsMath = window.parent.jsMath; + document.write('<script src="'+jsMath.Autoload.Script.url+'"><'+'/script>'); +</script> + +<script> +if (window.jsMath) { + if (document.readyState == 'loading') { + // work around bug in OmniWeb 4.5 that would otherwise run this twice. + setTimeout("jsMath.Autoload.Script.endLoad();",1) + } else { + jsMath.Autoload.Script.endLoad(); + } +} +</script> + +</body> +</html> Index: jsMath-fallback-unix.js =================================================================== RCS file: /webwork/cvs/system/webwork-modperl/htdocs/jsMath/jsMath-fallback-unix.js,v retrieving revision 1.3 retrieving revision 1.4 diff -Lhtdocs/jsMath/jsMath-fallback-unix.js -Lhtdocs/jsMath/jsMath-fallback-unix.js -u -r1.3 -r1.4 --- htdocs/jsMath/jsMath-fallback-unix.js +++ htdocs/jsMath/jsMath-fallback-unix.js @@ -8,19 +8,19 @@ * * --------------------------------------------------------------------- * - * jsMath is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * jsMath is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with jsMath; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Copyright 2004-2005 by Davide P. Cervone + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ @@ -34,6 +34,8 @@ * fonts). */ +jsMath.Script.Start(); + jsMath.Add(jsMath.TeX,{ cmr10: [ @@ -61,7 +63,7 @@ {c: '´', tclass: 'accent'}, {c: 'ˇ', tclass: 'accent'}, {c: '˘', tclass: 'accent'}, - {c: '<SPAN STYLE="position:relative; top:.1em">ˉ</SPAN>', tclass: 'accent'}, + {c: '<span style="position:relative; top:.1em">ˉ</span>', tclass: 'accent'}, {c: '˚', tclass: 'accent'}, {c: '̧', tclass: 'normal'}, {c: 'ß', tclass: 'normal'}, @@ -177,17 +179,17 @@ cmmi10: [ // 00 - 0F - {c: '<I>Γ</I>', ic: 0.139, krn: {'61': -0.0556, '59': -0.111, '58': -0.111, '127': 0.0833}, tclass: 'greek'}, - {c: '<I>Δ</I>', krn: {'127': 0.167}, tclass: 'greek'}, - {c: '<I>Θ</I>', ic: 0.0278, krn: {'127': 0.0833}, tclass: 'greek'}, - {c: '<I>Λ</I>', krn: {'127': 0.167}, tclass: 'greek'}, - {c: '<I>Ξ</I>', ic: 0.0757, krn: {'127': 0.0833}, tclass: 'greek'}, - {c: '<I>Π</I>', ic: 0.0812, krn: {'61': -0.0556, '59': -0.0556, '58': -0.0556, '127': 0.0556}, tclass: 'greek'}, - {c: '<I>Σ</I>', ic: 0.0576, krn: {'127': 0.0833}, tclass: 'greek'}, - {c: '<I>Υ</I>', ic: 0.139, krn: {'61': -0.0556, '59': -0.111, '58': -0.111, '127': 0.0556}, tclass: 'greek'}, - {c: '<I>Φ</I>', krn: {'127': 0.0833}, tclass: 'greek'}, - {c: '<I>Ψ</I>', ic: 0.11, krn: {'61': -0.0556, '59': -0.0556, '58': -0.0556, '127': 0.0556}, tclass: 'greek'}, - {c: '<I>Ω</I>', ic: 0.0502, krn: {'127': 0.0833}, tclass: 'greek'}, + {c: 'Γ', ic: 0.139, krn: {'61': -0.0556, '59': -0.111, '58': -0.111, '127': 0.0833}, tclass: 'igreek'}, + {c: 'Δ', krn: {'127': 0.167}, tclass: 'igreek'}, + {c: 'Θ', ic: 0.0278, krn: {'127': 0.0833}, tclass: 'igreek'}, + {c: 'Λ', krn: {'127': 0.167}, tclass: 'igreek'}, + {c: 'Ξ', ic: 0.0757, krn: {'127': 0.0833}, tclass: 'igreek'}, + {c: 'Π', ic: 0.0812, krn: {'61': -0.0556, '59': -0.0556, '58': -0.0556, '127': 0.0556}, tclass: 'igreek'}, + {c: 'Σ', ic: 0.0576, krn: {'127': 0.0833}, tclass: 'igreek'}, + {c: 'Υ', ic: 0.139, krn: {'61': -0.0556, '59': -0.111, '58': -0.111, '127': 0.0556}, tclass: 'igreek'}, + {c: 'Φ', krn: {'127': 0.0833}, tclass: 'igreek'}, + {c: 'Ψ', ic: 0.11, krn: {'61': -0.0556, '59': -0.0556, '58': -0.0556, '127': 0.0556}, tclass: 'igreek'}, + {c: 'Ω', ic: 0.0502, krn: {'127': 0.0833}, tclass: 'igreek'}, {c: 'α', a:0, ic: 0.0037, krn: {'127': 0.0278}, tclass: 'greek'}, {c: 'β', d:1, ic: 0.0528, krn: {'127': 0.0833}, tclass: 'greek'}, {c: 'γ', a:0, d:1, ic: 0.0556, tclass: 'greek'}, @@ -223,10 +225,10 @@ {c: '↽', a:0, d:-.1, tclass: 'harpoon'}, {c: '⇀', a:0, d:-.2, tclass: 'harpoon'}, {c: '⇁', a:0, d:-.1, tclass: 'harpoon'}, - {c: '<SPAN STYLE="font-size: 133%; position:relative; top:-.1em; margin:-.2em; left:-.05em">˓</SPAN>', a:.1, tclass: 'symbol'}, - {c: '<SPAN STYLE="font-size: 133%; position:relative; top:-.1em; margin:-.2em; left:-.05em">˒</SPAN>', a:.1, tclass: 'symbol'}, - {c: '<SPAN STYLE="font-size:50%">▷</SPAN>', tclass: 'symbol'}, - {c: '<SPAN STYLE="f... [truncated message content] |
From: jj v. a. <we...@ma...> - 2005-12-16 18:22:06
|
Log Message: ----------- Changed the permission setting for whether or not hardcopy can show correct answers before the answer date. The old value was really for the "Show Past Answers" button, not for being able to see correct answers early. Modified Files: -------------- webwork-modperl/lib/WeBWorK/ContentGenerator: Hardcopy.pm Revision Data ------------- Index: Hardcopy.pm =================================================================== RCS file: /webwork/cvs/system/webwork-modperl/lib/WeBWorK/ContentGenerator/Hardcopy.pm,v retrieving revision 1.73 retrieving revision 1.74 diff -Llib/WeBWorK/ContentGenerator/Hardcopy.pm -Llib/WeBWorK/ContentGenerator/Hardcopy.pm -u -r1.73 -r1.74 --- lib/WeBWorK/ContentGenerator/Hardcopy.pm +++ lib/WeBWorK/ContentGenerator/Hardcopy.pm @@ -790,7 +790,7 @@ my $showCorrectAnswers = $r->param("showCorrectAnswers") || 0; my $showHints = $r->param("showHints") || 0; my $showSolutions = $r->param("showSolutions") || 0; - unless ($authz->hasPermissions($userID, "view_answers") or time > $MergedSet->answer_date) { + unless ($authz->hasPermissions($userID, "show_correct_answers_before_answer_date") or time > $MergedSet->answer_date) { $showCorrectAnswers = 0; $showSolutions = 0; } |
From: dpvc v. a. <we...@ma...> - 2005-12-16 18:02:27
|
Log Message: ----------- No longer used by jsMath. Removed Files: ------------- webwork-modperl/htdocs/jsMath: black.gif Revision Data ------------- Binary files - and /dev/null differ |
From: Sam H. v. a. <we...@ma...> - 2005-12-15 19:45:39
|
Log Message: ----------- accept display of edited problems even if they are from a gateway test, but only if we have permission. fixed bug #868. Modified Files: -------------- webwork2/lib/WeBWorK/ContentGenerator: Problem.pm Revision Data ------------- Index: Problem.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/ContentGenerator/Problem.pm,v retrieving revision 1.189 retrieving revision 1.190 diff -Llib/WeBWorK/ContentGenerator/Problem.pm -Llib/WeBWorK/ContentGenerator/Problem.pm -u -r1.189 -r1.190 --- lib/WeBWorK/ContentGenerator/Problem.pm +++ lib/WeBWorK/ContentGenerator/Problem.pm @@ -390,6 +390,7 @@ my $userName = $r->param('user'); my $effectiveUserName = $r->param('effectiveUser'); my $key = $r->param('key'); + my $editMode = $r->param("editMode"); my $user = $db->getUser($userName); # checked die "record for user $userName (real user) does not exist." @@ -407,10 +408,11 @@ # gateway check here: we want to be sure that someone isn't trying to take # a GatewayQuiz through the regular problem/homework mechanism, thereby # circumventing the versioning, time limits, etc. - die('Invalid access attempt: the Problem ContentGenerator was called ' . - 'for a GatewayQuiz assignment.') - if ( defined($set) && defined( $set->assignment_type() ) && - $set->assignment_type() =~ /gateway/ ); + if (defined $set and defined $set->assignment_type and $set->assignment_type() =~ /gateway/) { + unless ($editMode eq "temporaryFile" and $authz->hasPermissions($userName, "modify_student_data")) { + die('Invalid access attempt: the Problem ContentGenerator was called for a GatewayQuiz assignment.' ); + } + } # Database fix (in case of undefined published values) # this is only necessary because some people keep holding to ww1.9 which did not have a published field @@ -428,8 +430,6 @@ # obtain the merged problem for $effectiveUser my $problem = $db->getMergedProblem($effectiveUserName, $setName, $problemNumber); # checked - my $editMode = $r->param("editMode"); - if ($authz->hasPermissions($userName, "modify_problem_sets")) { # professors are allowed to fabricate sets and problems not # assigned to them (or anyone). this allows them to use the |
From: Sam H. v. a. <we...@ma...> - 2005-12-15 19:14:11
|
Log Message: ----------- refactored copy-and-pasted code Modified Files: -------------- webwork2/lib/WeBWorK/ContentGenerator/Instructor: PGProblemEditor.pm Revision Data ------------- Index: PGProblemEditor.pm =================================================================== RCS file: /webwork/cvs/system/webwork2/lib/WeBWorK/ContentGenerator/Instructor/PGProblemEditor.pm,v retrieving revision 1.65 retrieving revision 1.66 diff -Llib/WeBWorK/ContentGenerator/Instructor/PGProblemEditor.pm -Llib/WeBWorK/ContentGenerator/Instructor/PGProblemEditor.pm -u -r1.65 -r1.66 --- lib/WeBWorK/ContentGenerator/Instructor/PGProblemEditor.pm +++ lib/WeBWorK/ContentGenerator/Instructor/PGProblemEditor.pm @@ -965,7 +965,7 @@ $edit_level++; my $viewURL; - if ($file_type eq 'problem' ) { # redirect to Problem.pm + if ($file_type eq 'problem' or $file_type eq 'source_path_for_problem_file') { # redirect to Problem.pm my $problemPage = $self->r->urlpath->newFromModule("WeBWorK::ContentGenerator::Problem", courseID => $courseName, setID => $setName, problemID => $problemNumber ); @@ -1008,22 +1008,6 @@ status_message => uri_escape($self->{status_message}) } ); - } elsif ($file_type eq 'source_path_for_problem_file') { # redirect to Problem.pm - my $problemPage = $self->r->urlpath->newFromModule("WeBWorK::ContentGenerator::Problem", - courseID => $courseName, setID => $setName, problemID => $problemNumber - ); - - $viewURL = $self->systemLink($problemPage, - params => { - displayMode => $displayMode, - problemSeed => $problemSeed, - editMode => "temporaryFile", - edit_level => $edit_level, - sourceFilePath => $tempFilePath, - status_message => uri_escape($self->{status_message}) - - } - ); } else { die "I don't know how to redirect this file type $file_type "; } |
From: Sam H. v. a. <we...@ma...> - 2005-12-14 17:49:58
|
Log Message: ----------- Really fix fun_cmp equivalence warning message. We show the equivalence message when: we're not in preview mode AND the answers are equivalent AND the answers are not identical. We DON'T CARE whether the answers are correct or not, because that leaks information in multipart questions when $showPartialCorrectAnswers is off. Both the Parser-version (FUNCTION_CMP) and the non-Parser-version (ORIGINAL_FUNCTION_CMP) behave as descibed above now. And this time we test *before* we commit... Modified Files: -------------- pg/macros: PGanswermacros.pl Revision Data ------------- Index: PGanswermacros.pl =================================================================== RCS file: /webwork/cvs/system/pg/macros/PGanswermacros.pl,v retrieving revision 1.51 retrieving revision 1.52 diff -Lmacros/PGanswermacros.pl -Lmacros/PGanswermacros.pl -u -r1.51 -r1.52 --- macros/PGanswermacros.pl +++ macros/PGanswermacros.pl @@ -2030,25 +2030,25 @@ ); # - # Produce a message if the previous answer equals this one - # (and is not correct, and is not specified the same way) + # Show a message when the answer is equivalent to the previous answer. + # + # We want to show the message when we're not in preview mode AND the + # answers are equivalent AND the answers are not identical. We DON'T CARE + # whether the answers are correct or not, because that leaks information in + # multipart questions when $showPartialCorrectAnswers is off. # $cmp->install_post_filter( - sub { - my $rh_ans = shift; - $rh_ans->{_filter_name} = "produce_equivalence_message"; - return $rh_ans unless $rh_ans->{prev_equals_current} && - ($rh_ans->{score} != 1 || $rh_ans->{isPreview}); - # - # If the match is exact don't give an error since there may be multiple - # entry blanks and the student is trying to get one of the other ones - # right. We should only give this message when the student is actually - # working on this answer. - # - return $rh_ans if $rh_ans->{prev_ans} eq $rh_ans->{original_student_ans}; - $rh_ans->{ans_message} = "This answer is equivalent to the one you just submitted or previewed."; - $rh_ans; - } + sub { + my $rh_ans = shift; + $rh_ans->{_filter_name} = "produce_equivalence_message"; + + return $rh_ans unless !$rh_ans->{isPreview} # not preview mode + and $rh_ans->{prev_equals_current} # equivalent + and $rh_ans->{prev_ans} ne $rh_ans->{original_student_ans}; # not identical + + $rh_ans->{ans_message} = "This answer is equivalent to the one you just submitted."; + $rh_ans; + } ); return $cmp; @@ -2332,13 +2332,25 @@ } ); + # + # Show a message when the answer is equivalent to the previous answer. + # + # We want to show the message when we're not in preview mode AND the + # answers are equivalent AND the answers are not identical. We DON'T CARE + # whether the answers are correct or not, because that leaks information in + # multipart questions when $showPartialCorrectAnswers is off. + # $answer_evaluator->install_post_filter( sub { my $rh_ans = shift; - $rh_ans->{ans_message} = "This answer is equivalent to the one you just submitted or previewed." - if defined $rh_ans->{'ans_equals_prev_ans'} and $rh_ans->{'ans_equals_prev_ans'} - and ($rh_ans->{score}!=1 || $rh_ans->{isPreview}); - $rh_ans; + + my $isPreview = $inputs_ref->{previewAnswers} || ($inputs_ref->{action} =~ m/^Preview/); + return $rh_ans unless !$isPreview # not preview mode + and $rh_ans->{ans_equals_prev_ans} # equivalent + and $rh_ans->{prev_ans} ne $rh_ans->{original_student_ans}; # not identical + + $rh_ans->{ans_message} = "This answer is equivalent to the one you just submitted."; + return $rh_ans; } ); |
From: Mike G. v. a. <we...@ma...> - 2005-12-14 16:45:45
|
Log Message: ----------- Removed unneeded spacing. The spacing problem has been fixed by aligning the login status information to the right. That's a better fix than the non-breaking spaces. Modified Files: -------------- webwork-modperl/conf/templates: ur.template Revision Data ------------- Index: ur.template =================================================================== RCS file: /webwork/cvs/system/webwork-modperl/conf/templates/ur.template,v retrieving revision 1.45 retrieving revision 1.46 diff -Lconf/templates/ur.template -Lconf/templates/ur.template -u -r1.45 -r1.46 --- conf/templates/ur.template +++ conf/templates/ur.template @@ -77,7 +77,6 @@ <span class="Path"><!--#path style="text" image="/webwork2_files/images/right_arrow.png" text=" > "--></span> <!--#endif--> </td> - <td> </td> <td class="TopPanel" align="right" nowrap> <!--#if can="loginstatus"--> <span class="LoginStatus"><!--#loginstatus--></span> |
From: Sam H. v. a. <we...@ma...> - 2005-12-14 00:54:19
|
Log Message: ----------- parser version was ok, bug #752 fixed in non-parser version. Modified Files: -------------- pg/macros: PGanswermacros.pl Revision Data ------------- Index: PGanswermacros.pl =================================================================== RCS file: /webwork/cvs/system/pg/macros/PGanswermacros.pl,v retrieving revision 1.50 retrieving revision 1.51 diff -Lmacros/PGanswermacros.pl -Lmacros/PGanswermacros.pl -u -r1.50 -r1.51 --- macros/PGanswermacros.pl +++ macros/PGanswermacros.pl @@ -2030,13 +2030,15 @@ ); # - # Produce a message if the previous answer equals this one and is not specified the same way + # Produce a message if the previous answer equals this one + # (and is not correct, and is not specified the same way) # $cmp->install_post_filter( sub { my $rh_ans = shift; $rh_ans->{_filter_name} = "produce_equivalence_message"; - return $rh_ans unless $rh_ans->{prev_equals_current}; + return $rh_ans unless $rh_ans->{prev_equals_current} && + ($rh_ans->{score} != 1 || $rh_ans->{isPreview}); # # If the match is exact don't give an error since there may be multiple # entry blanks and the student is trying to get one of the other ones @@ -2333,10 +2335,9 @@ $answer_evaluator->install_post_filter( sub { my $rh_ans = shift; - if ( defined($rh_ans->{'ans_equals_prev_ans'}) and $rh_ans->{'ans_equals_prev_ans'}) { -## $rh_ans->{ans_message} = "This answer is the same as the one you just submitted or previewed."; - $rh_ans->{ans_message} = "This answer is equivalent to the one you just submitted or previewed."; ## DPVC - } + $rh_ans->{ans_message} = "This answer is equivalent to the one you just submitted or previewed." + if defined $rh_ans->{'ans_equals_prev_ans'} and $rh_ans->{'ans_equals_prev_ans'} + and ($rh_ans->{score}!=1 || $rh_ans->{isPreview}); $rh_ans; } ); |