From d5bd99b363ec955a90bf50f9f8856a819bec31bf Mon Sep 17 00:00:00 2001 From: Andy Miller Date: Tue, 8 Dec 2015 11:42:39 -0700 Subject: [PATCH] Fix for individual asset pipeline value not functioning + optimizations #513 --- system/src/Grav/Common/Assets.php | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/system/src/Grav/Common/Assets.php b/system/src/Grav/Common/Assets.php index 069c30fca..be6b81f7a 100644 --- a/system/src/Grav/Common/Assets.php +++ b/system/src/Grav/Common/Assets.php @@ -203,7 +203,7 @@ class Assets * * @return $this */ - public function add($asset, $priority = null, $pipeline = null) + public function add($asset, $priority = null, $pipeline = true) { // More than one asset if (is_array($asset)) { @@ -243,7 +243,7 @@ class Assets * * @return $this */ - public function addCss($asset, $priority = null, $pipeline = null, $group = null) + public function addCss($asset, $priority = null, $pipeline = true, $group = null) { if (is_array($asset)) { foreach ($asset as $a) { @@ -259,16 +259,20 @@ class Assets $asset = $this->buildLocalLink($asset); } + // Check for existence + if ($asset === false) { + return $this; + } + $data = [ 'asset' => $asset, 'priority' => intval($priority ?: 10), 'order' => count($this->css), - 'pipeline' => $pipeline ?: true, + 'pipeline' => (bool) $pipeline, 'group' => $group ?: 'head' ]; // check for dynamic array and merge with defaults - $count_args = func_num_args(); if (func_num_args() == 2) { $dynamic_arg = func_get_arg(1); if (is_array($dynamic_arg)) { @@ -297,7 +301,7 @@ class Assets * @param string $group name of the group * @return $this */ - public function addJs($asset, $priority = null, $pipeline = null, $loading = null, $group = null) + public function addJs($asset, $priority = null, $pipeline = true, $loading = null, $group = null) { if (is_array($asset)) { foreach ($asset as $a) { @@ -313,17 +317,21 @@ class Assets $asset = $this->buildLocalLink($asset); } + // Check for existence + if ($asset === false) { + return $this; + } + $data = [ 'asset' => $asset, 'priority' => intval($priority ?: 10), 'order' => count($this->js), - 'pipeline' => $pipeline ?: true, + 'pipeline' => (bool) $pipeline, 'loading' => $loading ?: '', 'group' => $group ?: 'head' ]; // check for dynamic array and merge with defaults - $count_args = func_num_args(); if (func_num_args() == 2) { $dynamic_arg = func_get_arg(1); if (is_array($dynamic_arg)) { @@ -351,7 +359,7 @@ class Assets * * @return \Grav\Common\Assets */ - public function addAsyncJs($asset, $priority = null, $pipeline = null, $group = null) + public function addAsyncJs($asset, $priority = null, $pipeline = true, $group = null) { return $this->addJs($asset, $priority, $pipeline, 'async', $group); } @@ -368,7 +376,7 @@ class Assets * * @return \Grav\Common\Assets */ - public function addDeferJs($asset, $priority = null, $pipeline = null, $group = null) + public function addDeferJs($asset, $priority = null, $pipeline = true, $group = null) { return $this->addJs($asset, $priority, $pipeline, 'defer', $group); }