mirror of
https://github.com/phpbb/phpbb.git
synced 2025-02-24 12:03:21 +01:00
[feature/controller] Rework assign_display(), use exceptions instead of return
PHPBB3-10864
This commit is contained in:
parent
4b6d538b06
commit
ac29c7e9d9
@ -219,30 +219,45 @@ class phpbb_template
|
|||||||
*
|
*
|
||||||
* @param string $handle Handle to operate on
|
* @param string $handle Handle to operate on
|
||||||
* @param string $template_var Template variable to assign compiled handle to
|
* @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 $return_contents 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
|
* @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);
|
$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);
|
$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)
|
public function return_display($handle)
|
||||||
{
|
{
|
||||||
ob_start();
|
ob_start();
|
||||||
$result = $this->display($handle);
|
$result = $this->display($handle);
|
||||||
$contents = ob_get_clean();
|
$contents = ob_get_clean();
|
||||||
|
|
||||||
return $result === false ? $result : $contents;
|
if ($result === false)
|
||||||
|
{
|
||||||
|
throw new RuntimeException($user->lang('TEMPLATE_HANDLE_NOT_FOUND'));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $contents;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user