Blame view

sources/lib/private/template/templatefilelocator.php 1.06 KB
31b7f2792   Kload   Upgrade to ownclo...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  <?php
  /**
   * Copyright (c) 2013 Bart Visscher <bartv@thisnet.nl>
   * This file is licensed under the Affero General Public License version 3 or
   * later.
   * See the COPYING-README file.
   */
  
  namespace OC\Template;
  
  class TemplateFileLocator {
  	protected $form_factor;
  	protected $dirs;
  	private $path;
6d9380f96   Cédric Dupont   Update sources OC...
15
16
17
18
  	/**
  	 * @param string[] $dirs
  	 * @param string $form_factor
  	 */
31b7f2792   Kload   Upgrade to ownclo...
19
20
21
22
  	public function __construct( $form_factor, $dirs ) {
  		$this->form_factor = $form_factor;
  		$this->dirs = $dirs;
  	}
6d9380f96   Cédric Dupont   Update sources OC...
23
24
25
  	/**
  	 * @param string $template
  	 */
31b7f2792   Kload   Upgrade to ownclo...
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
  	public function find( $template ) {
  		if ($template === '') {
  			throw new \InvalidArgumentException('Empty template name');
  		}
  
  		foreach($this->dirs as $dir) {
  			$file = $dir.$template.$this->form_factor.'.php';
  			if (is_file($file)) {
  				$this->path = $dir;
  				return $file;
  			}
  			$file = $dir.$template.'.php';
  			if (is_file($file)) {
  				$this->path = $dir;
  				return $file;
  			}
  		}
  		throw new \Exception('template file not found: template:'.$template.' formfactor:'.$this->form_factor);
  	}
  
  	public function getPath() {
  		return $this->path;
  	}
  }