--- loncom/interface/loncommon.pm 2008/12/17 12:48:20 1.721 +++ loncom/interface/loncommon.pm 2009/01/30 09:05:36 1.737 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.721 2008/12/17 12:48:20 harmsja Exp $ +# $Id: loncommon.pm,v 1.737 2009/01/30 09:05:36 tempelho Exp $ # # Copyright Michigan State University Board of Trustees # @@ -943,24 +943,30 @@ ENDTEMPLATE # This is a quicky function for Latex cheatsheet editing, since it # appears in at least four places sub helpLatexCheatsheet { - my $other = shift; + my ($topic,$text,$not_author) = @_; + my $out; my $addOther = ''; - if ($other) { - $addOther = Apache::loncommon::help_open_topic($other, shift, - undef, undef, 600) . + if ($topic) { + $addOther = &Apache::loncommon::help_open_topic($topic,$text, + undef, undef, 600). ''; } - return '
'. - $addOther . - &Apache::loncommon::help_open_topic("Greek_Symbols",&mt('Greek Symbols'), - undef,undef,600) - .''. - &Apache::loncommon::help_open_topic("Other_Symbols",&mt('Other Symbols'), - undef,undef,600) - .''. - &Apache::loncommon::help_open_topic("Authoring_Output_Tags",&mt('Output Tags'), - undef,undef,600) - .'
'; + $out = ''; + unless ($not_author) { + $out .= ''; + } + $out .= '
'. + $addOther . + &Apache::loncommon::help_open_topic("Greek_Symbols",&mt('Greek Symbols'), + undef,undef,600). + ''. + &Apache::loncommon::help_open_topic("Other_Symbols",&mt('Other Symbols'), + undef,undef,600). + ''. + &Apache::loncommon::help_open_topic("Authoring_Output_Tags",&mt('Output Tags'), + undef,undef,600). + '
'; + return $out; } sub general_help { @@ -1629,7 +1635,7 @@ sub multiple_select_form { $size = scalar(keys(%$hash)); } } - $output.="\n'; my @order; if (ref($order) eq 'ARRAY') { @order = @{$order}; @@ -2717,6 +2723,43 @@ sub flush_email_cache { &Apache::lonnet::devalidate_cache_new('emailscache',$id); } +# -------------------------------------------------------------------- getlangs + +=pod + +=item * &getlangs($uname,$udom) + +Gets a user's language preference and returns it as a hash with key: +language. + +=cut + + +sub getlangs { + my ($uname,$udom) = @_; + if (!$udom) { $udom =$env{'user.domain'}; } + if (!$uname) { $uname=$env{'user.name'}; } + my $id=$uname.':'.$udom; + my ($langs,$cached)=&Apache::lonnet::is_cached_new('userlangs',$id); + if ($cached) { + return %{$langs}; + } else { + my %loadlangs=&Apache::lonnet::get('environment',['languages'], + $udom,$uname); + &Apache::lonnet::do_cache_new('userlangs',$id,\%loadlangs); + return %loadlangs; + } +} + +sub flush_langs_cache { + my ($uname,$udom)=@_; + if (!$udom) { $udom =$env{'user.domain'}; } + if (!$uname) { $uname=$env{'user.name'}; } + return if ($udom eq 'public' && $uname eq 'public'); + my $id=$uname.':'.$udom; + &Apache::lonnet::devalidate_cache_new('userlangs',$id); +} + # ------------------------------------------------------------------ Screenname =pod @@ -3168,7 +3211,7 @@ sub relative_to_absolute { } $thisdir=~s-/[^/]*$--; foreach my $link (@rlinks) { - unless (($link=~/^http:\/\//i) || + unless (($link=~/^https?\:\/\//i) || ($link=~/^\//) || ($link=~/^javascript:/i) || ($link=~/^mailto:/i) || @@ -4465,7 +4508,7 @@ form, .inline { display: inline; } } .LC_warning, .LC_diff_removed { - + color: red; } .LC_info, @@ -4491,7 +4534,7 @@ form, .inline { display: inline; } } .LC_internal_info { - color: #999; + color: #999999; } table.LC_pastsubmission { @@ -4713,7 +4756,7 @@ table.LC_prior_tries tr th { font-size:90%; } table.LC_data_table tr.LC_info_row > td { - background-color: #CCC; + background-color: #CCCCCC; font-weight: bold; text-align: left; } @@ -4761,7 +4804,7 @@ table.LC_nested_outer tr td.LC_subheader text-align: right; } table.LC_nested tr.LC_info_row td { - background-color: #CCC; + background-color: #CCCCCC; font-weight: bold; font-size: small; text-align: center; @@ -4771,7 +4814,7 @@ table.LC_nested_outer tr th.LC_left_item text-align: left; } table.LC_nested td { - background-color: #FFF; + background-color: #FFFFFF; font-size: small; } table.LC_nested_outer tr th.LC_right_item, @@ -4782,7 +4825,7 @@ table.LC_nested tr td.LC_right_item { } table.LC_nested tr.LC_odd_row td { - background-color: #EEE; + background-color: #EEEEEE; } table.LC_createuser { @@ -4793,7 +4836,7 @@ table.LC_createuser tr.LC_section_row td } table.LC_createuser tr.LC_info_row td { - background-color: #CCC; + background-color: #CCCCCC; font-weight: bold; text-align: center; } @@ -5224,13 +5267,6 @@ table.LC_docs_documents td.LC_docs_docum padding: 4px; } -.LC_docs_course_commands div { - float: left; - border: 4px solid #AAAAAA; - padding: 4px; - background: #DDDDCC; -} - .LC_docs_entry_move { border: 0px; border-collapse: collapse; @@ -5499,11 +5535,13 @@ h2,h3,h4,h5,h6 .LC_noBorder { border:0px; } -/* -.LC_bgLightGrey { background:URL(images/TabMenuBG.png) repeat-x left top; } -.LC_bgLightGreyYellow {background-color:#EFECE0;} -*/ +.LC_bgLightGrey{ + background:URL(/adm/lonIcons/lightGreyBG.png) repeat-x left top; +} +.LC_bgLightGreyYellow { + background-color:#EFECE0; +} /* Main Header with discription of Person, Course, etc. */ .LC_HeadRight { @@ -5569,7 +5607,7 @@ ol#LC_TabMainMenuContent li { line-height: 140%; font-weight: bold; white-space:nowrap; - background: RGB(211, 206, 205) URL(home/httpd/html/adm/lonIcons/lightGreyBG.png) repeat-x left top; + background: url(/adm/lonIcons/lightGreyBG.png) repeat-x left top; } ol#LC_TabMainMenuContent li a{ @@ -5590,7 +5628,7 @@ ul.LC_TabContent li{ border-right:solid 1px $lg_border_color; padding:5px 10px 5px 10px; margin-right:2px; - background:RGB(211,206,205) url(home/httpd/html/adm/lonIcons/lightGreyBG.png) repeat-x left top; + background: url(/adm/lonIcons/lightGreyBG.png) repeat-x left top; } ul.LC_TabContent li a, ul.LC_TabContent li{ color:rgb(47,47,47); @@ -5599,6 +5637,12 @@ ul.LC_TabContent li a, ul.LC_TabContent font-weight:bold; white-space:nowrap; } +ul.LC_TabContent li:hover{ + background: url(/adm/lonIcons/lightGreyBG.png) repeat-x right bottom; + color:#BF2317; + text-decoration:none; +} + .LC_hideThis { display:none; @@ -5613,11 +5657,11 @@ ol#LC_MenuBreadcrumbs, ol#LC_PathBreadcr margin: 0px 0px 30px 0px; padding-left: 10px; list-style-position: inside; - background: RGB(211, 206, 205) URL(home/httpd/html/adm/lonIcons/lightGreyBG.png) repeat-x left top; + background: url(/adm/lonIcons/lightGreyBG.png) repeat-x left top; } ol#LC_MenuBreadcrumbs li, ol#LC_PathBreadcrumbs li { - background: url(home/httpd/html/adm/lonIcons/pfeil_white.png) no-repeat left center; + background: url(/adm/lonIcons/arrow_white.png) no-repeat left center; display: inline; padding: 0px 0px 0px 10px; vertical-align: bottom; @@ -7941,7 +7985,7 @@ sub upfile_select_html { # xml => &mt('HTML/XML'), ); my $Str = ''. - '
Type: '; foreach my $type (sort(keys(%Types))) { $Str .= '\n"; } @@ -8029,7 +8073,7 @@ sub csv_print_select_table { &end_data_table_header_row()."\n"); foreach my $array_ref (@$d) { my ($value,$display,$defaultcol)=@{ $array_ref }; - $r->print(&start_data_table_row().''.$display.''); + $r->print(&start_data_table_row().''.$display.''); $r->print('