aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Template/Base.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/Template/Base.php')
-rw-r--r--lib/private/Template/Base.php62
1 files changed, 22 insertions, 40 deletions
diff --git a/lib/private/Template/Base.php b/lib/private/Template/Base.php
index 2adf9172f6b..a13e6703960 100644
--- a/lib/private/Template/Base.php
+++ b/lib/private/Template/Base.php
@@ -8,11 +8,10 @@
namespace OC\Template;
use OCP\Defaults;
-use Throwable;
class Base {
private $template; // The template
- private $vars; // Vars
+ private array $vars = [];
/** @var \OCP\IL10N */
private $l10n;
@@ -24,11 +23,14 @@ class Base {
* @param string $template
* @param string $requestToken
* @param \OCP\IL10N $l10n
+ * @param string $cspNonce
* @param Defaults $theme
*/
- public function __construct($template, $requestToken, $l10n, $theme) {
- $this->vars = [];
- $this->vars['requesttoken'] = $requestToken;
+ public function __construct($template, $requestToken, $l10n, $theme, $cspNonce) {
+ $this->vars = [
+ 'cspNonce' => $cspNonce,
+ 'requesttoken' => $requestToken,
+ ];
$this->l10n = $l10n;
$this->template = $template;
$this->theme = $theme;
@@ -43,56 +45,48 @@ class Base {
*/
protected function getAppTemplateDirs($theme, $app, $serverRoot, $app_dir) {
// Check if the app is in the app folder or in the root
- if ($app_dir !== false && file_exists($app_dir.'/templates/')) {
+ if ($app_dir !== false && file_exists($app_dir . '/templates/')) {
return [
- $serverRoot.'/themes/'.$theme.'/apps/'.$app.'/templates/',
- $app_dir.'/templates/',
+ $serverRoot . '/themes/' . $theme . '/apps/' . $app . '/templates/',
+ $app_dir . '/templates/',
];
}
return [
- $serverRoot.'/themes/'.$theme.'/'.$app.'/templates/',
- $serverRoot.'/'.$app.'/templates/',
+ $serverRoot . '/themes/' . $theme . '/' . $app . '/templates/',
+ $serverRoot . '/' . $app . '/templates/',
];
}
/**
- * @param string $serverRoot
- * @param string $theme
* @return string[]
*/
- protected function getCoreTemplateDirs($theme, $serverRoot) {
+ protected function getCoreTemplateDirs(string $theme, string $serverRoot): array {
return [
- $serverRoot.'/themes/'.$theme.'/core/templates/',
- $serverRoot.'/core/templates/',
+ $serverRoot . '/themes/' . $theme . '/core/templates/',
+ $serverRoot . '/core/templates/',
];
}
/**
* Assign variables
- * @param string $key key
- * @param float|array|bool|integer|string|Throwable $value value
- * @return bool
*
* This function assigns a variable. It can be accessed via $_[$key] in
* the template.
*
* If the key existed before, it will be overwritten
*/
- public function assign($key, $value) {
+ public function assign(string $key, mixed $value): void {
$this->vars[$key] = $value;
- return true;
}
/**
* Appends a variable
- * @param string $key key
- * @param mixed $value value
*
* This function assigns a variable in an array context. If the key already
* exists, the value will be appended. It can be accessed via
* $_[$key][$position] in the template.
*/
- public function append($key, $value) {
+ public function append(string $key, mixed $value): void {
if (array_key_exists($key, $this->vars)) {
$this->vars[$key][] = $value;
} else {
@@ -102,42 +96,29 @@ class Base {
/**
* Prints the proceeded template
- * @return bool
*
* This function proceeds the template and prints its output.
*/
- public function printPage() {
+ public function printPage(): void {
$data = $this->fetchPage();
- if ($data === false) {
- return false;
- } else {
- print $data;
- return true;
- }
+ print $data;
}
/**
* Process the template
*
- * @param array|null $additionalParams
- * @return string This function processes the template.
- *
* This function processes the template.
*/
- public function fetchPage($additionalParams = null) {
+ public function fetchPage(?array $additionalParams = null): string {
return $this->load($this->template, $additionalParams);
}
/**
* doing the actual work
*
- * @param string $file
- * @param array|null $additionalParams
- * @return string content
- *
* Includes the template file, fetches its output
*/
- protected function load($file, $additionalParams = null) {
+ protected function load(string $file, ?array $additionalParams = null): string {
// Register the variables
$_ = $this->vars;
$l = $this->l10n;
@@ -155,6 +136,7 @@ class Base {
// Include
ob_start();
try {
+ require_once __DIR__ . '/functions.php';
include $file;
$data = ob_get_contents();
} catch (\Exception $e) {