aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2014-12-10 15:41:38 +0100
committerMorris Jobke <hey@morrisjobke.de>2014-12-16 18:26:43 +0100
commit775f6a1354cd3f691a65afa754b93c19383ebeee (patch)
tree1efeb4b2c44b27d30f10ad213403d6dec4213eeb /lib
parent5b9c453071fe900529cd26b88fbc681d8b153b43 (diff)
downloadnextcloud-server-775f6a1354cd3f691a65afa754b93c19383ebeee.tar.gz
nextcloud-server-775f6a1354cd3f691a65afa754b93c19383ebeee.zip
make sure styles and scripts are only loaded once
Diffstat (limited to 'lib')
-rw-r--r--lib/private/util.php34
1 files changed, 25 insertions, 9 deletions
diff --git a/lib/private/util.php b/lib/private/util.php
index 6ccb9dba087..b97c0684629 100644
--- a/lib/private/util.php
+++ b/lib/private/util.php
@@ -333,9 +333,9 @@ class OC_Util {
/**
* generates a path for JS/CSS files. If no application is provided it will create the path for core.
*
- * @param $application application to get the files from
- * @param $directory directory withing this application (css, js, vendor, etc)
- * @param $file the file inside of the above folder
+ * @param string $application application to get the files from
+ * @param string $directory directory withing this application (css, js, vendor, etc)
+ * @param string $file the file inside of the above folder
* @return string the path
*/
private static function generatePath($application, $directory, $file) {
@@ -358,7 +358,10 @@ class OC_Util {
* @return void
*/
public static function addScript($application, $file = null) {
- self::$scripts[] = OC_Util::generatePath($application, 'js', $file);
+ $path = OC_Util::generatePath($application, 'js', $file);
+ if (!in_array($path, self::$scripts)) {
+ self::$scripts[] = $path;
+ }
}
/**
@@ -369,7 +372,10 @@ class OC_Util {
* @return void
*/
public static function addVendorScript($application, $file = null) {
- self::$scripts[] = OC_Util::generatePath($application, 'vendor', $file);
+ $path = OC_Util::generatePath($application, 'vendor', $file);
+ if (!in_array($path, self::$scripts)) {
+ self::$scripts[] = $path;
+ }
}
/**
@@ -384,9 +390,12 @@ class OC_Util {
$languageCode = $l->getLanguageCode($application);
}
if (!empty($application)) {
- self::$scripts[] = "$application/l10n/$languageCode";
+ $path = "$application/l10n/$languageCode";
} else {
- self::$scripts[] = "l10n/$languageCode";
+ $path = "l10n/$languageCode";
+ }
+ if (!in_array($path, self::$scripts)) {
+ self::$scripts[] = $path;
}
}
@@ -398,7 +407,10 @@ class OC_Util {
* @return void
*/
public static function addStyle($application, $file = null) {
- self::$styles[] = OC_Util::generatePath($application, 'css', $file);
+ $path = OC_Util::generatePath($application, 'css', $file);
+ if (!in_array($path, self::$styles)) {
+ self::$styles[] = $path;
+ }
}
/**
@@ -409,7 +421,10 @@ class OC_Util {
* @return void
*/
public static function addVendorStyle($application, $file = null) {
- self::$styles[] = OC_Util::generatePath($application, 'vendor', $file);
+ $path = OC_Util::generatePath($application, 'vendor', $file);
+ if (!in_array($path, self::$styles)) {
+ self::$styles[] = $path;
+ }
}
/**
@@ -1344,4 +1359,5 @@ class OC_Util {
public static function isPhpCharSetUtf8() {
return ini_get('default_charset') === 'UTF-8';
}
+
}