From d763b320486a3cd475c0e7a1537b0954341287d6 Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Mon, 3 Nov 2014 11:18:17 +0100 Subject: [PATCH] ability to add bower resources * add addVendorScript & addVendorStyle * refactoring of addScript and addStyle * add shortcuts vendorScript and vendorStyle --- .bowerrc | 3 ++ bower.json | 17 +++++++++ lib/private/template/functions.php | 32 +++++++++++++++++ lib/private/util.php | 58 +++++++++++++++++++++--------- 4 files changed, 94 insertions(+), 16 deletions(-) create mode 100644 .bowerrc create mode 100644 bower.json diff --git a/.bowerrc b/.bowerrc new file mode 100644 index 00000000000..107785fb3ee --- /dev/null +++ b/.bowerrc @@ -0,0 +1,3 @@ +{ + "directory": "core/vendor" +} diff --git a/bower.json b/bower.json new file mode 100644 index 00000000000..3a6d8d73663 --- /dev/null +++ b/bower.json @@ -0,0 +1,17 @@ +{ + "name": "ownCloud", + "version": "8.0 pre alpha", + "homepage": "http://www.owncloud.org", + "license": "AGPL", + "private": true, + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "core/vendor", + "test", + "tests" + ], + "dependencies": { + } +} diff --git a/lib/private/template/functions.php b/lib/private/template/functions.php index dede604c01d..0e2c5775c46 100644 --- a/lib/private/template/functions.php +++ b/lib/private/template/functions.php @@ -39,6 +39,22 @@ function script($app, $file) { } } +/** + * Shortcut for adding vendor scripts to a page + * @param string $app the appname + * @param string|string[] $file the filename, + * if an array is given it will add all scripts + */ +function vendorScript($app, $file) { + if(is_array($file)) { + foreach($file as $f) { + OC_Util::addVendorScript($app, $f); + } + } else { + OC_Util::addVendorScript($app, $file); + } +} + /** * Shortcut for adding styles to a page * @param string $app the appname @@ -55,6 +71,22 @@ function style($app, $file) { } } +/** + * Shortcut for adding vendor styles to a page + * @param string $app the appname + * @param string|string[] $file the filename, + * if an array is given it will add all styles + */ +function vendorStyle($app, $file) { + if(is_array($file)) { + foreach($file as $f) { + OC_Util::addVendorStyle($app, $f); + } + } else { + OC_Util::addVendorStyle($app, $file); + } +} + /** * Shortcut for adding translations to a page * @param string $app the appname diff --git a/lib/private/util.php b/lib/private/util.php index de4bef4cb8a..bee0a579192 100644 --- a/lib/private/util.php +++ b/lib/private/util.php @@ -331,24 +331,47 @@ class OC_Util { } /** - * add a javascript file + * generates a path for JS/CSS files. If no application is provided it will create the path for core. * - * @param string $application application id - * @param string|null $file filename - * @return void + * @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 + * @return string the path */ - public static function addScript($application, $file = null) { + private static function generatePath($application, $directory, $file) { if (is_null($file)) { $file = $application; $application = ""; } if (!empty($application)) { - self::$scripts[] = "$application/js/$file"; + return "$application/$directory/$file"; } else { - self::$scripts[] = "js/$file"; + return "$directory/$file"; } } + /** + * add a javascript file + * + * @param string $application application id + * @param string|null $file filename + * @return void + */ + public static function addScript($application, $file = null) { + self::$scripts[] = OC_Util::generatePath($application, 'js', $file); + } + + /** + * add a javascript file from the vendor sub folder + * + * @param string $application application id + * @param string|null $file filename + * @return void + */ + public static function addVendorScript($application, $file = null) { + self::$scripts[] = OC_Util::generatePath($application, 'vendor', $file); + } + /** * add a translation JS file * @@ -375,15 +398,18 @@ class OC_Util { * @return void */ public static function addStyle($application, $file = null) { - if (is_null($file)) { - $file = $application; - $application = ""; - } - if (!empty($application)) { - self::$styles[] = "$application/css/$file"; - } else { - self::$styles[] = "css/$file"; - } + self::$styles[] = OC_Util::generatePath($application, 'css', $file); + } + + /** + * add a css file from the vendor sub folder + * + * @param string $application application id + * @param string|null $file filename + * @return void + */ + public static function addVendorStyle($application, $file = null) { + self::$styles[] = OC_Util::generatePath($application, 'vendor', $file); } /** -- 2.39.5