]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 643904 - Bugzilla::Extension should export a web_dir attribute to get full path...
authorDavid Lawrence <dlawrence@mozilla.com>
Tue, 22 Mar 2011 22:13:03 +0000 (18:13 -0400)
committerDavid Lawrence <dlawrence@mozilla.com>
Tue, 22 Mar 2011 22:13:03 +0000 (18:13 -0400)
r/a=mkanat

Bugzilla/Extension.pm
Bugzilla/Install/Util.pm

index 857d0d75b8a9924e1b1226db910ebec252380116..dbfee09713408a1443185275a575c79072bb0afd 100644 (file)
@@ -26,7 +26,7 @@ use Bugzilla::Constants;
 use Bugzilla::Error;
 use Bugzilla::Install::Util qw(
     extension_code_files extension_template_directory 
-    extension_package_directory);
+    extension_package_directory extension_web_directory);
 
 use File::Basename;
 use File::Spec;
@@ -214,6 +214,7 @@ sub lib_dir {
 
 sub template_dir { return extension_template_directory(@_); }
 sub package_dir  { return extension_package_directory(@_);  }
+sub web_dir      { return extension_web_directory(@_);      }
 
 ######################
 # Helper Subroutines #
@@ -786,6 +787,15 @@ This defaults to the C<template> subdirectory of the L</package_dir>.
 If you want to override this method, and you have a F<Config.pm>, you must
 override this method in F<Config.pm>.
 
+=head3 C<web_dir>
+
+The directory that your package's web related files are in, such as css and javascript.
+
+This defaults to the C<web> subdirectory of the L</package_dir>.
+
+If you want to override this method, and you have a F<Config.pm>, you must
+override this method in F<Config.pm>.
+
 =head3 C<lib_dir>
 
 The directory where your extension's libraries are.
index c8d3d8eb4124744b324261ca56f993b5d7e91428..a2371a0be0cfc2ac6b7c3fe22d57a9a683ef3af8 100644 (file)
@@ -46,6 +46,7 @@ our @EXPORT_OK = qw(
     extension_package_directory
     extension_requirement_packages
     extension_template_directory
+    extension_web_directory
     indicate_progress
     install_string
     include_languages
@@ -214,6 +215,14 @@ sub extension_template_directory {
     return "$base_dir/template";
 }
 
+# Used in this file and in Bugzilla::Extension.
+sub extension_web_directory {
+    my $extension = shift;
+    my $class = ref($extension) || $extension;
+    my $base_dir = extension_package_directory($class);
+    return "$base_dir/web";
+}
+
 # For extensions that are in the extensions/ dir, this both sets and fetches
 # the name of the directory that stores an extension's "stuff". We need this
 # when determining the template directory for extensions (or other things