version 1.166, 2007/08/02 01:02:56
|
version 1.168, 2007/08/02 01:07:00
|
Line 360 ENDSCRIPT
|
Line 360 ENDSCRIPT
|
$r->print(&Apache::loncommon::end_data_table_header_row()); |
$r->print(&Apache::loncommon::end_data_table_header_row()); |
|
|
my @sorted_users = sort { |
my @sorted_users = sort { |
lc($srch_results->{$a}->{$sortby}) cmp lc($srch_results->{$b}->{$sortby}) |
lc($srch_results->{$a}->{$sortby}) cmp lc($srch_results->{$b}->{$sortby}) |
|| |
|| |
lc($srch_results->{$a}->{lastname}) cmp lc($srch_results->{$b}->{lastname}) |
lc($srch_results->{$a}->{lastname}) cmp lc($srch_results->{$b}->{lastname}) |
|| |
|| |
lc($srch_results->{$a}->{firstname}) cmp lc($srch_results->{$b}->{firstname}) |
lc($srch_results->{$a}->{firstname}) cmp lc($srch_results->{$b}->{firstname}) |
|
|| |
|
lc($a) cmp lc($b) |
} (keys(%$srch_results)); |
} (keys(%$srch_results)); |
|
|
foreach my $user (@sorted_users) { |
foreach my $user (@sorted_users) { |
Line 2237 sub user_search_result {
|
Line 2239 sub user_search_result {
|
&build_search_response($srch,%srch_results); |
&build_search_response($srch,%srch_results); |
} |
} |
} else { |
} else { |
my %courseusers = &get_courseusers(); |
my $courseusers = &get_courseusers(); |
if ($srch->{'srchtype'} eq 'exact') { |
if ($srch->{'srchtype'} eq 'exact') { |
if (exists($courseusers{$srch->{'srchterm'}.':'.$srch->{'srchdomain'}})) { |
if (exists($courseusers->{$srch->{'srchterm'}.':'.$srch->{'srchdomain'}})) { |
$state = 'modify'; |
$state = 'modify'; |
} else { |
} else { |
($state,$response,$forcenewuser) = |
($state,$response,$forcenewuser) = |
&build_search_response($srch,%srch_results); |
&build_search_response($srch,%srch_results); |
} |
} |
} else { |
} else { |
foreach my $user (keys(%courseusers)) { |
foreach my $user (keys(%$courseusers)) { |
my ($cuname,$cudomain) = split(/:/,$user); |
my ($cuname,$cudomain) = split(/:/,$user); |
if ($cudomain eq $srch->{'srchdomain'}) { |
if ($cudomain eq $srch->{'srchdomain'}) { |
if ($cuname =~ /\Q$srch->{'srchterm'}\E/i) { |
if ($cuname =~ /\Q$srch->{'srchterm'}\E/i) { |
$srch_results{$user} = ''; |
$srch_results{$user} = |
|
{&Apache::lonnet::get('environment', |
|
['firstname', |
|
'lastname', |
|
'permanentemail'])}; |
} |
} |
} |
} |
} |
} |
Line 2272 sub user_search_result {
|
Line 2278 sub user_search_result {
|
($state,$response,$forcenewuser) = |
($state,$response,$forcenewuser) = |
&build_search_response($srch,%srch_results); |
&build_search_response($srch,%srch_results); |
} elsif ($srch->{'srchin'} eq 'crs') { |
} elsif ($srch->{'srchin'} eq 'crs') { |
my %courseusers = &get_courseusers(); |
my $courseusers = &get_courseusers(); |
foreach my $user (keys(%courseusers)) { |
foreach my $user (keys(%$courseusers)) { |
my ($uname,$udom) = split(/:/,$user); |
my ($uname,$udom) = split(/:/,$user); |
my %names = &Apache::loncommon::getnames($uname,$udom); |
my %names = &Apache::loncommon::getnames($uname,$udom); |
my %emails = &Apache::loncommon::getemails($uname,$udom); |
my %emails = &Apache::loncommon::getemails($uname,$udom); |
Line 2364 sub directorysrch_check {
|
Line 2370 sub directorysrch_check {
|
return &mt('Directory search has not been configured for domain: [_1]',$srch->{'srchdomain'}); |
return &mt('Directory search has not been configured for domain: [_1]',$srch->{'srchdomain'}); |
} |
} |
my %longtext = &Apache::lonlocal::texthash ( |
my %longtext = &Apache::lonlocal::texthash ( |
uname => 'username', |
uname => 'username', |
lastfirst => 'last name, first name', |
lastfirst => 'last name, first name', |
lastname => 'last name', |
lastname => 'last name', |
contains => 'is contained in', |
contains => 'is contained in', |
exact => 'as exact match to' |
exact => 'as exact match to' |
); |
); |
if ($can_search) { |
if ($can_search) { |
if (ref($dom_inst_srch{'directorysrch'}{'searchby'}) eq 'ARRAY') { |
if (ref($dom_inst_srch{'directorysrch'}{'searchby'}) eq 'ARRAY') { |
Line 2392 sub directorysrch_check {
|
Line 2398 sub directorysrch_check {
|
|
|
sub get_courseusers { |
sub get_courseusers { |
my %advhash; |
my %advhash; |
|
my $classlist = &Apache::loncoursedata::get_classlist(); |
my %coursepersonnel=&Apache::lonnet::get_course_adv_roles(); |
my %coursepersonnel=&Apache::lonnet::get_course_adv_roles(); |
foreach my $role (sort(keys(%coursepersonnel))) { |
foreach my $role (sort(keys(%coursepersonnel))) { |
foreach my $user (split(/\,/,$coursepersonnel{$role})) { |
foreach my $user (split(/\,/,$coursepersonnel{$role})) { |
$advhash{$user} = ''; |
if (!exists($classlist->{$user})) { |
|
$classlist->{$user} = []; |
|
} |
} |
} |
} |
} |
my $classlist = &Apache::loncoursedata::get_classlist(); |
return $classlist; |
my %combined = (%advhash, %{$classlist}); |
|
return %combined; |
|
} |
} |
|
|
sub build_search_response { |
sub build_search_response { |
Line 2452 sub build_search_response {
|
Line 2459 sub build_search_response {
|
} |
} |
} |
} |
} |
} |
$response .= '<br />'.&mt("To add as a new user:").'<ul><li>'.&mt("Enter the proposed username in the <i>'Search for'</i> box").'</li><li>'.&mt("Set <i>'Make new user if no match found</i>' to <b>Yes</b>").'</li><li>'.&mt("Click <i>'Search'</i>").'</li></ul>'.&mt("Note: you can only create new users in the domain of your current role - [_1]",$env{'request.role.domain'}).'<br /><br />'; |
|
} |
} |
} |
} |
} |
} |
Line 2463 sub crumb_utilities {
|
Line 2469 sub crumb_utilities {
|
my %elements = ( |
my %elements = ( |
crtuser => { |
crtuser => { |
srchterm => 'text', |
srchterm => 'text', |
srchin => 'selectbox', |
srchin => 'radio', |
srchby => 'selectbox', |
srchby => 'selectbox', |
srchtype => 'selectbox', |
srchtype => 'selectbox', |
srchdomain => 'selectbox', |
srchdomain => 'selectbox', |