diff options
author | Bart Visscher <bartv@thisnet.nl> | 2013-10-02 07:42:06 +0200 |
---|---|---|
committer | Bart Visscher <bartv@thisnet.nl> | 2013-10-02 07:42:06 +0200 |
commit | 46b5202f4a4d9addf44c9ceae885d893e7dc0aa1 (patch) | |
tree | 449740ac038633f39238fa2dce0e86d0e98ca9d6 /lib/private/template/cssresourcelocator.php | |
parent | 6619d8273aa264d39c34a13ecafe720fc2356f90 (diff) | |
parent | 5ade595911261cf47cdad17deb4d1a013f523245 (diff) | |
download | nextcloud-server-46b5202f4a4d9addf44c9ceae885d893e7dc0aa1.tar.gz nextcloud-server-46b5202f4a4d9addf44c9ceae885d893e7dc0aa1.zip |
Merge branch 'master' into convert-oc_appconfig
Diffstat (limited to 'lib/private/template/cssresourcelocator.php')
-rw-r--r-- | lib/private/template/cssresourcelocator.php | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/private/template/cssresourcelocator.php b/lib/private/template/cssresourcelocator.php new file mode 100644 index 00000000000..8e7831ca549 --- /dev/null +++ b/lib/private/template/cssresourcelocator.php @@ -0,0 +1,43 @@ +<?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 CSSResourceLocator extends ResourceLocator { + public function doFind( $style ) { + if (strpos($style, '3rdparty') === 0 + && $this->appendIfExist($this->thirdpartyroot, $style.'.css') + || $this->appendIfExist($this->serverroot, $style.$this->form_factor.'.css') + || $this->appendIfExist($this->serverroot, $style.'.css') + || $this->appendIfExist($this->serverroot, 'core/'.$style.$this->form_factor.'.css') + || $this->appendIfExist($this->serverroot, 'core/'.$style.'.css') + ) { + return; + } + $app = substr($style, 0, strpos($style, '/')); + $style = substr($style, strpos($style, '/')+1); + $app_path = \OC_App::getAppPath($app); + $app_url = $this->webroot . '/index.php/apps/' . $app; + if ($this->appendIfExist($app_path, $style.$this->form_factor.'.css', $app_url) + || $this->appendIfExist($app_path, $style.'.css', $app_url) + ) { + return; + } + throw new \Exception('css file not found: style:'.$style); + } + + public function doFindTheme( $style ) { + $theme_dir = 'themes/'.$this->theme.'/'; + $this->appendIfExist($this->serverroot, $theme_dir.'apps/'.$style.$this->form_factor.'.css') + || $this->appendIfExist($this->serverroot, $theme_dir.'apps/'.$style.'.css') + || $this->appendIfExist($this->serverroot, $theme_dir.$style.$this->form_factor.'.css') + || $this->appendIfExist($this->serverroot, $theme_dir.$style.'.css') + || $this->appendIfExist($this->serverroot, $theme_dir.'core/'.$style.$this->form_factor.'.css') + || $this->appendIfExist($this->serverroot, $theme_dir.'core/'.$style.'.css'); + } +} |