From 9a7d2a3736f876d1aae7735c9a2d00a35d037e2b Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sun, 23 Nov 2008 12:42:34 +0000 Subject: [PATCH] [Change] Alllow applications to set custom module inclusion path (idea by HoL) git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@9095 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/docs/CHANGELOG.html | 2 ++ phpBB/includes/functions_module.php | 38 ++++++++++++++++++++++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html index 4897535416..0a1ad6b4bb 100644 --- a/phpBB/docs/CHANGELOG.html +++ b/phpBB/docs/CHANGELOG.html @@ -95,6 +95,8 @@
  • [Fix] Only display special ranks to guests; no longer display normal ranks for guests (Bug #36735)
  • [Fix] Properly treat punctuation marks after local urls (Bug #37055)
  • [Fix] Make searching for members by YIM address work in prosilver
  • +
  • [Change] Alllow applications to set custom module inclusion path (idea by HoL)
  • +

    1.ii. Changes since 3.0.2

    diff --git a/phpBB/includes/functions_module.php b/phpBB/includes/functions_module.php index 3f1c6b39e2..d0e7c8cfc8 100644 --- a/phpBB/includes/functions_module.php +++ b/phpBB/includes/functions_module.php @@ -28,11 +28,47 @@ class p_master var $p_mode; var $p_parent; + var $include_path = false; var $active_module = false; var $active_module_row_id = false; var $acl_forum_id = false; var $module_ary = array(); + /** + * Constuctor + * Set module include path + */ + function p_master($include_path = false) + { + global $phpbb_root_path; + + $this->include_path = ($include_path !== false) ? $include_path : $phpbb_root_path . 'includes/'; + + // Make sure the path ends with / + if (substr($this->include_path, -1) !== '/') + { + $this->include_path .= '/'; + } + } + + /** + * Set custom include path for modules + * Schema for inclusion is include_path . modulebase + * + * @param string $include_path include path to be used. + * @access public + */ + function set_custom_include_path($include_path) + { + $this->include_path = $include_path; + + // Make sure the path ends with / + if (substr($this->include_path, -1) !== '/') + { + $this->include_path .= '/'; + } + } + /** * List modules * @@ -395,7 +431,7 @@ class p_master { global $phpbb_root_path, $phpbb_admin_path, $phpEx, $user; - $module_path = $phpbb_root_path . 'includes/' . $this->p_class; + $module_path = $this->include_path . $this->p_class; $icat = request_var('icat', ''); if ($this->active_module === false)