diff options
author | Roeland Jago Douma <rullzer@owncloud.com> | 2016-05-12 14:01:14 +0200 |
---|---|---|
committer | Roeland Jago Douma <rullzer@owncloud.com> | 2016-05-13 08:54:07 +0200 |
commit | 05cc0dd47881816ef9c91c8883dafc0716cd6d6c (patch) | |
tree | 28f05d7e7c09a3656911a9af4965f41b2d573d8f /lib/private/Template/TemplateFileLocator.php | |
parent | eb79b8383107c71f8def60d195de09a1152af263 (diff) | |
download | nextcloud-server-05cc0dd47881816ef9c91c8883dafc0716cd6d6c.tar.gz nextcloud-server-05cc0dd47881816ef9c91c8883dafc0716cd6d6c.zip |
Move \OC\Template to PSR-4
Diffstat (limited to 'lib/private/Template/TemplateFileLocator.php')
-rw-r--r-- | lib/private/Template/TemplateFileLocator.php | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/lib/private/Template/TemplateFileLocator.php b/lib/private/Template/TemplateFileLocator.php new file mode 100644 index 00000000000..f8553156914 --- /dev/null +++ b/lib/private/Template/TemplateFileLocator.php @@ -0,0 +1,61 @@ +<?php +/** + * @author Bart Visscher <bartv@thisnet.nl> + * @author Jörn Friedrich Dreyer <jfd@butonic.de> + * @author Morris Jobke <hey@morrisjobke.de> + * @author Thomas Müller <thomas.mueller@tmit.eu> + * + * @copyright Copyright (c) 2016, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + * + */ + +namespace OC\Template; + +class TemplateFileLocator { + protected $dirs; + private $path; + + /** + * @param string[] $dirs + */ + public function __construct( $dirs ) { + $this->dirs = $dirs; + } + + /** + * @param string $template + * @return string + * @throws \Exception + */ + public function find( $template ) { + if ($template === '') { + throw new \InvalidArgumentException('Empty template name'); + } + + foreach($this->dirs as $dir) { + $file = $dir.$template.'.php'; + if (is_file($file)) { + $this->path = $dir; + return $file; + } + } + throw new \Exception('template file not found: template:'.$template); + } + + public function getPath() { + return $this->path; + } +} |