--- loncom/interface/loncommon.pm 2008/09/29 22:53:20 1.688 +++ loncom/interface/loncommon.pm 2008/12/21 15:32:30 1.692.2.8 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # a pile of common routines # -# $Id: loncommon.pm,v 1.688 2008/09/29 22:53:20 raeburn Exp $ +# $Id: loncommon.pm,v 1.692.2.8 2008/12/21 15:32:30 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; @@ -3221,7 +3171,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) || @@ -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; @@ -4712,6 +4669,10 @@ td.LC_menubuttons_img { font-size: smaller; } +.LC_mail_functions { + font-weight: bold; +} + table.LC_aboutme_port { border: 0px; border-collapse: collapse; @@ -4744,6 +4705,11 @@ table.LC_prior_tries tr th { background-color: $data_table_head; font-size: smaller; } +table.LC_data_table tr.LC_info_row > td { + background-color: #CCC; + font-weight: bold; + text-align: left; +} table.LC_data_table tr.LC_odd_row > td, table.LC_aboutme_port tr td { background-color: $data_table_light; @@ -5520,6 +5486,11 @@ fieldset#LC_mainmenu_fieldset { margin:0px 10px 10px 0px; } + +div.LC_createcourse { + margin: 10px 10px 10px 10px; +} + END } @@ -6550,19 +6521,35 @@ sub default_quota { if ($inststatus ne '') { my @statuses = split(/:/,$inststatus); foreach my $item (@statuses) { - if ($quotahash{'quotas'}{$item} ne '') { - if ($defquota eq '') { - $defquota = $quotahash{'quotas'}{$item}; - $settingstatus = $item; - } elsif ($quotahash{'quotas'}{$item} > $defquota) { - $defquota = $quotahash{'quotas'}{$item}; - $settingstatus = $item; + if (ref($quotahash{'quotas'}{'defaultquota'}) eq 'HASH') { + if ($quotahash{'quotas'}{'defaultquota'}{$item} ne '') { + if ($defquota eq '') { + $defquota = $quotahash{'quotas'}{'defaultquota'}{$item}; + $settingstatus = $item; + } elsif ($quotahash{'quotas'}{'defaultquota'}{$item} > $defquota) { + $defquota = $quotahash{'quotas'}{'defaultquota'}{$item}; + $settingstatus = $item; + } + } + } else { + if ($quotahash{'quotas'}{$item} ne '') { + if ($defquota eq '') { + $defquota = $quotahash{'quotas'}{$item}; + $settingstatus = $item; + } elsif ($quotahash{'quotas'}{$item} > $defquota) { + $defquota = $quotahash{'quotas'}{$item}; + $settingstatus = $item; + } } } } } if ($defquota eq '') { - $defquota = $quotahash{'quotas'}{'default'}; + if (ref($quotahash{'quotas'}{'defaultquota'}) eq 'HASH') { + $defquota = $quotahash{'quotas'}{'defaultquota'}{'default'}; + } else { + $defquota = $quotahash{'quotas'}{'default'}; + } $settingstatus = 'default'; } } else { @@ -7707,7 +7694,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('