From c58b09e65d428b53d2e69abf00c5847829f18fc7 Mon Sep 17 00:00:00 2001 From: Igor Wiedler Date: Sun, 10 Jul 2011 01:05:54 +0200 Subject: [PATCH] [feature/template-engine] Remove $include_once argument of display() PHPBB3-9726 --- phpBB/docs/hook_system.html | 4 ++-- phpBB/includes/template/template.php | 15 ++++++--------- tests/template/template_test_case.php | 2 +- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/phpBB/docs/hook_system.html b/phpBB/docs/hook_system.html index a5fad0d530..16774087ac 100644 --- a/phpBB/docs/hook_system.html +++ b/phpBB/docs/hook_system.html @@ -377,10 +377,10 @@ a:active { color: #368AD2; }

phpbb_user_session_handler(); which is called within user::setup after the session and the user object is correctly initialized.
append_sid($url, $params = false, $is_amp = true, $session_id = false); which is called for building urls (appending the session id)
-$template->display($handle, $include_once = true); which is called directly before outputting the (not-yet-compiled) template.
+$template->display($handle, $template); which is called directly before outputting the (not-yet-compiled) template.
exit_handler(); which is called at the very end of phpBB3's execution.

-

Please note: The $template->display hook takes a third $template argument, which is the template instance being used, which should be used instead of the global.

+

Please note: The $template->display hook takes a $template argument, which is the template instance being used, which should be used instead of the global.

There are also valid external constants you may want to use if you embed phpBB3 into your application:

diff --git a/phpBB/includes/template/template.php b/phpBB/includes/template/template.php index 2c121d7247..c16eddc426 100644 --- a/phpBB/includes/template/template.php +++ b/phpBB/includes/template/template.php @@ -216,12 +216,11 @@ class phpbb_template /** * Display handle * @param string $handle Handle to display - * @param bool $include_once Allow multiple inclusions * @return bool True on success, false on failure */ - public function display($handle, $include_once = true) + public function display($handle) { - $result = $this->call_hook($handle, $include_once); + $result = $this->call_hook($handle); if ($result !== false) { return $result[0]; @@ -243,13 +242,12 @@ class phpbb_template /** * Calls hook if any is defined. * @param string $handle Template handle being displayed. - * @param bool $include_once Allow multiple inclusions */ - private function call_hook($handle, $include_once) + private function call_hook($handle) { global $phpbb_hook; - if (!empty($phpbb_hook) && $phpbb_hook->call_hook(array(__CLASS__, __FUNCTION__), $handle, $include_once, $this)) + if (!empty($phpbb_hook) && $phpbb_hook->call_hook(array(__CLASS__, __FUNCTION__), $handle, $this)) { if ($phpbb_hook->hook_return(array(__CLASS__, __FUNCTION__))) { @@ -285,13 +283,12 @@ class phpbb_template * @param string $handle Handle to operate on * @param string $template_var Template variable to assign compiled handle to * @param bool $return_content If true return compiled handle, otherwise assign to $template_var - * @param bool $include_once Allow multiple inclusions of the file * @return bool|string false on failure, otherwise if $return_content is true return string of the compiled handle, otherwise return true */ - public function assign_display($handle, $template_var = '', $return_content = true, $include_once = false) + public function assign_display($handle, $template_var = '', $return_content = true) { ob_start(); - $result = $this->display($handle, $include_once); + $result = $this->display($handle); $contents = ob_get_clean(); if ($result === false) { diff --git a/tests/template/template_test_case.php b/tests/template/template_test_case.php index ed5afdc643..c87b54f973 100644 --- a/tests/template/template_test_case.php +++ b/tests/template/template_test_case.php @@ -20,7 +20,7 @@ class phpbb_template_template_test_case extends phpbb_test_case protected function display($handle) { ob_start(); - $this->assertTrue($this->template->display($handle, false)); + $this->assertTrue($this->template->display($handle)); return self::trim_template_result(ob_get_clean()); }