cvs: php-src(PHP_5_3) /ext/phar phar.phar /ext/phar/phar pharcommand.inc

From: Date: Sat, 31 May 2008 15:53:16 +0000
Subject: cvs: php-src(PHP_5_3) /ext/phar phar.phar /ext/phar/phar pharcommand.inc
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-50211@lists.php.net to get a copy of this message
helly Sat May 31 15:53:16 2008 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/phar phar.phar /php-src/ext/phar/phar pharcommand.inc Log: - MFH Fix function names after they have been refactored

http://cvs.php.net/viewvc.cgi/php-src/ext/phar/phar.phar?r1=1.7&r2=1.7.2.1&diff_format=u Index: php-src/ext/phar/phar.phar diff -u php-src/ext/phar/phar.phar:1.7 php-src/ext/phar/phar.phar:1.7.2.1 --- php-src/ext/phar/phar.phar:1.7 Sat Mar 22 01:52:11 2008 +++ php-src/ext/phar/phar.phar Sat May 31 15:53:16 2008 @@ -21,7 +21,7 @@ * @author Davey Shafik <davey@synapticmedia.net> * @author Greg Beaver <cellog@php.net> * @link http://www.synapticmedia.net Synaptic Media - * @version $Id: Archive.php,v 1.52 2007/09/01 20:28:14 cellog Exp $ + * @version $Id: Archive.php,v 1.38 2007/02/06 04:31:45 cellog Exp $ * @package PHP_Archive * @category PHP */ @@ -119,254 +119,24 @@ */ private $_basename; - - /** - * Default MIME types used for the web front controller - * - * @var array - */ - public static $defaultmimes = array( - 'aif' => 'audio/x-aiff', - 'aiff' => 'audio/x-aiff', - 'arc' => 'application/octet-stream', - 'arj' => 'application/octet-stream', - 'art' => 'image/x-jg', - 'asf' => 'video/x-ms-asf', - 'asx' => 'video/x-ms-asf', - 'avi' => 'video/avi', - 'bin' => 'application/octet-stream', - 'bm' => 'image/bmp', - 'bmp' => 'image/bmp', - 'bz2' => 'application/x-bzip2', - 'css' => 'text/css', - 'doc' => 'application/msword', - 'dot' => 'application/msword', - 'dv' => 'video/x-dv', - 'dvi' => 'application/x-dvi', - 'eps' => 'application/postscript', - 'exe' => 'application/octet-stream', - 'gif' => 'image/gif', - 'gz' => 'application/x-gzip', - 'gzip' => 'application/x-gzip', - 'htm' => 'text/html', - 'html' => 'text/html', - 'ico' => 'image/x-icon', - 'jpe' => 'image/jpeg', - 'jpg' => 'image/jpeg', - 'jpeg' => 'image/jpeg', - 'js' => 'application/x-javascript', - 'log' => 'text/plain', - 'mid' => 'audio/x-midi', - 'mov' => 'video/quicktime', - 'mp2' => 'audio/mpeg', - 'mp3' => 'audio/mpeg3', - 'mpg' => 'audio/mpeg', - 'pdf' => 'aplication/pdf', - 'png' => 'image/png', - 'rtf' => 'application/rtf', - 'tif' => 'image/tiff', - 'tiff' => 'image/tiff', - 'txt' => 'text/plain', - 'xml' => 'text/xml', - ); - - public static $defaultphp = array( - 'php' => true - ); - - public static $defaultphps = array( - 'phps' => true - ); - - public static $deny = array('/.+\.inc$/'); - - public static function viewSource($archive, $file) - { - // security, idea borrowed from PHK - if (!file_exists($archive . '.introspect')) { - header("HTTP/1.0 404 Not Found"); - return false; - } - if (self::_fileExists($archive, $_GET['viewsource'])) { - $source = highlight_file('phar://@ALIAS@/' . - $_GET['viewsource'], true); - header('Content-Type: text/html'); - header('Content-Length: ' . strlen($source)); - echo '<html><head><title>Source of ', - htmlspecialchars($_GET['viewsource']), '</title></head>'; - echo '<body><h1>Source of ', - htmlspecialchars($_GET['viewsource']), '</h1>'; - if (isset($_GET['introspect'])) { - echo '<a href="', htmlspecialchars($_SERVER['PHP_SELF']), - '?introspect=', urlencode(htmlspecialchars($_GET['introspect'])), - '">Return to ', htmlspecialchars($_GET['introspect']), '</a><br />'; - } - echo $source; - return false; - } else { - header("HTTP/1.0 404 Not Found"); - return false; - } - - } - - public static function introspect($archive, $dir) - { - // security, idea borrowed from PHK - if (!file_exists($archive . '.introspect')) { - header("HTTP/1.0 404 Not Found"); - return false; - } - if (!$dir) { - $dir = '/'; - } - $dir = self::processFile($dir); - if ($dir[0] != '/') { - $dir = '/' . $dir; - } - try { - $self = htmlspecialchars($_SERVER['PHP_SELF']); - $iterate = new DirectoryIterator('phar://@ALIAS@' . $dir); - echo '<html><head><title>Introspect ', htmlspecialchars($dir), - '</title></head><body><h1>Introspect ', htmlspecialchars($dir), - '</h1><ul>'; - if ($dir != '/') { - echo '<li><a href="', $self, '?introspect=', - htmlspecialchars(dirname($dir)), '">..</a></li>'; - } - foreach ($iterate as $entry) { - if ($entry->isDot()) continue; - $name = self::processFile($entry->getPathname()); - $name = str_replace('phar://@ALIAS@/', '', $name); - if ($entry->isDir()) { - echo '<li><a href="', $self, '?introspect=', - urlencode(htmlspecialchars($name)), - '">', - htmlspecialchars($entry->getFilename()), '/</a> [directory]</li>'; - } else { - echo '<li><a href="', $self, '?introspect=', - urlencode(htmlspecialchars($dir)), '&viewsource=', - urlencode(htmlspecialchars($name)), - '">', - htmlspecialchars($entry->getFilename()), '</a></li>'; - } - } - return false; - } catch (Exception $e) { - echo '<html><head><title>Directory not found: ', - htmlspecialchars($dir), '</title></head>', - '<body><h1>Directory not found: ', htmlspecialchars($dir), '</h1>', - '<p>Try <a href="', htmlspecialchars($_SERVER['PHP_SELF']), '?introspect=/">', - 'This link</a></p></body></html>'; - return false; - } - } - - public static function webFrontController($initfile) - { - if (isset($_SERVER) && isset($_SERVER['REQUEST_URI'])) { - $uri = parse_url($_SERVER['REQUEST_URI']); - $archive = realpath($_SERVER['SCRIPT_FILENAME']); - $subpath = str_replace('/' . basename($archive), '', $uri['path']); - if (!$subpath || $subpath == '/') { - if (isset($_GET['viewsource'])) { - return self::viewSource($archive, $_GET['viewsource']); - } - if (isset($_GET['introspect'])) { - return self::introspect($archive, $_GET['introspect']); - } - $subpath = '/' . $initfile; - } - if (!self::_fileExists($archive, substr($subpath, 1))) { - header("HTTP/1.0 404 Not Found"); - return false; - } - foreach (self::$deny as $pattern) { - if (preg_match($pattern, $subpath)) { - header("HTTP/1.0 404 Not Found"); - return false; - } - } - $inf = pathinfo(basename($subpath)); - if (!isset($inf['extension'])) { - header('Content-Type: text/plain'); - header('Content-Length: ' . - self::_filesize($archive, substr($subpath, 1))); - readfile('phar://@ALIAS@' . $subpath); - return false; - } - if (isset(self::$defaultphp[$inf['extension']])) { - include 'phar://@ALIAS@' . $subpath; - return false; - } - if (isset(self::$defaultmimes[$inf['extension']])) { - header('Content-Type: ' . self::$defaultmimes[$inf['extension']]); - header('Content-Length: ' . - self::_filesize($archive, substr($subpath, 1))); - readfile('phar://@ALIAS@' . $subpath); - return false; - } - if (isset(self::$defaultphps[$inf['extension']])) { - header('Content-Type: text/html'); - $c = highlight_file('phar://@ALIAS@' . $subpath, true); - header('Content-Length: ' . strlen($c)); - echo $c; - return false; - } - header('Content-Type: text/plain'); - header('Content-Length: ' . - self::_filesize($archive, substr($subpath, 1))); - readfile('phar://@ALIAS@' . $subpath); - } - } - - /** - * Detect end of stub - * - * @param string $buffer stub past '__HALT_'.'COMPILER();' - * @return end of stub, prior to length of manifest. - */ - private static final function _endOfStubLength($buffer) - { - $pos = 0; - if (!strlen($buffer)) { - return $pos; - } - if (($buffer[0] == ' ' || $buffer[0] == "\n") && @substr($buffer, 1, 2) == '?>') - { - $pos += 3; - if ($buffer[$pos] == "\r" && $buffer[$pos+1] == "\n") { - $pos += 2; - } - else if ($buffer[$pos] == "\n") { - $pos += 1; - } - } - return $pos; - } - /** * Allows loading an external Phar archive without include()ing it * - * @param string $file phar package to load - * @param string $alias alias to use + * @param string $file * @throws Exception */ - public static final function loadPhar($file, $alias = NULL) + public static final function loadPhar($file) { $file = realpath($file); if ($file) { $fp = fopen($file, 'rb'); $buffer = ''; - while (!feof($fp)) { + while (!$found && !feof($fp)) { $buffer .= fread($fp, 8192); // don't break phars if ($pos = strpos($buffer, '__HALT_COMPI' . 'LER();')) { - $buffer .= fread($fp, 5); fclose($fp); - $pos += 18; - $pos += self::_endOfStubLength(substr($buffer, $pos)); - return self::_mapPhar($file, $pos, $alias); + return self::_mapPhar($file, $pos); } } fclose($fp); @@ -379,28 +149,21 @@ * This function can only be called from the initialization of the .phar itself. * Any attempt to call from outside the .phar or to re-alias the .phar will fail * as a security measure. - * @param string $alias + * @param string $file full realpath() filepath, like /path/to/go-pear.phar + * @param string $alias alias used in opening a file within the phar + * like phar://go-pear.phar/file + * @param bool $compressed determines whether to attempt zlib uncompression + * on accessing internal files * @param int $dataoffset the value of __COMPILER_HALT_OFFSET__ */ - public static final function mapPhar($alias = NULL, $dataoffset = NULL) + public static final function mapPhar($file, $dataoffset) { try { - $trace = debug_backtrace(); - $file = $trace[0]['file']; // this ensures that this is safe if (!in_array($file, get_included_files())) { die('SECURITY ERROR: PHP_Archive::mapPhar can only be called from within ' . 'the phar that initiates it'); } - $file = realpath($file); - if (!isset($dataoffset)) { - $dataoffset = constant('__COMPILER_HALT_OFFSET'.'__'); - $fp = fopen($file, 'rb'); - fseek($fp, $dataoffset, SEEK_SET); - $dataoffset = $dataoffset + self::_endOfStubLength(fread($fp, 5)); - fclose($fp); - } - self::_mapPhar($file, $dataoffset); } catch (Exception $e) { die($e->getMessage()); @@ -413,7 +176,7 @@ * @param unknown_type $file * @param unknown_type $dataoffset */ - private static function _mapPhar($file, $dataoffset, $alias = NULL) + private static function _mapPhar($file, $dataoffset) { $file = realpath($file); if (isset(self::$_manifest[$file])) { @@ -446,9 +209,7 @@ $alias = $info['alias']; $explicit = true; } else { - if (!isset($alias)) { - $alias = $file; - } + $alias = $file; $explicit = false; } self::$_manifest[$file] = $info['manifest']; @@ -490,15 +251,15 @@ $apiver = bin2hex($apiver); $apiver_dots = hexdec($apiver[0]) . '.' . hexdec($apiver[1]) . '.' . hexdec($apiver[2]); $majorcompat = hexdec($apiver[0]); - $calcapi = explode('.', self::APIVersion()); + $calcapi = explode('.', '1.0.0'); if ($calcapi[0] != $majorcompat) { throw new Exception('Phar is incompatible API version ' . $apiver_dots . ', but ' . - 'PHP_Archive is API version '.self::APIVersion()); + 'PHP_Archive is API version 1.0.0'); } if ($calcapi[0] === '0') { - if (self::APIVersion() != $apiver_dots) { + if ('1.0.0' != $apiver_dots) { throw new Exception('Phar is API version ' . $apiver_dots . - ', but PHP_Archive is API version '.self::APIVersion(), E_USER_ERROR); + ', but PHP_Archive is API version 1.0.0', E_USER_ERROR); } } $flags = unpack('V', substr($manifest, 6, 4)); @@ -537,8 +298,7 @@ // 4 = flags // 5 = metadata length $ret['manifest'][$savepath] = array_values(unpack('Va/Vb/Vc/Vd/Ve/Vf', substr($manifest, $start, 24))); - $ret['manifest'][$savepath][3] = sprintf('%u', $ret['manifest'][$savepath][3] - & 0xffffffff); + $ret['manifest'][$savepath][3] = sprintf('%u', $ret['manifest'][$savepath][3]); if ($ret['manifest'][$savepath][5]) { $ret['manifest'][$savepath][6] = unserialize(substr($manifest, $start + 24, $ret['manifest'][$savepath][5])); @@ -615,17 +375,6 @@ } } - private static function _fileExists($archive, $path) - { - return isset(self::$_manifest[$archive]) && - isset(self::$_manifest[$archive][$path]); - } - - private static function _filesize($archive, $path) - { - return self::$_manifest[$archive][$path][0]; - } - /** * Seek to a file within the master archive, and extract its contents * @param string @@ -661,7 +410,7 @@ return array("Not valid internal .phar file (size error {$size} != " . $this->currentStat[7] . ")"); } - if (self::$_manifest[$this->_archiveName][$path][3] != sprintf("%u", crc32($data) & 0xffffffff)) { + if (self::$_manifest[$this->_archiveName][$path][3] != sprintf("%u", crc32($data))) { return array("Not valid internal .phar file (checksum error)"); } self::$_manifest[$this->_archiveName][$path]['ok'] = true; @@ -724,7 +473,6 @@ */ public function initializeStream($file) { - $file = self::processFile($file); $info = @parse_url($file); if (!$info) { $info = self::parseUrl($file); @@ -858,7 +606,6 @@ return false; } $this->position = $pos + $this->currentStat[7]; - break; default: return false; } @@ -898,22 +645,6 @@ $this->_setCurrentFile($file); $isdir = false; } else { - do { - $isdir = false; - if ($file == '/') { - break; - } - foreach (self::$_manifest[$this->_archiveName] as $path => $info) { - if (strpos($path, $file) === 0) { - if (strlen($path) > strlen($file) && - $path[strlen($file)] == '/') { - break 2; - } - } - } - // no files exist and no directories match this string - return false; - } while (false); $isdir = true; } } else { @@ -991,19 +722,16 @@ } elseif (strpos($file, $path) === 0) { $fname = substr($file, strlen($path) + 1); if (strpos($fname, '/')) { - // this is a directory $a = explode('/', $fname); $this->_dirFiles[array_shift($a)] = true; - } elseif ($file[strlen($path)] == '/') { - // this is a file + } elseif (strlen($file) != strlen($path)) { + // if the two match exactly, the path searched for was + // not a directory, but was a file. $this->_dirFiles[$fname] = true; } } } @fclose($this->fp); - if (!count($this->_dirFiles)) { - return false; - } @uksort($this->_dirFiles, 'strnatcmp'); return true; } @@ -1029,6 +757,7 @@ public function dir_closedir() { $this->_dirFiles = array(); + reset($this->_dirFiles); return true; } @@ -1038,7 +767,7 @@ */ public function dir_rewinddir() { - @reset($this->_dirFiles); + reset($this->_dirFiles); return true; } @@ -1046,7 +775,7 @@ * API version of this class * @return string */ - public static final function APIVersion() + public final function APIVersion() { return '1.0.0'; } @@ -1096,19 +825,6 @@ } return self::$_manifest[$phar][$file][6]; } - - /** - * @return list of supported signature algorithmns. - */ - public static function getsupportedsignatures() - { - $ret = array('MD5', 'SHA-1'); - if (extension_loaded('hash')) { - $ret[] = 'SHA-256'; - $ret[] = 'SHA-512'; - } - return $ret; - } } ?><?php } @@ -1174,8 +890,8 @@ new PharCommand($argc, $argv); __HALT_COMPILER(); ?> -N-+6+ $m¤ŸA ©¥Ä EꖤíÀõïÌ>È]{Ɲ ¼‚#"ø'¯ÉåHc_b;e,cþà—¬²õ6¾£é˜„;~%ÃGäxy±z";š¾¤'B“œ"‘Ó8Ïiákò,¹¨ËÙjµôX™z«Q'ýßÒ¯ivŸVLx’ðlõä=ƒ—‰¡B'5è´¦žÈÝ lvHPÛÍI².sÊÖèG¾p-2&ÝhoL¬1 ›5ží=8»° §¹z¿Ã(㟝ÁÖ×›¬êÞp·Æ+P#™Ï‰7ñ\  Î@BÓz×÷\’ï¾#†ºPË5Ýҕ!@V&nZ‘.ÙbÞ.šþ2üê½Ôl,1~‘"#‡€{ZP^† Y¤ùütœ×5_N/´Äo(á.H¼ªDú R§šë(‰D êàÁ¹òDúXsžG]WÊ^OªQ©LiìÙ @@ -1195,35 +911,36 @@ yZVMjzm ‘ªJnÛhà÷•gÍß¶)L6-0êCπ7w†<4–3C ¾D CέMXqDtñ¼Æ{@&hí¾ßaš Á]'Ámý£Ó¼Ñm·æe7ö®*Õç9ÎÚ³BªŠ:ê¨Á9vê ÕªŽ!-ШOf¦£?€ ?.Nþ •f`J-$Üe(V¸Ã¢ô:ï÷/àԔK”`8t+T„'D$0ŸÌ!`ςˆ­{M„Cî-$ë.åF–íìõî]R»uR'Í{Iš§×·u²^J‚$ž)RKR‰Ýnþ÷›|-ô31Ÿ¬+ŸÍÖÙ¤J ×Ha".D‘#èa“å*åKžU1‚颸^”ÐŒŽˆ¬½èùû\$¹«õ8M&o cr1çÕÅÙëÔ¬åù`'=²¸˜_$Ùl—š Øø4Z+«â¢à+WƒˆEÐ<=d÷Ùøïßá¿ÿÚ}D>)”>}úÔ»?‰fÈø÷5{’&쯘zÄô“ïWq/äD€þNSXÁ,Ôèhôö#O?ð@#9s¦×sÆçÀ˜œ‰¹s‰G²í>ý뛗¤jú`[ÒÊÏ8øÔAèùÍ 42ó _ºd&¦…käÑRýªþ%Q¬g•'YÉb2%‚Zþü«¤‰ûq‘Løèú †d(닼äÙ(ÔG©®WœèO@àCV®ø$™áDQ‚$̋K–gî -®³Ë,ÿ˜Y‹$Ñ@à:¬GvlG·eG0“"¾ègøÅ;:ö=¡§-˜qH:“0áõn‹ÍzMM«ªm&‡YìLhUéwiåaL³çE¿å ºÊK¾Ôô˜(å(‚^Ь”õ“h9ýFÀ|ùÃ7Ñ0*ñ¡ø~öãÉaÔÎ~I¿ù|ί¶š.A86W(ïa¾Na‰ø•–#ÔûI¶ZW´neÇj]~­ŸdSûz\NŠ„,£-ƶâšöÃD®×ƒVDяLQÆ×Ë1˜t6@n9Ÿ¢7R®ÇJŒI@rrSVb¯AR‚*uLdùeˆò£H¿„ìçbq&î#H‡Ô_ƒ’ ø¿_ ö•vé¥U¿ ¤y ›¬­æ @³ù„6Q¸"¯|}q"]±I"ÚÀ{.À›(«=â|³;!ëoý9_³ ¸O°sá-&/ƒ0ðx²±P©;é%¿¦Àd6oà³Æ‡‚sAçVùõí€úì:k_ð¿­ÔÓÔt•Q„²Ëî±Ø îtT;eOÇÔíhõD¢×Ãþýï5(wš0版Ó}ÔÚè<R°‰êz$»×§;ÍO2fDÀ6‹²N³iù xVnœíL³ð1ÓύHÛ/°‘Á؃Šzq°Cä¡Å`¿ñI(hm”M…Êñ5à4¹d2@"¾ ˆøè-ÅALø:r¶L®0’Žë‡+†>IU&z×`?³ùPZ­€Øà:ÃóÀ%3³5ų XÕÀê3è<Ðsª…«4¼Ù~¾§<¨~» XU~Ùlá1ދÁ]°‹BSîúŸ¨x'06ÁµxðóiB«/¢(C)!÷ÜU´ŒM 7ÌOxù§Ã·gÍÁ@£-W/ârÛ¬7,áTÐäЪú î*PâäWØ ¡lí¶°%"µûéåòio\I=?×Ëz#‘F“ñCðv¿€‡å˜e&…h–duœ˜1_µä2‰Uï‰Åϰ%΋¥,hábÕ¿}ž›™>%<‰³eÞ[ʚX5Ðr¢9=S5¢ýF’ UO›(`Ò³‘"œC⏦U2‚x㧁ëµ0–„üœÅc‘ñÀåkᘑÍ炡­¯ŠáÕ`†P° ìÓ« áïÞ*§uCØR¥œpÁ55Ðyø°-ߺHÛe8Zí¥ÉeCìž,8ìI*ÃÇCÿGñVŽA±7I½¤’)lðsf´Q°h£ #‰î8§WÕÇo1–y¬ýa©n#ª–’NB\ìÛ£f{¤[zf.4ª†¼! o‚nS(AŠ$bÍTVÛ¨9 -Éí[3õ¶§°ÞHúêmÂ'$E#`œ¦Ä…Ey;•î²ÖüÄ[mâN¸^—MâæãÿÁH(xâXUKŽƨ7ށ¬H¯l¬à$6 -Á&$ßý¬ -å×Ð(”uj×'§”˜BÐSÐ4ß pAi„Ý€hé>"û%êBú¯9õê\t C–€‚öïҀqµ²e|=æòŒpC«ä.Æ,Í<Ép=n×y’Õ'íôö–al$y"ØÙ⽐ïSû=²Æ&è*Y.{GG£#0Ayv&Ò½¶’V7wßÅØmÞ»þ rW¸8B;‰a)b>½Ö¾Y_Le„¶­ä\¨ØhÃݰêzàëØøÅ +ÜÒîb²œb9æÅJÅHéx^3[Õ1Ô-âfvžžcŽÍ-ͪ‘¸ÛŸ&E9òu›³Iõ´T¸¨L7%”U°òõ)LƉXâvÕް_å@¶·2<‰»îá¡:´)¿ œûø…V!®C¨°%±rÉ(¹£r=–ñ*É"ĵ²«(ܬ¢²JB]Յ®Q<ž<G`U^áÞ^Æ."Ÿ²©•ˆr)¾ŠWÊ㟮Z±ûS#J -«V”fžV:oƒ­‡ÎSÊë‘ôï'x º`ÇÌS)E]²3bÏgl/A¶NDµqÍO¯^üÙè@qNYÚ1‡È|eVX(*D©Žµú -A‹>YÆYj€ÀÝ`¯~zkt2ëú‹o…ú§­ì’ç’W(íä~¸|}Æëº‹ ÝR~¬±ðŽ(ÕÞÁß1)H1{ۖ™]ª¿øb÷28Œ-½¬CÞ;û¬‹q»dÔYX~”Ùxìk¬vÓnãY2ó ±ð5¦Š]OãÄטSx§ÞÆBg5¯|IWz —¾ÆIöA í4¾ò7ÆÝc²Ñ¶nL<-u,_QžŒXà]·)<éøx=›q Y•žbfzlßÆÊ«ëÍ”[þºômÄäšÛ(c,Гz-‚cITâu-»Û1BÎ+š>꣱õÒÞ$¸Šëš¬3ѼãõÎs½êçdå‰-‹Z>ÛפVsENc}§@»¥s¬LØÂT|½¡â›,û±«~¢8Dõß(·ê@óÑôìðTjnÞiê_ÛQ$Qۂr²àÆu.>´•9ø¦@ˆ‡×YZe"¤â%}ÔµGi<áƒhã?ø?ñÜ`VªXˆ‘÷öØ1;@C-…¹ÊÊáÓ/±³ }+Û oýHßKÊH À\à -ºzïWÕõUý¾³ޚë ÊË©.¨kgf‰d+.Àûʞ+Z’ÓfEAèÚ²¸ÓÕ®Nm|—†‘¢˜zT{Ð’^“píCmº·¯álÙS5e´§xY.Ê^Ä~ɜ•(k6|-̇ç pC»ªQŸòÞZbcÿÇ<ҝ8»fó̯VÏHˆîU±æ®úKÓ Ø€¸V¹bRLÅ€þ….ÞÈ®‘í*^Ãz+WJ±ŽZ]I²ªQ°‚íŒþãå‡x·Õ+p¦á L™0t¹œÊ´-*°º&­k[[&^×\¥u£î«¶)7꫞&º°j]¤QGœ¨-ÇÒ5ã7ëÌ;YÌõ˜¡Ì¦vï“áñN:Ö.CQÕfãmÁµzkÞ+HTìå‹RïQI`mÝ˺nÀf‚¨Äâ`Ü!_ì­j/2bf(‰Cm$qYûw³Q”D¼G54Ú-Id™´DvÓêD f’±Ÿß¼`¢·d->£ˆv‘-rN ¥wÑè]´kÖ1oWºÜ¦ ƒj7ÀøÈ^Ka—)ªxˆGގGd±¿ Õ4H'öL*¹é_åÖ$_g•xŒ‘òÃÎóÏ?e)ìÜñRf@WfV1Mó|:òœƒÖåÉ9Á?çÎÅ!¾ ˜jbÐBô)`c|éH¥kcŒØS9—™„ó̼à -;©+¢îv•ÄG»ÍU$Q4=òêqÊ3—®ÂÆVáG£Ù’BÂî®Q DÁ„Q 9¢+ò µÑÜÐ?r‡r…ó´Öq3å[«ñF¶[+qž÷˜r‹iÔÌÙP)å-©ûBÇCT×)_ÁÒë&äõ¼X&Ž/ÅO1Þ*“NyèÆˆ:êx0£Ÿu®À8ëjä9!aî­É<F~2ŽFÚ÷®µ8q W·R‰ϔ\™ÎÔÏ­Â,Q—U ƒÐLYŠE¨6¢3°#êÐrÖMªXS‚iÞŧªž>I…‰³îøgë@톃úL§L^¤ªÒoSßMæ7ëËòÓÕ$Z+eHr/D“ï'ù -$×Pôú¯l4Ñ´l·Õ§±ëùåNn›/9åH0Wö _éJ¨Ð¸>>çœ÷mq‚›W§tû·§{Iä,Ì̽rtsÇÖOÊùo«¼÷úþ!p8©‹ñº¿§jjyµ²|WûR„nµFMoõÔuVoâÆµ0 ÝH¯çilVÁ’ˆ×öT´)’<o}B՗mîvØ´ÐõŸÝ>ŠÊ:Z-¹'È,•Ï×ÅÈͤYý°­bí&²ë©Sƒ-2&rªL*«‹\1l‘YÏÆuÆ©0¯·c•Rh{Šõò&vVŠ–»Ôm¶¥º=YÎ;oÒé–1ß$Âçu'O“Ô»%ì·Ä¿ÿ? ûyè‹qÓý¬¥pZ͑/µ‘56±¢ÒCWÙ¨–þb›nõçeSU~à贉Oû©º>šr“ä¥*ïés¾ G¢Óh+jRûžh-éÿÌ5øNå?¶î>ŒL-ö§[)²1/ -ªÝ›éʓq¸}eD~Ìúª &^€€Á‘Ú”õ(§ 3OÞÙSBý󿕠ܲÜP­¨çäÒÄ é¼²õP_큯Kì2Сɠë"°vfk”u¯Â œ{QÕD¤¿I?]•-µ>M$®[=Üß'âEÛ«{[Æhh¼¡f;—Œ—lœÝíE9sø&å6:v¦Ë3ûèùŽpõ9V·ÞêìT+”¶3@7Y{­ æÍµÆ++¥C£«e:ôSìó¯M⪹žújÞ¢¯žu髐‚}j?…ÚÛUY-$ï£²Ìøœ%’ -ÊÂ_яÒ&f¤‰þ‰4˜‡¤nü¬¦(3É^“OðzN§’ùRÝke’Q/…Š”ª®4W)Öúb3}ˆ«àŽöÎL؇9›úM·¤ð&‚s‰ÍÐHj•¾…žQNYÛ -aúù‰ÙμÈÕh§ËÕ=è€V:iIW÷×Djà &RØãÉ©úD!½µVìõ„c¡n ¤Ê6ªdÒMԓbîÕ¯LšÉæ‰Ý­[tѧ©>žðÛÜõa.ÿŒÄêF’œïçˆÍ}Ó½F¬8¼ -hãŠýö+79UÜyGc=ÍMOÜÊüƒÇnB‚0°>TžJØb¢?kµÆ§7e¿ÃÖ=/㼑כÌ ¥Ëú¼öLK©úö­Êw±kݜ×Ðí7Înå•vD—Qž©†!Crb—Š=¼Ð–é7-ȏ·a@º&O¾cˆÈz4Oùû¯-E=t8&惬^KoO ¯1vU2¡´x­±¼]÷r¤–·ÚÆ"ACÓÈ0œÿ^ݕpNaã3–·ã¢T«·Ö3­õ‹<D.CŒ©ÑºSº#pO®…V6ȗš"ÕéÀµ¼IJ «^"ªgDø€›€PJh³Y -$˜ë{†%+ˆ_¡Çም Yí‚ø‹…¥é"¨øþ/²Hé5+bqòGQäPL³zî#VZEwÈV°º”زðu«ê.9kªk~ùò6öcbÝû}$D `éMtúKÉX~-ˆoÕßÀi„(%èÜÑ|­¦ÍÙêlêðõ£¦†ï}!C?§ÖåÇI±!Ý<nKÒ<å7Bú|ÕlsŸzêá7sI gÐ%‘uý›{%!7+J/ŠR×ö‡ì¼ 2þÞ¨Ž¨B—>‹—2‡©ŽxÙÜk–XŽžÁÇïˬnÇPû™â 3² ’)T‰ÿ<èÒ⦞†º…>«¡îe¨hJ‡cP»Aö5èi}ÄùW0ȽôÿÆVÿz*`š”iڂ¡F7` ï«|*î¤:06]ÐÈ@yC¦Ý?©ô ßøI"±ìc³ã[g'h™3˜Å¹ì;PHo#2/Ì x5pÃö\ÐÎ,ÿ‰»üÿŒ + ¾ñBߨ/A{Þк/lŸä¹j³Ñ»+yÈP+mFÆn­Ó £õs<_×Ia¿WyY&ò’XeL6Ie(aûî%®Sáô¼ó¥‡M³n’µÿ.¼ªMÃ~+v½‹-~º#?|w|獒AOƒ@…Ï쯘£6±T/4Öڋš4ö˜) °qYÈì.jˆÿ݁jj i˅ÌûÞ¼}K¸Ÿ×E­T<™(˜Àc¦A] OµMzEۜ«PÃZÄ^ز¦ ƒÎíE ¾¨`…œOqN;”¢'çf6»…«þ%z‡ºmXVe‰6•9Vq mÛþËúôdSž×o N -ÝÐ_מ÷Ön:Öv^]ֆJ²½®ì©Ú±\Og}·ã¥öá^) ²ÛЋ'F_±jU”›tÇBN~£s‹>0]\ªHXÄ$“… £;}«CÿÂhtçx™>´M¤A£Ós"¤:Ë-Æ2ÞékL¶ò9ÆôݲÐ&•¸3ï9°ÓVäQ~&ò}o|؎!7@ç?_9X-˪á~L†W^¡„d*ÿt\ No newline at end of file +$ë.åV–íìõî]R»uR'Í{Iš§×·q²^J‚$ž)RKR‰Ýnþ÷›|+ô31Ÿ¬+ŸÍÖÙ¤J ×Ha".D‘#èa“å*åKžU1‚颸^”ÐŒŽˆ¬½èùû\$¹«õ8M&o cr1çÕÅÙ«ûÔ¬åù`'=²¸˜_$Ùl—š Øø4Z+«â¢à+WƒˆEÐ<=dß°ûðß¿Ãÿµû:|R(}úô©v͐5ðïkö8MØS^1õˆé'?¬â"^"&Ȉ+y"N;6éG0‘UœÎ·\éyŽD­¿*xIf+’j±ù@Ãlù¤jК™pŒ—9 +³‚îIí³<ãÑíÁÜå¢ý |Z¢Ðþ¸f=B=Ÿæªî¶®ï· oŠíX— À2¼Dñ5DßÅÃËu J-›¤kÇW?¼†/ÀUÀKlš0ã:t&3`ÂëÝ›õššVUÛL5²Ø™ÐªÒïÒÊØf΋~Ë!t”—|©é1;#PÊQ½ Y)ë'Ñrú­€ùâÇo£aT.âCñý짓èý’~ó-øœ_m5]‚pl®P ÞÃ|Âñ+-G¨÷“lµ®hÝʎպü2Z?ɦ÷õ¸œ )XF?ZŒ5lÅ5í‡+ˆ\®­ˆ¢™¢Œ¯—c0èl€Ür>Eo¤\•“€ä䦬Ä^ƒ¤U<ê˜ÈòËä#F‘~ÿ2ØÏÅãLÜG©¿%/ð~¿ì+5ìÒK«~Hó6Y[ÍA€8fÏó m¢pE^ýôêâDºb“D´€÷\€7QV{Äùf;wBÖß(ús¾fpŸ`ç.Âx Dï¢Cø+lJÔM°¼+êYXí6~jþ²ŸìàD¶’\"2èÂÕBâЪõØ +\}i“öºÓŒÑz\‘cÕD^‡±þ Ì3 € ‚» =2D¿¥É8ÚÝ5ösøWïéÎÁ­®\ø4ÿ-zMŽXôô-èzÓé}ØH²B0í@>u!?þíþF¸cû÷÷G0ìý›!?äNûôÂ.âq’B/”œ@%œ­W«¼+&/ƒ0ðx²±P©;é%¿¦Àd6oà³Æ‡‚sAçVùõí€úì:k_ð¿­ÔÓÔt•Q„²Ëî±Ø îtT;eOÇÔíhõD¢×Ãþýï5(wš0版Ó}ØÚè<R°‰êz$»×§;ÍO2fDÀ6‹²N³iù+xVnœíL³ð1ÓύHÛ¯°‘Á؃Šzq°Cä¡Å`¿ñI(hm”M…Êñ5à4¹d2@"¾ ˆøèÅALø:r¶L®0’Žë‡+†>IU&z×`?³ùPZ­€Øà:ÃóÀ%3³5ų XÕÀê3è<Ðsª…«4¼Ù~¾§<¨~» XU~Ùlá1ދÁ]°‹BSîúŸ¨x'06ÁµxðóiB«/¢(C)!÷ÜU´ŒM 7ÌOxù§Ã·gÍÁ@£+qD€G°0~jÌ¢Ǝ<+Ñ,Éê890c¾jÉe«Þ‹ŸaKœKY&ÐÂŪ7~1ú4<73}Jxg˼",¶”5±j åDsz¦j*Dû$A«ž6QÀ¤g#E8‡$Ä'M«"dñÆOÖka, ù%‹Ç"ãË)Ö6Â1#›ÏC[_ëÁ ¡`2اW.Âß;¼UN놰¥J9á‚kj ó+´ÚK“ˆØ=^pؓT†‡þãƒbo’zI%SØàçÌh ¢`ÑFAFÝqN¯¨ßa,óXûÃRÝFT-%„¸Ø'¶GÍöP·ôÌ\hTyßݦ&P‚IĚ©¬¶Qs’Û7fêmOa½‘ô)ÔۄOIŠFÀ8M‰ ‹òv*Ýe)¬ù‰-¶Úĝp)¼.›ÄÍÇÿƒ‘P4ðıª–  ŒQo¼Y‘^ÙXÁIlƒMH¾ûYʇ/¡Q(ëÔ®ON)1…* § i¾à‚Ò»ÑÒ}DöKԅô_sêÕ¹è@†,+ã½ö Xu¤ڜ¹$½g¤ž÷J&R…ÄÍì<!&<Ç›œ™“µÖ´«€½šU#q·?MŠräëþ&g“ëi©pQ™nJ(«`å«S˜Œ±Äíªa¿Ê loex9vÝ7ÂCu$hS~A9÷ñ ­B\‡4Pa5Jbå’QrGåz,ãU! ’Eˆkÿd#VQ¸5XEe•„ºª ]£x<yŽÀª¼Â½½Œ]D>e%R+åR|¯”Æ?]µb÷§F”V­(3Ì<­tÞ[§”9Ö#éßO2ðtÁŽ™5¦RŠºdgÄžÍØ^‚lˆj⚟_>ÿ³Ñâœ²´c ùʬ°PTˆRk+ô‚}²Œ³Ô+õO[Ù%Ï%¯.PÚ/ÈýpùúŒ×uº¥üXbáQª½ƒ¿cRbö2¶-3»T,~ñÅîep4£òèH±{¬·G­b${b* 4²ƒ!»O)Ÿèw½a_j/sšÐžÜß:2Šf<[M.hAi + lôƒÃ=aãz­ '6̞+ÛáŽIýÔÇ£ñ½wH‹µéx$vÒÆ·˜ÿfâρ¦¦^‚̽ïð„š`²Ù*£©ò'ßeß{P(#¯<ˑC=ÄÀ^jÈŸÚ +žÖ 2ò-êÔY«&«>Ú@½«d7ÙåBÕÀi°6-n‡´Ceá GU ®ã>£‹‹'ϞŸ^\Œ¢}U;Ý·èûc_/ž¡ +h>Â1÷ށÉÎ@q &‡^n¼5¤Ú€LA[ó›9[¥˜IAÿ_[‘f'Ù¡ÖMÚZžM}––¼nõ¬Ÿ¥…ÖÝv¶Ëªb¼]Ä}¥8Õշ€:‡P½ZÓt>§SÅ8Hç“ú;˜r(fԓ'ú +>"¥ÏԘ»rЮ‘îèdå­ë¬k'ñªŽ~ŽäQnFAYÙݽCö,9g§W¢Àu_‚s‡5®ä˜~ääˆNóÌÙsøNnš³hì9DMƒšoZà¦×Íx‚£|ŒB””Û–§Ä”Ì”1”@ŸŠZ9°ƒyH 1™šÄÙ¯ERñÁV©:ÁšTªpª“±«¢Ãz +ôv°yïXì³b,Äí’QgaùQf㱯±ÚM»g!È̃ÆÂט*v=_c:Láiœz Õh¼ò5&]é\ú'ف¶ÓøÊßwMÈFÛº1ñ´Ô±|EyR0bwÝ`¤ð¤ã£õlÆ1€dUzŠ™é±}+¯®76Sn4øëÒ·“kn£Œ±@Oêhù†’$C¹öڞ±›slˆ™©ðèg]Ò*Ž%Q‰×µìBn Ä9¯hú¨ÆÖK{“à*®k²ÎDóŽ?Ô;ÿÍ ôªŸ“•',yHÅìÑ_)B =}ëñ‘=UY>n}ãŠzï~ôö~¿‘§|¯Ój#à/~yºû°¼SÒMâà-ÒN¢ªå>QiÙïª•Üæ+KlÕspÁ«ÁÁŽåO¾àÉtZŸyˆ­Ì¦[ŸâóÐ¦ÇÆqSºˆ¶ h­E¾žëúc<ÑOç2Ì£M²’•ˆ(Wª$èQˆÔµ1É%>ê ‘H¾º u»õÒª—z‰ozmµQ’·4à7 î%ž,áWÏhúyÑ1º´äYöcÍ¿ÕßÙ¹ ŒƒÔág:ˆ.óΌ¹4õÕr|ÅúSÞXq…êÌ1Îó”Ç™+¢ÚNæ¹xòޟØ"ýX£¦6ÚXÝÖöBaA®²rGøôéÛÁgß`†~ôöÙ«û=Gn2¼•$}¯+#1+/íÒ(§F³  xtŠy“%,íþ +E"Ô)C¥BÔá|g¸-4JJ՚¦—Q6áVYÓ1!‰º¶±/±+¶[Ý»Sˆ¦ÁJmC9Ý´>[ÞÚ +K‚ÅÙöcu]W4’…ÛæŸÝT_Ý¥ª·‚tC— )|È]8%”ÞE£wÑ®YѼ]s›6 +0 ªÝ+­wÆ)Ï\º€[% ýfK + »»F1dFæˆ®ÈƒÔFsCÿÈÊÎÓZoÄ͔o­ÆÙn­pÄÉBÜcÊ-¦Q=gC¥”·<x¤niQ]§| H/ž=ðb™P8¾?Åx¿L:å¡»#ê¨_àÁŒ~Ö¹ãÔ«t’'†„¹·&óùÉ8$ioÜ»ÖbàÄ%\MDÜJ$<Sre:S?;´J´D…V-4 B3eA*¡؈NΨs@ËYw5©²M ¦y+ŸªúX$&κ{àŸ­µê32y¥ªJ¿M}wB˜ß¬/ËKLW7h­Y”q\ ɽM~˜ä+T\CÒ뿲ÑhDÓ²ÝVŸÆ®;ä—8¹m¾ä”#Á\Ùÿ‘~¥«X(¡B‡ ãú sò·Å n^¢Òíß +œBîm$‘³03÷ÊÑÍ[?5(ç¾­òÞ뛈Àá¤.ƋGüžª© äqÔÊò]íëºýÕv5½ÕS×Y½‰×Â,to ½¨§±YK"^àSѦH66ò¼õYU_¶¹Ûa ÐBW‚vû(*ëhµäž {°XT>_g#7“fõöе›È®§N¶`Șȩ2©¬®DrŰEf=ק¼Þ"ŒUJ¡í)Ö#È;ÙY}<ZîR·Ù–êöd9Cì¼S§[Æ|“ŸÜ<IRßNÿþÿ¨îç9ªk,ÆM÷³–Âie4G¾ÔF֨ĊJ]e£Zú‹mºÕŸ—MUù£Ó&>í§êvúhÊM’—ª¼§ÏIƒ‰N£­¨Ií{ µ¸ÿ3Wã;u–ÿØ +ü02µ ؟n¥È:ļh(¨Šl¦+OÆ1÷•ù1ë«Z,˜xGjSÖO Lœ‚Ì<ƒodO 9ôϛ—{€rËrCµ¢ž“ïJ¯b P¤óÊ +ÔC}ɾ8±Ë(†&ƒF¬‹Àڙ5.PÖ½ƒpîEU‘þ&uüdU¶Ôú\‘¸Hnõ`Ÿˆm¯îm¢¡ð†vší\2b\²qv·åÌᛔÛè+ ö©ý4nhoWeµ¼Ê2ãsv–H^-( D?J›˜m&ú'Ò`’ºI𳚢Ì${M>Áë9OæKuÕIF½*RªºÒ\¥Xë‹Íô!®‚?8Ú;3aëlê7ݒ› Îu6C#©!TúzF9em+„éçÇf;óJW£.W÷ Zé¤%]Ý_©ƒšHa'§+]ú,>\ʦ:Vtâes¯Y>`9z¼/³ºCígŠÇÌȂJ¦P%þýó K‹›zêVø¬†ºC:”¡þ±)ŽA@íÙ× §Aöç_Á ÷Òÿü멀iR¦i †6݀~¨ò©¸6èÀØtA#aä™vwü¤Òo€~ã'yˆÄ²ÍŽliœ eBÌ`ç²ïA!=h¼—ȼ03àÕlÀÛsA;l°ü'îòÿ3.ü­,øÆ }c¿íyCë>·}’gªÍFou¬ä!CU¬´A»µHL/DŒÖÏñxt]'I„ý^åe™ÈKb•1eØ$•¡„m컗¸N…Ó³Î×6ͺIÖþ»ð6ª6û­Øõ. M÷q—.P´k»m´wŽØçþVW¾ ÄÔb:'m] @¥ÇfðÚ2Üuï|ÿESÁŠþç=¦zÔF—à®ð®ÿ^ ñ'x¶GgܨÊß`”·ú£ºÞ®4Êy„ÿ¿?> ör;˜mÍË'%ìÆÒ÷À åÚû+ÝÔÑüUþì@ðþºôþ*_q¬×.zú6::Ɨ!=z{?™‹©õ¹i‚ށ47_шh|óM>bh½wœ” +&ïñ£‰„AÒoŽ˜+€…à®í7[ ðÝíç¿)¤Žæi톒ï݈-:¦ƒkƒ]ä:µ£‹aڛƒ1Ú£l €^®À7ªfƒè«ÑŸæ_}…7á¾øVZðØ×ìðà`—í«'è{sÅ{ó4Ó±f˜‹af €zuÀ2°>X5oÌ]­º…§Y]ïۍ†£‘wu ­-ÔhÝ.òšÿmÍK ΈˆŒ|ñ]¯d»ò"fij·o+},¥¶™0N†¢¡GÕþq‘Lt.àÙPòØ_1©5¾$!mxӁÄlE“‹à]1òâxWƒˆ!G¦xßÛc62øÞ)_à¢e¹‚ŸîÈßßù_’AOƒ@…Ï쯘£6±T/4Öڋš4ö˜) °qYÈì.jˆÿ݁jj i˅ÌûÞ¼}K¸Ÿ×E­T<™(˜Àc¦A] OµMzEۜ«PÃZÄ^ز¦ ƒÎíE ¾¨`…œOqN;”¢'çf6»…«þ%z‡ºmXVe‰6•9Vq mÛþËúôdSž×o N +ÝÐ_מ÷Ön:Öv^]ֆJ²½®ì©Ú±\Og}·ã¥öá^) ²ÛЋ'F_±jU”›tÇBN~£s‹>0]\ªHXÄ$“… £;}«CÿÂhtçx™>´M¤A£Ós"¤:Ë-Æ2ÞékL¶ò9ÆôݲÐ&•¸3ï9°ÓVäQ~&ò}o|؎!7@ç?¨¶€cˇÇ|Ö5Ë,ï­]­É®&h\ No newline at end of file http://cvs.php.net/viewvc.cgi/php-src/ext/phar/phar/pharcommand.inc?r1=1.49&r2=1.49.2.1&diff_format=u Index: php-src/ext/phar/phar/pharcommand.inc diff -u php-src/ext/phar/phar/pharcommand.inc:1.49 php-src/ext/phar/phar/pharcommand.inc:1.49.2.1 --- php-src/ext/phar/phar/pharcommand.inc:1.49 Sat Mar 22 01:48:44 2008 +++ php-src/ext/phar/phar/pharcommand.inc Sat May 31 15:53:16 2008 @@ -501,14 +501,14 @@ switch($this->args['c']['val']) { case 'gz': case 'gzip': - $phar->compressAllFilesGZ(); + $phar->compressFiles(Phar::GZ); break; case 'bz2': case 'bzip2': - $phar->compressAllFilesBZIP2(); + $phar->compressFiles(Phar::BZ2); break; default: - $phar->uncompressAllFiles(); + $phar->compressFiles(Phar::NONE);; break; }
« previous php.cvs (#50211) next »