diff options
author | Joas Schilling <nickvergessen@owncloud.com> | 2016-02-26 13:56:02 +0100 |
---|---|---|
committer | Joas Schilling <nickvergessen@owncloud.com> | 2016-02-26 13:56:02 +0100 |
commit | 78570a5f728bb0b16ddea31f8ca8cfc212144246 (patch) | |
tree | 9c224f450511dab16d4b2a8ceb46ad4743223eef /lib | |
parent | 5718402277b3d9a8bd688e3fbbf965bcf19addbe (diff) | |
download | nextcloud-server-78570a5f728bb0b16ddea31f8ca8cfc212144246.tar.gz nextcloud-server-78570a5f728bb0b16ddea31f8ca8cfc212144246.zip |
Allow to overwrite a single language string via the theme folder
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/template/jsresourcelocator.php | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/lib/private/template/jsresourcelocator.php b/lib/private/template/jsresourcelocator.php index 4df1ac8c7f0..6ea7b6291c0 100644 --- a/lib/private/template/jsresourcelocator.php +++ b/lib/private/template/jsresourcelocator.php @@ -31,8 +31,24 @@ class JSResourceLocator extends ResourceLocator { public function doFind($script) { $theme_dir = 'themes/'.$this->theme.'/'; if (strpos($script, '3rdparty') === 0 - && $this->appendIfExist($this->thirdpartyroot, $script.'.js') - || $this->appendIfExist($this->serverroot, $theme_dir.'apps/'.$script.'.js') + && $this->appendIfExist($this->thirdpartyroot, $script.'.js')) { + return; + } + + if (strpos($script, '/l10n/') !== false) { + // For language files we try to load them all, so themes can overwrite + // single l10n strings without having to translate all of them. + $found = 0; + $found += $this->appendIfExist($this->serverroot, 'core/'.$script.'.js'); + $found += $this->appendIfExist($this->serverroot, $theme_dir.'core/'.$script.'.js'); + $found += $this->appendIfExist($this->serverroot, $script.'.js'); + $found += $this->appendIfExist($this->serverroot, $theme_dir.$script.'.js'); + $found += $this->appendIfExist($this->serverroot, $theme_dir.'apps/'.$script.'.js'); + + if ($found) { + return; + } + } else if ($this->appendIfExist($this->serverroot, $theme_dir.'apps/'.$script.'.js') || $this->appendIfExist($this->serverroot, $theme_dir.$script.'.js') || $this->appendIfExist($this->serverroot, $script.'.js') || $this->appendIfExist($this->serverroot, $theme_dir.'core/'.$script.'.js') @@ -40,6 +56,7 @@ class JSResourceLocator extends ResourceLocator { ) { return; } + $app = substr($script, 0, strpos($script, '/')); $script = substr($script, strpos($script, '/')+1); $app_path = \OC_App::getAppPath($app); |