--- loncom/interface/lonhtmlcommon.pm 2014/12/11 01:44:55 1.357 +++ loncom/interface/lonhtmlcommon.pm 2015/05/28 12:27:23 1.358.2.2 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common html routines # -# $Id: lonhtmlcommon.pm,v 1.357 2014/12/11 01:44:55 raeburn Exp $ +# $Id: lonhtmlcommon.pm,v 1.358.2.2 2015/05/28 12:27:23 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; @@ -1624,12 +1660,19 @@ A link to help for the component will be All inputs can be undef without problems. Inputs: $component (the text on the right side of the breadcrumbs trail), - $component_help + $component_help (the help item filename (without .tex extension). $menulink (boolean, controls whether to include a link to /adm/menu) $helplink (if 'nohelp' don't include the orange help link) $css_class (optional name for the class to apply to the table for CSS) $no_mt (optional flag, 1 if &mt() is _not_ to be applied to $component when including the text on the right. + $CourseBreadcrumbs (optional flag, 1 if &breadcrumbs called from &docs_breadcrumbs, + because breadcrumbs are being) + $topic_help (optional help item to be displayed on right side of the breadcrumbs + row, using loncommon::help_open_topic() to generate the link. + $topic_help_text (text to include in the link in the optional help item + on the right side of the breadcrumbs row. + Returns a string containing breadcrumbs for the current page. =item &clear_breadcrumbs() @@ -1657,7 +1700,7 @@ returns: nothing sub breadcrumbs { my ($component,$component_help,$menulink,$helplink,$css_class,$no_mt, - $CourseBreadcrumbs) = @_; + $CourseBreadcrumbs,$topic_help,$topic_help_text) = @_; # $css_class ||= 'LC_breadcrumbs'; @@ -1764,6 +1807,10 @@ returns: nothing $component_help, $faq,$bug); } + if ($topic_help && $topic_help_text) { + $icons .= ' '.&Apache::loncommon::help_open_topic($topic_help,&mt($topic_help_text),'', + undef,600); + } # @@ -1776,7 +1823,7 @@ returns: nothing } - if ($component) { + if (($component) || ($topic_help && $topic_help_text)) { $links = &htmltag('span', ( $no_mt ? $component : mt($component) ). ( $icons ? $icons : '' ), @@ -3250,7 +3297,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 +3328,7 @@ sub jump_to_editres { $cfile .= (($cfile=~/\?/)?'&':'?').'todocs=1'; } } - $jscall = "go('$cfile')"; + $jscall = "go('".&Apache::loncommon::escape_single($cfile)."')"; } return $jscall; } @@ -3611,6 +3658,7 @@ add_item_funclist Inputs: ./. Returns: HTML code with function list end + =cut sub end_funclist { @@ -3654,6 +3702,8 @@ sub funclist_from_array { =pod +=over + =item &actionbox( \@array ) Constructs a XHTML list from \@array with the first item being visually @@ -3671,7 +3721,7 @@ A reference to the array containing text =back -Returns: XHTML div as string. +Returns: XHTML div as string. =back