--- loncom/interface/lonhtmlcommon.pm 2005/02/17 08:29:42 1.103 +++ loncom/interface/lonhtmlcommon.pm 2005/06/06 15:54:28 1.107 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common html routines # -# $Id: lonhtmlcommon.pm,v 1.103 2005/02/17 08:29:42 albertel Exp $ +# $Id: lonhtmlcommon.pm,v 1.107 2005/06/06 15:54:28 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -55,10 +55,11 @@ html. package Apache::lonhtmlcommon; +use strict; use Time::Local; use Time::HiRes; use Apache::lonlocal; -use strict; +use Apache::lonnet; ############################################## ############################################## @@ -258,6 +259,7 @@ The method used to restrict user input w sub date_setter { my ($formname,$dname,$currentvalue,$special,$includeempty,$state, $no_hh_mm_ss) = @_; + my $wasdefined=1; if (! defined($state) || $state ne 'disabled') { $state = ''; } @@ -267,6 +269,7 @@ sub date_setter { if (! defined($currentvalue) || $currentvalue eq 'now') { unless ($includeempty) { $currentvalue = time; + $wasdefined=0; } else { $currentvalue = 0; } @@ -278,6 +281,10 @@ sub date_setter { localtime($currentvalue); $year += 1900; } + unless ($wasdefined) { + $sec=0; + $min=0; + } my $result = "\n\n"; $result .= < @@ -435,8 +442,8 @@ sub get_date_from_form { my ($dname) = @_; my ($sec,$min,$hour,$day,$month,$year); # - if (defined($ENV{'form.'.$dname.'_second'})) { - my $tmpsec = $ENV{'form.'.$dname.'_second'}; + if (defined($env{'form.'.$dname.'_second'})) { + my $tmpsec = $env{'form.'.$dname.'_second'}; if (($tmpsec =~ /^\d+$/) && ($tmpsec >= 0) && ($tmpsec < 60)) { $sec = $tmpsec; } @@ -444,8 +451,8 @@ sub get_date_from_form { } else { $sec = 0; } - if (defined($ENV{'form.'.$dname.'_minute'})) { - my $tmpmin = $ENV{'form.'.$dname.'_minute'}; + if (defined($env{'form.'.$dname.'_minute'})) { + my $tmpmin = $env{'form.'.$dname.'_minute'}; if (($tmpmin =~ /^\d+$/) && ($tmpmin >= 0) && ($tmpmin < 60)) { $min = $tmpmin; } @@ -453,28 +460,28 @@ sub get_date_from_form { } else { $min = 0; } - if (defined($ENV{'form.'.$dname.'_hour'})) { - my $tmphour = $ENV{'form.'.$dname.'_hour'}; + if (defined($env{'form.'.$dname.'_hour'})) { + my $tmphour = $env{'form.'.$dname.'_hour'}; if (($tmphour =~ /^\d+$/) && ($tmphour >= 0) && ($tmphour < 24)) { $hour = $tmphour; } } else { $hour = 0; } - if (defined($ENV{'form.'.$dname.'_day'})) { - my $tmpday = $ENV{'form.'.$dname.'_day'}; + if (defined($env{'form.'.$dname.'_day'})) { + my $tmpday = $env{'form.'.$dname.'_day'}; if (($tmpday =~ /^\d+$/) && ($tmpday > 0) && ($tmpday < 32)) { $day = $tmpday; } } - if (defined($ENV{'form.'.$dname.'_month'})) { - my $tmpmonth = $ENV{'form.'.$dname.'_month'}; + if (defined($env{'form.'.$dname.'_month'})) { + my $tmpmonth = $env{'form.'.$dname.'_month'}; if (($tmpmonth =~ /^\d+$/) && ($tmpmonth > 0) && ($tmpmonth < 13)) { $month = $tmpmonth - 1; } } - if (defined($ENV{'form.'.$dname.'_year'})) { - my $tmpyear = $ENV{'form.'.$dname.'_year'}; + if (defined($env{'form.'.$dname.'_year'})) { + my $tmpyear = $env{'form.'.$dname.'_year'}; if (($tmpyear =~ /^\d+$/) && ($tmpyear > 1900)) { $year = $tmpyear - 1900; } @@ -536,8 +543,8 @@ sub javascript_nothing { my $nothing = "''"; my $user_browser; my $user_os; - $user_browser = $ENV{'browser.type'} if (exists($ENV{'browser.type'})); - $user_os = $ENV{'browser.os'} if (exists($ENV{'browser.os'})); + $user_browser = $env{'browser.type'} if (exists($env{'browser.type'})); + $user_os = $env{'browser.os'} if (exists($env{'browser.os'})); if (! defined($user_browser) || ! defined($user_os)) { (undef,$user_browser,undef,undef,undef,$user_os) = &Apache::loncommon::decode_user_agent(); @@ -555,8 +562,8 @@ sub javascript_docopen { my $nothing = "''"; my $user_browser; my $user_os; - $user_browser = $ENV{'browser.type'} if (exists($ENV{'browser.type'})); - $user_os = $ENV{'browser.os'} if (exists($ENV{'browser.os'})); + $user_browser = $env{'browser.type'} if (exists($env{'browser.type'})); + $user_os = $env{'browser.os'} if (exists($env{'browser.os'})); if (! defined($user_browser) || ! defined($user_os)) { (undef,$user_browser,undef,undef,undef,$user_os) = &Apache::loncommon::decode_user_agent(); @@ -583,7 +590,7 @@ enrollment status of students. The sele Inputs: $status: the currently selected status. If undefined the value of -$ENV{'form.Status'} is taken. If that is undefined, a value of 'Active' +$env{'form.Status'} is taken. If that is undefined, a value of 'Active' is used. $formname: The name of the form. If defined the onchange attribute of @@ -605,7 +612,7 @@ sub StatusOptions { $size = 1 if (!defined($size)); if (! defined($status)) { $status = 'Active'; - $status = $ENV{'form.Status'} if (exists($ENV{'form.Status'})); + $status = $env{'form.Status'} if (exists($env{'form.Status'})); } my $OpSel1 = ''; @@ -855,8 +862,8 @@ sub Increment_PrgWin { $lasttime = '('.$lasttime.' '.&mt('seconds for').' '.$extraInfo.')'; } # - my $user_browser = $ENV{'browser.type'} if (exists($ENV{'browser.type'})); - my $user_os = $ENV{'browser.os'} if (exists($ENV{'browser.os'})); + my $user_browser = $env{'browser.type'} if (exists($env{'browser.type'})); + my $user_os = $env{'browser.os'} if (exists($env{'browser.os'})); if (! defined($user_browser) || ! defined($user_os)) { (undef,$user_browser,undef,undef,undef,$user_os) = &Apache::loncommon::decode_user_agent(); @@ -907,7 +914,7 @@ sub crumbs { my $output=''; unless ($noformat) { $output.='
'; } $output.=''.$prefix.'/'; - if ($ENV{'user.adv'}) { + if ($env{'user.adv'}) { my $path=$prefix.'/'; foreach my $dir (split('/',$uri)) { if (! $dir) { next; } @@ -931,13 +938,14 @@ sub crumbs { sub spellheader { my $html=&Apache::lonxml::xmlbegin(); + my $nothing=&javascript_nothing(); return (< //