--- loncom/interface/loncommon.pm 2008/09/19 03:27:04 1.687 +++ loncom/interface/loncommon.pm 2008/12/11 18:41:03 1.692.2.2 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.687 2008/09/19 03:27:04 raeburn Exp $ +# $Id: loncommon.pm,v 1.692.2.2 2008/12/11 18:41:03 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -677,7 +677,7 @@ sub select_datelocale { if ($id ne '') { my $en_terr = $locale->{'en_territory'}; my $native_terr = $locale->{'native_territory'}; - my @languages = &preferred_languages(); + my @languages = &Apache::lonlocal::preferred_languages(); if (grep(/^en$/,@languages) || !@languages) { if ($en_terr ne '') { $locale_names{$id} = '('.$en_terr.')'; @@ -926,7 +926,7 @@ sub help_open_topic { if ($text ne "") { $template .= "". - "
$text"; + "$text"; } # Add the graphic @@ -935,7 +935,7 @@ sub help_open_topic { $template .= <<"ENDTEMPLATE"; (Help: $topic) ENDTEMPLATE - if ($text ne '') { $template.='
' }; + if ($text ne '') { $template.='' }; return $template; } @@ -2998,7 +2998,7 @@ sub fileextensions { sub display_languages { my %languages=(); - foreach my $lang (&preferred_languages()) { + foreach my $lang (&Apache::lonlocal::preferred_languages()) { $languages{$lang}=1; } &get_unprocessed_cgi($ENV{'QUERY_STRING'},['displaylanguage']); @@ -3010,59 +3010,9 @@ sub display_languages { return %languages; } -sub preferred_languages { - my @languages=(); - if (($env{'request.role.adv'}) && ($env{'form.languages'})) { - @languages=(@languages,split(/\s*(\,|\;|\:)\s*/,$env{'form.languages'})); - } - if ($env{'course.'.$env{'request.course.id'}.'.languages'}) { - @languages=(@languages,split(/\s*(\,|\;|\:)\s*/, - $env{'course.'.$env{'request.course.id'}.'.languages'})); - } - - if ($env{'environment.languages'}) { - @languages=(@languages, - split(/\s*(\,|\;|\:)\s*/,$env{'environment.languages'})); - } - my $browser=$ENV{'HTTP_ACCEPT_LANGUAGE'}; - if ($browser) { - my @browser = - map { (split(/\s*;\s*/,$_))[0] } (split(/\s*,\s*/,$browser)); - push(@languages,@browser); - } - - foreach my $domtype ($env{'user.domain'},$env{'request.role.domain'}, - $Apache::lonnet::perlvar{'lonDefDomain'}) { - if ($domtype ne '') { - my %domdefs = &Apache::lonnet::get_domain_defaults($domtype); - if ($domdefs{'lang_def'} ne '') { - push(@languages,$domdefs{'lang_def'}); - } - } - } - return &get_genlanguages(@languages); -} - -sub get_genlanguages { - my (@languages) = @_; -# turn "en-ca" into "en-ca,en" - my @genlanguages; - foreach my $lang (@languages) { - unless ($lang=~/\w/) { next; } - push(@genlanguages,$lang); - if ($lang=~/(\-|\_)/) { - push(@genlanguages,(split(/(\-|\_)/,$lang))[0]); - } - } - #uniqueify the languages list - my %count; - @genlanguages = map { $count{$_}++ == 0 ? $_ : () } @genlanguages; - return @genlanguages; -} - sub languages { my ($possible_langs) = @_; - my @preferred_langs = &preferred_languages(); + my @preferred_langs = &Apache::lonlocal::preferred_languages(); if (!ref($possible_langs)) { if( wantarray ) { return @preferred_langs; @@ -3930,7 +3880,14 @@ sub get_domainconf { if (ref($domconfig{'login'}) eq 'HASH') { if (keys(%{$domconfig{'login'}})) { foreach my $key (keys(%{$domconfig{'login'}})) { - $designhash{$udom.'.login.'.$key}=$domconfig{'login'}{$key}; + if (ref($domconfig{'login'}{$key}) eq 'HASH') { + foreach my $img (keys(%{$domconfig{'login'}{$key}})) { + $designhash{$udom.'.login.'.$key.'_'.$img} = + $domconfig{'login'}{$key}{$img}; + } + } else { + $designhash{$udom.'.login.'.$key}=$domconfig{'login'}{$key}; + } } } else { $legacy{'login'} = 1; @@ -7707,7 +7664,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('