--- loncom/interface/loncreateuser.pm 2007/07/28 21:38:29 1.160 +++ loncom/interface/loncreateuser.pm 2007/07/29 04:32:44 1.161 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Create a user # -# $Id: loncreateuser.pm,v 1.160 2007/07/28 21:38:29 raeburn Exp $ +# $Id: loncreateuser.pm,v 1.161 2007/07/29 04:32:44 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -762,16 +762,30 @@ ENDFORMINFO } } if ($uhome eq 'no_host') { - my $instsrch = { + my $newuser; + my $instsrch = { srchin => 'instd', - srchterm => $env{'form.seluname'}, - srchdomain => $env{'form.seludom'}, srchby => 'uname', srchtype => 'exact', }; - my %inst_results; - if (directorysrch_check($instsrch) eq 'ok') { - %inst_results = &Apache::lonnet::inst_directory_query($instsrch); + if ((exists($env{'form.seluname'})) && (exists($env{'form.seludom'}))) { + $instsrch->{'srchterm'} = $env{'form.seluname'}; + $instsrch->{'srchdomain'} = $env{'form.seludom'}; + } else { + $instsrch->{'srchterm'} = $env{'form.srchterm'}; + $instsrch->{'srchdomain'} = $env{'form.srchdomain'}, + } + if (($instsrch->{'srchterm'} ne '') && ($instsrch->{'srchdomain'} ne '')) { + $newuser = $instsrch->{'srchterm'}.':'.$instsrch->{'srchdomain'}; + } + my (%dirsrch_results,%inst_results); + if ($newuser) { + if (&directorysrch_check($instsrch) eq 'ok') { + %dirsrch_results = &Apache::lonnet::inst_directory_query($instsrch); + if (ref($dirsrch_results{$newuser}) eq 'HASH') { + %inst_results = %{$dirsrch_results{$newuser}}; + } + } } my $home_server_list= ''."\n".