aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes')
-rw-r--r--phpBB/includes/template/template.php29
1 files changed, 22 insertions, 7 deletions
diff --git a/phpBB/includes/template/template.php b/phpBB/includes/template/template.php
index a48e8459d5..a6ae44969b 100644
--- a/phpBB/includes/template/template.php
+++ b/phpBB/includes/template/template.php
@@ -219,30 +219,45 @@ 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
- * @return bool|string false on failure, otherwise if $return_content is true return string of the compiled handle, otherwise return true
+ * @param bool $return_contents If true return compiled handle, otherwise assign to $template_var
+ * @return bool|string If $return_content is true return string of the compiled handle, otherwise return true
+ * @throws RuntimeException
*/
- public function assign_display($handle, $template_var = '', $return_content = true)
+ public function assign_display($handle, $template_var = '', $return_contents = true)
{
$contents = $this->return_display($handle);
- if ($return_content === true || empty($template_var) || $contents === false)
+ if (!$template_var)
{
- return $contents;
+ throw new RuntimeException($this->user->lang('TEMPLATE_CANNOT_BE_ASSIGNED')
}
$this->assign_var($template_var, $contents);
- return true;
+ // If !$return_content evaluates to true, true will be returned
+ // Otherwise, the value of $contents will be returned
+ return !$return_contents ?: $contents;
}
+ /**
+ * Return the compiled template code as a string
+ *
+ * @param string $handle Handle to operate on
+ * @return string Compiled template code; can be output directly to page
+ * @throws RuntimeException
+ */
public function return_display($handle)
{
ob_start();
$result = $this->display($handle);
$contents = ob_get_clean();
- return $result === false ? $result : $contents;
+ if ($result === false)
+ {
+ throw new RuntimeException($user->lang('TEMPLATE_HANDLE_NOT_FOUND'));
+ }
+
+ return $contents;
}
/**