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} = ''; |
} |
} |
} |
} |