--- loncom/interface/loncommon.pm 2012/04/11 15:53:22 1.1070 +++ loncom/interface/loncommon.pm 2012/12/12 23:05:00 1.1075.2.18 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.1070 2012/04/11 15:53:22 raeburn Exp $ +# $Id: loncommon.pm,v 1.1075.2.18 2012/12/12 23:05:00 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -70,6 +70,8 @@ use Apache::lonclonecourse(); 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 +887,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; + } } } @@ -1374,7 +1380,7 @@ function helpMenu(target) { return; } function writeHelp(caller) { - caller.document.writeln('$start_page $end_page') + caller.document.writeln('$start_page\\n\\n\\n$end_page') caller.document.close() caller.focus() } @@ -1981,19 +1987,112 @@ sub select_form { # For display filters sub display_filter { + my ($context) = @_; if (!$env{'form.show'}) { $env{'form.show'}=10; } if (!$env{'form.displayfilter'}) { $env{'form.displayfilter'}='currentfolder'; } - return '
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 @@ -7150,7 +7433,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); @@ -7167,7 +7450,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); } } @@ -7224,7 +7508,9 @@ sub end_page { } else { $result .= &endbodytag($args); } - $result .= "\n"; + unless ($args->{'notbody'}) { + $result .= "\n'; + 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'})) { @@ -5212,10 +5387,12 @@ form, .inline { .LC_error { color: red; - font-size: larger; } -.LC_warning, +.LC_warning { + color: darkorange; +} + .LC_diff_removed { color: red; } @@ -5378,11 +5555,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; } @@ -6077,7 +6254,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; } @@ -6355,6 +6531,7 @@ fieldset > legend { ol.LC_primary_menu { float: right; margin: 0; + padding: 0; background-color: $pgbg_or_bgcolor; } @@ -6363,14 +6540,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 { @@ -6416,15 +6634,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 { @@ -6764,6 +7020,7 @@ ul#LC_toolbar { list-style:none; position:relative; background-color:white; + overflow: auto; } ul#LC_toolbar li { @@ -6773,6 +7030,7 @@ ul#LC_toolbar li { float: left; display:inline; vertical-align:middle; + white-space: nowrap; } @@ -6869,6 +7127,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 } @@ -6922,8 +7201,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'} @@ -7132,12 +7411,16 @@ $args - additional optional args support skip_phases -> hash ref of head -> skip the
generation body -> skip all