summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@owncloud.com>2016-02-26 13:56:02 +0100
committerJoas Schilling <nickvergessen@owncloud.com>2016-02-26 13:56:02 +0100
commit78570a5f728bb0b16ddea31f8ca8cfc212144246 (patch)
tree9c224f450511dab16d4b2a8ceb46ad4743223eef /lib
parent5718402277b3d9a8bd688e3fbbf965bcf19addbe (diff)
downloadnextcloud-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.php21
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);