Diff for /loncom/lond between versions 1.380.2.1 and 1.381

version 1.380.2.1, 2007/09/29 04:05:29 version 1.381, 2007/09/12 20:29:13
Line 2095  sub rename_user_file_handler { Line 2095  sub rename_user_file_handler {
 &register_handler("renameuserfile", \&rename_user_file_handler, 0,1,0);  &register_handler("renameuserfile", \&rename_user_file_handler, 0,1,0);
   
 #  #
 #  Checks if the specified user has an active session on the server  
 #  return ok if so, not_found if not  
 #  
 # Parameters:  
 #   cmd      - The request keyword that dispatched to tus.  
 #   tail     - The tail of the request (colon separated parameters).  
 #   client   - Filehandle open on the client.  
 # Return:  
 #    1.  
 sub user_has_session_handler {  
     my ($cmd, $tail, $client) = @_;  
   
     my ($udom, $uname) = map { &unescape($_) } (split(/:/, $tail));  
       
     &logthis("Looking for $udom $uname");  
     opendir(DIR,$perlvar{'lonIDsDir'});  
     my $filename;  
     while ($filename=readdir(DIR)) {  
  last if ($filename=~/^\Q$uname\E_\d+_\Q$udom\E_/);  
     }  
     if ($filename) {  
  &Reply($client, "ok\n", "$cmd:$tail");  
     } else {  
  &Failure($client, "not_found\n", "$cmd:$tail");  
     }  
     return 1;  
   
 }  
 &register_handler("userhassession", \&user_has_session_handler, 0,1,0);  
   
 #  
 #  Authenticate access to a user file by checking that the token the user's   #  Authenticate access to a user file by checking that the token the user's 
 #  passed also exists in their session file  #  passed also exists in their session file
 #  #
Line 4514  sub get_institutional_defaults_handler { Line 4483  sub get_institutional_defaults_handler {
 &register_handler("autoinstcodedefaults",  &register_handler("autoinstcodedefaults",
                   \&get_institutional_defaults_handler,0,1,0);                    \&get_institutional_defaults_handler,0,1,0);
   
   sub get_institutional_user_rules {
       my ($cmd, $tail, $client)   = @_;
       my $userinput               = "$cmd:$tail";
       my $dom = &unescape($tail);
       my (%rules_hash,@rules_order);
       my $outcome;
       eval {
           local($SIG{__DIE__})='DEFAULT';
           $outcome = &localenroll::username_rules($dom,\%rules_hash,\@rules_order);
       };
       if (!$@) {
           if ($outcome eq 'ok') {
               my $result;
               foreach my $key (keys(%rules_hash)) {
                   $result .= &escape($key).'='.&Apache::lonnet::freeze_escape($rules_hash{$key}).'&';
               }
               $result =~ s/\&$//;
               $result .= ':';
               if (@rules_order > 0) {
                   foreach my $item (@rules_order) {
                       $result .= &escape($item).'&';
                   }
               }
               $result =~ s/\&$//;
               &Reply($client,$result."\n",$userinput);
           } else {
               &Reply($client,"error\n", $userinput);
           }
       } else {
           &Failure($client,"unknown_cmd\n",$userinput);
       }
   }
   &register_handler("instuserrules",\&get_institutional_user_rules,0,1,0);
   
   
   sub institutional_username_check {
       my ($cmd, $tail, $client)   = @_;
       my $userinput               = "$cmd:$tail";
       my %rulecheck;
       my $outcome;
       my ($udom,$uname,@rules) = split(/:/,$tail);
       $udom = &unescape($udom);
       $uname = &unescape($uname);
       @rules = map {&unescape($_);} (@rules);
       eval {
           local($SIG{__DIE__})='DEFAULT';
           $outcome = &localenroll::username_check($udom,$uname,\@rules,\%rulecheck);
       };
       if (!$@) {
           if ($outcome eq 'ok') {
               my $result='';
               foreach my $key (keys(%rulecheck)) {
                   $result.=&escape($key).'='.&Apache::lonnet::freeze_escape($rulecheck{$key}).'&';
               }
               &Reply($client,$result."\n",$userinput);
           } else {
               &Reply($client,"error\n", $userinput);
           }
       } else {
           &Failure($client,"unknown_cmd\n",$userinput);
       }
   }
   &register_handler("instrulecheck",\&institutional_username_check,0,1,0);
   
   
 # Get domain specific conditions for import of student photographs to a course  # Get domain specific conditions for import of student photographs to a course
 #  #

Removed from v.1.380.2.1  
changed lines
  Added in v.1.381


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>