--- twiki.orig/lib/TWiki/UI/Manage.pm Sun Aug 8 06:40:48 2004 +++ twiki/lib/TWiki/UI/Manage.pm Wed Sep 1 18:34:07 2004 @@ -51,7 +51,7 @@ } #check to see it the user we are trying to remove is a memebr of a group. - #initinally we refuse to delte the user + #initinally we refuse to delete the user #in a later implementation we will remove the from the group (if Access.pm implements it..) my @groups = TWiki::Access::getGroupsUserIsIn( $wikiName ); my $numberOfGroups = $#groups; @@ -545,6 +545,54 @@ } } closedir(DATA); + +################################################################################ +print "

fixing rcs permissions for pub/

\n"; + +opendir(PUB, $TWiki::pubDir) + or die "Open $TWiki::pubDir failed"; +foreach my $web ( grep !/^\.+$/, readdir PUB ) +{ + $web =~ /(.*)/; # untaint + $web = $1; + + if ( -d "$TWiki::pubDir/$web" ) + { + print "

Unlocking $web

\n"; + + opendir(WEB, "$TWiki::pubDir/$web") + or die "Open $TWiki::pubDir/$web failed"; + foreach my $topic ( grep !/^\.+$/, readdir WEB ) + { + $topic =~ /(.*)/; # untaint + $topic = $1; + + next unless -d "$TWiki::pubDir/$web/$topic"; + + print "$topic/ "; + + opendir( ATTACH, "$TWiki::pubDir/$web/$topic" ) + or die "Open $TWiki::pubDir/$web/$topic failed"; + foreach my $attachment ( grep /.+,v/, readdir ATTACH ) { + $attachment =~ /(.*),v/; # untaint + $attachment = $1; + + print "
  • $attachment
  • \n"; + + print `$TWiki::rcsDir/rcs -q -u -M $TWiki::pubDir/$web/$topic/$attachment`; + print `$TWiki::rcsDir/rcs -q -l $TWiki::pubDir/$web/$topic/$attachment`; +# print `$TWiki::rcsDir/ci -mtestenv -t-missing_v $TWiki::pubDir/$web/$topic/$attachment`; +# print `$TWiki::rcsDir/co -q -l -M $TWiki::pubDir/$web/$topic/$attachment`; + } + closedir( ATTACH ); + + print "
    \n"; + } + closedir(WEB); + } +} +closedir(PUB); + print "

    Re-locking finished

    \n"; print "It is now safe to reload testenv \n"; print "";