--- loncom/interface/lonhtmlcommon.pm 2004/10/05 20:35:02 1.91 +++ loncom/interface/lonhtmlcommon.pm 2005/06/03 15:47:29 1.106 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common html routines # -# $Id: lonhtmlcommon.pm,v 1.91 2004/10/05 20:35:02 albertel Exp $ +# $Id: lonhtmlcommon.pm,v 1.106 2005/06/03 15:47:29 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; ############################################## ############################################## @@ -80,7 +81,7 @@ sub authorbombs { foreach (keys %bombs) { if ($_=~/^$udom\/$uname\//) { return ''. + '">'. &Apache::loncommon::help_open_topic('About_Bombs'); } } @@ -127,11 +128,12 @@ sub select_recent { my ($area,$fieldname,$event)=@_; my %recent=&Apache::lonnet::dump(&recent_filename($area)); my $return="\n\n"; + $result .= ' '; + my $monthselector = qq{\n"; + $monthselector.= ' '; # Day - $result .= " \n"; + my $dayselector = qq{}; # Year - $result .= " \n"; - $result .= "  "; - if (! $no_hh_mm_ss) { - # Hours - $result .= " \n"; - $result .= " m\n"; - $result .= " s\n"; + my $yearselector = qq{}; + # + my $hourselector = qq{\n"; + my $minuteselector = qq{}; + my $secondselector= qq{}; + my $cal_link = qq{}; + # + if ($no_hh_mm_ss) { + $result .= &mt('[_1] [_2] [_3] [_4]Select Date[_5]', + $monthselector,$dayselector,$yearselector, + $cal_link,''); + } else { + $result .= &mt('[_1] [_2] [_3] [_4] [_5]m [_6]s [_7]Select Date[_8]', + $monthselector,$dayselector,$yearselector, + $hourselector,$minuteselector,$secondselector, + $cal_link,''); } - $result .= "". - &mt('Select Date')."\n\n"; + $result .= "\n\n"; return $result; } @@ -412,8 +436,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; } @@ -421,8 +445,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; } @@ -430,28 +454,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; } @@ -513,8 +537,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(); @@ -532,8 +556,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(); @@ -560,7 +584,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 @@ -582,7 +606,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 = ''; @@ -736,13 +760,14 @@ sub Create_PrgWin { $prog_state{'type'}=$type; if ($type eq 'popup') { $prog_state{'window'}='popwin'; + my $html=&Apache::lonxml::xmlbegin(); #the whole function called through timeout is due to issues #in mozilla Read BUG #2665 if you want to know the whole story &r_print($r,' ENDCHECK } @@ -923,7 +954,7 @@ sub spelllink { my ($form,$field)=@_; my $linktext=&mt('Check Spelling'); return (<$linktext +$linktext ENDLINK } @@ -976,7 +1007,7 @@ sub disablelink { if (defined($#fields)) { unless ($#fields>=0) { return ''; } } - return ''.&mt('Disable WYSIWYG Editor').''; + return ''.&mt('Disable WYSIWYG Editor').''; } sub enablelink { @@ -984,7 +1015,7 @@ sub enablelink { if (defined($#fields)) { unless ($#fields>=0) { return ''; } } - return ''.&mt('Enable WYSIWYG Editor').''; + return ''.&mt('Enable WYSIWYG Editor').''; } # ----------------------------------------- Script to activate only some fields @@ -1006,7 +1037,7 @@ sub htmlareaselectactive { # --------------------------------------------------------------------- Blocked sub htmlareablocked { - unless ($ENV{'environment.wysiwygeditor'} eq 'on') { return 1; } + unless ($env{'environment.wysiwygeditor'} eq 'on') { return 1; } return 0; } @@ -1081,6 +1112,7 @@ returns: nothing # Make the faq and bug data cascade my $faq = ''; my $bug = ''; + my $help=''; # The last breadcrumb does not have a link, so handle it separately. my $last = pop(@Crumbs); # @@ -1088,10 +1120,10 @@ returns: nothing if (!defined($menulink)) { $menulink=1; } if ($menulink) { my $description = 'Menu'; - if (exists($ENV{'request.course.id'}) && - $ENV{'request.course.id'} ne '') { + if (exists($env{'request.course.id'}) && + $env{'request.course.id'} ne '') { $description = - $ENV{'course.'.$ENV{'request.course.id'}.'.description'}; + $env{'course.'.$env{'request.course.id'}.'.description'}; } unshift(@Crumbs,{ href =>'/adm/menu', @@ -1105,6 +1137,7 @@ returns: nothing map { $faq = $_->{'faq'} if (exists($_->{'faq'})); $bug = $_->{'bug'} if (exists($_->{'bug'})); + $help = $_->{'help'} if (exists($_->{'help'})); my $result = '{'target'}) && $_->{'target'} ne '') { $result .= 'target="'.$_->{'target'}.'" '; @@ -1120,6 +1153,8 @@ returns: nothing my $icons = ''; $faq = $last->{'faq'} if (exists($last->{'faq'})); $bug = $last->{'bug'} if (exists($last->{'bug'})); + $help = $last->{'help'} if (exists($last->{'help'})); + $component_help=($component_help?$component_help:$help); # if ($faq ne '') { # $icons .= &Apache::loncommon::help_open_faq($faq); # }