1
0
mirror of https://github.com/mrclay/minify.git synced 2025-08-10 16:14:18 +02:00

do some trivial codestyle fixes

unix newlines, trailing spaces
This commit is contained in:
Elan Ruusamäe
2016-01-22 00:30:38 +02:00
parent 90bf31f53b
commit 379feaba99
40 changed files with 1424 additions and 1327 deletions

View File

@@ -1,14 +1,14 @@
<?php
/**
* Class HTTP_Encoder
* Class HTTP_Encoder
* @package Minify
* @subpackage HTTP
*/
/**
* Encode and send gzipped/deflated content
*
* The "Vary: Accept-Encoding" header is sent. If the client allows encoding,
* The "Vary: Accept-Encoding" header is sent. If the client allows encoding,
* Content-Encoding and Content-Length are added.
*
* <code>
@@ -26,7 +26,7 @@
* header('Content-Type: text/css'); // needed if not HTML
* HTTP_Encoder::output($css);
* </code>
*
*
* <code>
* // Just sniff for the accepted encoding
* $encoding = HTTP_Encoder::getAcceptedEncoding();
@@ -34,11 +34,11 @@
*
* For more control over headers, use getHeaders() and getData() and send your
* own output.
*
* Note: If you don't need header mgmt, use PHP's native gzencode, gzdeflate,
*
* Note: If you don't need header mgmt, use PHP's native gzencode, gzdeflate,
* and gzcompress functions for gzip, deflate, and compress-encoding
* respectively.
*
*
* @package Minify
* @subpackage HTTP
* @author Stephen Clay <steve@mrclay.org>
@@ -46,47 +46,45 @@
class HTTP_Encoder {
/**
* Should the encoder allow HTTP encoding to IE6?
*
* If you have many IE6 users and the bandwidth savings is worth troubling
* Should the encoder allow HTTP encoding to IE6?
*
* If you have many IE6 users and the bandwidth savings is worth troubling
* some of them, set this to true.
*
*
* By default, encoding is only offered to IE7+. When this is true,
* getAcceptedEncoding() will return an encoding for IE6 if its user agent
* string contains "SV1". This has been documented in many places as "safe",
* but there seem to be remaining, intermittent encoding bugs in patched
* but there seem to be remaining, intermittent encoding bugs in patched
* IE6 on the wild web.
*
*
* @var bool
*/
public static $encodeToIe6 = true;
/**
* Default compression level for zlib operations
*
*
* This level is used if encode() is not given a $compressionLevel
*
*
* @var int
*/
public static $compressionLevel = 6;
/**
* Get an HTTP Encoder object
*
*
* @param array $spec options
*
*
* 'content': (string required) content to be encoded
*
*
* 'type': (string) if set, the Content-Type header will have this value.
*
*
* 'method: (string) only set this if you are forcing a particular encoding
* method. If not set, the best method will be chosen by getAcceptedEncoding()
* The available methods are 'gzip', 'deflate', 'compress', and '' (no
* encoding)
*/
public function __construct($spec)
public function __construct($spec)
{
$this->_useMbStrlen = (function_exists('mb_strlen')
&& (ini_get('mbstring.func_overload') !== '')
@@ -109,19 +107,19 @@ class HTTP_Encoder {
/**
* Get content in current form
*
*
* Call after encode() for encoded content.
*
*
* @return string
*/
public function getContent()
public function getContent()
{
return $this->_content;
}
/**
* Get array of output headers to be sent
*
*
* E.g.
* <code>
* array(
@@ -131,7 +129,7 @@ class HTTP_Encoder {
* )
* </code>
*
* @return array
* @return array
*/
public function getHeaders()
{
@@ -140,11 +138,11 @@ class HTTP_Encoder {
/**
* Send output headers
*
*
* You must call this before headers are sent and it probably cannot be
* used in conjunction with zlib output buffering / mod_gzip. Errors are
* not handled purposefully.
*
*
* @see getHeaders()
*/
public function sendHeaders()
@@ -153,10 +151,10 @@ class HTTP_Encoder {
header($name . ': ' . $val);
}
}
/**
* Send output headers and content
*
*
* A shortcut for sendHeaders() and echo getContent()
*
* You must call this before headers are sent and it probably cannot be
@@ -170,21 +168,21 @@ class HTTP_Encoder {
}
/**
* Determine the client's best encoding method from the HTTP Accept-Encoding
* Determine the client's best encoding method from the HTTP Accept-Encoding
* header.
*
*
* If no Accept-Encoding header is set, or the browser is IE before v6 SP2,
* this will return ('', ''), the "identity" encoding.
*
*
* A syntax-aware scan is done of the Accept-Encoding, so the method must
* be non 0. The methods are favored in order of gzip, deflate, then
* compress. Deflate is always smallest and generally faster, but is
* be non 0. The methods are favored in order of gzip, deflate, then
* compress. Deflate is always smallest and generally faster, but is
* rarely sent by servers, so client support could be buggier.
*
*
* @param bool $allowCompress allow the older compress encoding
*
*
* @param bool $allowDeflate allow the more recent deflate encoding
*
*
* @return array two values, 1st is the actual encoding method, 2nd is the
* alias of that method to use in the Content-Encoding header (some browsers
* call gzip "x-gzip" etc.)
@@ -192,7 +190,7 @@ class HTTP_Encoder {
public static function getAcceptedEncoding($allowCompress = true, $allowDeflate = true)
{
// @link http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
if (! isset($_SERVER['HTTP_ACCEPT_ENCODING'])
|| self::isBuggyIe())
{
@@ -213,7 +211,7 @@ class HTTP_Encoder {
return array('gzip', $m[1]);
}
if ($allowDeflate) {
// deflate checks
// deflate checks
$aeRev = strrev($ae);
if (0 === strpos($aeRev, 'etalfed ,') // ie, webkit
|| 0 === strpos($aeRev, 'etalfed,') // gecko
@@ -230,24 +228,25 @@ class HTTP_Encoder {
,$m)) {
return array('compress', $m[1]);
}
return array('', '');
}
/**
* Encode (compress) the content
*
*
* If the encode method is '' (none) or compression level is 0, or the 'zlib'
* extension isn't loaded, we return false.
*
*
* Then the appropriate gz_* function is called to compress the content. If
* this fails, false is returned.
*
* The header "Vary: Accept-Encoding" is added. If encoding is successful,
*
* The header "Vary: Accept-Encoding" is added. If encoding is successful,
* the Content-Length header is updated, and Content-Encoding is also added.
*
*
* @param int $compressionLevel given to zlib functions. If not given, the
* class default will be used.
*
*
* @return bool success true if the content was actually compressed
*/
public function encode($compressionLevel = null)
@@ -279,19 +278,20 @@ class HTTP_Encoder {
: (string)strlen($encoded);
$this->_headers['Content-Encoding'] = $this->_encodeMethod[1];
$this->_content = $encoded;
return true;
}
/**
* Encode and send appropriate headers and content
*
* This is a convenience method for common use of the class
*
*
* @param string $content
*
*
* @param int $compressionLevel given to zlib functions. If not given, the
* class default will be used.
*
*
* @return bool success true if the content was actually compressed
*/
public static function output($content, $compressionLevel = null)
@@ -302,6 +302,7 @@ class HTTP_Encoder {
$he = new HTTP_Encoder(array('content' => $content));
$ret = $he->encode($compressionLevel);
$he->sendAll();
return $ret;
}
@@ -323,11 +324,12 @@ class HTTP_Encoder {
}
// no regex = faaast
$version = (float)substr($ua, 30);
return self::$encodeToIe6
? ($version < 6 || ($version == 6 && false === strpos($ua, 'SV1')))
: ($version < 7);
}
protected $_content = '';
protected $_headers = array();
protected $_encodeMethod = array('', '');