--- loncom/lond 2007/06/18 22:49:52 1.375 +++ loncom/lond 2007/07/25 22:52:07 1.376 @@ -2,7 +2,7 @@ # The LearningOnline Network # lond "LON Daemon" Server (port "LOND" 5663) # -# $Id: lond,v 1.375 2007/06/18 22:49:52 albertel Exp $ +# $Id: lond,v 1.376 2007/07/25 22:52:07 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -59,7 +59,7 @@ my $DEBUG = 0; # Non zero to ena my $status=''; my $lastlog=''; -my $VERSION='$Revision: 1.375 $'; #' stupid emacs +my $VERSION='$Revision: 1.376 $'; #' stupid emacs my $remoteVERSION; my $currenthostid="default"; my $currentdomainid; @@ -4640,6 +4640,30 @@ sub inst_usertypes_handler { } ®ister_handler("inst_usertypes", \&inst_usertypes_handler, 0, 1, 0); +sub inst_dirsrch_handler { + my ($cmd, $tail, $client) = @_; + my ($domain,$srchby,$srchterm,$srchtype) = split(/:/, $tail); + $srchby = &unescape($srchby); + $srchterm = &unescape($srchterm); + my $userinput = $cmd.":".$tail; # For logging purposes. + my (%instusers,%instids,$result,$res); + eval { + local($SIG{__DIE__})='DEFAULT'; + $result=&localenroll::get_userinfo($domain,undef,undef,\%instusers,\%instids,undef,$srchby,$srchterm,$srchtype); + }; + if ($result eq 'ok') { + if (keys(%instusers) > 0) { + foreach my $key (keys(%instusers)) { + my $usrstr = &Apache::lonnet::hash2str(%{$instusers{$key}}); + $res.=&escape($key).'='.&escape($usrstr).'&'; + } + } + $res=~s/\&$//; + } + &Reply($client, "$res\n", $userinput); +} +®ister_handler("instdirsrch", \&inst_dirsrch_handler, 0, 1, 0); + # mkpath makes all directories for a file, expects an absolute path with a # file or a trailing / if just a dir is passed # returns 1 on success 0 on failure