Diff for /loncom/metadata_database/searchcat.pl between versions 1.77 and 1.78

version 1.77, 2007/07/25 23:17:43 version 1.78, 2010/03/26 13:29:31
Line 123  my %oldnames = ( Line 123  my %oldnames = (
                  'portfolio'   => 'portfolio_metadata',                   'portfolio'   => 'portfolio_metadata',
                  'access'      => 'portfolio_access',                   'access'      => 'portfolio_access',
                  'addedfields' => 'portfolio_addedfields',                   'addedfields' => 'portfolio_addedfields',
                  'allusers'     => 'allusers',                   'allusers'    => 'allusers',
                );                 );
   
 my %newnames;  my %newnames;
Line 135  foreach my $key (keys(%oldnames)) { Line 135  foreach my $key (keys(%oldnames)) {
 #  #
 # Only run if machine is a library server  # Only run if machine is a library server
 exit if ($Apache::lonnet::perlvar{'lonRole'} ne 'library');  exit if ($Apache::lonnet::perlvar{'lonRole'} ne 'library');
   my $hostid = $Apache::lonnet::perlvar{'lonHostID'};
   
 #  #
 #  Make sure this process is running from user=www  #  Make sure this process is running from user=www
 my $wwwid=getpwnam('www');  my $wwwid=getpwnam('www');
Line 223  foreach my $dom (@domains) { Line 225  foreach my $dom (@domains) {
              }, join('/',($Apache::lonnet::perlvar{'lonDocRoot'},'res',$dom,$user)) );               }, join('/',($Apache::lonnet::perlvar{'lonDocRoot'},'res',$dom,$user)) );
     }      }
     # Search for all users and public portfolio files      # Search for all users and public portfolio files
     my (%allusers,%portusers);      my (%allusers,%portusers,%courses);
     if ($oneuser) {      if ($oneuser) {
         %portusers = (          %portusers = (
                         $oneuser => '',                          $oneuser => '',
Line 231  foreach my $dom (@domains) { Line 233  foreach my $dom (@domains) {
         %allusers = (          %allusers = (
                         $oneuser => '',                          $oneuser => '',
                        );                         );
           %courses = &courseiddump($dom,'.',1,'.','.',$oneuser,undef,
                                    undef,'.');
     } else {      } else {
           # get courseIDs for domain on current machine
           %courses=&Apache::lonnet::courseiddump($dom,'.',1,'.','.','.',1,[$hostid],'.');
         my $dir = $Apache::lonnet::perlvar{lonUsersDir}.'/'.$dom;          my $dir = $Apache::lonnet::perlvar{lonUsersDir}.'/'.$dom;
         &descend_tree($dom,$dir,0,\%portusers,\%allusers);          &descend_tree($dom,$dir,0,\%portusers,\%allusers);
     }      }
     foreach my $uname (keys(%portusers)) {      foreach my $uname (keys(%portusers)) {
         my $urlstart = '/uploaded/'.$dom.'/'.$uname;          my $urlstart = '/uploaded/'.$dom.'/'.$uname;
         my $pathstart = &propath($dom,$uname).'/userfiles';          my $pathstart = &propath($dom,$uname).'/userfiles';
         my $is_course = &Apache::lonnet::is_course($dom,$uname);          my $is_course = '';
           if (exists($courses{$dom.'_'.$uname})) {
               $is_course = 1;
           }
         my $curr_perm = &Apache::lonnet::get_portfile_permissions($dom,$uname);          my $curr_perm = &Apache::lonnet::get_portfile_permissions($dom,$uname);
         my %access = &Apache::lonnet::get_access_controls($curr_perm);          my %access = &Apache::lonnet::get_access_controls($curr_perm);
         foreach my $file (keys(%access)) {          foreach my $file (keys(%access)) {
Line 263  foreach my $dom (@domains) { Line 272  foreach my $dom (@domains) {
     }      }
     # Update allusers      # Update allusers
     foreach my $uname (keys(%allusers)) {      foreach my $uname (keys(%allusers)) {
           next if (exists($courses{$dom.'_'.$uname}));
         my %userdata =           my %userdata = 
             &Apache::lonnet::get('environment',['firstname','lastname',              &Apache::lonnet::get('environment',['firstname','lastname',
                 'middlename','generation','id','permanentemail'],$dom,$uname);                  'middlename','generation','id','permanentemail'],$dom,$uname);
Line 346  sub descend_tree { Line 356  sub descend_tree {
                 &descend_tree($dom,$dir.'/'.$item,$depth,$allportusers,$alldomusers);                  &descend_tree($dom,$dir.'/'.$item,$depth,$allportusers,$alldomusers);
             } else {              } else {
                 if (-e $dir.'/'.$item.'/file_permissions.db') {                  if (-e $dir.'/'.$item.'/file_permissions.db') {
                      $$allportusers{$item} = '';                      $$allportusers{$item} = '';
                 }                  }
                 if (!&Apache::lonnet::is_course($dom,$item)) {                   if (-e $dir.'/'.$item.'/passwd') {
                     $$alldomusers{$item} = '';                      $$alldomusers{$item} = '';
                 }                  }
             }                     }       

Removed from v.1.77  
changed lines
  Added in v.1.78


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