--- loncom/interface/lonhtmlcommon.pm 2003/07/25 19:56:37 1.28 +++ loncom/interface/lonhtmlcommon.pm 2004/01/15 20:22:47 1.40 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common html routines # -# $Id: lonhtmlcommon.pm,v 1.28 2003/07/25 19:56:37 matthew Exp $ +# $Id: lonhtmlcommon.pm,v 1.40 2004/01/15 20:22:47 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -56,6 +56,7 @@ html. package Apache::lonhtmlcommon; use Time::Local; +use Apache::lonlocal; use strict; @@ -64,6 +65,33 @@ use strict; =pod +=item authorbombs + +=cut + +############################################## +############################################## + +sub authorbombs { + my $url=shift; + $url=&Apache::lonnet::declutter($url); + my ($udom,$uname)=($url=~/^(\w+)\/(\w+)\//); + my %bombs=&Apache::lonmsg::all_url_author_res_msg($uname,$udom); + foreach (keys %bombs) { + if ($_=~/^$udom\/$uname\//) { + return ''. + &Apache::loncommon::help_open_topic('About_Bombs'); + } + } + return ''; +} + +############################################## +############################################## + +=pod + =item textbox =cut @@ -90,8 +118,9 @@ sub textbox { ############################################## ############################################## sub checkbox { - my ($name) = @_; - my $Str = ''; + my ($name,$value) = @_; + my $Str = ''; return $Str; } @@ -140,14 +169,21 @@ The method used to restrict user input w ############################################## ############################################## sub date_setter { - my ($formname,$dname,$currentvalue,$special) = @_; + my ($formname,$dname,$currentvalue,$special,$includeempty) = @_; if (! defined($currentvalue) || $currentvalue eq 'now') { - $currentvalue = time; + unless ($includeempty) { + $currentvalue = time; + } else { + $currentvalue = 0; + } } # other potentially useful values: wkday,yrday,is_daylight_savings - my ($sec,$min,$hour,$mday,$month,$year,undef,undef,undef) = - localtime($currentvalue); - $year += 1900; + my ($sec,$min,$hour,$mday,$month,$year)=('','','','','',''); + if ($currentvalue) { + ($sec,$min,$hour,$mday,$month,$year,undef,undef,undef) = + localtime($currentvalue); + $year += 1900; + } my $result = "\n\n"; $result .= < @@ -181,6 +217,16 @@ sub date_setter { document.$formname.$dname\_day.value = 30; } } + + function $dname\_opencalendar() { + var calwin=window.open( +"/adm/announcements?pickdate=yes&formname=$formname&element=$dname&month="+ +document.$formname.$dname\_month.value+"&year="+ +document.$formname.$dname\_year.value, + "LONCAPAcal", + "height=350,width=350,scrollbars=yes,resizable=yes,menubar=no"); + + } ENDJS $result .= " \n"; $result .= " \n"; $result .= "  "; $result .= " \n"; $result .= " m\n"; $result .= " s\n"; - $result .= "\n\n"; + $result .= "". + &mt('Select Date')."\n\n"; return $result; } @@ -274,7 +325,7 @@ sub get_date_from_form { } if (defined($ENV{'form.'.$dname.'_hour'})) { my $tmphour = $ENV{'form.'.$dname.'_hour'}; - if (($tmphour =~ /^\d+$/) && ($tmphour > 0) && ($tmphour < 32)) { + if (($tmphour =~ /^\d+$/) && ($tmphour >= 0) && ($tmphour < 24)) { $hour = $tmphour; } } @@ -297,7 +348,9 @@ sub get_date_from_form { } } if (($year<70) || ($year>137)) { return undef; } - if (eval(&timelocal($sec,$min,$hour,$day,$month,$year))) { + if (defined($sec) && defined($min) && defined($hour) && + defined($day) && defined($month) && defined($year) && + eval(&timelocal($sec,$min,$hour,$day,$month,$year))) { return &timelocal($sec,$min,$hour,$day,$month,$year); } else { return undef; @@ -421,11 +474,11 @@ sub StatusOptions { $Str .= ' size="'.$size.'" '; $Str .= '>'."\n"; $Str .= ''."\n"; + &mt('Currently Enrolled').''."\n"; $Str .= ''."\n"; + &mt('Previously Enrolled').''."\n"; $Str .= ''."\n"; + &mt('Any Enrollment Status').''."\n"; $Str .= ''."\n"; } @@ -734,7 +787,8 @@ sub Create_PrgWin { "". "

$heading

". "
". - '
'. + ''. "\');". "popwin.document.close();". ""); @@ -769,16 +823,16 @@ sub Increment_PrgWin { if (int ($time_est/60) > 0) { my $min = int($time_est/60); my $sec = $time_est % 60; - $time_est = $min.' minutes'; + $time_est = $min.' '.&mt('minutes'); if ($min < 10) { if ($sec > 1) { - $time_est.= ', '.$sec.' seconds'; + $time_est.= ', '.$sec.' '.&mt('seconds'); } elsif ($sec > 0) { - $time_est.= ', '.$sec.' second'; + $time_est.= ', '.$sec.' '.&mt('second'); } } } else { - $time_est .= ' seconds'; + $time_est .= ' '.&mt('seconds'); } my $lasttime = &Time::HiRes::time()-$$prog_state{'laststart'}; if ($lasttime > 9) { @@ -789,9 +843,9 @@ sub Increment_PrgWin { $lasttime = sprintf("%3.2f",$lasttime); } if ($lasttime == 1) { - $lasttime = '('.$lasttime.' second for '.$extraInfo.')'; + $lasttime = '('.$lasttime.' '.&mt('second for').' '.$extraInfo.')'; } else { - $lasttime = '('.$lasttime.' seconds for '.$extraInfo.')'; + $lasttime = '('.$lasttime.' '.&mt('seconds for').' '.$extraInfo.')'; } # my $user_browser = $ENV{'browser.type'} if (exists($ENV{'browser.type'})); @@ -805,7 +859,7 @@ sub Increment_PrgWin { } $r->print(''); + ': '.$time_est.' '.&mt('remaining').' '.$lasttime.'";'.''); $$prog_state{'laststart'}=&Time::HiRes::time(); $r->rflush(); } @@ -818,6 +872,27 @@ sub Close_PrgWin { $r->rflush(); } + +# ------------------------------------------------------- Puts directory header + +sub crumbs { + my ($uri,$target,$prefix)=@_; + my $output='
'.$prefix.'/'; + if ($ENV{'user.adv'}) { + my $path=$prefix; + foreach (split('/',$uri)) { + unless ($_) { next; } + $path.='/'.$_; + $output.=''.$_.'/'; + } + } else { + $output.=$uri; + } + unless ($uri=~/\/$/) { $output=~s/\/$//; } + return $output.'
'; +} + + 1; __END__