summaryrefslogtreecommitdiff
path: root/inc/lib/minify/Minify/Controller
diff options
context:
space:
mode:
authorJano Slota <jano@alokal.eu>2014-05-05 22:55:36 +0200
committerczaks <marcin@6irc.net>2014-05-07 11:17:32 +0200
commitc25b8f01c560ca97ca8a9dc217b495966aaa4d7f (patch)
tree54d4c0aaa98a7cb581832094de4e707c9ae9ac93 /inc/lib/minify/Minify/Controller
parent593560956c629fb2df9b97b5afe9c1eb2666652b (diff)
Updated minify, jQuery, MixItUp and Tooltipster
Diffstat (limited to 'inc/lib/minify/Minify/Controller')
-rwxr-xr-xinc/lib/minify/Minify/Controller/Base.php28
-rwxr-xr-xinc/lib/minify/Minify/Controller/Files.php2
-rwxr-xr-xinc/lib/minify/Minify/Controller/Groups.php2
-rwxr-xr-xinc/lib/minify/Minify/Controller/MinApp.php19
-rwxr-xr-xinc/lib/minify/Minify/Controller/Page.php19
-rwxr-xr-xinc/lib/minify/Minify/Controller/Version1.php11
6 files changed, 19 insertions, 62 deletions
diff --git a/inc/lib/minify/Minify/Controller/Base.php b/inc/lib/minify/Minify/Controller/Base.php
index 240b5449..5a863290 100755
--- a/inc/lib/minify/Minify/Controller/Base.php
+++ b/inc/lib/minify/Minify/Controller/Base.php
@@ -79,33 +79,6 @@ abstract class Minify_Controller_Base {
}
/**
- * Load any code necessary to execute the given minifier callback.
- *
- * The controller is responsible for loading minification code on demand
- * via this method. This built-in function will only load classes for
- * static method callbacks where the class isn't already defined. It uses
- * the PEAR convention, so, given array('Jimmy_Minifier', 'minCss'), this
- * function will include 'Jimmy/Minifier.php'.
- *
- * If you need code loaded on demand and this doesn't suit you, you'll need
- * to override this function in your subclass.
- * @see Minify_Controller_Page::loadMinifier()
- *
- * @param callback $minifierCallback callback of minifier function
- *
- * @return null
- */
- public function loadMinifier($minifierCallback)
- {
- if (is_array($minifierCallback)
- && is_string($minifierCallback[0])
- && !class_exists($minifierCallback[0], false)) {
-
- require str_replace('_', '/', $minifierCallback[0]) . '.php';
- }
- }
-
- /**
* Is a user-given file within an allowable directory, existing,
* and having an extension js/css/html/txt ?
*
@@ -244,7 +217,6 @@ abstract class Minify_Controller_Base {
* @return null
*/
public function log($msg) {
- require_once 'Minify/Logger.php';
Minify_Logger::log($msg);
}
}
diff --git a/inc/lib/minify/Minify/Controller/Files.php b/inc/lib/minify/Minify/Controller/Files.php
index 83f028ad..f084cd07 100755
--- a/inc/lib/minify/Minify/Controller/Files.php
+++ b/inc/lib/minify/Minify/Controller/Files.php
@@ -4,8 +4,6 @@
* @package Minify
*/
-require_once 'Minify/Controller/Base.php';
-
/**
* Controller class for minifying a set of files
*
diff --git a/inc/lib/minify/Minify/Controller/Groups.php b/inc/lib/minify/Minify/Controller/Groups.php
index 2d4e43b2..c4c25db1 100755
--- a/inc/lib/minify/Minify/Controller/Groups.php
+++ b/inc/lib/minify/Minify/Controller/Groups.php
@@ -4,8 +4,6 @@
* @package Minify
*/
-require_once 'Minify/Controller/Base.php';
-
/**
* Controller class for serving predetermined groups of minimized sets, selected
* by PATH_INFO
diff --git a/inc/lib/minify/Minify/Controller/MinApp.php b/inc/lib/minify/Minify/Controller/MinApp.php
index d47c60d9..6943ee6b 100755
--- a/inc/lib/minify/Minify/Controller/MinApp.php
+++ b/inc/lib/minify/Minify/Controller/MinApp.php
@@ -4,8 +4,6 @@
* @package Minify
*/
-require_once 'Minify/Controller/Base.php';
-
/**
* Controller class for requests to /min/index.php
*
@@ -22,6 +20,13 @@ class Minify_Controller_MinApp extends Minify_Controller_Base {
* @return array Minify options
*/
public function setupSources($options) {
+ // PHP insecure by default: realpath() and other FS functions can't handle null bytes.
+ foreach (array('g', 'b', 'f') as $key) {
+ if (isset($_GET[$key])) {
+ $_GET[$key] = str_replace("\x00", '', (string)$_GET[$key]);
+ }
+ }
+
// filter controller options
$cOptions = array_merge(
array(
@@ -36,7 +41,6 @@ class Minify_Controller_MinApp extends Minify_Controller_Base {
$sources = array();
$this->selectionId = '';
$firstMissingResource = null;
-
if (isset($_GET['g'])) {
// add group(s)
$this->selectionId .= 'g=' . $_GET['g'];
@@ -195,9 +199,12 @@ class Minify_Controller_MinApp extends Minify_Controller_Base {
protected function _getFileSource($file, $cOptions)
{
$spec['filepath'] = $file;
- if ($cOptions['noMinPattern']
- && preg_match($cOptions['noMinPattern'], basename($file))) {
- $spec['minifier'] = '';
+ if ($cOptions['noMinPattern'] && preg_match($cOptions['noMinPattern'], basename($file))) {
+ if (preg_match('~\.css$~i', $file)) {
+ $spec['minifyOptions']['compress'] = false;
+ } else {
+ $spec['minifier'] = '';
+ }
}
return new Minify_Source($spec);
}
diff --git a/inc/lib/minify/Minify/Controller/Page.php b/inc/lib/minify/Minify/Controller/Page.php
index de471e12..1095fb46 100755
--- a/inc/lib/minify/Minify/Controller/Page.php
+++ b/inc/lib/minify/Minify/Controller/Page.php
@@ -4,8 +4,6 @@
* @package Minify
*/
-require_once 'Minify/Controller/Base.php';
-
/**
* Controller class for serving a single HTML page
*
@@ -59,7 +57,6 @@ class Minify_Controller_Page extends Minify_Controller_Base {
'cssMinifier' => array('Minify_CSS', 'minify')
,'jsMinifier' => array('JSMin', 'minify')
);
- $this->_loadCssJsMinifiers = true;
unset($options['minifyAll']);
}
$this->sources[] = new Minify_Source($sourceSpec);
@@ -67,21 +64,5 @@ class Minify_Controller_Page extends Minify_Controller_Base {
$options['contentType'] = Minify::TYPE_HTML;
return $options;
}
-
- protected $_loadCssJsMinifiers = false;
-
- /**
- * @see Minify_Controller_Base::loadMinifier()
- */
- public function loadMinifier($minifierCallback)
- {
- if ($this->_loadCssJsMinifiers) {
- // Minify will not call for these so we must manually load
- // them when Minify/HTML.php is called for.
- require_once 'Minify/CSS.php';
- require_once 'JSMin.php';
- }
- parent::loadMinifier($minifierCallback); // load Minify/HTML.php
- }
}
diff --git a/inc/lib/minify/Minify/Controller/Version1.php b/inc/lib/minify/Minify/Controller/Version1.php
index 5279d36d..91fcf614 100755
--- a/inc/lib/minify/Minify/Controller/Version1.php
+++ b/inc/lib/minify/Minify/Controller/Version1.php
@@ -4,8 +4,6 @@
* @package Minify
*/
-require_once 'Minify/Controller/Base.php';
-
/**
* Controller class for emulating version 1 of minify.php (mostly a proof-of-concept)
*
@@ -26,6 +24,11 @@ class Minify_Controller_Version1 extends Minify_Controller_Base {
*
*/
public function setupSources($options) {
+ // PHP insecure by default: realpath() and other FS functions can't handle null bytes.
+ if (isset($_GET['files'])) {
+ $_GET['files'] = str_replace("\x00", '', (string)$_GET['files']);
+ }
+
self::_setupDefines();
if (MINIFY_USE_CACHE) {
$cacheDir = defined('MINIFY_CACHE_DIR')
@@ -51,8 +54,7 @@ class Minify_Controller_Version1 extends Minify_Controller_Base {
) {
return $options;
}
- $extension = $m[1];
-
+
$files = explode(',', $_GET['files']);
if (count($files) > MINIFY_MAX_FILES) {
return $options;
@@ -63,7 +65,6 @@ class Minify_Controller_Version1 extends Minify_Controller_Base {
. DIRECTORY_SEPARATOR;
$prependAbsPaths = $_SERVER['DOCUMENT_ROOT'];
- $sources = array();
$goodFiles = array();
$hasBadSource = false;