summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Hook.pm
diff options
context:
space:
mode:
authorDavid Lawrence <dlawrence@mozilla.com>2011-04-01 05:38:47 +0200
committerDavid Lawrence <dlawrence@mozilla.com>2011-04-01 05:38:47 +0200
commit14151ea2f8fb33d4336afa161a0e8b8bed6e5daa (patch)
treecfc8220d3a81b92c69b17bb8543f1a024e1e4f94 /Bugzilla/Hook.pm
parent827893640965d055b40193c825dad3555acb4eb3 (diff)
downloadbugzilla-14151ea2f8fb33d4336afa161a0e8b8bed6e5daa.tar.gz
bugzilla-14151ea2f8fb33d4336afa161a0e8b8bed6e5daa.tar.xz
Bug 644334 - Add hook to Bugzilla::Install::Filesystem to allow extensions to create files/directories/htaccess
r/a=mkanat
Diffstat (limited to 'Bugzilla/Hook.pm')
-rw-r--r--Bugzilla/Hook.pm91
1 files changed, 91 insertions, 0 deletions
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<FILESYSTEM> in L<Bugzilla::Install::Filesystem>.
+
+Params:
+
+=over
+
+=item C<files>
+
+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<perms> - Permissions to be set on the file.
+
+=back
+
+=item C<create_dirs>
+
+Hash reference containing the name of each directory that will be created,
+pointing at its default permissions.
+
+=item C<non_recurse_dirs>
+
+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<recurse_dirs>
+
+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<files> - Permissions to be set on any files beneath the directory.
+
+=item C<dirs> - Permissions to be set on the directory itself and any directories
+beneath it.
+
+=back
+
+=item C<create_files>
+
+Hash reference of additional files to be created. Each file key points to another
+hash reference containing the following settings.
+
+Params:
+
+=over
+
+=item C<perms> - The permissions to be set on the file itself.
+
+=item C<contents> - The contents to be added to the file or leave blank for an
+empty file.
+
+=back
+
+=item C<htaccess>
+
+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<perms> - Permissions to be set on the htaccess file.
+
+=item C<contents> - Contents of the htaccess file. It can be set manually or
+use L<HT_DEFAULT_DENY> defined in L<Bugzilla::Install::Filesystem> to deny all
+by default.
+
+=back
+
+=back
+
=head2 install_update_db
This happens at the very end of all the tables being updated