--- loncom/interface/loncommon.pm 2008/12/17 12:48:20 1.721
+++ loncom/interface/loncommon.pm 2008/12/23 19:22:13 1.728
@@ -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.728 2008/12/23 19:22:13 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2717,6 +2717,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 +3205,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) ||
@@ -5499,11 +5536,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 +5608,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 +5629,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);
@@ -5613,11 +5652,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 +7980,7 @@ sub upfile_select_html {
# xml => &mt('HTML/XML'),
);
my $Str = ''.
- '
Type: