From 14151ea2f8fb33d4336afa161a0e8b8bed6e5daa Mon Sep 17 00:00:00 2001 From: David Lawrence Date: Thu, 31 Mar 2011 23:38:47 -0400 Subject: Bug 644334 - Add hook to Bugzilla::Install::Filesystem to allow extensions to create files/directories/htaccess r/a=mkanat --- Bugzilla/Hook.pm | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) (limited to 'Bugzilla/Hook.pm') diff --git a/Bugzilla/Hook.pm b/Bugzilla/Hook.pm index cf81e9c7d..996f327c3 100644 --- a/Bugzilla/Hook.pm +++ b/Bugzilla/Hook.pm @@ -720,6 +720,97 @@ time should be printed. =back +=head2 install_filesystem + +Allows for additional files and directories to be added to the +list of files and directories already managed by checksetup.pl. +You will be able to also set permissions for the files and +directories using this hook. You can also use this hook to create +appropriate .htaccess files for any directory to secure its contents. +For examples see L in L. + +Params: + +=over + +=item C + +Hash reference of files that are already present when your extension was +installed but need to have specific permissions set. Each file key +points to another hash reference containing the following settings. + +Params: + +=over + +=item C - Permissions to be set on the file. + +=back + +=item C + +Hash reference containing the name of each directory that will be created, +pointing at its default permissions. + +=item C + +Hash reference containing directories that we want to set the perms on, but not +recurse through. These are directories not created in checksetup.pl. Each directory +key's value is the permissions to be set on the directory. + +=item C + +Hash reference of directories that will have permissions set for each item inside +each of the directories, including the directory itself. Each directory key +points to another hash reference containing the following settings. + +Params: + +=over + +=item C - Permissions to be set on any files beneath the directory. + +=item C - Permissions to be set on the directory itself and any directories +beneath it. + +=back + +=item C + +Hash reference of additional files to be created. Each file key points to another +hash reference containing the following settings. + +Params: + +=over + +=item C - The permissions to be set on the file itself. + +=item C - The contents to be added to the file or leave blank for an +empty file. + +=back + +=item C + +Hash reference containing htaccess files to be created. You can set the permissions +for the htaccess as well as the contents of the file. Each file key points to another +hash reference containing the following settings. + +Params: + +=over + +=item C - Permissions to be set on the htaccess file. + +=item C - Contents of the htaccess file. It can be set manually or +use L defined in L to deny all +by default. + +=back + +=back + =head2 install_update_db This happens at the very end of all the tables being updated -- cgit v1.2.3-24-g4f1b