--- loncom/interface/lonhtmlcommon.pm 2014/01/15 17:52:04 1.356 +++ loncom/interface/lonhtmlcommon.pm 2015/05/11 17:18:36 1.358.2.1 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common html routines # -# $Id: lonhtmlcommon.pm,v 1.356 2014/01/15 17:52:04 raeburn Exp $ +# $Id: lonhtmlcommon.pm,v 1.358.2.1 2015/05/11 17:18:36 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -482,7 +482,36 @@ the date/time fields are left empty. =item $state Specifies the initial state of the form elements. Either 'disabled' or empty. -Defaults to empty, which indiciates the form elements are not disabled. +Defaults to empty, which indicates the form elements are not disabled. + +=item $no_hh_mm_ss + +If true, text boxes for hours, minutes and seconds are omitted. + +=item $defhour + +Default value for hours (a default of 0 is used otherwise). + +=item $defmin + +Default value for minutes (a default of 0 is used otherwise). + +=item defsec + +Default value for seconds (a default of 0 is used otherwise). + +=item $nolink + +If true, a "Select calendar" link (to pop-up a calendar) is not displayed +to the right of the items. + +=item $no_mm_ss + +If true, text boxes for minutes and seconds are omitted. + +=item $no_ss + +If true, text boxes for seconds are omitted. =back @@ -496,7 +525,7 @@ The method used to restrict user input w ############################################## sub date_setter { my ($formname,$dname,$currentvalue,$special,$includeempty,$state, - $no_hh_mm_ss,$defhour,$defmin,$defsec,$nolink) = @_; + $no_hh_mm_ss,$defhour,$defmin,$defsec,$nolink,$no_mm_ss,$no_ss) = @_; my $now = time; my $tzname; @@ -649,17 +678,24 @@ ENDJS $result .= &mt('[_1] [_2] [_3] ', $monthselector,$dayselector,$yearselector). $tzone; - if (!$nolink) { - $result .= &mt('[_1]Select Date[_2]',$cal_link,''); - } + } elsif ($no_mm_ss) { + $result .= &mt('[_1] [_2] [_3] [_4]', + $monthselector,$dayselector,$yearselector, + $hourselector). + $tzone; + } elsif ($no_ss) { + $result .= &mt('[_1] [_2] [_3] [_4] [_5]m', + $monthselector,$dayselector,$yearselector, + $hourselector,$minuteselector). + $tzone; } else { $result .= &mt('[_1] [_2] [_3] [_4] [_5]m [_6]s ', $monthselector,$dayselector,$yearselector, $hourselector,$minuteselector,$secondselector). $tzone; - if (!$nolink) { - $result .= &mt('[_1]Select Date[_2]',$cal_link,''); - } + } + if (!$nolink) { + $result .= &mt('[_1]Select Date[_2]',$cal_link,''); } $result .= "\n\n"; return $result; @@ -3250,7 +3286,7 @@ sub jump_to_editres { if ($forcereg) { $cfile .= '&register=1'; } - $jscall = "need_switchserver('$cfile');"; + $jscall = "need_switchserver('".&Apache::loncommon::escape_single($cfile)."');"; } } else { unless ($cfile =~ m{^/priv/}) { @@ -3281,7 +3317,7 @@ sub jump_to_editres { $cfile .= (($cfile=~/\?/)?'&':'?').'todocs=1'; } } - $jscall = "go('$cfile')"; + $jscall = "go('".&Apache::loncommon::escape_single($cfile)."')"; } return $jscall; } @@ -3348,7 +3384,7 @@ END sub htmltag{ return qq|<$_[0]| - . join( '', map { qq| $_="${$_[2]}{$_}"| if ${$_[2]}{$_} } keys %{ $_[2] } ) + . join( '', map { qq| $_="${$_[2]}{$_}"| if ${$_[2]}{$_} } keys(%{ $_[2] }) ) . ($_[1] ? qq|>$_[1]| : qq|/>|). "\n"; }; @@ -3611,6 +3647,7 @@ add_item_funclist Inputs: ./. Returns: HTML code with function list end + =cut sub end_funclist { @@ -3654,6 +3691,8 @@ sub funclist_from_array { =pod +=over + =item &actionbox( \@array ) Constructs a XHTML list from \@array with the first item being visually @@ -3671,7 +3710,7 @@ A reference to the array containing text =back -Returns: XHTML div as string. +Returns: XHTML div as string. =back