--- loncom/interface/loncommon.pm 2012/05/09 20:17:47 1.1075 +++ loncom/interface/loncommon.pm 2013/01/21 02:33:22 1.1075.2.29 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.1075 2012/05/09 20:17:47 raeburn Exp $ +# $Id: loncommon.pm,v 1.1075.2.29 2013/01/21 02:33:22 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -67,9 +67,13 @@ use Apache::lonhtmlcommon(); use Apache::loncoursedata(); use Apache::lontexconvert(); use Apache::lonclonecourse(); +use Apache::lonuserutils(); +use Apache::lonuserstate(); use LONCAPA qw(:DEFAULT :match); use DateTime::TimeZone; use DateTime::Locale::Catalog; +use Authen::Captcha; +use Captcha::reCAPTCHA; # ---------------------------------------------- Designs use vars qw(%defaultdesign); @@ -885,10 +889,14 @@ sub check_uncheck_jscript { function checkAll(field) { if (field.length > 0) { for (i = 0; i < field.length; i++) { - field[i].checked = true ; + if (!field[i].disabled) { + field[i].checked = true; + } } } else { - field.checked = true + if (!field.disabled) { + field.checked = true; + } } } @@ -982,7 +990,7 @@ sub select_language { my ($name,$selected,$includeempty) = @_; my %langchoices; if ($includeempty) { - %langchoices = ('' => 'No language preference'); + %langchoices = ('' => &mt('No language preference')); } foreach my $id (&languageids()) { my $code = &supportedlanguagecode($id); @@ -2475,7 +2483,7 @@ END return $result; } -sub authform_authorwarning{ +sub authform_authorwarning { my $result=''; $result=''. &mt('As a general rule, only authors or co-authors should be '. @@ -2484,16 +2492,16 @@ sub authform_authorwarning{ return $result; } -sub authform_nochange{ +sub authform_nochange { my %in = ( formname => 'document.cu', kerb_def_dom => 'MSU.EDU', @_, ); - my ($authnum,%can_assign) = &get_assignable_auth($in{'domain'}); + my ($authnum,%can_assign) = &get_assignable_auth($in{'domain'}); my $result; - if (keys(%can_assign) == 0) { - $result = &mt('Under you current role you are not permitted to change login settings for this user'); + if (!$authnum) { + $result = &mt('Under your current role you are not permitted to change login settings for this user'); } else { $result = '
generation + no_inline_link -> if true and in remote mode, don't show the + 'Switch To Inline Menu' link no_auto_mt_title -> prevent &mt()ing the title arg inherit_jsmath -> when creating popup window in a page, should it have jsmath forced on by the current page bread_crumbs -> Array containing breadcrumbs bread_crumbs_component -> if exists show it as headline else show only the breadcrumbs + group -> includes the current group, if page is for a + specific group =back @@ -7241,7 +7436,7 @@ sub start_page { #&Apache::lonnet::logthis("start_page ".join(':',caller(0))); $env{'internal.start_page'}++; - my $result; + my ($result,@advtools); if (! exists($args->{'skip_phases'}{'head'}) ) { $result .= &xml_begin() . &headtag($title, $head_extra, $args); @@ -7258,7 +7453,8 @@ sub start_page { $args->{'function'}, $args->{'add_entries'}, $args->{'only_body'}, $args->{'domain'}, $args->{'force_register'}, $args->{'no_nav_bar'}, - $args->{'bgcolor'}, $args); + $args->{'bgcolor'}, $args->{'no_inline_link'}, + $args, \@advtools); } } @@ -7287,6 +7483,10 @@ sub start_page { &Apache::lonhtmlcommon::add_breadcrumb($crumb); } } + # if @advtools array contains items add then to the breadcrumbs + if (@advtools > 0) { + &Apache::lonmenu::advtools_crumbs(@advtools); + } #if bread_crumbs_component exists show it as headline else show only the breadcrumbs if(exists($args->{'bread_crumbs_component'})){ @@ -7294,6 +7494,11 @@ sub start_page { }else{ $result .= &Apache::lonhtmlcommon::breadcrumbs(); } + } elsif (($env{'environment.remote'} eq 'on') && + ($env{'form.inhibitmenu'} ne 'yes') && + ($env{'request.noversionuri'} =~ m{^/res/}) && + ($env{'request.noversionuri'} !~ m{^/res/adm/pages/})) { + $result .= ''; + my $endbodytag; + unless ((ref($args) eq 'HASH') && ($args->{'notbody'})) { + $endbodytag=''; + } $endbodytag=&Apache::lontexconvert::jsMath_process()."\n".$endbodytag; if ( exists( $env{'internal.head.redirect'} ) ) { if (!(ref($args) eq 'HASH' && $args->{'noredirectlink'})) { @@ -5303,10 +5390,12 @@ form, .inline { .LC_error { color: red; - font-size: larger; } -.LC_warning, +.LC_warning { + color: darkorange; +} + .LC_diff_removed { color: red; } @@ -5469,11 +5558,11 @@ td.LC_table_cell_checkbox { text-align: left; } -.LC_head_subbox { +.LC_head_subbox, .LC_actionbox { clear:both; background: #F8F8F8; /* $sidebg; */ border: 1px solid $sidebg; - margin: 0 0 10px 0; + margin: 0 0 10px 0; padding: 3px; text-align: left; } @@ -6168,7 +6257,6 @@ div.LC_docs_entry_move { table.LC_data_table tr > td.LC_docs_entry_commands, table.LC_data_table tr > td.LC_docs_entry_parameter { - background: #DDDDDD; font-size: x-small; } @@ -6446,6 +6534,7 @@ fieldset > legend { ol.LC_primary_menu { float: right; margin: 0; + padding: 0; background-color: $pgbg_or_bgcolor; } @@ -6454,14 +6543,55 @@ ol#LC_PathBreadcrumbs { } ol.LC_primary_menu li { - display: inline; - padding: 5px 5px 0 10px; + color: RGB(80, 80, 80); + vertical-align: middle; + text-align: left; + list-style: none; + float: left; +} + +ol.LC_primary_menu li a { + display: block; + margin: 0; + padding: 0 5px 0 10px; + text-decoration: none; +} + +ol.LC_primary_menu li ul { + display: none; + width: 10em; + background-color: $data_table_light; +} + +ol.LC_primary_menu li:hover ul, ol.LC_primary_menu li.hover ul { + display: block; + position: absolute; + margin: 0; + padding: 0; + z-index: 2; +} + +ol.LC_primary_menu li:hover li, ol.LC_primary_menu li.hover li { + font-size: 90%; vertical-align: top; + float: none; + border-left: 1px solid black; + border-right: 1px solid black; +} + +ol.LC_primary_menu li:hover li a, ol.LC_primary_menu li.hover li a { + background-color:$data_table_light; +} + +ol.LC_primary_menu li li a:hover { + color:$button_hover; + background-color:$data_table_dark; } ol.LC_primary_menu li img { vertical-align: bottom; height: 1.1em; + margin: 0.2em 0 0 0; } ol.LC_primary_menu a { @@ -6499,7 +6629,7 @@ ol.LC_docs_parameters li.LC_docs_paramet } ul#LC_secondary_menu { - clear: both; + clear: right; color: $fontmenu; background: $tabbg; list-style: none; @@ -6507,15 +6637,53 @@ ul#LC_secondary_menu { margin: 0; width: 100%; text-align: left; + float: left; } ul#LC_secondary_menu li { font-weight: bold; line-height: 1.8em; - padding: 0 0.8em; border-right: 1px solid black; - display: inline; vertical-align: middle; + float: left; +} + +ul#LC_secondary_menu li.LC_hoverable:hover, ul#LC_secondary_menu li.hover { + background-color: $data_table_light; +} + +ul#LC_secondary_menu li a { + padding: 0 0.8em; +} + +ul#LC_secondary_menu li ul { + display: none; +} + +ul#LC_secondary_menu li:hover ul, ul#LC_secondary_menu li.hover ul { + display: block; + position: absolute; + margin: 0; + padding: 0; + list-style:none; + float: none; + background-color: $data_table_light; + z-index: 2; + margin-left: -1px; +} + +ul#LC_secondary_menu li ul li { + font-size: 90%; + vertical-align: top; + border-left: 1px solid black; + border-right: 1px solid black; + background-color: $data_table_light + list-style:none; + float: none; +} + +ul#LC_secondary_menu li ul li:hover, ul#LC_secondary_menu li ul li.hover { + background-color: $data_table_dark; } ul.LC_TabContent { @@ -6855,6 +7023,7 @@ ul#LC_toolbar { list-style:none; position:relative; background-color:white; + overflow: auto; } ul#LC_toolbar li { @@ -6864,6 +7033,7 @@ ul#LC_toolbar li { float: left; display:inline; vertical-align:middle; + white-space: nowrap; } @@ -6960,6 +7130,27 @@ ul.LC_funclist li { cursor:pointer; } +/* + styles used by TTH when "Default set of options to pass to tth/m + when converting TeX" in course settings has been set + + option passed: -t + +*/ + +td div.comp { margin-top: -0.6ex; margin-bottom: -1ex;} +td div.comb { margin-top: -0.6ex; margin-bottom: -.6ex;} +td div.hrcomp { line-height: 0.9; margin-top: -0.8ex; margin-bottom: -1ex;} +td div.norm {line-height:normal;} + +/* + option passed -y3 +*/ + +span.roman {font-family: serif; font-style: normal; font-weight: normal;} +span.overacc2 {position: relative; left: .8em; top: -1.2ex;} +span.overacc1 {position: relative; left: .6em; top: -1.2ex;} + END } @@ -7013,8 +7204,8 @@ sub headtag { if (!$args->{'frameset'}) { $result .= &Apache::lonhtmlcommon::htmlareaheaders(); } - if ($args->{'force_register'} && $env{'request.noversionuri'} !~ m{^/res/adm/pages/}) { - $result .= Apache::lonxml::display_title(); + if ($args->{'force_register'}) { + $result .= &Apache::lonmenu::registerurl(1); } if (!$args->{'no_nav_bar'} && !$args->{'only_body'} @@ -7223,12 +7414,16 @@ $args - additional optional args support skip_phases -> hash ref of head -> skip the
generation body -> skip all