Lines Matching refs:phar

16  * This class handles the handling of the phar
18 * in order to retrieve and execute phar functions.
51 * This function contains all the phar commands
54 * @param string $phartype The type of phar, specific file to work on
63 'inf' => '<alias> Provide an alias name for the phar file.'
89 'inf' => '<file> Specifies the phar file to work on.'
124 .'stub so that class PHP_Archive gets registered as phar:// stream wrapper '
125 .'if necessary. And finally this switch will add the file phar.inc from '
255 …$msg = "PEAR package PHP_Archive not installed: generated phar will require PHP's phar extension b…
269 * Argument type new phar
271 * @param string $arg The new phar component.
280 …self::error("Phar files must have file extension '.phar', '.phar.php', '.phar.bz2' or '.phar.gz'.\…
291 * @param string $arg The file in the phar to open.
303 self::error("Unable to open phar '$arg'\n");
308 self::error("Exception while opening phar '$arg':\n" . $e->getMessage() . "\n");
317 * with phar://
321 * $arg = 'pharchive.phar/file.php';
325 * @param string $arg The url-like phar archive to retrieve.
326 * @return string The phar file-archive.
330 return 'phar://' . self::cli_arg_typ_pharfile($arg, $cfg, $key);
335 * Cli argument type phar
337 * @param string $arg The phar archive to use.
345 self::error("Exception while opening phar '$argv':\n" . $e->getMessage() . "\n");
366 * @param string $arg The phar selection
393 * @param string $arg The phar selection
452 * Pack a new phar infos
474 public function phar_set_stub_begin(Phar $phar, $stub, $loader = NULL, $hashbang = NULL)
511 $s .= "if (!in_array('phar', stream_get_wrappers())) {\n";
512 $s .= "\tstream_wrapper_register('phar', 'PHP_Archive');\n";
515 $s .= "\tinclude 'phar://'.__FILE__.'/phar.inc';\n";
520 $phar->setStub($hashbang . $s);
522 $phar->setStub($hashbang . $c);
533 public function phar_set_stub_end(Phar $phar, $stub, $loader = NULL)
537 self::phar_add_file($phar, 0, 'phar.inc', 'phar://'.__FILE__.'/phar.inc', NULL);
539 self::phar_add_file($phar, 0, 'phar.inc', dirname(__FILE__).'/phar/phar.inc', NULL);
554 if (ini_get('phar.readonly')) {
555 self::error("Creating phar files is disabled by ini setting 'phar.readonly'.\n");
559 self::error("Creating phar files is disabled, Phar::canWrite() returned false.\n");
576 $phar = new Phar($archive, 0, $alias);
578 $phar->startBuffering();
580 $stub = $this->phar_set_stub_begin($phar, $stub, $loader, $hashbang);
583 $this->phar_add($phar, $level, $input, $regex, $invregex, $stub, NULL, isset($loader));
586 $this->phar_add($phar, $level, $i, $regex, $invregex, $stub, NULL, isset($loader));
590 $this->phar_set_stub_end($phar, $stub, $loader);
595 $phar->compressFiles(Phar::GZ);
599 $phar->compressFiles(Phar::BZ2);
602 $phar->decompressFiles();
607 $phar->setSignatureAlgorithm($hash, $privkey);
610 $phar->stopBuffering();
616 * Add files to a phar archive.
621 * @param Phar $phar The phar object.
629 …static function phar_add(Phar $phar, $level, $input, $regex, $invregex, SplFileInfo $stub = NULL, …
632 return self::phar_add_file($phar, $level, $input, $input, $compress);
648 self::phar_add_file($phar, $level, $dir->getSubPathName(), $file, $compress, $noloader);
658 * Add a phar file
660 * This function adds a file to a phar archive.
662 * @param Phar $phar The phar object
669 static function phar_add_file(Phar $phar, $level, $entry, $file, $compress, $noloader = false)
676 if ($noloader && $entry == 'phar.inc') {
682 $phar[$entry] = file_get_contents($file);
686 $phar[$entry]->compress(Phar::GZ);
690 $phar[$entry]->compress(Phar::BZ2);
693 $phar[$entry]->decompress();
844 $args = self::phar_args('Fix', 'phar');
859 * Run the extraction of a phar Archive.
875 $phar = $this->args['f']['val'];
876 $base = $phar->getPathname();
877 $bend = strpos($base, '.phar');
883 new RecursiveIteratorIterator($phar),
926 * Delete an entry from a phar information.
943 return self::phar_args('FE', 'phar');
950 * Execute the deleting of the file from the phar archive.
954 $phar = $this->args['f']['val'];
957 $phar->startBuffering();
958 unset($phar[$entry]);
959 $phar->stopBuffering();
979 $args = self::phar_args('acFilx', 'phar');
994 * a phar archive.
999 $phar = $this->args['f']['val'];
1005 $phar->startBuffering();
1008 $this->phar_add($phar, $level, $input, $regex, $invregex, NULL, $compress);
1011 $this->phar_add($phar, $level, $i, $regex, $invregex, NULL, $compress);
1014 $phar->stopBuffering();
1020 * Set the stup of a phar file.
1038 $args = self::phar_args('bFps', 'phar');
1047 * @see $phar->setStub()
1052 $phar = $this->args['f']['val'];
1056 $this->phar_set_stub_begin($phar, $stub, $loader, $hashbang);
1057 $this->phar_set_stub_end($phar, $stub, $loader);
1080 $args = self::phar_args('Fs', 'phar');
1096 $phar = $this->args['f']['val'];
1099 file_put_contents($stub, $phar->getStub());
1123 return self::phar_args('FCe', 'phar');
1134 $phar = $this->args['f']['val'];
1141 $phar[$entry]->compress(Phar::GZ);
1143 $phar->compressFiles(Phar::GZ);
1149 $phar[$entry]->compress(Phar::BZ2);
1151 $phar->compressFiles(Phar::BZ2);
1156 $phar[$entry]->decompress();
1158 $phar->decompressFiles();
1183 return self::phar_args('FHy', 'phar');
1190 * @see $phar->setSignaturealgorithm
1194 $phar = $this->args['f']['val'];
1200 $phar->setSignatureAlgorithm($hash, $privkey);
1228 return self::phar_args('FekM', 'phar');
1235 * @see $phar->startBuffering
1236 * @see $phar->setMetadata
1237 * @see $phar->stopBuffering
1241 $phar = $this->args['f']['val'];
1246 $phar->startBuffering();
1250 if ($phar[$entry]->hasMetadata()) {
1251 $old = $phar[$entry]->getMetadata();
1256 if ($phar->hasMetadata()) {
1257 $old = $phar->getMetadata();
1274 $phar[$entry]->setMetadata($meta);
1276 $phar->setMetadata($meta);
1278 $phar->stopBuffering();
1305 return self::phar_args('Fek', 'phar');
1313 * @see $phar[$x]->hasMetadata()
1314 * @see $phar->getMetadata()
1318 $phar = $this->args['f']['val'];
1323 if (!$phar[$entry]->hasMetadata()) {
1327 echo serialize($phar[$entry]->getMetadata());
1329 if (!$phar->hasMetadata()) {
1333 $meta = $phar->getMetadata();
1373 return self::phar_args('Fek', 'phar');
1380 * @see $phar[$x]->delMetadata()
1381 * @see $phar->delMetadata()
1385 $phar = $this->args['f']['val'];
1391 if (!$phar[$entry]->hasMetadata()) {
1394 $meta = $phar[$entry]->getMetadata();
1402 $phar[$entry]->setMetadata($meta);
1404 exit($phar[$entry]->delMetadata() ? 0 : 1);
1408 if (!$phar->hasMetadata()) {
1412 $meta = $phar->getMetadata();
1420 $phar->setMetadata($meta);
1422 exit($phar->delMetadata() ? 0 : 1);
1447 return self::phar_args('Fk', 'phar');
1458 $phar = $this->args['f']['val'];
1461 $hash = $phar->getSignature();
1464 if ($phar->getAlias()) {
1465 $infos['Alias'] = $phar->getAlias();
1483 foreach(new RecursiveIteratorIterator($phar) as $ent) {
1513 $infos['Metadata-global'] = $phar->hasMetadata() * 1;
1515 $infos['Stub-size'] = strlen($phar->getStub());
1566 $use_ext = extension_loaded('phar');
1569 'phar.phar version' => '$Id: 341e5f3465f7f0cabb2fbde9d0551527ec7e8da3 $',
1570 'Phar EXT version' => $use_ext ? phpversion('phar') : 'Not available',
1572 'Phar-based phar archives' => true,
1573 'Tar-based phar archives' => $use_ext,
1574 'ZIP-based phar archives' => $use_ext,