--- loncom/interface/lonhelper.pm 2003/10/09 14:28:09 1.53 +++ loncom/interface/lonhelper.pm 2003/10/09 14:37:48 1.54 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # .helper XML handler to implement the LON-CAPA helper # -# $Id: lonhelper.pm,v 1.53 2003/10/09 14:28:09 sakharuk Exp $ +# $Id: lonhelper.pm,v 1.54 2003/10/09 14:37:48 sakharuk Exp $ # # Copyright Michigan State University Board of Trustees # @@ -172,20 +172,12 @@ before parsing XML fragments and Bheader_only) { if ($ENV{'browser.mathml'}) { - $r->content_type('text/xml; charset=UTF-8'); + $r->content_type('text/xml'); } else { - $r->content_type('text/html; charset=UTF-8'); + $r->content_type('text/html'); } $r->send_http_header; return OK; @@ -367,10 +359,9 @@ sub end_state { package Apache::lonhelper::helper; use Digest::MD5 qw(md5_hex); -use HTML::Entities(); +use HTML::Entities; use Apache::loncommon; use Apache::File; -use Apache::lonlocal; sub new { my $proto = shift; @@ -532,7 +523,7 @@ sub process { # Phase 1: Post processing for state of previous screen (which is actually # the "current state" in terms of the helper variables), if it wasn't the # beginning state. - if ($self->{STATE} ne "START" || $ENV{"form.SUBMIT"} eq &mt("Next ->")) { + if ($self->{STATE} ne "START" || $ENV{"form.SUBMIT"} eq "Next ->") { my $prevState = $self->{STATES}{$self->{STATE}}; $prevState->postprocess(); } @@ -583,19 +574,13 @@ sub display { } # Phase 4: Display. - my $stateTitle = &mt($state->title()); - my $helperTitle = &mt($self->{TITLE}); - my $bodytag = &Apache::loncommon::bodytag($helperTitle,'',''); - my $previous = HTML::Entities::encode(&mt("<- Previous"), '<>&"'); - my $next = HTML::Entities::encode(&mt("Next ->"), '<>&"'); - # FIXME: This should be parameterized, not concatenated - Jeremy - my $loncapaHelper = &mt("LON-CAPA Helper:"); + my $stateTitle = $state->title(); + my $bodytag = &Apache::loncommon::bodytag("$self->{TITLE}",'',''); $result .= < - - $loncapaHelper: $helperTitle + LON-CAPA Helper: $self->{TITLE} $bodytag HEADER @@ -622,12 +607,12 @@ HEADER } if ($self->{DONE}) { my $returnPage = $self->{RETURN_PAGE}; - $result .= "" . &mt("End Helper") . ""; + $result .= "End Helper"; } else { $result .= ' '; - $result .= ''; + $result .= 'value="<- Previous" onclick="history.go(-1)" /> '; + $result .= ''; } } @@ -641,12 +626,12 @@ HEADER } if ($self->{DONE}) { my $returnPage = $self->{RETURN_PAGE}; - $result .= "" . &mt('End Helper') . ""; + $result .= "End Helper"; } else { $result .= ' '; - $result .= ''; + $result .= 'value="<- Previous" onclick="history.go(-1)" /> '; + $result .= ''; } } @@ -898,7 +883,6 @@ sub start_defaultvalue { sub end_defaultvalue { return ''; } -# Validators may need to take language specifications sub start_validator { my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; @@ -968,17 +952,11 @@ within each other.) This is also a good template for creating your own new states, as it has very little code beyond the state template. -=head3 Localization - -The contents of the message tag will be run through the -normalize_string function and that will be used as a call to &mt. - =cut no strict; @ISA = ("Apache::lonhelper::element"); use strict; -use Apache::lonlocal; BEGIN { &Apache::lonhelper::register('Apache::lonhelper::message', @@ -1020,7 +998,7 @@ sub end_message { sub render { my $self = shift; - return &mtn($self->{MESSAGE_TEXT}); + return $self->{MESSAGE_TEXT}; } # If a NEXTSTATE was given, switch to it sub postprocess { @@ -1122,7 +1100,6 @@ tag is stored in the {VARS} hash. no strict; @ISA = ("Apache::lonhelper::element"); use strict; -use Apache::lonlocal; BEGIN { &Apache::lonhelper::register('Apache::lonhelper::choices', @@ -1276,7 +1253,7 @@ BUTTONS $choiceLabel = eval($choiceLabel); $choiceLabel = &$choiceLabel($helper, $self); } - $result .= "/> " . &mtn($choiceLabel) . "\n"; + $result .= "/> " . $choiceLabel . "\n"; } $result .= "\n\n\n"; $result .= $buttons; @@ -1335,13 +1312,9 @@ the result is stored in. =cut -# This really ought to be a sibling class to "choice" which is itself -# a child of some abstract class.... *shrug* - no strict; @ISA = ("Apache::lonhelper::element"); use strict; -use Apache::lonlocal; BEGIN { &Apache::lonhelper::register('Apache::lonhelper::dropdown', @@ -1431,7 +1404,7 @@ sub render { $choiceLabel = eval($choiceLabel); $choiceLabel = &$choiceLabel($helper, $self); } - $result .= ">" . &mtn($choiceLabel) . "\n"; + $result .= ">" . $choiceLabel . "\n"; } $result .= "\n"; @@ -1500,7 +1473,6 @@ Example: no strict; @ISA = ("Apache::lonhelper::element"); use strict; -use Apache::lonlocal; # A localization nightmare use Time::localtime; @@ -1565,7 +1537,7 @@ sub render { } else { $result .= "\n"; + $result .= $months[$i] . "\n"; } $result .= "\n"; @@ -1652,26 +1624,17 @@ sub postprocess { $hour = $ENV{'form.' . $var . 'hour'}; } - my $chosenDate; - eval {$chosenDate = Time::Local::timelocal(0, $min, $hour, $day, $month, $year);}; - my $error = $@; - + my $chosenDate = Time::Local::timelocal(0, $min, $hour, $day, $month, $year); # Check to make sure that the date was not automatically co-erced into a # valid date, as we want to flag that as an error # This happens for "Feb. 31", for instance, which is coerced to March 2 or - # 3, depending on if it's a leap year + # 3, depending on if it's a leapyear my $checkDate = localtime($chosenDate); - if ($error || $checkDate->mon != $month || $checkDate->mday != $day || + if ($checkDate->mon != $month || $checkDate->mday != $day || $checkDate->year + 1900 != $year) { - unless (Apache::lonlocal::current_language()== ~/^en/) { - $self->{ERROR_MSG} = &mt("Invalid date entry"); - return 0; - } - # LOCALIZATION FIXME: Needs to be parameterized $self->{ERROR_MSG} = "Can't use " . $months[$month] . " $day, $year as a " . "date because it doesn't exist. Please enter a valid date."; - return 0; } @@ -2081,11 +2044,11 @@ sub render { } } } - function checksec() { + function checksec(value) { for (i=0; i - +
+   + +
BUTTONS }