aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Template/TemplateFileLocator.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/Template/TemplateFileLocator.php')
-rw-r--r--lib/private/Template/TemplateFileLocator.php29
1 files changed, 13 insertions, 16 deletions
diff --git a/lib/private/Template/TemplateFileLocator.php b/lib/private/Template/TemplateFileLocator.php
index 38583d158a3..11a568b5b21 100644
--- a/lib/private/Template/TemplateFileLocator.php
+++ b/lib/private/Template/TemplateFileLocator.php
@@ -1,29 +1,31 @@
<?php
+declare(strict_types=1);
+
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
* SPDX-License-Identifier: AGPL-3.0-only
*/
+
namespace OC\Template;
-class TemplateFileLocator {
- protected $dirs;
- private $path;
+use OCP\Template\TemplateNotFoundException;
+class TemplateFileLocator {
/**
* @param string[] $dirs
*/
- public function __construct($dirs) {
- $this->dirs = $dirs;
+ public function __construct(
+ private array $dirs,
+ ) {
}
/**
- * @param string $template
- * @return string
- * @throws \Exception
+ * @return array{string,string} Directory path and filename
+ * @throws TemplateNotFoundException
*/
- public function find($template) {
+ public function find(string $template): array {
if ($template === '') {
throw new \InvalidArgumentException('Empty template name');
}
@@ -31,14 +33,9 @@ class TemplateFileLocator {
foreach ($this->dirs as $dir) {
$file = $dir . $template . '.php';
if (is_file($file)) {
- $this->path = $dir;
- return $file;
+ return [$dir,$file];
}
}
- throw new \Exception('template file not found: template:' . $template);
- }
-
- public function getPath() {
- return $this->path;
+ throw new TemplateNotFoundException('template file not found: template:' . $template);
}
}