diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2014-12-10 15:41:38 +0100 |
---|---|---|
committer | Morris Jobke <hey@morrisjobke.de> | 2014-12-16 18:26:43 +0100 |
commit | 775f6a1354cd3f691a65afa754b93c19383ebeee (patch) | |
tree | 1efeb4b2c44b27d30f10ad213403d6dec4213eeb /lib | |
parent | 5b9c453071fe900529cd26b88fbc681d8b153b43 (diff) | |
download | nextcloud-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.php | 34 |
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'; } + } |