version 1.582, 2007/09/11 20:36:30
|
version 1.585, 2007/09/12 23:32:59
|
Line 2531 sub preferred_languages {
|
Line 2531 sub preferred_languages {
|
@languages=(@languages, |
@languages=(@languages, |
split(/\s*(\,|\;|\:)\s*/,$env{'environment.languages'})); |
split(/\s*(\,|\;|\:)\s*/,$env{'environment.languages'})); |
} |
} |
my $browser=(split(/\;/,$ENV{'HTTP_ACCEPT_LANGUAGE'}))[0]; |
my $browser=$ENV{'HTTP_ACCEPT_LANGUAGE'}; |
if ($browser) { |
if ($browser) { |
@languages=(@languages,split(/\s*(\,|\;|\:)\s*/,$browser)); |
my @browser = |
|
map { (split(/\s*;\s*/,$_))[0] } (split(/\s*,\s*/,$browser)); |
|
push(@languages,@browser); |
} |
} |
if (&Apache::lonnet::domain($env{'user.domain'},'lang_def')) { |
if (&Apache::lonnet::domain($env{'user.domain'},'lang_def')) { |
@languages=(@languages, |
@languages=(@languages, |
Line 2555 sub preferred_languages {
|
Line 2557 sub preferred_languages {
|
my @genlanguages; |
my @genlanguages; |
foreach my $lang (@languages) { |
foreach my $lang (@languages) { |
unless ($lang=~/\w/) { next; } |
unless ($lang=~/\w/) { next; } |
push (@genlanguages,$lang); |
push(@genlanguages,$lang); |
if ($lang=~/(\-|\_)/) { |
if ($lang=~/(\-|\_)/) { |
push(@genlanguages,(split(/(\-|\_)/,$lang))[0]); |
push(@genlanguages,(split(/(\-|\_)/,$lang))[0]); |
} |
} |
} |
} |
|
#uniqueify the languages list |
|
my %count; |
|
@genlanguages = map { $count{$_}++ == 0 ? $_ : () } @genlanguages; |
return @genlanguages; |
return @genlanguages; |
} |
} |
|
|
Line 4642 table.LC_docs_adddocs th {
|
Line 4647 table.LC_docs_adddocs th {
|
background: #DDDDDD; |
background: #DDDDDD; |
} |
} |
|
|
|
table.LC_sty_begin { |
|
background: #BBFFBB; |
|
} |
|
table.LC_sty_end { |
|
background: #FFBBBB; |
|
} |
|
|
END |
END |
} |
} |
|
|
Line 5896 END_BLOCK
|
Line 5908 END_BLOCK
|
return $output; |
return $output; |
} |
} |
|
|
|
sub username_rule_check { |
|
my ($srch,$caller) = @_; |
|
my ($response,@curr_rules,%inst_results,$rulematch); |
|
my ($rules,$ruleorder) = &Apache::lonnet::inst_userrules($srch->{'srchdomain'}); |
|
if (ref($srch) eq 'HASH') { |
|
(my $inst_response,%inst_results) = |
|
&Apache::lonnet::get_instuser($srch->{'srchdomain'}, |
|
$srch->{'srchterm'}); |
|
my %domconfig = &Apache::lonnet::get_dom('configuration', |
|
['usercreation'],$srch->{'srchdomain'}); |
|
if (ref($domconfig{'usercreation'}) eq 'HASH') { |
|
if (ref($domconfig{'usercreation'}{'username_rule'}) eq 'ARRAY') { |
|
@curr_rules = @{$domconfig{'usercreation'}{'username_rule'}}; |
|
} |
|
} |
|
if (@curr_rules > 0) { |
|
my $domdesc = &Apache::lonnet::domain($srch->{'srchdomain'},'description'); |
|
my $instuser_reqd; |
|
my %rule_check = &Apache::lonnet::inst_rulecheck($srch->{'srchdomain'},$srch->{'srchterm'},\@curr_rules); |
|
foreach my $rule (@curr_rules) { |
|
if ($rule_check{$rule}) { |
|
$rulematch = $rule; |
|
if ($inst_response eq 'ok') { |
|
if (keys(%inst_results) == 0) { |
|
if ($caller eq 'new') { |
|
$response = &mt('The username you chose matches the format of usernames defined for <span class="LC_cusr_emph">[_1]</span>, but the user does not exist in the institutional directory.',$domdesc).'<br />'.&mt("You must choose a username with a different format -- one that will not conflict with 'official' institutional usernames."); |
|
} |
|
} |
|
} |
|
last; |
|
} |
|
} |
|
if ($response) { |
|
if ((ref($rules) eq 'HASH') && (ref($ruleorder) eq 'ARRAY')) { |
|
if (@{$ruleorder} > 0) { |
|
$response .= '<br />'.&mt('Usernames with the following format(s) may <span class="LC_cusr_emph">only</span> be used for verified users at [_1]:',$domdesc).' <ul>'; |
|
foreach my $rule (@{$ruleorder}) { |
|
if (grep(/^\Q$rule\E$/,@curr_rules)) { |
|
if (ref($rules->{$rule}) eq 'HASH') { |
|
$response .= '<li>'.$rules->{$rule}{'name'}.': '. |
|
$rules->{$rule}{'desc'}.'</li>'; |
|
} |
|
} |
|
} |
|
} |
|
$response .= '</ul>'; |
|
} |
|
} |
|
} |
|
} |
|
return ($response,$rulematch,$rules,%inst_results); |
|
} |
|
|
=pod |
=pod |
|
|
=back |
=back |