2007-05-29 05:13:58 +08:00
|
|
|
#!/usr/bin/php
|
|
|
|
<?php echo '<'.'?php';?>
|
|
|
|
|
|
|
|
/** @file phar.php
|
|
|
|
* @ingroup Phar
|
|
|
|
* @brief class Phar Pre Command
|
|
|
|
* @author Marcus Boerger
|
2008-08-01 21:45:06 +08:00
|
|
|
* @date 2007 - 2008
|
2007-05-29 05:13:58 +08:00
|
|
|
*
|
|
|
|
* Phar Command
|
|
|
|
*/
|
2008-08-01 21:45:06 +08:00
|
|
|
foreach(array("SPL", "Reflection", "Phar") as $ext) {
|
|
|
|
if (!extension_loaded($ext)) {
|
2007-05-29 05:13:58 +08:00
|
|
|
echo "$argv[0] requires PHP extension $ext.\n";
|
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
<?php
|
|
|
|
|
|
|
|
$classes = array(
|
|
|
|
'DirectoryTreeIterator',
|
|
|
|
'DirectoryGraphIterator',
|
|
|
|
'InvertedRegexIterator',
|
|
|
|
'CLICommand',
|
|
|
|
'PharCommand',
|
|
|
|
);
|
|
|
|
|
2008-08-01 21:45:06 +08:00
|
|
|
foreach($classes as $name) {
|
2007-05-29 05:13:58 +08:00
|
|
|
echo "if (!class_exists('$name', 0))\n{\n";
|
|
|
|
$f = file(dirname(__FILE__) . '/phar/' . strtolower($name) . '.inc');
|
|
|
|
unset($f[0]);
|
|
|
|
$c = count($f);
|
2008-08-01 21:45:06 +08:00
|
|
|
while ($c && (strlen($f[$c]) == 0 || $f[$c] == "\n" || $f[$c] == "\r\n")) {
|
2007-05-29 05:13:58 +08:00
|
|
|
unset($f[$c--]);
|
|
|
|
}
|
|
|
|
if (substr($f[$c], -2) == "\r\n") {
|
|
|
|
$f[$c] = substr($f[$c], 0, -2);
|
|
|
|
}
|
|
|
|
if (substr($f[$c], -1) == "\n") {
|
|
|
|
$f[$c] = substr($f[$c], 0, -1);
|
|
|
|
}
|
|
|
|
if (substr($f[$c], -2) == '?>') {
|
|
|
|
$f[$c] = substr($f[$c], 0,-2);
|
|
|
|
}
|
2008-08-01 21:45:06 +08:00
|
|
|
while ($c && (strlen($f[$c]) == 0 || $f[$c] == "\n" || $f[$c] == "\r\n")) {
|
2007-05-29 05:13:58 +08:00
|
|
|
unset($f[$c--]);
|
|
|
|
}
|
|
|
|
echo join('', $f);
|
|
|
|
echo "\n}\n\n";
|
|
|
|
}
|
|
|
|
|
2007-05-31 01:13:17 +08:00
|
|
|
echo 'new PharCommand($argc, $argv);'."\n";
|
|
|
|
|
2007-05-29 05:13:58 +08:00
|
|
|
?>
|