From e82135f596e1a292e32f41f1beb609f8f0768718 Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Wed, 20 Feb 2008 21:01:14 +0000 Subject: [PATCH] remove unneeded .wgaccess files --- docs/upgrades/upgrade_7.5.2-7.5.3.pl | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/docs/upgrades/upgrade_7.5.2-7.5.3.pl b/docs/upgrades/upgrade_7.5.2-7.5.3.pl index 1bd5461cc..a65771555 100644 --- a/docs/upgrades/upgrade_7.5.2-7.5.3.pl +++ b/docs/upgrades/upgrade_7.5.2-7.5.3.pl @@ -14,7 +14,8 @@ use Getopt::Long; use WebGUI::Session; use WebGUI::Storage; use WebGUI::Asset; - +use File::Find; +use File::Spec; my $toVersion = '7.5.3'; my $quiet; # this line required @@ -22,11 +23,31 @@ my $quiet; # this line required my $session = start(); # this line required +removePublicStorageAccessFiles($session); # upgrade functions go here finish($session); # this line required +#------------------------------------------------- +sub removePublicStorageAccessFiles { + my $session = shift; + print "\tRemoving unnecessary .wgaccess files.\n" unless ($quiet); + my $uploadsPath = $session->config->get('uploadsPath'); + File::Find::find({no_chdir => 1, wanted => sub { + return if -d $File::Find::name; + my $filename = (File::Spec->splitpath($File::Find::name))[2]; + return if $filename ne '.wgaccess'; + open my $fh, '<', $File::Find::name or return; + local $/ = "\n"; + chomp (my ($user, $viewGroup, $editGroup) = <$fh>); + close $fh; + if ($user eq '1' || $viewGroup eq '1' || $viewGroup eq '7' || $editGroup eq '1' || $editGroup eq '7') { + unlink $File::Find::name; + } + }}, $uploadsPath); +} + ##------------------------------------------------- #sub exampleFunction { # my $session = shift;