summaryrefslogtreecommitdiff
path: root/ext/phar/phar.phar
blob: f95dd4c0dcfe1695d7bcc266e9568a07c1426ad4 (plain)
ofshex dumpascii
0000 23 21 2f 75 73 72 2f 6c 6f 63 61 6c 2f 62 69 6e 2f 70 68 70 0a 3c 3f 70 68 70 20 69 66 20 28 21 #!/usr/local/bin/php.<?php.if.(!
0020 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 50 48 50 5f 41 72 63 68 69 76 65 27 29 29 20 7b 0a 3f class_exists('PHP_Archive')).{.?
0040 3e 3c 3f 70 68 70 0a 7d 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 27 70 68 61 72 27 2c 20 73 ><?php.}.if.(!in_array('phar',.s
0060 74 72 65 61 6d 5f 67 65 74 5f 77 72 61 70 70 65 72 73 28 29 29 29 20 7b 0a 09 73 74 72 65 61 6d tream_get_wrappers())).{..stream
0080 5f 77 72 61 70 70 65 72 5f 72 65 67 69 73 74 65 72 28 27 70 68 61 72 27 2c 20 27 50 48 50 5f 41 _wrapper_register('phar',.'PHP_A
00a0 72 63 68 69 76 65 27 29 3b 0a 7d 0a 69 66 20 28 21 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 50 rchive');.}.if.(!class_exists('P
00c0 68 61 72 27 2c 30 29 29 20 7b 0a 09 69 6e 63 6c 75 64 65 20 27 70 68 61 72 3a 2f 2f 27 2e 5f 5f har',0)).{..include.'phar://'.__
00e0 46 49 4c 45 5f 5f 2e 27 2f 70 68 61 72 2e 69 6e 63 27 3b 0a 7d 0a 3f 3e 3c 3f 70 68 70 0a 0a 2f FILE__.'/phar.inc';.}.?><?php../
0100 2a 2a 20 40 66 69 6c 65 20 70 68 61 72 2e 70 68 70 0a 20 2a 20 40 69 6e 67 72 6f 75 70 20 50 68 **.@file.phar.php..*.@ingroup.Ph
0120 61 72 0a 20 2a 20 40 62 72 69 65 66 20 63 6c 61 73 73 20 43 4c 49 43 6f 6d 6d 61 6e 64 0a 20 2a ar..*.@brief.class.CLICommand..*
0140 20 40 61 75 74 68 6f 72 20 20 4d 61 72 63 75 73 20 42 6f 65 72 67 65 72 0a 20 2a 20 40 64 61 74 .@author..Marcus.Boerger..*.@dat
0160 65 20 20 20 20 32 30 30 37 20 2d 20 32 30 30 37 0a 20 2a 0a 20 2a 20 50 68 61 72 20 43 6f 6d 6d e....2007.-.2007..*..*.Phar.Comm
0180 61 6e 64 0a 20 2a 2f 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 and..*/..if.(!extension_loaded('
01a0 70 68 61 72 27 29 29 0a 7b 0a 09 69 66 20 28 21 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 50 48 phar')).{..if.(!class_exists('PH
01c0 50 5f 41 72 63 68 69 76 65 27 2c 20 30 29 29 0a 09 7b 0a 09 20 20 20 20 65 63 68 6f 20 22 4e 65 P_Archive',.0))..{......echo."Ne
01e0 69 74 68 65 72 20 45 78 74 65 6e 73 69 6f 6e 20 50 68 61 72 20 6e 6f 72 20 63 6c 61 73 73 20 50 ither.Extension.Phar.nor.class.P
0200 48 50 5f 41 72 63 68 69 76 65 20 61 72 65 20 61 76 61 69 6c 61 62 6c 65 2e 5c 6e 22 3b 0a 20 20 HP_Archive.are.available.\n";...
0220 20 20 09 65 78 69 74 28 31 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 69 66 20 28 21 69 6e 5f 61 72 ...exit(1);.....}.....if.(!in_ar
0240 72 61 79 28 27 70 68 61 72 27 2c 20 73 74 72 65 61 6d 5f 67 65 74 5f 77 72 61 70 70 65 72 73 28 ray('phar',.stream_get_wrappers(
0260 29 29 29 0a 20 20 20 20 7b 0a 09 20 20 20 20 73 74 72 65 61 6d 5f 77 72 61 70 70 65 72 5f 72 65 ))).....{......stream_wrapper_re
0280 67 69 73 74 65 72 28 27 70 68 61 72 27 2c 20 27 50 48 50 5f 41 72 63 68 69 76 65 27 29 3b 0a 20 gister('phar',.'PHP_Archive');..
02a0 20 20 20 7d 0a 20 20 20 20 69 66 20 28 21 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 50 68 61 72 ...}.....if.(!class_exists('Phar
02c0 27 2c 30 29 29 20 7b 0a 09 20 20 20 20 72 65 71 75 69 72 65 20 27 70 68 61 72 3a 2f 2f 27 2e 5f ',0)).{......require.'phar://'._
02e0 5f 46 49 4c 45 5f 5f 2e 27 2f 70 68 61 72 2e 69 6e 63 27 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 66 6f _FILE__.'/phar.inc';.....}.}..fo
0300 72 65 61 63 68 28 61 72 72 61 79 28 22 53 50 4c 22 2c 20 22 52 65 66 6c 65 63 74 69 6f 6e 22 29 reach(array("SPL",."Reflection")
0320 20 61 73 20 24 65 78 74 29 0a 7b 0a 20 20 20 20 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c .as.$ext).{.....if.(!extension_l
0340 6f 61 64 65 64 28 24 65 78 74 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 oaded($ext)).....{.........echo.
0360 22 24 61 72 67 76 5b 30 5d 20 72 65 71 75 69 72 65 73 20 50 48 50 20 65 78 74 65 6e 73 69 6f 6e "$argv[0].requires.PHP.extension
0380 20 24 65 78 74 2e 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 65 78 69 74 28 31 29 3b 0a 20 20 20 20 .$ext.\n";.........exit(1);.....
03a0 7d 0a 7d 0a 0a 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 5f 69 6e 63 6c 75 64 65 28 24 66 }.}..function.command_include($f
03c0 69 6c 65 29 0a 7b 0a 20 20 20 20 24 66 69 6c 65 20 3d 20 27 70 68 61 72 3a 2f 2f 27 20 2e 20 5f ile).{.....$file.=.'phar://'..._
03e0 5f 46 49 4c 45 5f 5f 20 2e 20 27 2f 27 20 2e 20 24 66 69 6c 65 3b 0a 20 20 20 20 69 66 20 28 66 _FILE__...'/'...$file;.....if.(f
0400 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 69 6e 63 ile_exists($file)).{.........inc
0420 6c 75 64 65 28 24 66 69 6c 65 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 66 75 6e 63 74 69 6f 6e 20 63 lude($file);.....}.}..function.c
0440 6f 6d 6d 61 6e 64 5f 61 75 74 6f 6c 6f 61 64 28 24 63 6c 61 73 73 6e 61 6d 65 29 0a 7b 0a 20 20 ommand_autoload($classname).{...
0460 20 20 63 6f 6d 6d 61 6e 64 5f 69 6e 63 6c 75 64 65 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 63 6c ..command_include(strtolower($cl
0480 61 73 73 6e 61 6d 65 29 20 2e 20 27 2e 69 6e 63 27 29 3b 0a 7d 0a 0a 50 68 61 72 3a 3a 6d 61 70 assname)...'.inc');.}..Phar::map
04a0 50 68 61 72 28 29 3b 0a 0a 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 72 65 67 69 73 74 65 72 28 27 Phar();..spl_autoload_register('
04c0 63 6f 6d 6d 61 6e 64 5f 61 75 74 6f 6c 6f 61 64 27 29 3b 0a 0a 6e 65 77 20 50 68 61 72 43 6f 6d command_autoload');..new.PharCom
04e0 6d 61 6e 64 28 24 61 72 67 63 2c 20 24 61 72 67 76 29 3b 0a 0a 5f 5f 48 41 4c 54 5f 43 4f 4d 50 mand($argc,.$argv);..__HALT_COMP
0500 49 4c 45 52 28 29 3b 20 3f 3e 0d 0a 36 01 00 00 06 00 00 00 11 00 00 00 01 00 0b 00 00 00 70 68 ILER();.?>..6.................ph
0520 61 72 63 6f 6d 6d 61 6e 64 00 00 00 00 1a 00 00 00 64 69 72 65 63 74 6f 72 79 67 72 61 70 68 69 arcommand........directorygraphi
0540 74 65 72 61 74 6f 72 2e 69 6e 63 f4 02 00 00 29 b3 85 48 f4 02 00 00 f4 ce 72 86 b6 01 00 00 00 terator.inc....)..H......r......
0560 00 00 00 0e 00 00 00 63 6c 69 63 6f 6d 6d 61 6e 64 2e 69 6e 63 66 2c 00 00 29 b3 85 48 66 2c 00 .......clicommand.incf,..)..Hf,.
0580 00 52 3f 0d 6c b6 01 00 00 00 00 00 00 19 00 00 00 64 69 72 65 63 74 6f 72 79 74 72 65 65 69 74 .R?.l............directorytreeit
05a0 65 72 61 74 6f 72 2e 69 6e 63 25 05 00 00 29 b3 85 48 25 05 00 00 17 86 70 8b b6 01 00 00 00 00 erator.inc%...)..H%.....p.......
05c0 00 00 0f 00 00 00 70 68 61 72 63 6f 6d 6d 61 6e 64 2e 69 6e 63 11 ba 00 00 29 b3 85 48 11 ba 00 ......pharcommand.inc....)..H...
05e0 00 b3 b7 a7 c6 b6 01 00 00 00 00 00 00 19 00 00 00 69 6e 76 65 72 74 65 64 72 65 67 65 78 69 74 .................invertedregexit
0600 65 72 61 74 6f 72 2e 69 6e 63 d6 01 00 00 29 b3 85 48 d6 01 00 00 49 43 d6 43 b6 01 00 00 00 00 erator.inc....)..H....IC.C......
0620 00 00 08 00 00 00 70 68 61 72 2e 69 6e 63 16 03 00 00 29 b3 85 48 16 03 00 00 ec 6b 06 3c b6 01 ......phar.inc....)..H.....k.<..
0640 00 00 00 00 00 00 3c 3f 70 68 70 0d 0a 0d 0a 2f 2a 2a 20 40 66 69 6c 65 20 64 69 72 65 63 74 6f ......<?php..../**.@file.directo
0660 72 79 67 72 61 70 68 69 74 65 72 61 74 6f 72 2e 69 6e 63 0d 0a 20 2a 20 40 69 6e 67 72 6f 75 70 rygraphiterator.inc...*.@ingroup
0680 20 45 78 61 6d 70 6c 65 73 0d 0a 20 2a 20 40 62 72 69 65 66 20 63 6c 61 73 73 20 44 69 72 65 63 .Examples...*.@brief.class.Direc
06a0 74 6f 72 79 47 72 61 70 68 49 74 65 72 61 74 6f 72 0d 0a 20 2a 20 40 61 75 74 68 6f 72 20 20 4d toryGraphIterator...*.@author..M
06c0 61 72 63 75 73 20 42 6f 65 72 67 65 72 0d 0a 20 2a 20 40 64 61 74 65 20 20 20 20 32 30 30 33 20 arcus.Boerger...*.@date....2003.
06e0 2d 20 32 30 30 35 0d 0a 20 2a 0d 0a 20 2a 20 53 50 4c 20 2d 20 53 74 61 6e 64 61 72 64 20 50 48 -.2005...*...*.SPL.-.Standard.PH
0700 50 20 4c 69 62 72 61 72 79 0d 0a 20 2a 2f 0d 0a 0d 0a 2f 2a 2a 20 40 69 6e 67 72 6f 75 70 20 45 P.Library...*/..../**.@ingroup.E
0720 78 61 6d 70 6c 65 73 0d 0a 20 2a 20 40 62 72 69 65 66 20 20 20 41 20 74 72 65 65 20 69 74 65 72 xamples...*.@brief...A.tree.iter
0740 61 74 6f 72 20 74 68 61 74 20 6f 6e 6c 79 20 73 68 6f 77 73 20 64 69 72 65 63 74 6f 72 69 65 73 ator.that.only.shows.directories
0760 2e 0d 0a 20 2a 20 40 61 75 74 68 6f 72 20 20 4d 61 72 63 75 73 20 42 6f 65 72 67 65 72 0d 0a 20 ....*.@author..Marcus.Boerger...
0780 2a 20 40 76 65 72 73 69 6f 6e 20 31 2e 31 0d 0a 20 2a 2f 0d 0a 63 6c 61 73 73 20 44 69 72 65 63 *.@version.1.1...*/..class.Direc
07a0 74 6f 72 79 47 72 61 70 68 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 44 69 72 65 63 74 toryGraphIterator.extends.Direct
07c0 6f 72 79 54 72 65 65 49 74 65 72 61 74 6f 72 0d 0a 7b 0d 0a 09 66 75 6e 63 74 69 6f 6e 20 5f 5f oryTreeIterator..{...function.__
07e0 63 6f 6e 73 74 72 75 63 74 28 24 70 61 74 68 29 0d 0a 09 7b 0d 0a 09 09 52 65 63 75 72 73 69 76 construct($path)...{....Recursiv
0800 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0d eIteratorIterator::__construct(.
0820 0a 09 09 09 6e 65 77 20 52 65 63 75 72 73 69 76 65 43 61 63 68 69 6e 67 49 74 65 72 61 74 6f 72 ....new.RecursiveCachingIterator
0840 28 0d 0a 09 09 09 09 6e 65 77 20 50 61 72 65 6e 74 49 74 65 72 61 74 6f 72 28 0d 0a 09 09 09 09 (......new.ParentIterator(......
0860 09 6e 65 77 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 .new.RecursiveDirectoryIterator(
0880 24 70 61 74 68 2c 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f $path,.RecursiveDirectoryIterato
08a0 72 3a 3a 4b 45 59 5f 41 53 5f 46 49 4c 45 4e 41 4d 45 0d 0a 09 09 09 09 09 29 0d 0a 09 09 09 09 r::KEY_AS_FILENAME.......)......
08c0 29 2c 20 0d 0a 09 09 09 09 43 61 63 68 69 6e 67 49 74 65 72 61 74 6f 72 3a 3a 43 41 4c 4c 5f 54 ),.......CachingIterator::CALL_T
08e0 4f 53 54 52 49 4e 47 7c 43 61 63 68 69 6e 67 49 74 65 72 61 74 6f 72 3a 3a 43 41 54 43 48 5f 47 OSTRING|CachingIterator::CATCH_G
0900 45 54 5f 43 48 49 4c 44 0d 0a 09 09 09 29 2c 20 0d 0a 09 09 09 70 61 72 65 6e 74 3a 3a 53 45 4c ET_CHILD.....),......parent::SEL
0920 46 5f 46 49 52 53 54 0d 0a 09 09 29 3b 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 3f 3e 3c 3f 70 68 70 0a F_FIRST....);...}..}....?><?php.
0940 0a 2f 2a 2a 20 40 66 69 6c 65 20 63 6c 69 63 6f 6d 6d 61 6e 64 2e 69 6e 63 0a 20 2a 20 40 69 6e ./**.@file.clicommand.inc..*.@in
0960 67 72 6f 75 70 20 50 68 61 72 0a 20 2a 20 40 62 72 69 65 66 20 63 6c 61 73 73 20 43 4c 49 43 6f group.Phar..*.@brief.class.CLICo
0980 6d 6d 61 6e 64 0a 20 2a 20 40 61 75 74 68 6f 72 20 20 4d 61 72 63 75 73 20 42 6f 65 72 67 65 72 mmand..*.@author..Marcus.Boerger
09a0 0a 20 2a 20 40 64 61 74 65 20 20 20 20 32 30 30 37 20 2d 20 32 30 30 37 0a 20 2a 0a 20 2a 20 50 ..*.@date....2007.-.2007..*..*.P
09c0 68 61 72 20 43 6f 6d 6d 61 6e 64 0a 20 2a 2f 0a 0a 2f 2a 2a 20 40 69 6e 67 72 6f 75 70 20 50 68 har.Command..*/../**.@ingroup.Ph
09e0 61 72 0a 20 2a 20 40 62 72 69 65 66 20 20 20 41 62 73 74 72 61 63 74 20 62 61 73 65 20 63 6f 6e ar..*.@brief...Abstract.base.con
0a00 73 6f 6c 65 20 63 6f 6d 6d 61 6e 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 0a 20 2a 20 40 sole.command.implementation..*.@
0a20 61 75 74 68 6f 72 20 20 4d 61 72 63 75 73 20 42 6f 65 72 67 65 72 0a 20 2a 20 40 76 65 72 73 69 author..Marcus.Boerger..*.@versi
0a40 6f 6e 20 31 2e 30 0a 20 2a 2f 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 43 4c 49 43 6f 6d on.1.0..*/.abstract.class.CLICom
0a60 6d 61 6e 64 0a 7b 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 24 61 72 67 63 3b 0a 20 20 20 20 mand.{.....protected.$argc;.....
0a80 70 72 6f 74 65 63 74 65 64 20 24 61 72 67 76 3b 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 24 protected.$argv;.....protected.$
0aa0 63 6d 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 24 61 cmds.=.array();.....protected.$a
0ac0 72 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 6f 74 65 63 74 65 64 20 24 74 79 rgs.=.array();.....protected.$ty
0ae0 70 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f ps.=.array();......function.__co
0b00 6e 73 74 72 75 63 74 28 24 61 72 67 63 2c 20 61 72 72 61 79 20 24 61 72 67 76 29 0a 20 20 20 20 nstruct($argc,.array.$argv).....
0b20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 72 67 63 20 3d 20 24 61 72 67 63 3b 0a 20 {.........$this->argc.=.$argc;..
0b40 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 72 67 76 20 3d 20 24 61 72 67 76 3b 0a 20 20 20 20 .......$this->argv.=.$argv;.....
0b60 20 20 20 20 24 74 68 69 73 2d 3e 63 6d 64 73 20 3d 20 73 65 6c 66 3a 3a 67 65 74 43 6f 6d 6d 61 ....$this->cmds.=.self::getComma
0b80 6e 64 73 28 24 74 68 69 73 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 74 79 70 73 20 nds($this);.........$this->typs.
0ba0 3d 20 73 65 6c 66 3a 3a 67 65 74 41 72 67 54 79 70 73 28 24 74 68 69 73 29 3b 0a 0a 20 20 20 20 =.self::getArgTyps($this);......
0bc0 20 20 20 20 69 66 20 28 24 61 72 67 63 20 3c 20 32 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ....if.($argc.<.2).{............
0be0 20 73 65 6c 66 3a 3a 65 72 72 6f 72 28 22 4e 6f 20 63 6f 6d 6d 61 6e 64 20 67 69 76 65 6e 2c 20 .self::error("No.command.given,.
0c00 63 68 65 63 6b 20 24 7b 61 72 67 76 5b 30 5d 7d 20 68 65 6c 70 5c 6e 22 29 3b 0a 20 20 20 20 20 check.${argv[0]}.help\n");......
0c20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6d 64 73 5b ...}.elseif.(!isset($this->cmds[
0c40 24 61 72 67 76 5b 31 5d 5d 5b 27 72 75 6e 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 $argv[1]]['run'])).{............
0c60 20 73 65 6c 66 3a 3a 65 72 72 6f 72 28 22 55 6e 6b 6e 6f 77 6e 20 63 6f 6d 6d 61 6e 64 20 27 24 .self::error("Unknown.command.'$
0c80 7b 61 72 67 76 5b 31 5d 7d 27 2c 20 63 68 65 63 6b 20 24 7b 61 72 67 76 5b 30 5d 7d 20 68 65 6c {argv[1]}',.check.${argv[0]}.hel
0ca0 70 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 p\n");.........}.else.{.........
0cc0 20 20 20 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 61 72 67 76 5b 31 5d 3b 0a 20 20 20 20 20 20 20 ....$command.=.$argv[1];........
0ce0 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6d 64 .}..........if.(isset($this->cmd
0d00 73 5b 24 63 6f 6d 6d 61 6e 64 5d 5b 27 61 72 67 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 s[$command]['arg'])).{..........
0d20 20 20 20 24 74 68 69 73 2d 3e 61 72 67 73 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 ...$this->args.=.call_user_func(
0d40 61 72 72 61 79 28 24 74 68 69 73 2c 20 24 74 68 69 73 2d 3e 63 6d 64 73 5b 24 63 6f 6d 6d 61 6e array($this,.$this->cmds[$comman
0d60 64 5d 5b 27 61 72 67 27 5d 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 20 3d 20 31 3b d]['arg']));.............$i.=.1;
0d80 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 69 73 73 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 20 .............$missing.=.false;..
0da0 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 2b 2b 24 69 20 3c 20 24 61 72 67 63 29 20 ...........while.(++$i.<.$argc).
0dc0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 61 72 67 76 5b 24 69 5d 5b {.................if.($argv[$i][
0de0 30 5d 20 3d 3d 20 27 2d 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0].==.'-').{....................
0e00 20 69 66 20 28 73 74 72 6c 65 6e 28 24 61 72 67 76 5b 24 69 5d 29 20 3d 3d 20 32 20 26 26 20 69 .if.(strlen($argv[$i]).==.2.&&.i
0e20 73 73 65 74 28 24 74 68 69 73 2d 3e 61 72 67 73 5b 24 61 72 67 76 5b 24 69 5d 5b 31 5d 5d 29 29 sset($this->args[$argv[$i][1]]))
0e40 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 61 72 67 20 .{.........................$arg.
0e60 3d 20 24 61 72 67 76 5b 24 69 5d 5b 31 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 =.$argv[$i][1];.................
0e80 20 20 20 20 20 20 20 20 69 66 20 28 2b 2b 24 69 20 3e 3d 20 24 61 72 67 63 29 20 7b 0a 20 20 20 ........if.(++$i.>=.$argc).{....
0ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 65 .........................self::e
0ec0 72 72 6f 72 28 22 4d 69 73 73 69 6e 67 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 70 61 72 61 6d 65 rror("Missing.argument.to.parame
0ee0 74 65 72 20 27 24 61 72 67 27 20 6f 66 20 63 6f 6d 6d 61 6e 64 20 27 24 63 6f 6d 6d 61 6e 64 27 ter.'$arg'.of.command.'$command'
0f00 2c 20 63 68 65 63 6b 20 24 7b 61 72 67 76 5b 30 5d 7d 20 68 65 6c 70 5c 6e 22 29 3b 0a 20 20 20 ,.check.${argv[0]}.help\n");....
0f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 .....................}.else.{...
0f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d ..........................$this-
0f60 3e 61 72 67 73 5b 24 61 72 67 5d 5b 27 76 61 6c 27 5d 20 3d 20 24 74 68 69 73 2d 3e 63 68 65 63 >args[$arg]['val'].=.$this->chec
0f80 6b 41 72 67 54 79 70 28 24 61 72 67 2c 20 24 69 2c 20 24 61 72 67 63 2c 20 24 61 72 67 76 29 3b kArgTyp($arg,.$i,.$argc,.$argv);
0fa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 .........................}......
0fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 ...............}..else.{........
0fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 65 72 72 6f 72 28 22 55 6e .................self::error("Un
1000 6b 6e 6f 77 6e 20 70 61 72 61 6d 65 74 65 72 20 27 24 7b 61 72 67 76 5b 24 69 5d 7d 27 20 74 6f known.parameter.'${argv[$i]}'.to
1020 20 63 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 63 68 65 63 6b 20 24 7b 61 72 67 76 5b .command.$command,.check.${argv[
1040 30 5d 7d 20 68 65 6c 70 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0]}.help\n");...................
1060 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 ..}.................}.else.{....
1080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 .................break;.........
10a0 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ........}.............}.........
10c0 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 27 5d 29 29 20 ....if.(isset($this->args[''])).
10e0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 69 20 3e 3d 20 24 61 72 67 {.................if.($i.>=.$arg
1100 63 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 c).{.....................if.(iss
1120 65 74 28 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 27 5d 5b 27 72 65 71 75 69 72 65 27 5d 29 20 26 et($this->args['']['require']).&
1140 26 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 27 5d 5b 27 72 65 71 75 69 72 65 27 5d 29 20 7b 0a &.$this->args['']['require']).{.
1160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 65 72 ........................self::er
1180 72 6f 72 28 22 4d 69 73 73 69 6e 67 20 64 65 66 61 75 6c 74 20 74 72 61 69 6c 69 6e 67 20 61 72 ror("Missing.default.trailing.ar
11a0 67 75 6d 65 6e 74 73 20 74 6f 20 63 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 63 68 65 guments.to.command.$command,.che
11c0 63 6b 20 24 7b 61 72 67 76 5b 30 5d 7d 20 68 65 6c 70 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 ck.${argv[0]}.help\n");.........
11e0 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 ............}.................}.
1200 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 else.{.....................$this
1220 2d 3e 61 72 67 73 5b 27 27 5d 5b 27 76 61 6c 27 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 ->args['']['val'].=.array();....
1240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 28 24 69 20 3c 20 24 61 72 67 .................while($i.<.$arg
1260 63 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 c).{.........................$th
1280 69 73 2d 3e 61 72 67 73 5b 27 27 5d 5b 27 76 61 6c 27 5d 5b 5d 20 3d 20 24 61 72 67 76 5b 24 69 is->args['']['val'][].=.$argv[$i
12a0 2b 2b 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ++];.....................}......
12c0 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 ...........}.............}.else.
12e0 69 66 20 28 24 69 20 3c 20 24 61 72 67 63 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 if.($i.<.$argc).{...............
1300 20 20 73 65 6c 66 3a 3a 65 72 72 6f 72 28 22 55 6e 65 78 70 65 63 74 65 64 20 64 65 66 61 75 6c ..self::error("Unexpected.defaul
1320 74 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 63 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c t.arguments.to.command.$command,
1340 20 63 68 65 63 6b 20 24 7b 61 72 67 76 5b 30 5d 7d 20 68 65 6c 70 5c 6e 22 29 3b 0a 20 20 20 20 .check.${argv[0]}.help\n");.....
1360 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 ........}.......................
1380 20 20 20 66 6f 72 65 61 63 68 28 24 74 68 69 73 2d 3e 61 72 67 73 20 61 73 20 24 61 72 67 20 3d ...foreach($this->args.as.$arg.=
13a0 3e 20 24 69 6e 66 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 >.$inf).{.................if.(st
13c0 72 6c 65 6e 28 24 61 72 67 29 20 26 26 20 21 69 73 73 65 74 28 24 69 6e 66 5b 27 76 61 6c 27 5d rlen($arg).&&.!isset($inf['val']
13e0 29 20 26 26 20 69 73 73 65 74 28 24 69 6e 66 5b 27 72 65 71 75 69 72 65 64 27 5d 29 20 26 26 20 ).&&.isset($inf['required']).&&.
1400 24 69 6e 66 5b 27 72 65 71 75 69 72 65 64 27 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 $inf['required']).{.............
1420 20 20 20 20 20 20 20 20 24 6d 69 73 73 69 6e 67 20 2e 3d 20 20 22 4d 69 73 73 69 6e 67 20 70 61 ........$missing..=.."Missing.pa
1440 72 61 6d 65 74 65 72 20 27 2d 24 61 72 67 27 20 74 6f 20 63 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d rameter.'-$arg'.to.command.$comm
1460 61 6e 64 2c 20 63 68 65 63 6b 20 24 7b 61 72 67 76 5b 30 5d 7d 20 68 65 6c 70 5c 6e 22 3b 0a 20 and,.check.${argv[0]}.help\n";..
1480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 ...............}.............}..
14a0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 6c 65 6e 28 24 6d 69 73 73 69 6e 67 29 29 ...........if.(strlen($missing))
14c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 .............{.................s
14e0 65 6c 66 3a 3a 65 72 72 6f 72 28 24 6d 69 73 73 69 6e 67 29 3b 0a 20 20 20 20 20 20 20 20 20 20 elf::error($missing);...........
1500 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 63 61 6c 6c 5f 75 73 65 72 ..}.........}..........call_user
1520 5f 66 75 6e 63 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 24 74 68 69 73 2d 3e 63 6d 64 73 5b 24 _func(array($this,.$this->cmds[$
1540 63 6f 6d 6d 61 6e 64 5d 5b 27 72 75 6e 27 5d 29 2c 20 24 74 68 69 73 2d 3e 61 72 67 73 29 3b 0a command]['run']),.$this->args);.
1560 20 20 20 20 7d 0a 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 69 63 ....}......static.function.notic
1580 65 20 28 24 6d 73 67 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 66 70 72 69 6e 74 66 28 53 e.($msg).....{.........fprintf(S
15a0 54 44 45 52 52 2c 20 24 6d 73 67 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 73 74 61 74 69 63 20 TDERR,.$msg);.....}......static.
15c0 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 20 28 24 6d 73 67 2c 20 24 65 78 69 74 5f 63 6f 64 65 function.error.($msg,.$exit_code
15e0 20 3d 20 31 29 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 6e 6f 74 69 63 .=.1)......{.........self::notic
1600 65 28 24 6d 73 67 29 3b 0a 20 20 20 20 20 20 20 20 65 78 69 74 28 24 65 78 69 74 5f 63 6f 64 65 e($msg);.........exit($exit_code
1620 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 41 72 67 54 );.....}......function.checkArgT
1640 79 70 28 24 61 72 67 2c 20 24 69 2c 20 24 61 72 67 63 2c 20 24 61 72 67 76 29 0a 20 20 20 20 7b yp($arg,.$i,.$argc,.$argv).....{
1660 0a 20 20 20 20 20 20 20 20 24 74 79 70 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 24 61 72 67 .........$typ.=.$this->args[$arg
1680 5d 5b 27 74 79 70 27 5d 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 ]['typ'];..........if.(isset($th
16a0 69 73 2d 3e 74 79 70 73 5b 24 74 79 70 5d 5b 27 74 79 70 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 is->typs[$typ]['typ'])).{.......
16c0 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 61 72 72 61 ......return.call_user_func(arra
16e0 79 28 24 74 68 69 73 2c 20 24 74 68 69 73 2d 3e 74 79 70 73 5b 24 74 79 70 5d 5b 27 74 79 70 27 y($this,.$this->typs[$typ]['typ'
1700 5d 29 2c 20 24 61 72 67 76 5b 24 69 5d 2c 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 24 61 72 67 5d ]),.$argv[$i],.$this->args[$arg]
1720 2c 20 24 61 72 67 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 ,.$arg);.........}.else.{.......
1740 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 67 76 5b 24 69 5d 3b 0a 20 20 20 20 20 20 20 20 ......return.$argv[$i];.........
1760 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 }.....}......static.function.get
1780 53 75 62 46 75 6e 63 73 28 43 4c 49 43 6f 6d 6d 61 6e 64 20 24 63 6d 64 63 6c 61 73 73 2c 20 24 SubFuncs(CLICommand.$cmdclass,.$
17a0 70 72 65 66 69 78 2c 20 61 72 72 61 79 20 24 73 75 62 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 prefix,.array.$subs).....{......
17c0 20 20 20 24 61 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 24 72 20 3d 20 6e 65 ...$a.=.array();.........$r.=.ne
17e0 77 20 52 65 66 6c 65 63 74 69 6f 6e 43 6c 61 73 73 28 24 63 6d 64 63 6c 61 73 73 29 3b 0a 20 20 w.ReflectionClass($cmdclass);...
1800 20 20 20 20 20 20 24 6c 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 3b 0a 0a 20 20 20 ......$l.=.strlen($prefix);.....
1820 20 20 20 20 20 66 6f 72 65 61 63 68 28 24 72 2d 3e 67 65 74 4d 65 74 68 6f 64 73 28 29 20 61 73 .....foreach($r->getMethods().as
1840 20 24 6d 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 .$m).........{.............if.(s
1860 75 62 73 74 72 28 24 6d 2d 3e 6e 61 6d 65 2c 20 30 2c 20 24 6c 29 20 3d 3d 20 24 70 72 65 66 69 ubstr($m->name,.0,.$l).==.$prefi
1880 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 x).............{................
18a0 20 66 6f 72 65 61 63 68 28 24 73 75 62 73 20 61 73 20 24 73 75 62 29 0a 20 20 20 20 20 20 20 20 .foreach($subs.as.$sub).........
18c0 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 77 ........{.....................$w
18e0 68 61 74 20 3d 20 73 75 62 73 74 72 28 24 6d 2d 3e 6e 61 6d 65 2c 20 24 6c 2b 73 74 72 6c 65 6e hat.=.substr($m->name,.$l+strlen
1900 28 24 73 75 62 29 2b 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 ($sub)+1);.....................$
1920 66 75 6e 63 20 3d 20 24 70 72 65 66 69 78 20 2e 20 24 73 75 62 20 2e 20 27 5f 27 20 2e 20 24 77 func.=.$prefix...$sub...'_'...$w
1940 68 61 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 77 68 61 74 20 3d hat;.....................$what.=
1960 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5f 27 2c 20 27 2d 27 2c 20 24 77 68 61 74 29 3b 0a 20 .str_replace('_',.'-',.$what);..
1980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 72 2d 3e 68 61 73 4d 65 ...................if.($r->hasMe
19a0 74 68 6f 64 28 24 66 75 6e 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 thod($func))....................
19c0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 .{.........................if.(!
19e0 69 73 73 65 74 28 24 61 5b 24 77 68 61 74 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 isset($a[$what]))...............
1a00 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........{.....................
1a20 20 20 20 20 20 20 20 20 24 61 5b 24 77 68 61 74 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 ........$a[$what].=.array();....
1a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 .....................}..........
1a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 61 5b 24 77 68 61 74 5d 5b 24 73 75 62 5d 20 3d ...............$a[$what][$sub].=
1a80 20 2f 2a 24 6d 2d 3e 63 6c 61 73 73 20 2e 20 27 3a 3a 27 20 2e 2a 2f 20 24 66 75 6e 63 3b 0a 20 ./*$m->class...'::'..*/.$func;..
1aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 ...................}............
1ac0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 .....}.............}.........}..
1ae0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 73 74 61 .......return.$a;.....}......sta
1b00 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 73 28 43 4c 49 43 6f 6d 6d tic.function.getCommands(CLIComm
1b20 61 6e 64 20 24 63 6d 64 63 6c 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 and.$cmdclass).....{.........ret
1b40 75 72 6e 20 73 65 6c 66 3a 3a 67 65 74 53 75 62 46 75 6e 63 73 28 24 63 6d 64 63 6c 61 73 73 2c urn.self::getSubFuncs($cmdclass,
1b60 20 27 63 6c 69 5f 63 6d 64 5f 27 2c 20 61 72 72 61 79 28 27 61 72 67 27 2c 27 69 6e 66 27 2c 27 .'cli_cmd_',.array('arg','inf','
1b80 72 75 6e 27 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 run'));.....}......static.functi
1ba0 6f 6e 20 67 65 74 41 72 67 54 79 70 73 28 43 4c 49 43 6f 6d 6d 61 6e 64 20 24 63 6d 64 63 6c 61 on.getArgTyps(CLICommand.$cmdcla
1bc0 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 67 ss).....{.........return.self::g
1be0 65 74 53 75 62 46 75 6e 63 73 28 24 63 6d 64 63 6c 61 73 73 2c 20 27 63 6c 69 5f 61 72 67 5f 27 etSubFuncs($cmdclass,.'cli_arg_'
1c00 2c 20 61 72 72 61 79 28 27 74 79 70 27 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 73 74 61 74 ,.array('typ'));.....}......stat
1c20 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 61 72 67 5f 74 79 70 5f 62 6f 6f 6c 28 24 61 72 ic.function.cli_arg_typ_bool($ar
1c40 67 2c 20 24 63 66 67 2c 20 24 6b 65 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 g,.$cfg,.$key).....{.........ret
1c60 75 72 6e 20 28 62 6f 6f 6c 29 24 61 72 67 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 0a 20 20 20 20 urn.(bool)$arg;.....}...........
1c80 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 61 72 67 5f 74 79 70 5f 69 6e 74 28 static.function.cli_arg_typ_int(
1ca0 24 61 72 67 2c 20 24 63 66 67 2c 20 24 6b 65 79 29 20 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 $arg,.$cfg,.$key)......{........
1cc0 20 69 66 20 28 28 69 6e 74 29 24 61 72 67 20 21 3d 20 24 61 72 67 29 20 7b 0a 20 20 20 20 20 20 .if.((int)$arg.!=.$arg).{.......
1ce0 20 20 20 20 20 20 73 65 6c 66 3a 3a 65 72 72 6f 72 28 22 41 72 67 75 6d 65 6e 74 20 74 6f 20 2d ......self::error("Argument.to.-
1d00 24 6b 65 79 20 6d 75 73 74 20 62 65 20 61 6e 20 69 6e 74 65 67 65 72 2e 5c 6e 22 29 3b 0a 20 20 $key.must.be.an.integer.\n");...
1d20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 69 6e 74 29 24 61 72 ......}..........return.(int)$ar
1d40 67 3b 0a 20 20 20 20 7d 0a 20 20 20 20 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f g;.....}..........static.functio
1d60 6e 20 63 6c 69 5f 61 72 67 5f 74 79 70 5f 72 65 67 65 78 28 24 61 72 67 2c 20 24 63 66 67 2c 20 n.cli_arg_typ_regex($arg,.$cfg,.
1d80 24 6b 65 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 6c 65 6e 28 24 $key).....{.........if.(strlen($
1da0 61 72 67 29 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 arg)).........{.............if.(
1dc0 73 74 72 6c 65 6e 28 24 61 72 67 29 20 3e 20 31 20 26 26 20 24 61 72 67 5b 30 5d 20 3d 3d 20 24 strlen($arg).>.1.&&.$arg[0].==.$
1de0 61 72 67 5b 73 74 72 6c 65 6e 28 24 61 72 67 29 2d 31 5d 20 26 26 20 73 74 72 70 6f 73 28 27 2f arg[strlen($arg)-1].&&.strpos('/
1e00 2c 27 2c 20 24 61 72 67 29 20 21 3d 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 ,',.$arg).!==.false)............
1e20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 67 3b 0a .{.................return.$arg;.
1e40 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 ............}.............else..
1e60 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 ...........{.................ret
1e80 75 72 6e 20 27 2f 27 20 2e 20 24 61 72 67 20 2e 20 27 2f 27 3b 0a 20 20 20 20 20 20 20 20 20 20 urn.'/'...$arg...'/';...........
1ea0 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 ..}.........}.........else......
1ec0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 0a 20 20 ...{.............return.NULL;...
1ee0 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 ......}.....}......static.functi
1f00 6f 6e 20 63 6c 69 5f 61 72 67 5f 74 79 70 5f 73 65 6c 65 63 74 28 24 61 72 67 2c 20 24 63 66 67 on.cli_arg_typ_select($arg,.$cfg
1f20 2c 20 24 6b 65 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 6e 5f 61 72 ,.$key).....{.........if.(!in_ar
1f40 72 61 79 28 24 61 72 67 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 63 66 67 5b 27 73 65 6c 65 63 ray($arg,.array_keys($cfg['selec
1f60 74 27 5d 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 65 72 72 6f 72 t']))).{.............self::error
1f80 28 22 50 61 72 61 6d 65 74 65 72 20 76 61 6c 75 65 20 27 24 61 72 67 27 20 6e 6f 74 20 6f 6e 65 ("Parameter.value.'$arg'.not.one
1fa0 20 6f 66 20 27 22 20 2e 20 6a 6f 69 6e 28 22 27 2c 20 27 22 2c 20 61 72 72 61 79 5f 6b 65 79 73 .of.'"...join("',.'",.array_keys
1fc0 28 24 63 66 67 5b 27 73 65 6c 65 63 74 27 5d 29 29 20 2e 20 22 27 2e 5c 6e 22 29 3b 0a 20 20 20 ($cfg['select']))..."'.\n");....
1fe0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 67 3b 0a 20 20 20 20 .....}.........return.$arg;.....
2000 7d 0a 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 61 72 67 5f 74 }......static.function.cli_arg_t
2020 79 70 5f 64 69 72 28 24 61 72 67 2c 20 24 63 66 67 2c 20 24 6b 65 79 29 0a 20 20 20 20 7b 0a 20 yp_dir($arg,.$cfg,.$key).....{..
2040 20 20 20 20 20 20 20 24 66 20 3d 20 72 65 61 6c 70 61 74 68 28 24 61 72 67 29 3b 0a 0a 20 20 20 .......$f.=.realpath($arg);.....
2060 20 20 20 20 20 69 66 20 28 24 66 3d 3d 3d 66 61 6c 73 65 20 7c 7c 20 21 66 69 6c 65 5f 65 78 69 .....if.($f===false.||.!file_exi
2080 73 74 73 28 24 66 29 20 7c 7c 20 21 69 73 5f 64 69 72 28 24 66 29 29 20 7b 0a 20 20 20 20 20 20 sts($f).||.!is_dir($f)).{.......
20a0 20 20 20 20 20 20 73 65 6c 66 3a 3a 65 72 72 6f 72 28 22 52 65 71 75 65 73 74 65 64 20 70 61 74 ......self::error("Requested.pat
20c0 68 20 27 24 61 72 67 27 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 5c 6e 22 29 3b 0a 20 20 h.'$arg'.does.not.exist.\n");...
20e0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 3b 0a 20 20 20 20 7d ......}.........return.$f;.....}
2100 0a 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 61 72 67 5f 74 79 ......static.function.cli_arg_ty
2120 70 5f 66 69 6c 65 28 24 61 72 67 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 66 20 3d 20 p_file($arg).....{.........$f.=.
2140 6e 65 77 20 53 70 6c 46 69 6c 65 49 6e 66 6f 28 24 61 72 67 29 3b 0a 20 20 20 20 20 20 20 20 24 new.SplFileInfo($arg);.........$
2160 66 20 3d 20 24 66 2d 3e 67 65 74 52 65 61 6c 50 61 74 68 28 29 3b 0a 20 20 20 20 20 20 20 20 69 f.=.$f->getRealPath();.........i
2180 66 20 28 24 66 3d 3d 3d 66 61 6c 73 65 20 7c 7c 20 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 f.($f===false.||.!file_exists($f
21a0 29 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 22 52 )).........{.............echo."R
21c0 65 71 75 65 73 74 65 64 20 66 69 6c 65 20 27 24 61 72 67 27 20 64 6f 65 73 20 6e 6f 74 20 65 78 equested.file.'$arg'.does.not.ex
21e0 69 73 74 2e 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 69 74 28 31 29 3b 0a 20 20 ist.\n";.............exit(1);...
2200 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 3b 0a 20 20 20 20 7d ......}.........return.$f;.....}
2220 0a 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 61 72 67 5f 74 79 ......static.function.cli_arg_ty
2240 70 5f 66 69 6c 65 6e 65 77 28 24 61 72 67 2c 20 24 63 66 67 2c 20 24 6b 65 79 29 0a 20 20 20 20 p_filenew($arg,.$cfg,.$key).....
2260 7b 0a 20 20 20 20 20 20 20 20 24 64 20 3d 20 64 69 72 6e 61 6d 65 28 24 61 72 67 29 3b 0a 20 20 {.........$d.=.dirname($arg);...
2280 20 20 20 20 20 20 24 66 20 3d 20 72 65 61 6c 70 61 74 68 28 24 64 29 3b 0a 20 20 20 20 20 20 20 ......$f.=.realpath($d);........
22a0 20 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 ..........if.($f.===.false).{...
22c0 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 65 72 72 6f 72 28 22 50 61 74 68 20 66 6f 72 20 ..........self::error("Path.for.
22e0 66 69 6c 65 20 27 24 61 72 67 27 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 5c 6e 22 29 3b file.'$arg'.does.not.exist.\n");
2300 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 20 2e 20 27 .........}.........return.$f...'
2320 2f 27 20 2e 20 62 61 73 65 6e 61 6d 65 28 24 61 72 67 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 /'...basename($arg);.....}......
2340 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 61 72 67 5f 74 79 70 5f 66 69 6c 65 static.function.cli_arg_typ_file
2360 63 6f 6e 74 28 24 61 72 67 2c 20 24 63 66 67 2c 20 24 6b 65 79 29 0a 20 20 20 20 7b 0a 20 20 20 cont($arg,.$cfg,.$key).....{....
2380 20 20 20 20 20 72 65 74 75 72 6e 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 73 65 .....return.file_get_contents(se
23a0 6c 66 3a 3a 63 6c 69 5f 61 72 67 5f 74 79 70 5f 66 69 6c 65 28 24 61 72 67 2c 20 24 63 66 67 2c lf::cli_arg_typ_file($arg,.$cfg,
23c0 20 24 6b 65 79 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 .$key));.....}......function.cli
23e0 5f 67 65 74 5f 53 50 32 28 24 6c 31 2c 20 24 61 72 67 5f 69 6e 66 29 0a 20 20 20 20 7b 0a 20 20 _get_SP2($l1,.$arg_inf).....{...
2400 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 6c 31 ......return.str_repeat('.',.$l1
2420 20 2b 20 32 20 2b 20 34 20 2b 20 38 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 .+.2.+.4.+.8);.....}......functi
2440 6f 6e 20 63 6c 69 5f 67 65 74 5f 53 50 33 28 24 6c 31 2c 20 24 6c 32 2c 20 24 61 72 67 5f 69 6e on.cli_get_SP3($l1,.$l2,.$arg_in
2460 66 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 65 f).....{.........return.str_repe
2480 61 74 28 27 20 27 2c 20 24 6c 31 20 2b 20 32 20 2b 20 34 20 2b 20 38 20 2b 20 32 20 2b 20 24 6c at('.',.$l1.+.2.+.4.+.8.+.2.+.$l
24a0 32 20 2b 20 32 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 2.+.2);.....}......static.functi
24c0 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 68 65 6c 70 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 on.cli_cmd_inf_help().....{.....
24e0 20 20 20 20 72 65 74 75 72 6e 20 22 54 68 69 73 20 68 65 6c 70 20 6f 72 20 68 65 6c 70 20 66 6f ....return."This.help.or.help.fo
2500 72 20 61 20 73 65 6c 65 63 74 65 64 20 63 6f 6d 6d 61 6e 64 2e 22 3b 0a 20 20 20 20 7d 0a 0a 20 r.a.selected.command.";.....}...
2520 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 77 6f 72 64 77 72 61 70 ...private.function.cli_wordwrap
2540 28 24 77 68 61 74 2c 20 24 6c 2c 20 24 73 70 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 ($what,.$l,.$sp).....{.........$
2560 70 20 3d 20 6d 61 78 28 37 39 20 2d 20 24 6c 2c 20 34 30 29 3b 20 20 20 20 20 2f 2f 20 6d 69 6e p.=.max(79.-.$l,.40);.....//.min
2580 69 6d 75 6d 20 6c 65 6e 67 74 68 20 66 6f 72 20 70 61 72 61 67 72 61 70 68 0a 20 20 20 20 20 20 imum.length.for.paragraph.......
25a0 20 20 24 62 20 3d 20 73 75 62 73 74 72 28 24 77 68 61 74 2c 20 30 2c 20 24 6c 29 3b 20 2f 2f 20 ..$b.=.substr($what,.0,.$l);.//.
25c0 73 74 72 69 70 20 6f 75 74 20 69 6e 69 74 69 61 6c 20 24 6c 0a 20 20 20 20 20 20 20 20 24 72 20 strip.out.initial.$l.........$r.
25e0 3d 20 73 75 62 73 74 72 28 24 77 68 61 74 2c 20 24 6c 29 3b 20 20 20 20 2f 2f 20 72 65 6d 61 69 =.substr($what,.$l);....//.remai
2600 6e 64 65 72 0a 20 20 20 20 20 20 20 20 24 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c nder.........$r.=.str_replace("\
2620 6e 22 2c 20 22 5c 6e 22 2e 24 73 70 2c 20 24 72 29 3b 20 2f 2f 20 69 6e 20 72 65 6d 61 69 6e 64 n",."\n".$sp,.$r);.//.in.remaind
2640 65 72 20 72 65 70 6c 61 63 65 20 5c 6e 27 73 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 er.replace.\n's.........return.$
2660 62 20 2e 20 77 6f 72 64 77 72 61 70 28 24 72 2c 20 24 70 2c 20 22 5c 6e 22 2e 24 73 70 29 3b 0a b...wordwrap($r,.$p,."\n".$sp);.
2680 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f ....}......private.function.cli_
26a0 68 65 6c 70 5f 67 65 74 5f 61 72 67 73 28 24 66 75 6e 63 2c 20 24 6c 2c 20 24 73 70 2c 20 24 72 help_get_args($func,.$l,.$sp,.$r
26c0 65 71 75 69 72 65 64 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 69 6e 66 20 3d 20 22 22 equired).....{.........$inf.=.""
26e0 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 28 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 ;.........foreach(call_user_func
2700 28 24 66 75 6e 63 2c 20 24 6c 2c 20 24 73 70 29 20 61 73 20 24 61 72 67 20 3d 3e 20 24 63 6f 6e ($func,.$l,.$sp).as.$arg.=>.$con
2720 66 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 69 73 f).........{.............if.((is
2740 73 65 74 28 24 63 6f 6e 66 5b 27 72 65 71 75 69 72 65 64 27 5d 29 20 26 26 20 24 63 6f 6e 66 5b set($conf['required']).&&.$conf[
2760 27 72 65 71 75 69 72 65 64 27 5d 29 20 21 3d 20 24 72 65 71 75 69 72 65 64 29 0a 20 20 20 20 20 'required']).!=.$required)......
2780 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 .......{.................continu
27a0 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 e;.............}.............if.
27c0 28 73 74 72 6c 65 6e 28 24 61 72 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 (strlen($arg)).............{....
27e0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 61 72 67 20 3d 20 22 2d 24 61 72 67 20 20 22 3b 0a 20 .............$arg.=."-$arg..";..
2800 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 ...........}.............else...
2820 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 61 72 67 ..........{.................$arg
2840 20 3d 20 22 2e 2e 2e 20 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .=."....";.............}........
2860 20 20 20 20 20 24 73 70 32 20 3d 20 24 74 68 69 73 2d 3e 63 6c 69 5f 67 65 74 5f 53 50 32 28 24 .....$sp2.=.$this->cli_get_SP2($
2880 6c 2c 20 24 69 6e 66 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 32 20 20 3d 20 73 74 72 l,.$inf);.............$l2..=.str
28a0 6c 65 6e 28 24 73 70 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 66 20 2e 3d 20 24 len($sp2);.............$inf..=.$
28c0 74 68 69 73 2d 3e 63 6c 69 5f 77 6f 72 64 77 72 61 70 28 24 73 70 20 2e 20 24 61 72 67 20 2e 20 this->cli_wordwrap($sp...$arg...
28e0 24 63 6f 6e 66 5b 27 69 6e 66 27 5d 2c 20 24 6c 32 2c 20 24 73 70 32 29 20 2e 20 22 5c 6e 22 3b $conf['inf'],.$l2,.$sp2)..."\n";
2900 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 5b 27 73 65 .............if.(isset($conf['se
2920 6c 65 63 74 27 5d 29 20 26 26 20 63 6f 75 6e 74 28 24 63 6f 6e 66 5b 27 73 65 6c 65 63 74 27 5d lect']).&&.count($conf['select']
2940 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )).............{................
2960 20 24 6c 73 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 .$ls.=.0;.................foreac
2980 68 28 24 63 6f 6e 66 5b 27 73 65 6c 65 63 74 27 5d 20 61 73 20 24 6f 70 74 20 3d 3e 20 24 77 68 h($conf['select'].as.$opt.=>.$wh
29a0 61 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 at).................{...........
29c0 20 20 20 20 20 20 20 20 20 20 24 6c 73 20 3d 20 6d 61 78 28 24 6c 73 2c 20 73 74 72 6c 65 6e 28 ..........$ls.=.max($ls,.strlen(
29e0 24 6f 70 74 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 $opt));.................}.......
2a00 20 20 20 20 20 20 20 20 20 20 24 73 70 33 20 3d 20 24 74 68 69 73 2d 3e 63 6c 69 5f 67 65 74 5f ..........$sp3.=.$this->cli_get_
2a20 53 50 33 28 24 6c 2c 20 24 6c 73 2c 20 24 69 6e 66 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 SP3($l,.$ls,.$inf);.............
2a40 20 20 20 20 24 6c 33 20 20 3d 20 73 74 72 6c 65 6e 28 24 73 70 33 29 3b 0a 20 20 20 20 20 20 20 ....$l3..=.strlen($sp3);........
2a60 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 28 24 63 6f 6e 66 5b 27 73 65 6c 65 63 74 27 5d .........foreach($conf['select']
2a80 20 61 73 20 24 6f 70 74 20 3d 3e 20 24 77 68 61 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .as.$opt.=>.$what)..............
2aa0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 66 20 2e 3d ...{.....................$inf..=
2ac0 20 24 74 68 69 73 2d 3e 63 6c 69 5f 77 6f 72 64 77 72 61 70 28 24 73 70 32 20 2e 20 22 20 20 22 .$this->cli_wordwrap($sp2...".."
2ae0 20 2e 20 73 70 72 69 6e 74 66 28 22 25 2d 24 7b 6c 73 7d 73 20 20 22 2c 20 24 6f 70 74 29 20 2e ...sprintf("%-${ls}s..",.$opt)..
2b00 20 24 77 68 61 74 2c 20 24 6c 33 2c 20 24 73 70 33 29 20 2e 20 22 5c 6e 22 3b 0a 20 20 20 20 20 .$what,.$l3,.$sp3)..."\n";......
2b20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ...........}.............}......
2b40 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 6c 65 6e 28 24 69 6e 66 29 29 0a 20 ...}.........if.(strlen($inf))..
2b60 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 72 65 71 75 69 72 .......{.............if.($requir
2b80 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ed).............{...............
2ba0 20 20 72 65 74 75 72 6e 20 24 73 70 20 2e 20 22 52 65 71 75 69 72 65 64 20 61 72 67 75 6d 65 6e ..return.$sp..."Required.argumen
2bc0 74 73 3a 5c 6e 5c 6e 22 20 2e 20 24 69 6e 66 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 ts:\n\n"...$inf;.............}..
2be0 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 ...........else.............{...
2c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 73 70 20 2e 20 22 4f 70 74 69 ..............return.$sp..."Opti
2c20 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 3a 5c 6e 5c 6e 22 2e 20 24 69 6e 66 3b 0a 20 20 20 20 onal.arguments:\n\n"..$inf;.....
2c40 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 ........}.........}.....}......f
2c60 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 68 65 6c 70 28 29 0a 20 20 20 20 7b unction.cli_cmd_arg_help().....{
2c80 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 27 20 3d 3e 20 61 72 72 61 .........return.array(''.=>.arra
2ca0 79 28 27 74 79 70 27 3d 3e 27 61 6e 79 27 2c 27 76 61 6c 27 3d 3e 4e 55 4c 4c 2c 27 69 6e 66 27 y('typ'=>'any','val'=>NULL,'inf'
2cc0 3d 3e 27 4f 70 74 69 6f 6e 61 6c 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 72 65 74 72 69 65 76 65 20 =>'Optional.command.to.retrieve.
2ce0 68 65 6c 70 20 66 6f 72 2e 27 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f help.for.'));.....}......functio
2d00 6e 20 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 68 65 6c 70 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 n.cli_cmd_run_help().....{......
2d20 20 20 20 24 61 72 67 76 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 76 3b 0a 20 20 20 20 20 20 20 ...$argv..=.$this->argv;........
2d40 20 24 77 68 69 63 68 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 27 5d 5b 27 76 61 6c 27 5d .$which.=.$this->args['']['val']
2d60 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 77 68 69 63 68 29 29 0a 20 20 20 ;.........if.(isset($which))....
2d80 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 75 6e 74 28 24 77 68 .....{.............if.(count($wh
2da0 69 63 68 29 20 21 3d 20 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c ich).!=.1).{.................sel
2dc0 66 3a 3a 65 72 72 6f 72 28 22 4d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 63 6f 6d 6d 61 6e 64 20 f::error("More.than.one.command.
2de0 67 69 76 65 6e 2e 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 given.\n");.............}.......
2e00 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 77 68 69 63 68 20 3d 20 24 77 68 69 ...................$which.=.$whi
2e20 63 68 5b 30 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 61 72 72 61 79 5f 6b 65 ch[0];.............if.(!array_ke
2e40 79 5f 65 78 69 73 74 73 28 24 77 68 69 63 68 2c 20 24 74 68 69 73 2d 3e 63 6d 64 73 29 29 20 7b y_exists($which,.$this->cmds)).{
2e60 0a 20 20 20 20 20 20 20 20 20 20 20 20 09 69 66 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 77 68 ..............if.(strtolower($wh
2e80 69 63 68 29 20 3d 3d 20 27 63 6f 6d 6d 61 6e 64 73 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ich).==.'commands').{...........
2ea0 20 20 09 09 73 65 6c 66 3a 3a 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 68 65 6c 70 5f 6c 69 73 74 28 ....self::cli_cmd_run_help_list(
2ec0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 09 09 65 78 69 74 28 30 29 3b 0a 20 20 20 20 20 20 );...............exit(0);.......
2ee0 20 20 20 20 20 20 09 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 65 .......}.................self::e
2f00 72 72 6f 72 28 22 55 6e 6b 6e 6f 77 6e 20 63 6f 6d 6d 61 6e 64 2c 20 63 61 6e 6e 6f 74 20 72 65 rror("Unknown.command,.cannot.re
2f20 74 72 69 65 76 65 20 68 65 6c 70 2e 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a trieve.help.\n");.............}.
2f40 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 20 3d 20 73 74 72 6c 65 6e 28 24 77 68 69 63 68 29 .............$l.=.strlen($which)
2f60 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6d 64 73 20 3d 20 61 72 72 61 79 28 24 77 68 69 ;.............$cmds.=.array($whi
2f80 63 68 20 3d 3e 20 24 74 68 69 73 2d 3e 63 6d 64 73 5b 24 77 68 69 63 68 5d 29 3b 0a 20 20 20 20 ch.=>.$this->cmds[$which]);.....
2fa0 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 22 5c ....}.else.{.............echo."\
2fc0 6e 24 61 72 67 76 5b 30 5d 20 3c 63 6f 6d 6d 61 6e 64 3e 20 5b 6f 70 74 69 6f 6e 73 5d 5c 6e 5c n$argv[0].<command>.[options]\n\
2fe0 6e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 n";.............$l.=.0;.........
3000 20 20 20 20 6b 73 6f 72 74 28 24 74 68 69 73 2d 3e 63 6d 64 73 29 3b 0a 20 20 20 20 20 20 20 20 ....ksort($this->cmds);.........
3020 20 20 20 20 66 6f 72 65 61 63 68 28 24 74 68 69 73 2d 3e 63 6d 64 73 20 61 73 20 24 6e 61 6d 65 ....foreach($this->cmds.as.$name
3040 20 3d 3e 20 24 66 75 6e 63 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c .=>.$funcs).{.................$l
3060 20 3d 20 6d 61 78 28 24 6c 2c 20 73 74 72 6c 65 6e 28 24 6e 61 6d 65 29 29 3b 0a 20 20 20 20 20 .=.max($l,.strlen($name));......
3080 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 66 20 3d 20 22 43 6f 6d .......}.............$inf.=."Com
30a0 6d 61 6e 64 73 3a 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 73 74 20 3d 20 22 22 3b 0a mands:";.............$lst.=."";.
30c0 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 64 20 3d 20 73 74 72 6c 65 6e 28 24 69 6e 66 29 20 ............$ind.=.strlen($inf).
30e0 2b 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 28 24 74 68 69 73 2d 3e +.1;.............foreach($this->
3100 63 6d 64 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 66 75 6e 63 73 29 0a 20 20 20 20 20 20 20 cmds.as.$name.=>.$funcs)........
3120 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 73 74 20 2e 3d 20 27 .....{.................$lst..=.'
3140 20 27 20 2e 20 24 6e 61 6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 .'...$name;.............}.......
3160 20 20 20 20 20 20 65 63 68 6f 20 24 74 68 69 73 2d 3e 63 6c 69 5f 77 6f 72 64 77 72 61 70 28 24 ......echo.$this->cli_wordwrap($
3180 69 6e 66 2e 24 6c 73 74 2c 20 24 69 6e 64 2c 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 inf.$lst,.$ind,.str_repeat('.',.
31a0 24 69 6e 64 29 29 20 2e 20 22 5c 6e 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6d $ind))..."\n\n";.............$cm
31c0 64 73 20 3d 20 24 74 68 69 73 2d 3e 63 6d 64 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ds.=.$this->cmds;.........}.....
31e0 20 20 20 20 24 73 70 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 6c 20 2b 20 32 ....$sp.=.str_repeat('.',.$l.+.2
3200 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 28 24 63 6d 64 73 20 61 73 20 24 6e 61 6d );.........foreach($cmds.as.$nam
3220 65 20 3d 3e 20 24 66 75 6e 63 73 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 e.=>.$funcs).........{..........
3240 20 20 20 24 69 6e 66 20 3d 20 24 6e 61 6d 65 20 2e 20 73 75 62 73 74 72 28 24 73 70 2c 20 73 74 ...$inf.=.$name...substr($sp,.st
3260 72 6c 65 6e 28 24 6e 61 6d 65 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 rlen($name));.............if.(is
3280 73 65 74 28 24 66 75 6e 63 73 5b 27 69 6e 66 27 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 set($funcs['inf'])).............
32a0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 66 20 2e 3d 20 24 74 68 69 73 2d {.................$inf..=.$this-
32c0 3e 63 6c 69 5f 77 6f 72 64 77 72 61 70 28 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 61 72 72 >cli_wordwrap(call_user_func(arr
32e0 61 79 28 24 74 68 69 73 2c 20 24 66 75 6e 63 73 5b 27 69 6e 66 27 5d 29 29 2c 20 24 6c 2c 20 24 ay($this,.$funcs['inf'])),.$l,.$
3300 73 70 29 20 2e 20 22 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 sp)..."\n";.................if.(
3320 69 73 73 65 74 28 24 66 75 6e 63 73 5b 27 61 72 67 27 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 isset($funcs['arg']))...........
3340 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 66 ......{.....................$inf
3360 20 2e 3d 20 22 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 ..=."\n";.....................$i
3380 6e 66 20 2e 3d 20 24 74 68 69 73 2d 3e 63 6c 69 5f 68 65 6c 70 5f 67 65 74 5f 61 72 67 73 28 61 nf..=.$this->cli_help_get_args(a
33a0 72 72 61 79 28 24 74 68 69 73 2c 20 24 66 75 6e 63 73 5b 27 61 72 67 27 5d 29 2c 20 24 6c 2c 20 rray($this,.$funcs['arg']),.$l,.
33c0 24 73 70 2c 20 74 72 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 $sp,.true);.....................
33e0 24 69 6e 66 20 2e 3d 20 22 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 $inf..=."\n";...................
3400 20 20 24 69 6e 66 20 2e 3d 20 24 74 68 69 73 2d 3e 63 6c 69 5f 68 65 6c 70 5f 67 65 74 5f 61 72 ..$inf..=.$this->cli_help_get_ar
3420 67 73 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 24 66 75 6e 63 73 5b 27 61 72 67 27 5d 29 2c 20 gs(array($this,.$funcs['arg']),.
3440 24 6c 2c 20 24 73 70 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 $l,.$sp,.false);................
3460 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 .}.............}.............ech
3480 6f 20 22 24 69 6e 66 5c 6e 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 o."$inf\n\n";.........}.........
34a0 65 78 69 74 28 30 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 exit(0);.....}......static.funct
34c0 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 68 65 6c 70 5f 6c 69 73 74 28 29 0a 20 20 20 20 ion.cli_cmd_inf_help_list().....
34e0 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 4c 69 73 74 73 20 61 76 61 69 6c 61 62 6c {.........return."Lists.availabl
3500 65 20 63 6f 6d 6d 61 6e 64 73 2e 22 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f e.commands.";.....}......functio
3520 6e 20 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 68 65 6c 70 5f 6c 69 73 74 28 29 0a 20 20 20 20 7b 0a n.cli_cmd_run_help_list().....{.
3540 20 20 20 20 20 20 20 20 6b 73 6f 72 74 28 24 74 68 69 73 2d 3e 63 6d 64 73 29 3b 0a 20 20 20 20 ........ksort($this->cmds);.....
3560 20 20 20 20 65 63 68 6f 20 6a 6f 69 6e 28 27 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 74 ....echo.join('.',.array_keys($t
3580 68 69 73 2d 3e 63 6d 64 73 29 29 20 2e 20 22 5c 6e 22 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 3f 3e 0a his->cmds))..."\n";.....}.}..?>.
35a0 3c 3f 70 68 70 0d 0a 0d 0a 2f 2a 2a 20 40 66 69 6c 65 20 64 69 72 65 63 74 6f 72 79 74 72 65 65 <?php..../**.@file.directorytree
35c0 69 74 65 72 61 74 6f 72 2e 69 6e 63 0d 0a 20 2a 20 40 69 6e 67 72 6f 75 70 20 45 78 61 6d 70 6c iterator.inc...*.@ingroup.Exampl
35e0 65 73 0d 0a 20 2a 20 40 62 72 69 65 66 20 63 6c 61 73 73 20 44 69 72 65 63 74 6f 72 79 54 72 65 es...*.@brief.class.DirectoryTre
3600 65 49 74 65 72 61 74 6f 72 0d 0a 20 2a 20 40 61 75 74 68 6f 72 20 20 4d 61 72 63 75 73 20 42 6f eIterator...*.@author..Marcus.Bo
3620 65 72 67 65 72 0d 0a 20 2a 20 40 64 61 74 65 20 20 20 20 32 30 30 33 20 2d 20 32 30 30 35 0d 0a erger...*.@date....2003.-.2005..
3640 20 2a 0d 0a 20 2a 20 53 50 4c 20 2d 20 53 74 61 6e 64 61 72 64 20 50 48 50 20 4c 69 62 72 61 72 .*...*.SPL.-.Standard.PHP.Librar
3660 79 0d 0a 20 2a 2f 0d 0a 0d 0a 2f 2a 2a 20 40 69 6e 67 72 6f 75 70 20 45 78 61 6d 70 6c 65 73 0d y...*/..../**.@ingroup.Examples.
3680 0a 20 2a 20 40 62 72 69 65 66 20 20 20 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 20 74 ..*.@brief...DirectoryIterator.t
36a0 6f 20 67 65 6e 65 72 61 74 65 20 41 53 43 49 49 20 67 72 61 70 68 69 63 20 64 69 72 65 63 74 6f o.generate.ASCII.graphic.directo
36c0 72 79 20 74 72 65 65 73 0d 0a 20 2a 20 40 61 75 74 68 6f 72 20 20 4d 61 72 63 75 73 20 42 6f 65 ry.trees...*.@author..Marcus.Boe
36e0 72 67 65 72 0d 0a 20 2a 20 40 76 65 72 73 69 6f 6e 20 31 2e 31 0d 0a 20 2a 2f 0d 0a 63 6c 61 73 rger...*.@version.1.1...*/..clas
3700 73 20 44 69 72 65 63 74 6f 72 79 54 72 65 65 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 s.DirectoryTreeIterator.extends.
3720 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 0d 0a 7b 0d 0a 09 2f RecursiveIteratorIterator..{.../
3740 2a 2a 20 43 6f 6e 73 74 72 75 63 74 20 66 72 6f 6d 20 61 20 70 61 74 68 2e 0d 0a 09 20 2a 20 40 **.Construct.from.a.path.....*.@
3760 70 61 72 61 6d 20 24 70 61 74 68 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 69 74 65 72 61 74 65 param.$path.directory.to.iterate
3780 0d 0a 09 20 2a 2f 0d 0a 09 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 ....*/...function.__construct($p
37a0 61 74 68 29 0d 0a 09 7b 0d 0a 09 09 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 ath)...{....parent::__construct(
37c0 0d 0a 09 09 09 6e 65 77 20 52 65 63 75 72 73 69 76 65 43 61 63 68 69 6e 67 49 74 65 72 61 74 6f .....new.RecursiveCachingIterato
37e0 72 28 0d 0a 09 09 09 09 6e 65 77 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 r(......new.RecursiveDirectoryIt
3800 65 72 61 74 6f 72 28 24 70 61 74 68 2c 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 erator($path,.RecursiveDirectory
3820 49 74 65 72 61 74 6f 72 3a 3a 4b 45 59 5f 41 53 5f 46 49 4c 45 4e 41 4d 45 0d 0a 09 09 09 09 29 Iterator::KEY_AS_FILENAME......)
3840 2c 20 0d 0a 09 09 09 09 43 61 63 68 69 6e 67 49 74 65 72 61 74 6f 72 3a 3a 43 41 4c 4c 5f 54 4f ,.......CachingIterator::CALL_TO
3860 53 54 52 49 4e 47 7c 43 61 63 68 69 6e 67 49 74 65 72 61 74 6f 72 3a 3a 43 41 54 43 48 5f 47 45 STRING|CachingIterator::CATCH_GE
3880 54 5f 43 48 49 4c 44 0d 0a 09 09 09 29 2c 20 0d 0a 09 09 09 70 61 72 65 6e 74 3a 3a 53 45 4c 46 T_CHILD.....),......parent::SELF
38a0 5f 46 49 52 53 54 0d 0a 09 09 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 2f 2a 2a 20 40 72 65 74 75 72 6e _FIRST....);...}...../**.@return
38c0 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 20 70 72 65 66 69 78 65 64 20 77 69 .the.current.element.prefixed.wi
38e0 74 68 20 41 53 43 49 49 20 67 72 61 70 68 69 63 73 0d 0a 09 20 2a 2f 09 0d 0a 09 66 75 6e 63 74 th.ASCII.graphics....*/....funct
3900 69 6f 6e 20 63 75 72 72 65 6e 74 28 29 0d 0a 09 7b 0d 0a 09 09 24 74 72 65 65 20 3d 20 27 27 3b ion.current()...{....$tree.=.'';
3920 0d 0a 09 09 66 6f 72 20 28 24 6c 3d 30 3b 20 24 6c 20 3c 20 24 74 68 69 73 2d 3e 67 65 74 44 65 ....for.($l=0;.$l.<.$this->getDe
3940 70 74 68 28 29 3b 20 24 6c 2b 2b 29 20 7b 0d 0a 09 09 09 24 74 72 65 65 20 2e 3d 20 24 74 68 69 pth();.$l++).{.....$tree..=.$thi
3960 73 2d 3e 67 65 74 53 75 62 49 74 65 72 61 74 6f 72 28 24 6c 29 2d 3e 68 61 73 4e 65 78 74 28 29 s->getSubIterator($l)->hasNext()
3980 20 3f 20 27 7c 20 27 20 3a 20 27 20 20 27 3b 0d 0a 09 09 7d 0d 0a 09 09 72 65 74 75 72 6e 20 24 .?.'|.'.:.'..';....}....return.$
39a0 74 72 65 65 20 2e 20 28 24 74 68 69 73 2d 3e 67 65 74 53 75 62 49 74 65 72 61 74 6f 72 28 24 6c tree...($this->getSubIterator($l
39c0 29 2d 3e 68 61 73 4e 65 78 74 28 29 20 3f 20 27 7c 2d 27 20 3a 20 27 5c 2d 27 29 20 0d 0a 09 09 )->hasNext().?.'|-'.:.'\-').....
39e0 20 20 20 20 20 20 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 53 75 62 49 74 65 72 61 74 6f 72 28 24 .........$this->getSubIterator($
3a00 6c 29 2d 3e 5f 5f 74 6f 53 74 72 69 6e 67 28 29 3b 0d 0a 09 7d 0d 0a 0d 0a 09 2f 2a 2a 20 41 67 l)->__toString();...}...../**.Ag
3a20 67 72 65 67 61 74 65 73 20 74 68 65 20 69 6e 6e 65 72 20 69 74 65 72 61 74 6f 72 0d 0a 09 20 2a gregates.the.inner.iterator....*
3a40 2f 09 0d 0a 09 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 61 6c 6c 28 24 66 75 6e 63 2c 20 24 70 61 72 /....function.__call($func,.$par
3a60 61 6d 73 29 0d 0a 09 7b 0d 0a 09 09 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e ams)...{....return.call_user_fun
3a80 63 5f 61 72 72 61 79 28 61 72 72 61 79 28 24 74 68 69 73 2d 3e 67 65 74 53 75 62 49 74 65 72 61 c_array(array($this->getSubItera
3aa0 74 6f 72 28 29 2c 20 24 66 75 6e 63 29 2c 20 24 70 61 72 61 6d 73 29 3b 0d 0a 09 7d 0d 0a 7d 0d tor(),.$func),.$params);...}..}.
3ac0 0a 0d 0a 3f 3e 3c 3f 70 68 70 0a 0a 2f 2a 2a 0a 20 2a 20 40 66 69 6c 65 20 70 68 61 72 63 6f 6d ...?><?php../**..*.@file.pharcom
3ae0 6d 61 6e 64 2e 69 6e 63 0a 20 2a 20 40 69 6e 67 72 6f 75 70 20 50 68 61 72 0a 20 2a 20 40 62 72 mand.inc..*.@ingroup.Phar..*.@br
3b00 69 65 66 20 63 6c 61 73 73 20 43 4c 49 43 6f 6d 6d 61 6e 64 0a 20 2a 20 40 61 75 74 68 6f 72 20 ief.class.CLICommand..*.@author.
3b20 20 4d 61 72 63 75 73 20 42 6f 65 72 67 65 72 0a 20 2a 20 40 64 61 74 65 20 20 20 20 32 30 30 37 .Marcus.Boerger..*.@date....2007
3b40 20 2d 20 32 30 30 37 0a 20 2a 0a 20 2a 20 50 68 61 72 20 43 6f 6d 6d 61 6e 64 0a 20 2a 2f 0a 2f .-.2007..*..*.Phar.Command..*/./
3b60 2f 20 7b 7b 7b 20 63 6c 61 73 73 20 50 68 61 72 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 /.{{{.class.PharCommand.extends.
3b80 43 4c 49 43 6f 6d 6d 61 6e 64 0a 2f 2a 2a 0a 20 2a 20 50 68 61 72 43 6f 6d 6d 61 6e 64 20 63 6c CLICommand./**..*.PharCommand.cl
3ba0 61 73 73 0a 20 2a 20 0a 20 2a 20 54 68 69 73 20 63 6c 61 73 73 20 68 61 6e 64 6c 65 73 20 74 68 ass..*...*.This.class.handles.th
3bc0 65 20 68 61 6e 64 6c 69 6e 67 20 6f 66 20 74 68 65 20 70 68 61 72 0a 20 2a 20 63 6f 6d 6d 61 6e e.handling.of.the.phar..*.comman
3be0 64 73 2e 20 49 74 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 66 72 6f 6d 20 63 6f 6d 6d 61 6e 64 ds..It.will.be.used.from.command
3c00 20 6c 69 6e 65 2f 63 6f 6e 73 6f 6c 65 0a 20 2a 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 72 65 74 .line/console..*.in.order.to.ret
3c20 72 69 65 76 65 20 61 6e 64 20 65 78 65 63 75 74 65 20 70 68 61 72 20 66 75 6e 63 74 69 6f 6e 73 rieve.and.execute.phar.functions
3c40 2e 0a 20 2a 20 0a 20 2a 20 40 69 6e 67 72 6f 75 70 20 50 68 61 72 0a 20 2a 20 40 62 72 69 65 66 ...*...*.@ingroup.Phar..*.@brief
3c60 20 20 20 50 68 61 72 20 63 6f 6e 73 6f 6c 65 20 63 6f 6d 6d 61 6e 64 20 69 6d 70 6c 65 6d 65 6e ...Phar.console.command.implemen
3c80 74 61 74 69 6f 6e 0a 20 2a 20 40 61 75 74 68 6f 72 20 20 4d 61 72 63 75 73 20 42 6f 65 72 67 65 tation..*.@author..Marcus.Boerge
3ca0 72 0a 20 2a 20 40 76 65 72 73 69 6f 6e 20 31 2e 30 0a 20 2a 2f 0a 63 6c 61 73 73 20 50 68 61 72 r..*.@version.1.0..*/.class.Phar
3cc0 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 43 4c 49 43 6f 6d 6d 61 6e 64 0a 7b 0a 20 20 20 Command.extends.CLICommand.{....
3ce0 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 67 65 74 5f .//.{{{.public.function.cli_get_
3d00 53 50 32 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 67 65 74 5f SP2.....public.function.cli_get_
3d20 53 50 32 28 24 6c 31 2c 20 24 61 72 67 5f 69 6e 66 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 SP2($l1,.$arg_inf).....{........
3d40 20 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 6c 31 20 2b 20 32 20 .return.str_repeat('.',.$l1.+.2.
3d60 2b 20 34 20 2b 20 39 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f +.4.+.9);.....}.....//.}}}...../
3d80 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 67 65 74 5f 53 50 /.{{{.public.function.cli_get_SP
3da0 33 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 20 47 65 74 20 53 50 33 0a 20 20 20 3...../**......*.Cli.Get.SP3....
3dc0 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6c 31 20 20 20 20 ..*......*.@param.string.$l1....
3de0 20 20 45 6c 65 76 65 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6c ..Eleven......*.@param.string.$l
3e00 32 20 20 20 20 20 20 54 77 65 6c 76 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 2......Twelve......*.@param.stri
3e20 6e 67 20 24 61 72 67 5f 69 6e 66 20 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 ng.$arg_inf.......*.@return.stri
3e40 6e 67 20 20 54 68 65 20 72 65 70 65 61 74 65 64 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 2a 2f ng..The.repeated.string.......*/
3e60 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 67 65 74 5f 53 50 33 28 24 6c 31 2c 20 24 .....function.cli_get_SP3($l1,.$
3e80 6c 32 2c 20 24 61 72 67 5f 69 6e 66 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 l2,.$arg_inf).....{.........retu
3ea0 72 6e 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 6c 31 20 2b 20 32 20 2b 20 34 20 2b rn.str_repeat('.',.$l1.+.2.+.4.+
3ec0 20 39 20 2b 20 32 20 2b 20 24 6c 32 20 2b 20 32 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 .9.+.2.+.$l2.+.2);.....}.....//.
3ee0 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 }}}.....//.{{{.static.function.p
3f00 68 61 72 5f 61 72 67 73 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 50 68 61 72 20 61 72 67 har_args...../**......*.Phar.arg
3f20 75 6d 65 6e 74 73 0a 20 20 20 20 20 2a 20 0a 20 20 20 20 20 2a 20 54 68 69 73 20 66 75 6e 63 74 uments......*.......*.This.funct
3f40 69 6f 6e 20 63 6f 6e 74 61 69 6e 73 20 61 6c 6c 20 74 68 65 20 70 68 61 72 20 63 6f 6d 6d 61 6e ion.contains.all.the.phar.comman
3f60 64 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 ds......*......*.@param..string.
3f80 24 77 68 69 63 68 20 20 20 20 57 68 69 63 68 20 61 72 67 75 6d 65 6e 74 20 69 73 20 63 68 6f 73 $which....Which.argument.is.chos
3fa0 65 6e 2e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 24 70 68 61 72 74 en.......*.@param..string.$phart
3fc0 79 70 65 20 54 68 65 20 74 79 70 65 20 6f 66 20 70 68 61 72 2c 20 73 70 65 63 69 66 69 63 20 66 ype.The.type.of.phar,.specific.f
3fe0 69 6c 65 20 74 6f 20 77 6f 72 6b 20 6f 6e 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 75 6e ile.to.work.on......*.@return.un
4000 6b 6e 6f 77 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f known......*/.....static.functio
4020 6e 20 70 68 61 72 5f 61 72 67 73 28 24 77 68 69 63 68 2c 20 24 70 68 61 72 74 79 70 65 29 0a 20 n.phar_args($which,.$phartype)..
4040 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 70 68 61 72 5f 61 72 67 73 20 3d 20 61 72 72 61 79 28 ...{.........$phar_args.=.array(
4060 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 61 27 20 3d 3e 20 61 72 72 61 79 28 0a 20 20 20 20 20 .............'a'.=>.array(......
4080 20 20 20 20 20 20 20 20 20 20 20 27 74 79 70 27 20 3d 3e 20 27 61 6c 69 61 73 27 2c 0a 20 20 20 ...........'typ'.=>.'alias',....
40a0 20 20 20 20 20 20 20 20 20 20 20 20 20 27 76 61 6c 27 20 3d 3e 20 4e 55 4c 4c 2c 0a 20 20 20 20 .............'val'.=>.NULL,.....
40c0 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6e 66 27 20 3d 3e 20 27 3c 61 6c 69 61 73 3e 20 20 50 ............'inf'.=>.'<alias>..P
40e0 72 6f 76 69 64 65 20 61 6e 20 61 6c 69 61 73 20 6e 61 6d 65 20 66 6f 72 20 74 68 65 20 70 68 61 rovide.an.alias.name.for.the.pha
4100 72 20 66 69 6c 65 2e 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 2c 0a 20 20 20 20 20 20 20 20 r.file.'.............),.........
4120 20 20 20 20 27 62 27 20 3d 3e 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....'b'.=>.array(...............
4140 20 20 27 74 79 70 27 20 3d 3e 20 27 61 6e 79 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..'typ'.=>.'any',...............
4160 20 20 27 76 61 6c 27 20 3d 3e 20 4e 55 4c 4c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..'val'.=>.NULL,................
4180 20 27 69 6e 66 27 20 3d 3e 20 27 3c 62 61 6e 67 3e 20 20 20 48 61 73 68 2d 62 61 6e 67 20 6c 69 .'inf'.=>.'<bang>...Hash-bang.li
41a0 6e 65 20 74 6f 20 73 74 61 72 74 20 74 68 65 20 61 72 63 68 69 76 65 20 28 65 2e 67 2e 20 23 21 ne.to.start.the.archive.(e.g..#!
41c0 2f 75 73 72 2f 62 69 6e 2f 70 68 70 29 2e 20 54 68 65 20 68 61 73 68 20 27 0a 20 20 20 20 20 20 /usr/bin/php)..The.hash.'.......
41e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 20 20 20 20 20 20 20 20 20 6d 61 ....................'.........ma
4200 72 6b 20 69 74 73 65 6c 66 20 5c 27 23 21 5c 27 20 61 6e 64 20 74 68 65 20 6e 65 77 6c 69 6e 65 rk.itself.\'#!\'.and.the.newline
4220 20 63 68 61 72 61 63 74 65 72 20 61 72 65 20 6f 70 74 69 6f 6e 61 6c 2e 27 0a 20 20 20 20 20 20 .character.are.optional.'.......
4240 20 20 20 20 20 20 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 63 27 20 3d 3e 20 61 72 72 61 ......),.............'c'.=>.arra
4260 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 79 70 27 20 3d 3e 20 27 63 6f 6d y(.................'typ'.=>.'com
4280 70 61 6c 67 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 76 61 6c 27 20 3d 3e 20 palg',.................'val'.=>.
42a0 4e 55 4c 4c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6e 66 27 20 3d 3e 20 27 NULL,.................'inf'.=>.'
42c0 3c 61 6c 67 6f 3e 20 20 20 43 6f 6d 70 72 65 73 73 69 6f 6e 20 61 6c 67 6f 72 69 74 68 6d 2e 27 <algo>...Compression.algorithm.'
42e0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 73 65 6c 65 63 74 27 20 3d 3e 20 61 72 ,.................'select'.=>.ar
4300 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 30 27 20 20 20 20 ray(.....................'0'....
4320 3d 3e 20 27 4e 6f 20 63 6f 6d 70 72 65 73 73 69 6f 6e 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 =>.'No.compression',............
4340 20 20 20 20 20 20 20 20 20 27 6e 6f 6e 65 27 20 3d 3e 20 27 4e 6f 20 63 6f 6d 70 72 65 73 73 69 .........'none'.=>.'No.compressi
4360 6f 6e 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 61 75 74 6f 27 20 on',.....................'auto'.
4380 3d 3e 20 27 41 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 73 65 6c 65 63 74 20 63 6f 6d 70 72 65 73 =>.'Automatically.select.compres
43a0 73 69 6f 6e 20 61 6c 67 6f 72 69 74 68 6d 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sion.algorithm'.................
43c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 65 27 ).............),.............'e'
43e0 20 3d 3e 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 79 70 27 .=>.array(.................'typ'
4400 20 3d 3e 20 27 65 6e 74 72 79 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 76 61 .=>.'entry',.................'va
4420 6c 27 20 3d 3e 20 4e 55 4c 4c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6e 66 l'.=>.NULL,.................'inf
4440 27 20 3d 3e 20 27 3c 65 6e 74 72 79 3e 20 20 4e 61 6d 65 20 6f 66 20 65 6e 74 72 79 20 74 6f 20 '.=>.'<entry>..Name.of.entry.to.
4460 77 6f 72 6b 20 6f 6e 20 28 6d 75 73 74 20 69 6e 63 6c 75 64 65 20 50 48 41 52 20 69 6e 74 65 72 work.on.(must.include.PHAR.inter
4480 6e 61 6c 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 20 69 66 20 61 6e 79 29 2e 27 0a 20 20 20 nal.directory.name.if.any).'....
44a0 20 20 20 20 20 20 20 20 20 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 66 27 20 3d 3e 20 61 .........),.............'f'.=>.a
44c0 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 79 70 27 20 3d 3e 20 24 rray(.................'typ'.=>.$
44e0 70 68 61 72 74 79 70 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 76 61 6c 27 20 phartype,.................'val'.
4500 3d 3e 20 4e 55 4c 4c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6e 66 27 20 3d =>.NULL,.................'inf'.=
4520 3e 20 27 3c 66 69 6c 65 3e 20 20 20 53 70 65 63 69 66 69 65 73 20 74 68 65 20 70 68 61 72 20 66 >.'<file>...Specifies.the.phar.f
4540 69 6c 65 20 74 6f 20 77 6f 72 6b 20 6f 6e 2e 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 2c 0a ile.to.work.on.'.............),.
4560 20 20 20 20 20 20 20 20 20 20 20 20 27 68 27 20 3d 3e 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 ............'h'.=>.array(.......
4580 20 20 20 20 20 20 20 20 20 20 27 74 79 70 27 20 3d 3e 20 27 73 65 6c 65 63 74 27 2c 0a 20 20 20 ..........'typ'.=>.'select',....
45a0 20 20 20 20 20 20 20 20 20 20 20 20 20 27 76 61 6c 27 20 3d 3e 20 4e 55 4c 4c 2c 0a 20 20 20 20 .............'val'.=>.NULL,.....
45c0 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6e 66 27 20 3d 3e 20 27 3c 6d 65 74 68 6f 64 3e 20 53 ............'inf'.=>.'<method>.S
45e0 65 6c 65 63 74 73 20 74 68 65 20 68 61 73 68 20 61 6c 67 6f 72 69 74 68 6d 6e 2e 27 2c 0a 20 20 elects.the.hash.algorithmn.',...
4600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 73 65 6c 65 63 74 27 20 3d 3e 20 61 72 72 61 79 28 ..............'select'.=>.array(
4620 27 6d 64 35 27 20 3d 3e 20 27 4d 44 35 27 2c 27 73 68 61 31 27 20 3d 3e 20 27 53 48 41 31 27 29 'md5'.=>.'MD5','sha1'.=>.'SHA1')
4640 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 69 27 20 .............),.............'i'.
4660 3d 3e 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 79 70 27 20 =>.array(.................'typ'.
4680 3d 3e 20 27 72 65 67 65 78 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 76 61 6c =>.'regex',.................'val
46a0 27 20 3d 3e 20 4e 55 4c 4c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6e 66 27 '.=>.NULL,.................'inf'
46c0 20 3d 3e 20 27 3c 72 65 67 65 78 3e 20 20 53 70 65 63 69 66 69 65 73 20 61 20 72 65 67 75 6c 61 .=>.'<regex>..Specifies.a.regula
46e0 72 20 65 78 70 72 65 73 73 69 6f 6e 20 66 6f 72 20 69 6e 70 75 74 20 66 69 6c 65 73 2e 27 0a 20 r.expression.for.input.files.'..
4700 20 20 20 20 20 20 20 20 20 20 20 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6b 27 20 3d 3e ...........),.............'k'.=>
4720 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 79 70 27 20 3d 3e .array(.................'typ'.=>
4740 20 27 61 6e 79 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 76 61 6c 27 20 3d 3e .'any',.................'val'.=>
4760 20 4e 55 4c 4c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6e 66 27 20 3d 3e 20 .NULL,.................'inf'.=>.
4780 27 3c 69 6e 64 65 78 3e 20 20 53 75 62 73 63 72 69 70 74 69 6f 6e 20 69 6e 64 65 78 20 74 6f 20 '<index>..Subscription.index.to.
47a0 77 6f 72 6b 20 6f 6e 2e 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 2c 0a 20 20 20 20 20 20 work.on.',.............),.......
47c0 20 20 20 20 20 20 27 6c 27 20 3d 3e 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......'l'.=>.array(.............
47e0 20 20 20 20 27 74 79 70 27 20 3d 3e 20 27 69 6e 74 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....'typ'.=>.'int',.............
4800 20 20 20 20 27 76 61 6c 27 20 3d 3e 20 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....'val'.=>.0,.................
4820 27 69 6e 66 27 20 3d 3e 20 27 3c 6c 65 76 65 6c 3e 20 20 4e 75 6d 62 65 72 20 6f 66 20 70 72 65 'inf'.=>.'<level>..Number.of.pre
4840 63 65 65 64 69 6e 67 20 73 75 62 64 69 72 65 63 74 6f 72 69 65 73 20 74 6f 20 73 74 72 69 70 20 ceeding.subdirectories.to.strip.
4860 66 72 6f 6d 20 66 69 6c 65 20 65 6e 74 72 69 65 73 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 from.file.entries',.............
4880 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 6d 27 20 3d 3e 20 61 72 72 61 79 28 0a 20 20 20 ),.............'m'.=>.array(....
48a0 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 79 70 27 20 3d 3e 20 27 61 6e 79 27 2c 0a 20 20 20 .............'typ'.=>.'any',....
48c0 20 20 20 20 20 20 20 20 20 20 20 20 20 27 76 61 6c 27 20 3d 3e 20 4e 55 4c 4c 2c 0a 20 20 20 20 .............'val'.=>.NULL,.....
48e0 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6e 66 27 20 3d 3e 20 27 3c 6d 65 74 61 3e 20 20 20 4d ............'inf'.=>.'<meta>...M
4900 65 74 61 20 64 61 74 61 20 74 6f 20 73 74 6f 72 65 20 77 69 74 68 20 65 6e 74 72 79 20 28 73 65 eta.data.to.store.with.entry.(se
4920 72 69 61 6c 69 7a 65 64 20 70 68 70 20 64 61 74 61 29 2e 27 0a 20 20 20 20 20 20 20 20 20 20 20 rialized.php.data).'............
4940 20 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 70 27 20 3d 3e 20 61 72 72 61 79 28 0a 20 20 .),.............'p'.=>.array(...
4960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 79 70 27 20 3d 3e 20 27 6c 6f 61 64 65 72 27 2c ..............'typ'.=>.'loader',
4980 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 76 61 6c 27 20 3d 3e 20 4e 55 4c 4c 2c 0a .................'val'.=>.NULL,.
49a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6e 66 27 20 3d 3e 20 27 3c 6c 6f 61 64 65 ................'inf'.=>.'<loade
49c0 72 3e 20 4c 6f 63 61 74 69 6f 6e 20 6f 66 20 50 48 50 5f 41 72 63 68 69 76 65 20 63 6c 61 73 73 r>.Location.of.PHP_Archive.class
49e0 20 66 69 6c 65 20 28 70 65 61 72 20 6c 69 73 74 2d 66 69 6c 65 73 20 50 48 50 5f 41 72 63 68 69 .file.(pear.list-files.PHP_Archi
4a00 76 65 29 2e 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e ve).'...........................
4a20 27 59 6f 75 20 63 61 6e 20 75 73 65 20 5c 27 30 5c 27 20 6f 72 20 5c 27 31 5c 27 20 74 6f 20 6c 'You.can.use.\'0\'.or.\'1\'.to.l
4a40 6f 63 61 74 65 20 69 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 75 73 69 6e 67 20 74 68 65 ocate.it.automatically.using.the
4a60 20 6d 65 6e 74 69 6f 6e 65 64 20 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .mentioned.'....................
4a80 20 20 20 20 20 20 2e 27 70 65 61 72 20 63 6f 6d 6d 61 6e 64 2e 20 57 68 65 6e 20 75 73 69 6e 67 .......'pear.command..When.using
4aa0 20 5c 27 30 5c 27 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 64 6f 65 73 20 6e 6f 74 20 65 72 72 6f .\'0\'.the.command.does.not.erro
4ac0 72 20 6f 75 74 20 77 68 65 6e 20 74 68 65 20 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.out.when.the.'................
4ae0 20 20 20 20 20 20 20 20 20 20 2e 27 63 6c 61 73 73 20 66 69 6c 65 20 63 61 6e 6e 6f 74 20 62 65 ...........'class.file.cannot.be
4b00 20 6c 6f 63 61 74 65 64 2e 20 54 68 69 73 20 73 77 69 74 63 68 20 61 6c 73 6f 20 61 64 64 73 20 .located..This.switch.also.adds.
4b20 73 6f 6d 65 20 63 6f 64 65 20 61 72 6f 75 6e 64 20 74 68 65 20 27 0a 20 20 20 20 20 20 20 20 20 some.code.around.the.'..........
4b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 73 74 75 62 20 73 6f 20 74 68 61 74 20 63 .................'stub.so.that.c
4b60 6c 61 73 73 20 50 48 50 5f 41 72 63 68 69 76 65 20 67 65 74 73 20 72 65 67 69 73 74 65 72 65 64 lass.PHP_Archive.gets.registered
4b80 20 61 73 20 70 68 61 72 3a 2f 2f 20 73 74 72 65 61 6d 20 77 72 61 70 70 65 72 20 27 0a 20 20 20 .as.phar://.stream.wrapper.'....
4ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 69 66 20 6e 65 63 65 73 .......................'if.neces
4bc0 73 61 72 79 2e 20 41 6e 64 20 66 69 6e 61 6c 6c 79 20 74 68 69 73 20 73 77 69 74 63 68 20 77 69 sary..And.finally.this.switch.wi
4be0 6c 6c 20 61 64 64 20 74 68 65 20 66 69 6c 65 20 70 68 61 72 2e 69 6e 63 20 66 72 6f 6d 20 27 0a ll.add.the.file.phar.inc.from.'.
4c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 27 74 68 69 73 20 ..........................'this.
4c20 70 61 63 6b 61 67 65 20 61 6e 64 20 6c 6f 61 64 20 69 74 20 74 6f 20 65 6e 73 75 72 65 20 63 6c package.and.load.it.to.ensure.cl
4c40 61 73 73 20 50 68 61 72 20 69 73 20 70 72 65 73 65 6e 74 2e 27 0a 20 20 20 20 20 20 20 20 20 20 ass.Phar.is.present.'...........
4c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 2c 0a ...............,.............),.
4c80 20 20 20 20 20 20 20 20 20 20 20 20 27 73 27 20 3d 3e 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 ............'s'.=>.array(.......
4ca0 20 20 20 20 20 20 20 20 20 20 27 74 79 70 27 20 3d 3e 20 27 66 69 6c 65 27 2c 0a 20 20 20 20 20 ..........'typ'.=>.'file',......
4cc0 20 20 20 20 20 20 20 20 20 20 20 27 76 61 6c 27 20 3d 3e 20 4e 55 4c 4c 2c 0a 20 20 20 20 20 20 ...........'val'.=>.NULL,.......
4ce0 20 20 20 20 20 20 20 20 20 20 27 69 6e 66 27 20 3d 3e 20 27 3c 73 74 75 62 3e 20 20 20 53 65 6c ..........'inf'.=>.'<stub>...Sel
4d00 65 63 74 20 74 68 65 20 73 74 75 62 20 66 69 6c 65 2e 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 ect.the.stub.file.'.............
4d20 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 78 27 20 3d 3e 20 61 72 72 61 79 28 0a 20 20 20 ),.............'x'.=>.array(....
4d40 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 79 70 27 20 3d 3e 20 27 72 65 67 65 78 27 2c 0a 20 .............'typ'.=>.'regex',..
4d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 76 61 6c 27 20 3d 3e 20 4e 55 4c 4c 2c 0a 20 20 ...............'val'.=>.NULL,...
4d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6e 66 27 20 3d 3e 20 27 3c 72 65 67 65 78 3e 20 ..............'inf'.=>.'<regex>.
4da0 20 52 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 66 6f 72 20 69 6e 70 75 74 20 66 69 .Regular.expression.for.input.fi
4dc0 6c 65 73 20 74 6f 20 65 78 63 6c 75 64 65 2e 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 2c 0a les.to.exclude.'.............),.
4de0 20 20 20 20 20 20 20 20 20 20 20 20 27 79 27 20 3d 3e 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 ............'y'.=>.array(.......
4e00 20 20 20 20 20 20 09 27 74 79 70 27 20 3d 3e 20 27 70 72 69 76 6b 65 79 27 2c 0a 20 20 20 20 20 .......'typ'.=>.'privkey',......
4e20 20 20 20 20 20 20 20 09 27 76 61 6c 27 20 3d 3e 20 4e 55 4c 4c 2c 0a 20 20 20 20 20 20 20 20 20 ........'val'.=>.NULL,..........
4e40 20 20 20 09 27 69 6e 66 27 20 3d 3e 20 27 50 72 69 76 61 74 65 20 6b 65 79 20 66 6f 72 20 4f 70 ....'inf'.=>.'Private.key.for.Op
4e60 65 6e 53 53 4c 20 73 69 67 6e 69 6e 67 2e 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 2c 0a enSSL.signing.',.............),.
4e80 20 20 20 20 20 20 20 20 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 65 78 74 65 6e 73 69 6f ........);..........if.(extensio
4ea0 6e 5f 6c 6f 61 64 65 64 28 27 7a 6c 69 62 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 n_loaded('zlib')).{.............
4ec0 24 70 68 61 72 5f 61 72 67 73 5b 27 63 27 5d 5b 27 73 65 6c 65 63 74 27 5d 5b 27 67 7a 27 5d 20 $phar_args['c']['select']['gz'].
4ee0 20 20 20 3d 20 27 47 5a 69 70 20 63 6f 6d 70 72 65 73 73 69 6f 6e 27 3b 0a 20 20 20 20 20 20 20 ...=.'GZip.compression';........
4f00 20 20 20 20 20 24 70 68 61 72 5f 61 72 67 73 5b 27 63 27 5d 5b 27 73 65 6c 65 63 74 27 5d 5b 27 .....$phar_args['c']['select']['
4f20 67 7a 69 70 27 5d 20 20 3d 20 27 47 5a 69 70 20 63 6f 6d 70 72 65 73 73 69 6f 6e 27 3b 0a 20 20 gzip']..=.'GZip.compression';...
4f40 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c ......}..........if.(extension_l
4f60 6f 61 64 65 64 28 27 62 7a 32 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 68 61 oaded('bz2')).{.............$pha
4f80 72 5f 61 72 67 73 5b 27 63 27 5d 5b 27 73 65 6c 65 63 74 27 5d 5b 27 62 7a 32 27 5d 20 20 20 3d r_args['c']['select']['bz2']...=
4fa0 20 27 42 5a 69 70 32 20 63 6f 6d 70 72 65 73 73 69 6f 6e 27 3b 0a 20 20 20 20 20 20 20 20 20 20 .'BZip2.compression';...........
4fc0 20 20 24 70 68 61 72 5f 61 72 67 73 5b 27 63 27 5d 5b 27 73 65 6c 65 63 74 27 5d 5b 27 62 7a 69 ..$phar_args['c']['select']['bzi
4fe0 70 32 27 5d 20 3d 20 27 42 5a 69 70 32 20 63 6f 6d 70 72 65 73 73 69 6f 6e 27 3b 0a 20 20 20 20 p2'].=.'BZip2.compression';.....
5000 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 68 61 73 68 5f 61 76 61 69 6c 20 3d 20 50 68 61 ....}..........$hash_avail.=.Pha
5020 72 3a 3a 67 65 74 53 75 70 70 6f 72 74 65 64 53 69 67 6e 61 74 75 72 65 73 28 29 3b 0a 20 20 20 r::getSupportedSignatures();....
5040 20 20 20 20 20 24 68 61 73 68 5f 6f 70 74 69 6f 6e 61 6c 20 3d 20 61 72 72 61 79 28 27 53 48 41 .....$hash_optional.=.array('SHA
5060 2d 32 35 36 27 20 3d 3e 20 27 53 48 41 32 35 36 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -256'.=>.'SHA256',..............
5080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 53 48 41 2d 35 31 32 27 20 3d 3e 20 27 ..................'SHA-512'.=>.'
50a0 53 48 41 35 31 32 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 SHA512',........................
50c0 20 20 20 20 20 20 20 20 27 4f 70 65 6e 53 53 4c 27 20 3d 3e 20 27 4f 70 65 6e 53 53 4c 27 29 3b ........'OpenSSL'.=>.'OpenSSL');
50e0 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 28 24 68 61 73 68 5f 6f 70 74 69 6f 6e 61 6c 20 .........foreach($hash_optional.
5100 61 73 20 24 6b 65 79 20 3d 3e 20 24 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 as.$key.=>.$name).........{.....
5120 20 20 20 20 09 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 6b 65 79 2c 20 24 68 61 73 68 5f 61 76 .....if.(in_array($key,.$hash_av
5140 61 69 6c 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 09 24 70 68 61 72 5f 61 72 67 73 5b ail)).{..............$phar_args[
5160 27 68 27 5d 5b 27 73 65 6c 65 63 74 27 5d 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 'h']['select'][strtolower($name)
5180 5d 20 3d 20 24 6e 61 6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 ].=.$name;.............}........
51a0 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 61 72 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 .}..........$args.=.array();....
51c0 20 20 20 20 20 20 66 6f 72 65 61 63 68 28 24 70 68 61 72 5f 61 72 67 73 20 61 73 20 24 6c 6b 65 ......foreach($phar_args.as.$lke
51e0 79 20 3d 3e 20 24 63 66 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 75 6b 65 79 20 20 y.=>.$cfg).{.............$ukey..
5200 20 20 20 3d 20 73 74 72 74 6f 75 70 70 65 72 28 24 6c 6b 65 79 29 3b 0a 20 20 20 20 20 20 20 20 ...=.strtoupper($lkey);.........
5220 20 20 20 20 24 72 65 71 75 69 72 65 64 20 3d 20 73 74 72 70 6f 73 28 24 77 68 69 63 68 2c 20 24 ....$required.=.strpos($which,.$
5240 75 6b 65 79 29 20 21 3d 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 70 ukey).!==.false;.............$op
5260 74 69 6f 6e 61 6c 20 3d 20 73 74 72 70 6f 73 28 24 77 68 69 63 68 2c 20 24 6c 6b 65 79 29 20 21 tional.=.strpos($which,.$lkey).!
5280 3d 3d 20 66 61 6c 73 65 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 72 65 71 75 ==.false;..............if.($requ
52a0 69 72 65 64 20 7c 7c 20 24 6f 70 74 69 6f 6e 61 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ired.||.$optional).{............
52c0 20 20 20 20 20 24 61 72 67 73 5b 24 6c 6b 65 79 5d 20 3d 20 24 63 66 67 3b 0a 20 20 20 20 20 20 .....$args[$lkey].=.$cfg;.......
52e0 20 20 20 20 20 20 20 20 20 20 24 61 72 67 73 5b 24 6c 6b 65 79 5d 5b 27 72 65 71 75 69 72 65 64 ..........$args[$lkey]['required
5300 27 5d 20 3d 20 24 72 65 71 75 69 72 65 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 '].=.$required;.............}...
5320 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 67 73 3b 0a 20 20 ......}.........return.$args;...
5340 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 74 61 74 69 63 ..}.....//.}}}.....//.{{{.static
5360 20 66 75 6e 63 74 69 6f 6e 20 73 74 72 45 6e 64 73 57 69 74 68 0a 20 20 20 20 2f 2a 2a 0a 20 20 .function.strEndsWith...../**...
5380 20 20 20 2a 20 53 74 72 69 6e 67 20 45 6e 64 73 20 57 69 74 68 0a 20 20 20 20 20 2a 20 0a 20 20 ...*.String.Ends.With......*....
53a0 20 20 20 2a 20 57 65 74 68 65 72 20 61 20 73 74 72 69 6e 67 20 65 6e 64 20 77 69 74 68 20 61 6e ...*.Wether.a.string.end.with.an
53c0 6f 74 68 65 72 20 6e 65 65 64 6c 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 other.needle.......*......*.@par
53e0 61 6d 20 73 74 72 69 6e 67 20 24 68 61 79 73 74 61 63 6b 20 20 54 68 65 20 68 61 79 73 74 61 63 am.string.$haystack..The.haystac
5400 6b 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 6e 65 65 64 6c 65 20 20 k......*.@param.string.$needle..
5420 20 20 54 68 65 20 6e 65 65 64 6c 65 2e 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6d 69 78 ..The.needle.......*.@return.mix
5440 65 64 20 66 61 6c 73 65 20 69 66 20 64 6f 65 73 6e 27 74 20 65 6e 64 20 77 69 74 68 20 61 6e 79 ed.false.if.doesn't.end.with.any
5460 74 68 69 6e 67 2c 20 74 68 65 20 73 74 72 69 6e 67 20 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 thing,.the.string.......*.......
5480 20 20 20 20 20 20 20 20 73 75 62 73 74 72 27 65 64 20 69 66 20 74 68 65 20 73 74 72 69 6e 67 20 ........substr'ed.if.the.string.
54a0 65 6e 64 73 20 77 69 74 68 20 74 68 65 20 6e 65 65 64 6c 65 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 ends.with.the.needle.......*/...
54c0 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 72 45 6e 64 73 57 69 74 68 28 24 68 ..static.function.strEndsWith($h
54e0 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 aystack,.$needle).....{.........
5500 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 68 61 79 73 74 61 63 6b 2c 20 2d 73 74 72 6c 65 6e return.substr($haystack,.-strlen
5520 28 24 6e 65 65 64 6c 65 29 29 20 3d 3d 20 24 6e 65 65 64 6c 65 3b 0a 20 20 20 20 7d 0a 20 20 20 ($needle)).==.$needle;.....}....
5540 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 .//.}}}.....//.{{{.static.functi
5560 6f 6e 20 63 6c 69 5f 61 72 67 5f 74 79 70 5f 6c 6f 61 64 65 72 0a 20 20 20 20 2f 2a 2a 0a 20 20 on.cli_arg_typ_loader...../**...
5580 20 20 20 2a 20 41 72 67 75 6d 65 6e 74 20 74 79 70 65 20 6c 6f 61 64 65 72 0a 20 20 20 20 20 2a ...*.Argument.type.loader......*
55a0 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 61 72 67 20 20 20 45 69 74 ......*.@param.string.$arg...Eit
55c0 68 65 72 20 27 61 75 74 6f 27 2c 20 27 6f 70 74 69 6f 6e 61 6c 27 20 6f 72 20 61 6e 20 66 69 6c her.'auto',.'optional'.or.an.fil
55e0 65 6e 61 6d 65 20 74 68 61 74 20 0a 20 20 20 20 20 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ename.that.......*..............
5600 20 20 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 73 20 63 6c 61 73 73 20 50 48 50 5f 41 72 63 68 69 ........contains.class.PHP_Archi
5620 76 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 24 63 66 67 20 20 43 ve......*.@param..string.$cfg..C
5640 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 74 6f 20 70 61 73 73 20 74 6f 20 61 20 6e 65 77 20 66 69 onfiguration.to.pass.to.a.new.fi
5660 6c 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 24 6b 65 79 20 20 54 le......*.@param..string.$key..T
5680 68 65 20 6b 65 79 20 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 24 61 he.key.......*.@return.string.$a
56a0 72 67 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 73 74 rg..The.argument.......*/.....st
56c0 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 61 72 67 5f 74 79 70 5f 6c 6f 61 64 65 72 atic.function.cli_arg_typ_loader
56e0 28 24 61 72 67 2c 20 24 63 66 67 2c 20 24 6b 65 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 ($arg,.$cfg,.$key).....{........
5700 20 69 66 20 28 28 24 61 72 67 20 3d 3d 20 27 30 27 20 7c 7c 20 24 61 72 67 20 3d 3d 20 27 31 27 .if.(($arg.==.'0'.||.$arg.==.'1'
5720 29 20 26 26 20 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 61 72 67 29 29 20 7b 0a 20 20 20 20 20 ).&&.!file_exists($arg)).{......
5740 20 20 20 20 20 20 20 24 66 6f 75 6e 64 20 3d 20 4e 55 4c 4c 3b 0a 20 20 20 20 20 20 20 20 09 24 .......$found.=.NULL;..........$
5760 61 70 69 76 65 72 20 3d 20 60 70 65 61 72 20 2d 71 20 69 6e 66 6f 20 50 48 50 5f 41 72 63 68 69 apiver.=.`pear.-q.info.PHP_Archi
5780 76 65 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 7c 67 72 65 70 20 27 41 50 49 20 56 65 72 73 69 6f 6e ve.2>/dev/null|grep.'API.Version
57a0 27 60 3b 0a 20 20 20 20 20 20 20 20 09 24 61 70 69 76 65 72 20 3d 20 74 72 69 6d 28 73 75 62 73 '`;..........$apiver.=.trim(subs
57c0 74 72 28 24 61 70 69 76 65 72 2c 20 73 74 72 6c 65 6e 28 27 41 50 49 20 56 65 72 73 69 6f 6e 27 tr($apiver,.strlen('API.Version'
57e0 29 29 29 3b 0a 20 20 20 20 20 20 20 20 09 69 66 20 28 24 61 70 69 76 65 72 29 20 7b 0a 20 20 20 )));..........if.($apiver).{....
5800 20 20 20 20 20 09 09 73 65 6c 66 3a 3a 6e 6f 74 69 63 65 28 22 50 65 61 72 20 70 61 63 6b 61 67 .......self::notice("Pear.packag
5820 65 20 50 48 50 5f 41 72 63 68 69 76 65 20 66 6f 75 6e 64 3a 20 41 50 49 20 56 65 72 73 69 6f 6e e.PHP_Archive.found:.API.Version
5840 3a 20 24 61 70 69 76 65 72 2e 5c 6e 22 29 3b 0a 09 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 :.$apiver.\n");..............for
5860 65 61 63 68 28 73 70 6c 69 74 28 22 5c 6e 22 2c 20 60 70 65 61 72 20 6c 69 73 74 2d 66 69 6c 65 each(split("\n",.`pear.list-file
5880 73 20 50 48 50 5f 41 72 63 68 69 76 65 60 29 20 61 73 20 24 65 6e 74 29 20 7b 0a 09 20 20 20 20 s.PHP_Archive`).as.$ent).{......
58a0 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 61 74 63 68 65 73 20 3d 20 4e 55 4c 4c 3b 0a 09 20 20 ............$matches.=.NULL;....
58c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 22 2c 5e ..............if.(preg_match(",^
58e0 70 68 70 5b 20 5c 74 5d 2b 28 5b 5e 20 5c 74 5d 2e 2a 70 65 61 72 5b 5c 5c 5c 5c 2f 5d 50 48 50 php[.\t]+([^.\t].*pear[\\\\/]PHP
5900 5b 5c 5c 5c 5c 2f 5d 41 72 63 68 69 76 65 2e 70 68 70 29 24 2c 22 2c 20 24 65 6e 74 2c 20 24 6d [\\\\/]Archive.php)$,",.$ent,.$m
5920 61 74 63 68 65 73 29 29 20 7b 0a 09 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 atches)).{......................
5940 24 66 6f 75 6e 64 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 3b 0a 09 20 20 20 20 20 20 20 20 20 $found.=.$matches[1];...........
5960 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 09 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........break;...............
5980 20 20 20 7d 0a 09 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 09 20 20 20 20 20 20 20 20 7d 0a 20 ...}..............}..........}..
59a0 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 66 6f 75 6e 64 29 29 20 7b ...........if.(!isset($found)).{
59c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 73 67 20 3d 20 22 50 65 61 72 20 70 61 .................$msg.=."Pear.pa
59e0 63 6b 61 67 65 20 50 48 50 5f 41 72 63 68 69 76 65 20 6f 72 20 41 72 63 68 69 76 65 2e 70 68 70 ckage.PHP_Archive.or.Archive.php
5a00 20 63 6c 61 73 73 20 66 69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 2e 5c 6e 22 3b 0a 20 20 20 20 20 .class.file.not.found.\n";......
5a20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 61 72 67 20 3d 3d 20 27 30 27 29 20 7b 0a 20 20 ...........if.($arg.==.'0').{...
5a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 6e 6f 74 69 63 65 28 24 ..................self::notice($
5a60 6d 73 67 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 msg);.................}.else.{..
5a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 65 72 72 6f 72 28 24 ...................self::error($
5aa0 6d 73 67 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 msg);.................}.........
5ac0 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 61 72 67 20 3d 20 24 66 6f 75 6e 64 3b ....}.............$arg.=.$found;
5ae0 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a .........}.........return.self::
5b00 63 6c 69 5f 61 72 67 5f 74 79 70 5f 66 69 6c 65 28 24 61 72 67 29 3b 0a 20 20 20 20 7d 0a 20 20 cli_arg_typ_file($arg);.....}...
5b20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 74 61 74 69 63 20 66 75 6e 63 74 ..//.}}}.....//.{{{.static.funct
5b40 69 6f 6e 20 63 6c 69 5f 61 72 67 5f 74 79 70 5f 70 68 61 72 6e 65 77 0a 20 20 20 20 2f 2a 2a 0a ion.cli_arg_typ_pharnew...../**.
5b60 20 20 20 20 20 2a 20 41 72 67 75 6d 65 6e 74 20 74 79 70 65 20 6e 65 77 20 70 68 61 72 0a 20 20 .....*.Argument.type.new.phar...
5b80 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 24 61 72 67 20 ...*......*.@param..string.$arg.
5ba0 20 54 68 65 20 6e 65 77 20 70 68 61 72 20 63 6f 6d 70 6f 6e 65 6e 74 2e 0a 20 20 20 20 20 2a 20 .The.new.phar.component.......*.
5bc0 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 24 63 66 67 20 20 43 6f 6e 66 69 67 75 72 61 74 69 @param..string.$cfg..Configurati
5be0 6f 6e 20 74 6f 20 70 61 73 73 20 74 6f 20 61 20 6e 65 77 20 66 69 6c 65 0a 20 20 20 20 20 2a 20 on.to.pass.to.a.new.file......*.
5c00 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 24 6b 65 79 20 20 54 68 65 20 6b 65 79 20 0a 20 20 @param..string.$key..The.key....
5c20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 24 61 72 67 20 20 54 68 65 20 6e 65 ...*.@return.string.$arg..The.ne
5c40 77 20 61 72 67 75 6d 65 6e 74 20 66 69 6c 65 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 73 74 61 w.argument.file.......*/.....sta
5c60 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 61 72 67 5f 74 79 70 5f 70 68 61 72 6e 65 77 tic.function.cli_arg_typ_pharnew
5c80 28 24 61 72 67 2c 20 24 63 66 67 2c 20 24 6b 65 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 ($arg,.$cfg,.$key).....{........
5ca0 20 24 61 72 67 20 3d 20 73 65 6c 66 3a 3a 63 6c 69 5f 61 72 67 5f 74 79 70 5f 66 69 6c 65 6e 65 .$arg.=.self::cli_arg_typ_filene
5cc0 77 28 24 61 72 67 2c 20 24 63 66 67 2c 20 24 6b 65 79 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 w($arg,.$cfg,.$key);.........if.
5ce0 28 21 50 68 61 72 3a 3a 69 73 56 61 6c 69 64 50 68 61 72 46 69 6c 65 6e 61 6d 65 28 24 61 72 67 (!Phar::isValidPharFilename($arg
5d00 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 65 72 72 6f 72 28 22 50 68 )).{.............self::error("Ph
5d20 61 72 20 66 69 6c 65 73 20 6d 75 73 74 20 68 61 76 65 20 66 69 6c 65 20 65 78 74 65 6e 73 69 6f ar.files.must.have.file.extensio
5d40 6e 20 27 2e 70 68 61 72 27 2c 20 27 2e 70 68 61 72 2e 70 68 70 27 2c 20 27 2e 70 68 61 72 2e 62 n.'.phar',.'.phar.php',.'.phar.b
5d60 7a 32 27 20 6f 72 20 27 2e 70 68 61 72 2e 67 7a 27 2e 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 z2'.or.'.phar.gz'.\n");.........
5d80 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 67 3b 0a 20 20 20 20 7d 0a 20 20 20 }.........return.$arg;.....}....
5da0 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 .//.}}}.....//.{{{.static.functi
5dc0 6f 6e 20 63 6c 69 5f 61 72 67 5f 74 79 70 5f 70 68 61 72 66 69 6c 65 0a 20 20 20 20 2f 2a 2a 0a on.cli_arg_typ_pharfile...../**.
5de0 20 20 20 20 20 2a 20 41 72 67 75 6d 65 6e 74 20 74 79 70 65 20 65 78 69 73 74 69 6e 67 20 50 68 .....*.Argument.type.existing.Ph
5e00 61 72 20 66 69 6c 65 0a 20 20 20 20 20 2a 20 0a 20 20 20 20 20 2a 20 52 65 74 75 72 6e 20 66 69 ar.file......*.......*.Return.fi
5e20 6c 65 6e 61 6d 20 65 6f 66 20 61 6e 20 65 78 69 73 74 69 6e 67 20 50 68 61 72 2e 0a 20 20 20 20 lenam.eof.an.existing.Phar......
5e40 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 24 61 72 67 20 20 20 .*......*.@param..string.$arg...
5e60 20 20 20 54 68 65 20 66 69 6c 65 20 69 6e 20 74 68 65 20 70 68 61 72 20 74 6f 20 6f 70 65 6e 2e ...The.file.in.the.phar.to.open.
5e80 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 24 63 66 67 20 20 20 20 20 ......*.@param..string.$cfg.....
5ea0 20 54 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20 .The.configuration.information..
5ec0 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 24 6b 65 79 20 20 20 20 20 20 54 ....*.@param..string.$key......T
5ee0 68 65 20 6b 65 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 20 40 72 65 74 75 he.key.information.......*.@retu
5f00 72 6e 20 73 74 72 69 6e 67 20 24 70 68 61 72 66 69 6c 65 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 rn.string.$pharfile.The.name.of.
5f20 74 68 65 20 6c 6f 61 64 65 64 20 50 68 61 72 20 66 69 6c 65 2e 0a 20 20 20 20 20 2a 20 40 6e 6f the.loaded.Phar.file.......*.@no
5f40 74 65 20 54 68 65 20 50 68 61 72 20 77 69 6c 6c 20 62 65 20 6c 6f 61 64 65 64 0a 20 20 20 20 20 te.The.Phar.will.be.loaded......
5f60 2a 2f 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 61 72 67 5f 74 */.....static.function.cli_arg_t
5f80 79 70 5f 70 68 61 72 66 69 6c 65 28 24 61 72 67 2c 20 24 63 66 67 2c 20 24 6b 65 79 29 0a 20 20 yp_pharfile($arg,.$cfg,.$key)...
5fa0 20 20 7b 0a 20 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 ..{.........try.{.............$p
5fc0 68 61 72 66 69 6c 65 20 3d 20 73 65 6c 66 3a 3a 63 6c 69 5f 61 72 67 5f 74 79 70 5f 66 69 6c 65 harfile.=.self::cli_arg_typ_file
5fe0 28 24 61 72 67 2c 20 24 63 66 67 2c 20 24 6b 65 79 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ($arg,.$cfg,.$key);.............
6000 20 69 66 20 28 21 50 68 61 72 3a 3a 6c 6f 61 64 50 68 61 72 28 24 70 68 61 72 66 69 6c 65 29 29 .if.(!Phar::loadPhar($pharfile))
6020 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 65 72 72 6f 72 28 22 .{.................self::error("
6040 55 6e 61 62 6c 65 20 74 6f 20 6f 70 65 6e 20 70 68 61 72 20 27 24 61 72 67 27 5c 6e 22 29 3b 0a Unable.to.open.phar.'$arg'\n");.
6060 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 ............}..............retur
6080 6e 20 24 70 68 61 72 66 69 6c 65 3b 0a 20 20 20 20 20 20 20 20 7d 20 63 61 74 63 68 28 45 78 63 n.$pharfile;.........}.catch(Exc
60a0 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 65 eption.$e).{.............self::e
60c0 72 72 6f 72 28 22 45 78 63 65 70 74 69 6f 6e 20 77 68 69 6c 65 20 6f 70 65 6e 69 6e 67 20 70 68 rror("Exception.while.opening.ph
60e0 61 72 20 27 24 61 72 67 27 3a 5c 6e 22 20 2e 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 ar.'$arg':\n"...$e->getMessage()
6100 20 2e 20 22 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f ..."\n");.........}.....}.....//
6120 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 .}}}.....//.{{{.static.function.
6140 63 6c 69 5f 61 72 67 5f 74 79 70 5f 70 68 61 72 75 72 6c 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 cli_arg_typ_pharurl...../**.....
6160 20 2a 20 41 72 67 75 6d 65 6e 74 20 74 79 70 65 20 50 68 61 72 20 75 72 6c 2d 6c 69 6b 65 0a 20 .*.Argument.type.Phar.url-like..
6180 20 20 20 20 2a 20 0a 20 20 20 20 20 2a 20 43 68 65 63 6b 20 74 68 65 20 61 72 67 75 6d 65 6e 74 ....*.......*.Check.the.argument
61a0 20 61 73 20 63 6c 69 5f 61 72 67 5f 54 79 70 5f 70 68 61 72 20 61 6e 64 20 72 65 74 75 72 6e 20 .as.cli_arg_Typ_phar.and.return.
61c0 69 74 73 20 6e 61 6d 65 20 70 72 65 66 69 78 65 64 20 0a 20 20 20 20 20 2a 20 77 69 74 68 20 70 its.name.prefixed.......*.with.p
61e0 68 61 72 3a 2f 2f 0a 20 20 20 20 20 2a 20 0a 20 20 20 20 20 2a 20 45 78 3a 0a 20 20 20 20 20 2a har://......*.......*.Ex:......*
6200 20 3c 63 6f 64 65 3e 0a 20 20 20 20 20 2a 20 20 24 61 72 67 20 3d 20 27 70 68 61 72 63 68 69 76 .<code>......*..$arg.=.'pharchiv
6220 65 2e 70 68 61 72 2f 66 69 6c 65 2e 70 68 70 27 3b 0a 20 20 20 20 20 2a 20 20 63 6c 69 5f 61 72 e.phar/file.php';......*..cli_ar
6240 67 5f 74 79 70 5f 70 68 61 72 75 72 6c 28 24 61 72 67 29 0a 20 20 20 20 20 2a 20 3c 2f 63 6f 64 g_typ_pharurl($arg)......*.</cod
6260 65 3e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 e>......*......*.@param..string.
6280 24 61 72 67 20 54 68 65 20 75 72 6c 2d 6c 69 6b 65 20 70 68 61 72 20 61 72 63 68 69 76 65 20 74 $arg.The.url-like.phar.archive.t
62a0 6f 20 72 65 74 72 69 65 76 65 2e 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e o.retrieve.......*.@return.strin
62c0 67 20 54 68 65 20 70 68 61 72 20 66 69 6c 65 2d 61 72 63 68 69 76 65 2e 0a 20 20 20 20 20 2a 2f g.The.phar.file-archive.......*/
62e0 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 61 72 67 5f 74 79 70 .....static.function.cli_arg_typ
6300 5f 70 68 61 72 75 72 6c 28 24 61 72 67 2c 20 24 63 66 67 2c 20 24 6b 65 79 29 0a 20 20 20 20 7b _pharurl($arg,.$cfg,.$key).....{
6320 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 27 70 68 61 72 3a 2f 2f 27 20 2e 20 73 65 6c 66 .........return.'phar://'...self
6340 3a 3a 63 6c 69 5f 61 72 67 5f 74 79 70 5f 70 68 61 72 66 69 6c 65 28 24 61 72 67 2c 20 24 63 66 ::cli_arg_typ_pharfile($arg,.$cf
6360 67 2c 20 24 6b 65 79 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f g,.$key);.....}.....//.}}}...../
6380 2f 20 7b 7b 7b 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 61 72 67 5f 74 79 /.{{{.static.function.cli_arg_ty
63a0 70 5f 70 68 61 72 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 20 61 72 67 75 6d 65 p_phar...../**......*.Cli.argume
63c0 6e 74 20 74 79 70 65 20 70 68 61 72 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 nt.type.phar......*......*.@para
63e0 6d 20 20 73 74 72 69 6e 67 20 24 61 72 67 20 20 54 68 65 20 70 68 61 72 20 61 72 63 68 69 76 65 m..string.$arg..The.phar.archive
6400 20 74 6f 20 75 73 65 2e 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 6f 62 6a 65 63 74 20 6e .to.use.......*.@return.object.n
6420 65 77 20 50 68 61 72 20 6f 66 20 74 68 65 20 70 61 73 73 65 64 20 61 72 67 75 6d 65 6e 74 2e 0a ew.Phar.of.the.passed.argument..
6440 20 20 20 20 20 2a 2f 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f .....*/.....static.function.cli_
6460 61 72 67 5f 74 79 70 5f 70 68 61 72 28 24 61 72 67 2c 20 24 63 66 67 2c 20 24 6b 65 79 29 0a 20 arg_typ_phar($arg,.$cfg,.$key)..
6480 20 20 20 7b 0a 20 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 ...{.........try.{.............r
64a0 65 74 75 72 6e 20 6e 65 77 20 50 68 61 72 28 73 65 6c 66 3a 3a 63 6c 69 5f 61 72 67 5f 74 79 70 eturn.new.Phar(self::cli_arg_typ
64c0 5f 70 68 61 72 66 69 6c 65 28 24 61 72 67 2c 20 24 63 66 67 2c 20 24 6b 65 79 29 29 3b 0a 20 20 _pharfile($arg,.$cfg,.$key));...
64e0 20 20 20 20 20 20 7d 20 63 61 74 63 68 28 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 20 20 ......}.catch(Exception.$e).{...
6500 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 65 72 72 6f 72 28 22 45 78 63 65 70 74 69 6f 6e ..........self::error("Exception
6520 20 77 68 69 6c 65 20 6f 70 65 6e 69 6e 67 20 70 68 61 72 20 27 24 61 72 67 76 27 3a 5c 6e 22 20 .while.opening.phar.'$argv':\n".
6540 2e 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 20 2e 20 22 5c 6e 22 29 3b 0a 20 20 20 20 ..$e->getMessage()..."\n");.....
6560 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b ....}.....}.....//.}}}.....//.{{
6580 7b 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 61 72 67 5f 74 79 70 5f 65 6e {.static.function.cli_arg_typ_en
65a0 74 72 79 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 72 67 75 6d 65 6e 74 20 74 79 70 65 try...../**......*.Argument.type
65c0 20 45 6e 74 72 79 20 6e 61 6d 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d .Entry.name......*......*.@param
65e0 20 20 73 74 72 69 6e 67 20 24 61 72 67 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 28 74 68 65 20 ..string.$arg.The.argument.(the.
6600 65 6e 74 72 79 29 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 24 61 72 entry)......*.@return.string.$ar
6620 67 20 54 68 65 20 65 6e 74 72 79 20 69 74 73 65 6c 66 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 g.The.entry.itself.......*/.....
6640 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 61 72 67 5f 74 79 70 5f 65 6e 74 72 static.function.cli_arg_typ_entr
6660 79 28 24 61 72 67 2c 20 24 63 66 67 2c 20 24 6b 65 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 y($arg,.$cfg,.$key).....{.......
6680 20 20 2f 2f 20 6e 6f 20 66 75 72 74 68 65 72 20 63 68 65 63 6b 20 61 74 6d 2c 20 6d 61 79 62 65 ..//.no.further.check.atm,.maybe
66a0 20 63 68 65 63 6b 20 66 6f 72 20 6e 6f 20 27 2f 27 20 61 74 20 62 65 67 69 6e 6e 69 6e 67 0a 20 .check.for.no.'/'.at.beginning..
66c0 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 67 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f .......return.$arg;.....}.....//
66e0 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 .}}}.....//.{{{.static.function.
6700 63 6c 69 5f 61 72 67 5f 74 79 70 5f 63 6f 6d 70 61 6c 67 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 cli_arg_typ_compalg...../**.....
6720 20 2a 20 41 72 67 75 6d 65 6e 74 20 74 79 70 65 20 63 6f 6d 70 72 65 73 73 69 6f 6e 20 61 6c 67 .*.Argument.type.compression.alg
6740 6f 72 69 74 68 6d 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 orithm......*......*.@param..str
6760 69 6e 67 20 24 61 72 67 20 20 54 68 65 20 70 68 61 72 20 73 65 6c 65 63 74 69 6f 6e 0a 20 20 20 ing.$arg..The.phar.selection....
6780 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 24 63 66 67 20 20 54 68 65 20 63 6f 6e ..*.@param..string.$cfg..The.con
67a0 66 69 67 20 6f 70 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e fig.option.......*.@param..strin
67c0 67 20 24 6b 65 79 20 20 54 68 65 20 6b 65 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 20 20 20 g.$key..The.key.information.....
67e0 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 24 61 72 67 20 20 54 68 65 20 73 65 6c ..*.@return.string.$arg..The.sel
6800 65 63 74 65 64 20 61 6c 67 6f 72 69 74 68 6d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 73 74 61 74 ected.algorithm......*/.....stat
6820 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 61 72 67 5f 74 79 70 5f 63 6f 6d 70 61 6c 67 28 ic.function.cli_arg_typ_compalg(
6840 24 61 72 67 2c 20 24 63 66 67 2c 20 24 6b 65 79 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 $arg,.$cfg,.$key).....{.........
6860 24 61 72 67 20 3d 20 73 65 6c 66 3a 3a 63 6c 69 5f 61 72 67 5f 74 79 70 5f 73 65 6c 65 63 74 28 $arg.=.self::cli_arg_typ_select(
6880 24 61 72 67 2c 20 24 63 66 67 2c 20 24 6b 65 79 29 3b 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 $arg,.$cfg,.$key);..............
68a0 20 20 20 20 73 77 69 74 63 68 28 24 61 72 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 ....switch($arg).{.............c
68c0 61 73 65 20 27 61 75 74 6f 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 ase.'auto':.................if.(
68e0 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 7a 6c 69 62 27 29 29 20 7b 0a 20 20 20 20 extension_loaded('zlib')).{.....
6900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 61 72 67 20 3d 20 27 67 7a 27 3b 0a 20 20 20 ................$arg.=.'gz';....
6920 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 65 78 74 65 6e 73 69 6f 6e .............}.elseif.(extension
6940 5f 6c 6f 61 64 65 64 28 27 62 7a 32 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 _loaded('bz2')).{...............
6960 20 20 20 20 20 20 24 61 72 67 20 3d 20 27 62 7a 32 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......$arg.=.'bz2';.............
6980 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....}.else.{....................
69a0 20 24 61 72 67 20 3d 20 27 30 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 .$arg.=.'0';.................}..
69c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 7d 0a ...............break;.........}.
69e0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 67 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f ........return.$arg;.....}...../
6a00 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e /.}}}.....//.{{{.static.function
6a20 20 63 6c 69 5f 61 72 67 5f 74 79 70 5f 70 72 69 76 6b 65 79 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 .cli_arg_typ_privkey...../**....
6a40 20 20 2a 20 41 72 67 75 6d 65 6e 74 20 74 79 70 65 20 70 72 69 76 61 74 65 20 6b 65 79 20 28 66 ..*.Argument.type.private.key.(f
6a60 6f 72 20 4f 70 65 6e 53 53 4c 20 73 69 67 6e 69 6e 67 29 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 or.OpenSSL.signing)......*......
6a80 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 24 61 72 67 20 20 54 68 65 20 70 68 61 72 20 *.@param..string.$arg..The.phar.
6aa0 73 65 6c 65 63 74 69 6f 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 selection......*.@param..string.
6ac0 24 63 66 67 20 20 54 68 65 20 63 6f 6e 66 69 67 20 6f 70 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 20 $cfg..The.config.option.......*.
6ae0 40 70 61 72 61 6d 20 20 73 74 72 69 6e 67 20 24 6b 65 79 20 20 54 68 65 20 6b 65 79 20 69 6e 66 @param..string.$key..The.key.inf
6b00 6f 72 6d 61 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 ormation.......*.@return.string.
6b20 24 61 72 67 20 20 54 68 65 20 73 65 6c 65 63 74 65 64 20 61 6c 67 6f 72 69 74 68 6d 0a 20 20 20 $arg..The.selected.algorithm....
6b40 20 20 2a 2f 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 61 72 67 ..*/.....static.function.cli_arg
6b60 5f 74 79 70 5f 70 72 69 76 6b 65 79 28 24 61 72 67 2c 20 24 63 66 67 2c 20 24 6b 65 79 29 0a 20 _typ_privkey($arg,.$cfg,.$key)..
6b80 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 61 72 67 20 3d 20 73 65 6c 66 3a 3a 63 6c 69 5f 61 72 ...{.........$arg.=.self::cli_ar
6ba0 67 5f 74 79 70 5f 73 74 72 69 6e 67 28 24 61 72 67 2c 20 24 63 66 67 2c 20 24 6b 65 79 29 3b 0a g_typ_string($arg,.$cfg,.$key);.
6bc0 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 24 68 61 73 68 5f 61 76 61 69 6c 20 3d 20 50 .................$hash_avail.=.P
6be0 68 61 72 3a 3a 67 65 74 53 75 70 70 6f 72 74 65 64 53 69 67 6e 61 74 75 72 65 73 28 29 3b 0a 20 har::getSupportedSignatures();..
6c00 20 20 20 20 20 20 20 69 66 20 28 24 61 72 67 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 27 4f 70 .......if.($arg.&&.!in_array('Op
6c20 65 6e 53 53 4c 27 2c 20 24 68 61 73 68 5f 61 76 61 69 6c 29 29 0a 20 20 20 20 20 20 20 20 7b 0a enSSL',.$hash_avail)).........{.
6c40 20 20 20 20 20 20 20 20 09 73 65 6c 66 3a 3a 65 72 72 6f 72 28 22 43 61 6e 6e 6f 74 20 73 70 65 .........self::error("Cannot.spe
6c60 63 69 66 69 79 20 70 72 69 76 61 74 65 20 6b 65 79 20 77 69 74 68 6f 75 74 20 4f 70 65 6e 53 53 cifiy.private.key.without.OpenSS
6c80 4c 20 73 75 70 70 6f 72 74 2e 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 L.support.\n");.........}.......
6ca0 20 20 72 65 74 75 72 6e 20 24 61 72 67 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a ..return.$arg;.....}.....//.}}}.
6cc0 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 68 61 72 5f ....//.{{{.static.function.phar_
6ce0 63 68 65 63 6b 5f 68 61 73 68 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 68 65 63 6b 20 check_hash...../**......*.Check.
6d00 77 68 65 74 68 65 72 20 68 61 73 68 20 6d 65 74 68 6f 64 20 69 73 20 76 61 6c 69 64 2e 0a 20 20 whether.hash.method.is.valid....
6d20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 48 61 73 68 20 63 6f 6e 73 74 61 6e ...*......*.@return.Hash.constan
6d40 74 20 74 6f 20 62 65 20 75 73 65 64 2e 0a 20 20 20 20 20 2a 2f 0a 09 66 75 6e 63 74 69 6f 6e 20 t.to.be.used.......*/..function.
6d60 70 68 61 72 5f 63 68 65 63 6b 5f 68 61 73 68 28 24 68 61 73 68 2c 20 24 70 72 69 76 6b 65 79 29 phar_check_hash($hash,.$privkey)
6d80 0a 09 7b 0a 09 09 73 77 69 74 63 68 28 24 68 61 73 68 29 0a 09 09 7b 0a 09 09 09 63 61 73 65 20 ..{...switch($hash)...{....case.
6da0 27 6d 64 35 27 3a 0a 09 09 09 09 72 65 74 75 72 6e 20 50 68 61 72 3a 3a 4d 44 35 3b 0a 09 09 09 'md5':.....return.Phar::MD5;....
6dc0 63 61 73 65 20 27 73 68 61 31 27 3a 0a 09 09 09 09 72 65 74 75 72 6e 20 50 68 61 72 3a 3a 53 48 case.'sha1':.....return.Phar::SH
6de0 41 31 3b 0a 09 09 09 63 61 73 65 20 27 73 68 61 32 35 36 27 3a 0a 09 09 09 09 72 65 74 75 72 6e A1;....case.'sha256':.....return
6e00 20 50 68 61 72 3a 3a 53 48 41 32 35 36 3b 0a 09 09 09 63 61 73 65 20 27 73 68 61 35 31 32 27 3a .Phar::SHA256;....case.'sha512':
6e20 0a 09 09 09 09 72 65 74 75 72 6e 20 50 68 61 72 3a 3a 53 48 41 35 31 32 3b 0a 09 09 09 63 61 73 .....return.Phar::SHA512;....cas
6e40 65 20 27 6f 70 65 6e 73 73 6c 27 3a 0a 20 20 20 20 09 20 20 20 20 09 69 66 20 28 21 24 70 72 69 e.'openssl':...........if.(!$pri
6e60 76 6b 65 79 29 0a 20 20 20 20 20 20 20 20 09 09 7b 0a 20 20 20 20 20 20 20 20 09 09 09 73 65 6c vkey)...........{............sel
6e80 66 3a 3a 65 72 72 6f 72 28 22 43 61 6e 6e 6f 74 20 75 73 65 20 4f 70 65 6e 53 53 4c 20 73 69 67 f::error("Cannot.use.OpenSSL.sig
6ea0 6e 69 6e 67 20 77 69 74 68 6f 75 74 20 6b 65 79 2e 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 09 ning.without.key.\n");..........
6ec0 09 7d 0a 09 20 20 20 20 20 20 20 20 09 72 65 74 75 72 6e 20 50 68 61 72 3a 3a 4f 50 45 4e 53 53 .}...........return.Phar::OPENSS
6ee0 4c 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 09 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f L;.........}.....}..//.}}}...../
6f00 2f 20 7b 7b 7b 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e /.{{{.static.function.cli_cmd_in
6f20 66 5f 70 61 63 6b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 49 6e 66 6f 72 6d 61 74 69 6f f_pack...../**......*.Informatio
6f40 6e 20 70 61 63 6b 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 n.pack......*......*.@return.str
6f60 69 6e 67 20 41 20 64 65 73 63 72 69 70 74 69 6f 6e 20 61 62 6f 75 74 20 70 61 63 6b 69 6e 67 20 ing.A.description.about.packing.
6f80 66 69 6c 65 73 20 69 6e 74 6f 20 61 20 50 68 61 72 20 61 72 63 68 69 76 65 2e 0a 20 20 20 20 20 files.into.a.Phar.archive.......
6fa0 2a 2f 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 */.....static.function.cli_cmd_i
6fc0 6e 66 5f 70 61 63 6b 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 nf_pack().....{.........return."
6fe0 50 61 63 6b 20 66 69 6c 65 73 20 69 6e 74 6f 20 61 20 50 48 41 52 20 61 72 63 68 69 76 65 2e 5c Pack.files.into.a.PHAR.archive.\
7000 6e 22 20 2e 20 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 57 68 65 6e 20 75 73 69 6e n"...................."When.usin
7020 67 20 2d 73 20 3c 73 74 75 62 3e 2c 20 74 68 65 6e 20 74 68 65 20 73 74 75 62 20 66 69 6c 65 20 g.-s.<stub>,.then.the.stub.file.
7040 69 73 20 62 65 69 6e 67 20 22 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 78 63 is.being.".................."exc
7060 6c 75 64 65 64 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 20 6f 66 20 69 6e 70 75 74 20 66 69 6c luded.from.the.list.of.input.fil
7080 65 73 2f 64 69 72 73 2e 22 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 54 6f 20 63 es/dirs.".................."To.c
70a0 72 65 61 74 65 20 61 6e 20 61 72 63 68 69 76 65 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 50 reate.an.archive.that.contains.P
70c0 45 41 52 20 63 6c 61 73 73 20 50 48 50 5f 41 72 63 68 69 61 76 65 20 22 20 2e 0a 20 20 20 20 20 EAR.class.PHP_Archiave."........
70e0 20 20 20 20 20 20 20 20 20 20 22 74 68 65 6e 20 70 6f 69 6e 74 20 2d 70 20 61 72 67 75 6d 65 6e .........."then.point.-p.argumen
7100 74 20 74 6f 20 50 48 50 2f 41 72 63 68 69 76 65 2e 70 68 70 2e 5c 6e 22 3b 0a 20 20 20 20 7d 0a t.to.PHP/Archive.php.\n";.....}.
7120 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 74 61 74 69 63 20 66 75 6e ....//.}}}.....//.{{{.static.fun
7140 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 70 61 63 6b 0a 20 20 20 20 2f 2a 2a 0a 20 ction.cli_cmd_arg_pack...../**..
7160 20 20 20 20 2a 20 50 61 63 6b 20 61 20 6e 65 77 20 70 68 61 72 20 69 6e 66 6f 73 0a 20 20 20 20 ....*.Pack.a.new.phar.infos.....
7180 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 20 24 61 72 67 73 20 20 .*......*.@return.array..$args..
71a0 54 68 65 20 61 72 67 75 6d 65 6e 74 73 20 66 6f 72 20 61 20 6e 65 77 20 50 68 61 72 20 61 72 63 The.arguments.for.a.new.Phar.arc
71c0 68 69 76 65 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f hive.......*/.....static.functio
71e0 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 70 61 63 6b 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 n.cli_cmd_arg_pack().....{......
7200 20 20 20 24 61 72 67 73 20 3d 20 73 65 6c 66 3a 3a 70 68 61 72 5f 61 72 67 73 28 27 61 62 63 46 ...$args.=.self::phar_args('abcF
7220 68 69 6c 70 73 78 79 27 2c 20 27 70 68 61 72 6e 65 77 27 29 3b 0a 20 20 20 20 20 20 20 20 0a 20 hilpsxy',.'pharnew');...........
7240 20 20 20 20 20 20 20 24 61 72 67 73 5b 27 27 5d 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 .......$args[''].=.array(.......
7260 20 20 20 20 20 20 27 74 79 70 27 20 20 20 20 20 3d 3e 20 27 61 6e 79 27 2c 20 20 20 20 20 0a 20 ......'typ'.....=>.'any',.......
7280 20 20 20 20 20 20 20 20 20 20 20 27 76 61 6c 27 20 20 20 20 20 20 3d 3e 20 4e 55 4c 4c 2c 20 20 ...........'val'......=>.NULL,..
72a0 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 72 65 71 75 69 72 65 64 27 20 3d 3e 20 31 .................'required'.=>.1
72c0 2c 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6e 66 27 20 20 20 20 20 20 3d 3e 20 27 20 20 ,..............'inf'......=>.'..
72e0 20 20 20 20 20 20 20 41 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 70 75 74 20 66 69 6c 65 73 .......Any.number.of.input.files
7300 20 61 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 2e 20 49 66 20 2d 69 20 69 73 20 69 6e 20 75 73 .and.directories..If.-i.is.in.us
7320 65 20 74 68 65 6e 20 4f 4e 4c 59 20 66 69 6c 65 73 20 61 6e 64 20 6d 61 74 63 68 69 6e 67 20 74 e.then.ONLY.files.and.matching.t
7340 68 65 67 69 76 65 6e 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 61 72 65 20 62 hegiven.regular.expression.are.b
7360 65 69 6e 67 20 70 61 63 6b 65 64 2e 20 49 66 20 2d 78 20 69 73 20 67 69 76 65 6e 20 74 68 65 6e eing.packed..If.-x.is.given.then
7380 20 66 69 6c 65 73 20 6d 61 74 63 68 69 6e 67 20 74 68 61 74 20 72 65 67 75 6c 61 72 20 65 78 70 .files.matching.that.regular.exp
73a0 72 65 73 73 69 6f 6e 20 61 72 65 20 4e 4f 54 20 62 65 69 6e 67 20 70 61 63 6b 65 64 2e 27 2c 0a ression.are.NOT.being.packed.',.
73c0 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 .....................);.........
73e0 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 67 73 3b 0a 20 20 20 20 7d 0a 20 20 20 .........return.$args;.....}....
7400 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 66 75 6e 63 74 69 6f 6e 20 70 68 61 72 .//.}}}.....//.{{{.function.phar
7420 5f 73 65 74 5f 73 74 75 62 5f 62 65 67 69 6e 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 _set_stub_begin...../**......*.S
7440 65 74 20 74 68 65 20 73 74 75 62 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 et.the.stub......*/.....public.f
7460 75 6e 63 74 69 6f 6e 20 70 68 61 72 5f 73 65 74 5f 73 74 75 62 5f 62 65 67 69 6e 28 50 68 61 72 unction.phar_set_stub_begin(Phar
7480 20 24 70 68 61 72 2c 20 24 73 74 75 62 2c 20 24 6c 6f 61 64 65 72 20 3d 20 4e 55 4c 4c 2c 20 24 .$phar,.$stub,.$loader.=.NULL,.$
74a0 68 61 73 68 62 61 6e 67 20 3d 20 4e 55 4c 4c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 hashbang.=.NULL).....{.........i
74c0 66 20 28 69 73 73 65 74 28 24 73 74 75 62 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 f.(isset($stub)).{.............$
74e0 63 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 73 74 75 62 29 3b 0a 0a 20 c.=.file_get_contents($stub);...
7500 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 75 62 73 74 72 28 24 63 2c 20 30 2c 20 32 29 20 ...........if.(substr($c,.0,.2).
7520 3d 3d 20 27 23 21 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 ==.'#!').{.................if.(s
7540 74 72 70 6f 73 28 24 63 2c 20 22 5c 6e 22 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 20 trpos($c,."\n").!==.false).{....
7560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 68 61 73 .................if.(!isset($has
7580 68 62 61 6e 67 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hbang)).{.......................
75a0 20 20 24 68 61 73 68 62 61 6e 67 20 3d 20 73 75 62 73 74 72 28 24 63 2c 20 30 2c 20 73 74 72 70 ..$hashbang.=.substr($c,.0,.strp
75c0 6f 73 28 24 63 2c 20 22 5c 6e 22 29 20 2b 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 os($c,."\n").+.1);..............
75e0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 20 .......}.....................$c.
7600 3d 20 73 75 62 73 74 72 28 24 63 2c 20 73 74 72 70 6f 73 28 24 63 2c 20 22 5c 6e 22 29 20 2b 20 =.substr($c,.strpos($c,."\n").+.
7620 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 1);.................}.else.{....
7640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 68 61 73 .................if.(!isset($has
7660 68 62 61 6e 67 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hbang)).{.......................
7680 20 20 24 68 61 73 68 62 61 6e 67 20 3d 20 24 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..$hashbang.=.$c;...............
76a0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 20 3d ......}.....................$c.=
76c0 20 4e 55 4c 4c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .NULL;.................}........
76e0 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 68 .....}..............if.(isset($h
7700 61 73 68 62 61 6e 67 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 ashbang)).{.................if.(
7720 73 75 62 73 74 72 28 24 68 61 73 68 62 61 6e 67 2c 20 30 2c 20 32 29 20 21 3d 20 27 23 21 27 29 substr($hashbang,.0,.2).!=.'#!')
7740 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 68 61 73 68 62 61 6e 67 .{.....................$hashbang
7760 20 3d 20 27 23 21 27 20 2e 20 24 68 61 73 68 62 61 6e 67 3b 0a 20 20 20 20 20 20 20 20 20 20 20 .=.'#!'...$hashbang;............
7780 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 75 62 73 74 .....}.................if.(subst
77a0 72 28 24 68 61 73 68 62 61 6e 67 2c 20 2d 31 29 20 21 3d 20 22 5c 6e 22 29 20 7b 0a 20 20 20 20 r($hashbang,.-1).!=."\n").{.....
77c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 68 61 73 68 62 61 6e 67 20 2e 3d 20 22 5c 6e ................$hashbang..=."\n
77e0 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 ";.................}............
7800 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 09 24 68 61 73 68 62 61 6e 67 .}.else.{..............$hashbang
7820 20 3d 20 22 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 .=."";.............}............
7840 20 20 69 66 20 28 69 73 73 65 74 28 24 6c 6f 61 64 65 72 29 29 20 7b 0a 20 20 20 20 20 20 20 20 ..if.(isset($loader)).{.........
7860 20 20 20 20 20 20 20 20 24 73 20 3d 20 22 3c 3f 70 68 70 20 69 66 20 28 21 63 6c 61 73 73 5f 65 ........$s.=."<?php.if.(!class_e
7880 78 69 73 74 73 28 27 50 48 50 5f 41 72 63 68 69 76 65 27 29 29 20 7b 5c 6e 3f 3e 22 3b 0a 20 20 xists('PHP_Archive')).{\n?>";...
78a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 20 2e 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e ..............$s..=.file_get_con
78c0 74 65 6e 74 73 28 24 6c 6f 61 64 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tents($loader);.................
78e0 24 73 20 2e 3d 20 22 3c 3f 70 68 70 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 $s..=."<?php\n";................
7900 20 24 73 20 2e 3d 20 22 7d 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 .$s..=."}\n";.................$s
7920 20 2e 3d 20 22 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 27 70 68 61 72 27 2c 20 73 74 72 65 61 ..=."if.(!in_array('phar',.strea
7940 6d 5f 67 65 74 5f 77 72 61 70 70 65 72 73 28 29 29 29 20 7b 5c 6e 22 3b 0a 20 20 20 20 20 20 20 m_get_wrappers())).{\n";........
7960 20 20 20 20 20 20 20 20 20 24 73 20 2e 3d 20 22 5c 74 73 74 72 65 61 6d 5f 77 72 61 70 70 65 72 .........$s..=."\tstream_wrapper
7980 5f 72 65 67 69 73 74 65 72 28 27 70 68 61 72 27 2c 20 27 50 48 50 5f 41 72 63 68 69 76 65 27 29 _register('phar',.'PHP_Archive')
79a0 3b 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 20 2e 3d 20 22 7d 5c 6e ;\n";.................$s..=."}\n
79c0 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 20 2e 3d 20 22 69 66 20 28 21 63 ";.................$s..=."if.(!c
79e0 6c 61 73 73 5f 65 78 69 73 74 73 28 27 50 68 61 72 27 2c 30 29 29 20 7b 5c 6e 22 3b 0a 20 20 20 lass_exists('Phar',0)).{\n";....
7a00 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 20 2e 3d 20 22 5c 74 69 6e 63 6c 75 64 65 20 27 70 .............$s..=."\tinclude.'p
7a20 68 61 72 3a 2f 2f 27 2e 5f 5f 46 49 4c 45 5f 5f 2e 27 2f 70 68 61 72 2e 69 6e 63 27 3b 5c 6e 22 har://'.__FILE__.'/phar.inc';\n"
7a40 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 20 2e 3d 20 22 7d 5c 6e 22 3b 0a 20 ;.................$s..=."}\n";..
7a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 20 2e 3d 20 27 3f 3e 27 3b 0a 20 20 20 20 20 ...............$s..=.'?>';......
7a80 20 20 20 20 20 20 20 20 20 20 20 24 73 20 2e 3d 20 24 63 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 ...........$s..=.$c;............
7aa0 20 20 20 20 20 20 24 70 68 61 72 2d 3e 73 65 74 53 74 75 62 28 24 68 61 73 68 62 61 6e 67 20 2e ......$phar->setStub($hashbang..
7ac0 20 24 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 .$s);.............}.else.{......
7ae0 20 20 20 20 20 20 20 20 20 20 20 24 70 68 61 72 2d 3e 73 65 74 53 74 75 62 28 24 68 61 73 68 62 ...........$phar->setStub($hashb
7b00 61 6e 67 20 2e 20 24 63 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 ang...$c);.............}........
7b20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 65 77 20 53 70 6c 46 69 6c 65 49 6e 66 6f 28 24 73 74 75 .....return.new.SplFileInfo($stu
7b40 62 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4e 55 4c b);.........}.........return.NUL
7b60 4c 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 66 L;.....}.....//.}}}.....//.{{{.f
7b80 75 6e 63 74 69 6f 6e 20 70 68 61 72 5f 73 65 74 5f 73 74 75 62 5f 65 6e 64 0a 20 20 20 20 2f 2a unction.phar_set_stub_end...../*
7ba0 2a 0a 20 20 20 20 20 2a 20 53 65 74 20 73 74 75 62 20 65 6e 64 0a 20 20 20 20 20 2a 2f 0a 20 20 *......*.Set.stub.end......*/...
7bc0 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 68 61 72 5f 73 65 74 5f 73 74 75 62 5f ..public.function.phar_set_stub_
7be0 65 6e 64 28 50 68 61 72 20 24 70 68 61 72 2c 20 24 73 74 75 62 2c 20 24 6c 6f 61 64 65 72 20 3d end(Phar.$phar,.$stub,.$loader.=
7c00 20 4e 55 4c 4c 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 .NULL).....{.........if.(isset($
7c20 73 74 75 62 29 20 26 26 20 69 73 73 65 74 28 24 6c 6f 61 64 65 72 29 29 20 7b 0a 20 20 20 20 20 stub).&&.isset($loader)).{......
7c40 20 20 20 20 20 20 20 69 66 20 28 73 75 62 73 74 72 28 5f 5f 46 49 4c 45 5f 5f 2c 20 2d 31 35 29 .......if.(substr(__FILE__,.-15)
7c60 20 3d 3d 20 27 70 68 61 72 63 6f 6d 6d 61 6e 64 2e 69 6e 63 27 29 20 7b 0a 20 20 20 20 20 20 20 .==.'pharcommand.inc').{........
7c80 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 70 68 61 72 5f 61 64 64 5f 66 69 6c 65 28 24 70 68 .........self::phar_add_file($ph
7ca0 61 72 2c 20 30 2c 20 27 70 68 61 72 2e 69 6e 63 27 2c 20 27 70 68 61 72 3a 2f 2f 27 2e 5f 5f 46 ar,.0,.'phar.inc',.'phar://'.__F
7cc0 49 4c 45 5f 5f 2e 27 2f 70 68 61 72 2e 69 6e 63 27 2c 20 4e 55 4c 4c 29 3b 0a 20 20 20 20 20 20 ILE__.'/phar.inc',.NULL);.......
7ce0 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 ......}.else.{.................s
7d00 65 6c 66 3a 3a 70 68 61 72 5f 61 64 64 5f 66 69 6c 65 28 24 70 68 61 72 2c 20 30 2c 20 27 70 68 elf::phar_add_file($phar,.0,.'ph
7d20 61 72 2e 69 6e 63 27 2c 20 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 2e 27 2f 70 68 61 ar.inc',.dirname(__FILE__).'/pha
7d40 72 2f 70 68 61 72 2e 69 6e 63 27 2c 20 4e 55 4c 4c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 r/phar.inc',.NULL);.............
7d60 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 }.........}.....}.....//.}}}....
7d80 20 2f 2f 20 7b 7b 7b 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 70 61 63 .//.{{{.function.cli_cmd_run_pac
7da0 6b 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 50 61 63 6b 20 61 20 6e 65 77 20 50 68 61 72 k...../**......*.Pack.a.new.Phar
7dc0 0a 20 20 20 20 20 2a 20 0a 20 20 20 20 20 2a 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 69 ......*.......*.This.function.wi
7de0 6c 6c 20 74 72 79 20 74 6f 20 70 61 63 6b 20 61 20 6e 65 77 20 50 68 61 72 20 61 72 63 68 69 76 ll.try.to.pack.a.new.Phar.archiv
7e00 65 2e 0a 20 20 20 20 20 2a 20 0a 20 20 20 20 20 2a 20 40 73 65 65 20 45 78 69 74 20 74 6f 20 6d e.......*.......*.@see.Exit.to.m
7e20 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 77 65 20 61 72 65 20 64 6f 6e 65 2e 0a 20 20 20 20 20 ake.sure.that.we.are.done.......
7e40 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 72 */.....public.function.cli_cmd_r
7e60 75 6e 5f 70 61 63 6b 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 69 5f un_pack().....{.........if.(ini_
7e80 67 65 74 28 27 70 68 61 72 2e 72 65 61 64 6f 6e 6c 79 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 get('phar.readonly')).{.........
7ea0 20 20 20 20 73 65 6c 66 3a 3a 65 72 72 6f 72 28 22 43 72 65 61 74 69 6e 67 20 70 68 61 72 20 66 ....self::error("Creating.phar.f
7ec0 69 6c 65 73 20 69 73 20 64 69 73 61 62 6c 65 64 20 62 79 20 69 6e 69 20 73 65 74 74 69 6e 67 20 iles.is.disabled.by.ini.setting.
7ee0 27 70 68 61 72 2e 72 65 61 64 6f 6e 6c 79 27 2e 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 'phar.readonly'.\n");.........}.
7f00 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 50 68 61 72 3a 3a 63 61 6e 57 .................if.(!Phar::canW
7f20 72 69 74 65 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 65 72 72 6f rite()).{.............self::erro
7f40 72 28 22 43 72 65 61 74 69 6e 67 20 70 68 61 72 20 66 69 6c 65 73 20 69 73 20 64 69 73 61 62 6c r("Creating.phar.files.is.disabl
7f60 65 64 2c 20 50 68 61 72 3a 3a 63 61 6e 57 72 69 74 65 28 29 20 72 65 74 75 72 6e 65 64 20 66 61 ed,.Phar::canWrite().returned.fa
7f80 6c 73 65 2e 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 61 6c lse.\n");.........}..........$al
7fa0 69 61 73 20 20 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 61 27 5d 5b 27 76 61 6c 27 5d ias....=.$this->args['a']['val']
7fc0 3b 0a 20 20 20 20 20 20 20 20 24 68 61 73 68 62 61 6e 67 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 ;.........$hashbang.=.$this->arg
7fe0 73 5b 27 62 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 61 72 63 68 69 76 65 20 s['b']['val'];.........$archive.
8000 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 66 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 .=.$this->args['f']['val'];.....
8020 20 20 20 20 24 68 61 73 68 20 20 20 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 68 27 5d ....$hash.....=.$this->args['h']
8040 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 70 72 69 76 6b 65 79 20 20 3d 20 24 74 68 ['val'];.........$privkey..=.$th
8060 69 73 2d 3e 61 72 67 73 5b 27 79 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 72 is->args['y']['val'];.........$r
8080 65 67 65 78 20 20 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 69 27 5d 5b 27 76 61 6c 27 egex....=.$this->args['i']['val'
80a0 5d 3b 0a 20 20 20 20 20 20 20 20 24 6c 65 76 65 6c 20 20 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 ];.........$level....=.$this->ar
80c0 67 73 5b 27 6c 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 6c 6f 61 64 65 72 20 gs['l']['val'];.........$loader.
80e0 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 70 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 ..=.$this->args['p']['val'];....
8100 20 20 20 20 20 24 73 74 75 62 20 20 20 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 73 27 .....$stub.....=.$this->args['s'
8120 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 69 6e 76 72 65 67 65 78 20 3d 20 24 74 ]['val'];.........$invregex.=.$t
8140 68 69 73 2d 3e 61 72 67 73 5b 27 78 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 his->args['x']['val'];.........$
8160 69 6e 70 75 74 20 20 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 27 5d 5b 27 76 61 6c 27 input....=.$this->args['']['val'
8180 5d 3b 0a 0a 09 09 24 68 61 73 68 20 3d 20 73 65 6c 66 3a 3a 70 68 61 72 5f 63 68 65 63 6b 5f 68 ];....$hash.=.self::phar_check_h
81a0 61 73 68 28 24 68 61 73 68 2c 20 24 70 72 69 76 6b 65 79 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 ash($hash,.$privkey);..........$
81c0 70 68 61 72 20 20 3d 20 6e 65 77 20 50 68 61 72 28 24 61 72 63 68 69 76 65 2c 20 30 2c 20 24 61 phar..=.new.Phar($archive,.0,.$a
81e0 6c 69 61 73 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 70 68 61 72 2d 3e 73 74 61 72 74 42 75 66 66 lias);..........$phar->startBuff
8200 65 72 69 6e 67 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 73 74 75 62 20 3d 20 24 74 68 69 73 2d ering();..........$stub.=.$this-
8220 3e 70 68 61 72 5f 73 65 74 5f 73 74 75 62 5f 62 65 67 69 6e 28 24 70 68 61 72 2c 20 24 73 74 75 >phar_set_stub_begin($phar,.$stu
8240 62 2c 20 24 6c 6f 61 64 65 72 2c 20 24 68 61 73 68 62 61 6e 67 29 3b 0a 0a 20 20 20 20 20 20 20 b,.$loader,.$hashbang);.........
8260 20 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 69 6e 70 75 74 29 29 20 7b 0a 20 20 20 20 20 20 .if.(!is_array($input)).{.......
8280 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 68 61 72 5f 61 64 64 28 24 70 68 61 72 2c 20 24 6c 65 ......$this->phar_add($phar,.$le
82a0 76 65 6c 2c 20 24 69 6e 70 75 74 2c 20 24 72 65 67 65 78 2c 20 24 69 6e 76 72 65 67 65 78 2c 20 vel,.$input,.$regex,.$invregex,.
82c0 24 73 74 75 62 2c 20 4e 55 4c 4c 2c 20 69 73 73 65 74 28 24 6c 6f 61 64 65 72 29 29 3b 0a 20 20 $stub,.NULL,.isset($loader));...
82e0 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 ......}.else.{.............forea
8300 63 68 28 24 69 6e 70 75 74 20 61 73 20 24 69 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ch($input.as.$i).{..............
8320 20 20 20 24 74 68 69 73 2d 3e 70 68 61 72 5f 61 64 64 28 24 70 68 61 72 2c 20 24 6c 65 76 65 6c ...$this->phar_add($phar,.$level
8340 2c 20 24 69 2c 20 24 72 65 67 65 78 2c 20 24 69 6e 76 72 65 67 65 78 2c 20 24 73 74 75 62 2c 20 ,.$i,.$regex,.$invregex,.$stub,.
8360 4e 55 4c 4c 2c 20 69 73 73 65 74 28 24 6c 6f 61 64 65 72 29 29 3b 0a 20 20 20 20 20 20 20 20 20 NULL,.isset($loader));..........
8380 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 ...}.........}..........$this->p
83a0 68 61 72 5f 73 65 74 5f 73 74 75 62 5f 65 6e 64 28 24 70 68 61 72 2c 20 24 73 74 75 62 2c 20 24 har_set_stub_end($phar,.$stub,.$
83c0 6c 6f 61 64 65 72 29 3b 0a 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 28 24 74 68 69 73 2d 3e loader);..........switch($this->
83e0 61 72 67 73 5b 27 63 27 5d 5b 27 76 61 6c 27 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 args['c']['val']).{.............
8400 63 61 73 65 20 27 67 7a 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 67 7a 69 case.'gz':.............case.'gzi
8420 70 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 68 61 72 2d 3e 63 6f 6d 70 72 p':.................$phar->compr
8440 65 73 73 46 69 6c 65 73 28 50 68 61 72 3a 3a 47 5a 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 essFiles(Phar::GZ);.............
8460 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 62 7a 32 ....break;.............case.'bz2
8480 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 62 7a 69 70 32 27 3a 0a 20 20 20 ':.............case.'bzip2':....
84a0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 68 61 72 2d 3e 63 6f 6d 70 72 65 73 73 46 69 6c 65 .............$phar->compressFile
84c0 73 28 50 68 61 72 3a 3a 42 5a 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 s(Phar::BZ2);.................br
84e0 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 eak;.............default:.......
8500 20 20 20 20 20 20 20 20 20 20 24 70 68 61 72 2d 3e 64 65 63 6f 6d 70 72 65 73 73 46 69 6c 65 73 ..........$phar->decompressFiles
8520 28 29 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 ();;.................break;.....
8540 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 68 61 73 68 29 0a 20 20 20 20 20 20 ....}..........if.($hash).......
8560 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 68 61 72 2d 3e 73 65 74 53 69 67 6e 61 74 ..{.............$phar->setSignat
8580 75 72 65 41 6c 67 6f 72 69 74 68 6d 28 24 68 61 73 68 2c 20 24 70 72 69 76 6b 65 79 29 3b 0a 20 ureAlgorithm($hash,.$privkey);..
85a0 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 70 68 61 72 2d 3e 73 74 6f 70 42 75 66 .......}..........$phar->stopBuf
85c0 66 65 72 69 6e 67 28 29 3b 0a 20 20 20 20 20 20 20 20 65 78 69 74 28 30 29 3b 0a 20 20 20 20 7d fering();.........exit(0);.....}
85e0 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 74 61 74 69 63 20 66 75 .....//.}}}.....//.{{{.static.fu
8600 6e 63 74 69 6f 6e 20 70 68 61 72 5f 61 64 64 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 nction.phar_add...../**......*.A
8620 64 64 20 66 69 6c 65 73 20 74 6f 20 61 20 70 68 61 72 20 61 72 63 68 69 76 65 2e 0a 20 20 20 20 dd.files.to.a.phar.archive......
8640 20 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 74 61 6b .*......*.This.function.will.tak
8660 65 20 61 20 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20 69 74 65 72 61 74 65 20 74 68 72 6f 75 67 e.a.directory.and.iterate.throug
8680 68 0a 20 20 20 20 20 2a 20 69 74 20 61 6e 64 20 67 65 74 20 74 68 65 20 66 69 6c 65 73 20 74 6f h......*.it.and.get.the.files.to
86a0 20 69 6e 73 65 72 74 20 69 6e 74 6f 20 74 68 65 20 50 68 61 72 20 61 72 63 68 69 76 65 2e 0a 20 .insert.into.the.Phar.archive...
86c0 20 20 20 20 2a 20 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 50 68 61 72 20 20 20 20 20 20 20 ....*.......*.@param.Phar.......
86e0 20 24 70 68 61 72 20 20 20 20 20 20 54 68 65 20 70 68 61 72 20 6f 62 6a 65 63 74 2e 0a 20 20 20 .$phar......The.phar.object.....
8700 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 20 20 20 20 24 69 6e 70 75 74 20 20 20 ..*.@param.string......$input...
8720 20 20 54 68 65 20 69 6e 70 75 74 20 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 2a 20 40 70 61 ..The.input.directory......*.@pa
8740 72 61 6d 20 73 74 72 69 6e 67 20 20 20 20 20 20 24 72 65 67 65 78 20 20 20 20 20 54 68 65 20 72 ram.string......$regex.....The.r
8760 65 67 65 78 20 75 73 65 20 69 6e 20 52 65 67 65 78 49 74 65 72 61 74 6f 72 2e 0a 20 20 20 20 20 egex.use.in.RegexIterator.......
8780 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 20 20 20 20 24 69 6e 76 72 65 67 65 78 20 20 *.@param.string......$invregex..
87a0 54 68 65 20 49 6e 76 65 72 74 65 64 52 65 67 65 78 49 74 65 72 61 74 6f 72 20 65 78 70 72 65 73 The.InvertedRegexIterator.expres
87c0 73 69 6f 6e 2e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 53 70 6c 46 69 6c 65 49 6e 66 6f 20 sion.......*.@param.SplFileInfo.
87e0 24 73 74 75 62 20 53 74 75 62 20 66 69 6c 65 20 6f 62 6a 65 63 74 20 20 20 20 0a 20 20 20 20 20 $stub.Stub.file.object..........
8800 2a 20 40 70 61 72 61 6d 20 6d 69 78 65 64 20 20 20 20 20 20 20 24 63 6f 6d 70 72 65 73 73 20 20 *.@param.mixed.......$compress..
8820 43 6f 6d 70 72 65 73 73 69 6f 6e 20 61 6c 67 6f 72 69 74 68 6d 20 6f 72 20 4e 55 4c 4c 0a 20 20 Compression.algorithm.or.NULL...
8840 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 65 61 6e 20 20 20 20 20 24 6e 6f 6c 6f 61 64 65 ...*.@param.boolean.....$noloade
8860 72 20 20 57 68 65 74 68 65 72 20 74 6f 20 70 72 65 76 65 6e 74 20 61 64 64 69 6e 67 20 74 68 65 r..Whether.to.prevent.adding.the
8880 20 6c 6f 61 64 65 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 .loader......*/.....static.funct
88a0 69 6f 6e 20 70 68 61 72 5f 61 64 64 28 50 68 61 72 20 24 70 68 61 72 2c 20 24 6c 65 76 65 6c 2c ion.phar_add(Phar.$phar,.$level,
88c0 20 24 69 6e 70 75 74 2c 20 24 72 65 67 65 78 2c 20 24 69 6e 76 72 65 67 65 78 2c 20 53 70 6c 46 .$input,.$regex,.$invregex,.SplF
88e0 69 6c 65 49 6e 66 6f 20 24 73 74 75 62 20 3d 20 4e 55 4c 4c 2c 20 24 63 6f 6d 70 72 65 73 73 20 ileInfo.$stub.=.NULL,.$compress.
8900 3d 20 4e 55 4c 4c 2c 20 24 6e 6f 6c 6f 61 64 65 72 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b =.NULL,.$noloader.=.false).....{
8920 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 69 6e 70 75 74 20 26 26 20 69 73 5f 66 69 6c 65 28 24 .........if.($input.&&.is_file($
8940 69 6e 70 75 74 29 20 26 26 20 21 69 73 5f 64 69 72 28 24 69 6e 70 75 74 29 29 20 7b 0a 20 20 20 input).&&.!is_dir($input)).{....
8960 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 70 68 61 72 5f 61 64 64 5f 66 .........return.self::phar_add_f
8980 69 6c 65 28 24 70 68 61 72 2c 20 24 6c 65 76 65 6c 2c 20 24 69 6e 70 75 74 2c 20 24 69 6e 70 75 ile($phar,.$level,.$input,.$inpu
89a0 74 2c 20 24 63 6f 6d 70 72 65 73 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 t,.$compress);.........}........
89c0 20 24 64 69 72 20 20 20 3d 20 6e 65 77 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 .$dir...=.new.RecursiveDirectory
89e0 49 74 65 72 61 74 6f 72 28 24 69 6e 70 75 74 29 3b 0a 20 20 20 20 20 20 20 20 24 64 69 72 20 20 Iterator($input);.........$dir..
8a00 20 3d 20 6e 65 77 20 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 .=.new.RecursiveIteratorIterator
8a20 28 24 64 69 72 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 72 65 67 65 ($dir);..........if.(isset($rege
8a40 78 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 20 3d 20 6e 65 77 20 52 65 67 x)).{.............$dir.=.new.Reg
8a60 65 78 49 74 65 72 61 74 6f 72 28 24 64 69 72 2c 20 24 72 65 67 65 78 29 3b 0a 20 20 20 20 20 20 exIterator($dir,.$regex);.......
8a80 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 69 6e 76 72 65 67 65 78 ..}..........if.(isset($invregex
8aa0 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 20 3d 20 6e 65 77 20 49 6e 76 65 )).{.............$dir.=.new.Inve
8ac0 72 74 65 64 52 65 67 65 78 49 74 65 72 61 74 6f 72 28 24 64 69 72 2c 20 24 69 6e 76 72 65 67 65 rtedRegexIterator($dir,.$invrege
8ae0 78 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 74 72 79 20 7b 0a 20 20 20 x);.........}..........try.{....
8b00 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 28 24 64 69 72 20 61 73 20 24 66 69 6c 65 29 20 .........foreach($dir.as.$file).
8b20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 65 6d 70 74 79 28 24 73 74 {.................if.((empty($st
8b40 75 62 29 20 7c 7c 20 24 66 69 6c 65 2d 3e 67 65 74 52 65 61 6c 50 61 74 68 28 29 20 21 3d 20 24 ub).||.$file->getRealPath().!=.$
8b60 73 74 75 62 2d 3e 67 65 74 52 65 61 6c 50 61 74 68 28 29 29 20 26 26 20 21 69 73 5f 64 69 72 28 stub->getRealPath()).&&.!is_dir(
8b80 24 66 69 6c 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 $file)).{.....................se
8ba0 6c 66 3a 3a 70 68 61 72 5f 61 64 64 5f 66 69 6c 65 28 24 70 68 61 72 2c 20 24 6c 65 76 65 6c 2c lf::phar_add_file($phar,.$level,
8bc0 20 24 64 69 72 2d 3e 67 65 74 53 75 62 50 61 74 68 4e 61 6d 65 28 29 2c 20 24 66 69 6c 65 2c 20 .$dir->getSubPathName(),.$file,.
8be0 24 63 6f 6d 70 72 65 73 73 2c 20 24 6e 6f 6c 6f 61 64 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 $compress,.$noloader);..........
8c00 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d .......}.............}.........}
8c20 20 63 61 74 63 68 28 45 78 63 70 65 74 69 6f 6e 20 24 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 .catch(Excpetion.$e).{..........
8c40 20 20 20 73 65 6c 66 3a 3a 65 72 72 6f 72 28 22 55 6e 61 62 6c 65 20 74 6f 20 63 6f 6d 70 6c 65 ...self::error("Unable.to.comple
8c60 74 65 20 6f 70 65 72 61 74 69 6f 6e 20 6f 6e 20 66 69 6c 65 20 27 24 66 69 6c 65 27 5c 6e 22 20 te.operation.on.file.'$file'\n".
8c80 2e 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 20 2e 20 22 5c 6e 22 29 3b 0a 20 20 20 20 ..$e->getMessage()..."\n");.....
8ca0 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b ....}.....}.....//.}}}.....//.{{
8cc0 7b 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 68 61 72 5f 61 64 64 5f 66 69 6c 65 0a {.static.function.phar_add_file.
8ce0 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 64 64 20 61 20 70 68 61 72 20 66 69 6c 65 0a 20 ..../**......*.Add.a.phar.file..
8d00 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 73 20 ....*......*.This.function.adds.
8d20 61 20 66 69 6c 65 20 74 6f 20 61 20 70 68 61 72 20 61 72 63 68 69 76 65 2e 0a 20 20 20 20 20 2a a.file.to.a.phar.archive.......*
8d40 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 50 68 61 72 20 20 20 20 24 70 68 61 72 20 20 20 20 ......*.@param.Phar....$phar....
8d60 20 20 54 68 65 20 70 68 61 72 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 ..The.phar.object......*.@param.
8d80 73 74 72 69 6e 67 20 20 24 6c 65 76 65 6c 20 20 20 20 20 54 68 65 20 6c 65 76 65 6c 20 6f 66 20 string..$level.....The.level.of.
8da0 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 the.file.......*.@param.string..
8dc0 24 65 6e 74 72 79 20 20 20 20 20 54 68 65 20 65 6e 74 72 79 20 70 6f 69 6e 74 0a 20 20 20 20 20 $entry.....The.entry.point......
8de0 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 24 66 69 6c 65 20 20 20 20 20 20 54 68 65 20 *.@param.string..$file......The.
8e00 66 69 6c 65 20 74 6f 20 61 64 64 20 74 6f 20 74 68 65 20 61 72 63 68 69 76 65 0a 20 20 20 20 20 file.to.add.to.the.archive......
8e20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 24 63 6f 6d 70 72 65 73 73 20 20 54 68 65 20 *.@param.string..$compress..The.
8e40 63 6f 6d 70 72 65 73 73 69 6f 6e 20 73 63 68 65 6d 65 20 66 6f 72 20 74 68 65 20 66 69 6c 65 2e compression.scheme.for.the.file.
8e60 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 65 61 6e 20 24 6e 6f 6c 6f 61 64 65 72 ......*.@param.boolean.$noloader
8e80 20 20 57 68 65 74 68 65 72 20 74 6f 20 70 72 65 76 65 6e 74 20 61 64 64 69 6e 67 20 74 68 65 20 ..Whether.to.prevent.adding.the.
8ea0 6c 6f 61 64 65 72 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 loader......*/.....static.functi
8ec0 6f 6e 20 70 68 61 72 5f 61 64 64 5f 66 69 6c 65 28 50 68 61 72 20 24 70 68 61 72 2c 20 24 6c 65 on.phar_add_file(Phar.$phar,.$le
8ee0 76 65 6c 2c 20 24 65 6e 74 72 79 2c 20 24 66 69 6c 65 2c 20 24 63 6f 6d 70 72 65 73 73 2c 20 24 vel,.$entry,.$file,.$compress,.$
8f00 6e 6f 6c 6f 61 64 65 72 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 noloader.=.false).....{.........
8f20 24 65 6e 74 72 79 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2f 2f 27 2c 20 27 2f 27 2c 20 $entry.=.str_replace('//',.'/',.
8f40 24 65 6e 74 72 79 29 3b 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 28 24 6c 65 76 65 6c 2d 2d 20 $entry);.........while($level--.
8f60 3e 20 30 20 26 26 20 28 24 70 20 3d 20 73 74 72 70 6f 73 28 24 65 6e 74 72 79 2c 20 27 2f 27 29 >.0.&&.($p.=.strpos($entry,.'/')
8f80 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 65 6e 74 72 ).!==.false).{.............$entr
8fa0 79 20 3d 20 73 75 62 73 74 72 28 24 65 6e 74 72 79 2c 20 24 70 2b 31 29 3b 0a 20 20 20 20 20 20 y.=.substr($entry,.$p+1);.......
8fc0 20 20 7d 0a 0a 20 20 20 20 69 66 20 28 24 6e 6f 6c 6f 61 64 65 72 20 26 26 20 24 65 6e 74 72 79 ..}......if.($noloader.&&.$entry
8fe0 20 3d 3d 20 27 70 68 61 72 2e 69 6e 63 27 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e .==.'phar.inc').{.........return
9000 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 22 24 65 6e 74 72 79 5c 6e 22 ;.....}..........echo."$entry\n"
9020 3b 0a 0a 20 20 20 20 20 20 20 20 24 70 68 61 72 5b 24 65 6e 74 72 79 5d 20 3d 20 66 69 6c 65 5f ;..........$phar[$entry].=.file_
9040 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 69 6c 65 29 3b 0a 20 20 20 20 20 20 20 20 73 77 69 get_contents($file);.........swi
9060 74 63 68 28 24 63 6f 6d 70 72 65 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 tch($compress).{.............cas
9080 65 20 27 67 7a 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 67 7a 69 70 27 3a e.'gz':.............case.'gzip':
90a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 68 61 72 5b 24 65 6e 74 72 79 5d 2d 3e .................$phar[$entry]->
90c0 63 6f 6d 70 72 65 73 73 28 50 68 61 72 3a 3a 47 5a 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 compress(Phar::GZ);.............
90e0 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 62 7a 32 ....break;.............case.'bz2
9100 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 62 7a 69 70 32 27 3a 0a 20 20 20 ':.............case.'bzip2':....
9120 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 68 61 72 5b 24 65 6e 74 72 79 5d 2d 3e 63 6f 6d 70 .............$phar[$entry]->comp
9140 72 65 73 73 28 50 68 61 72 3a 3a 42 5a 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ress(Phar::BZ2);................
9160 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 30 27 3a 0a 20 20 .break;.............case.'0':...
9180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 68 61 72 5b 24 65 6e 74 72 79 5d 2d 3e 64 65 63 ..............$phar[$entry]->dec
91a0 6f 6d 70 72 65 73 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b ompress();.................break
91c0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 ;.............default:..........
91e0 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 .......break;.........}.....}...
9200 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 ..//.}}}.....//.{{{.public.funct
9220 69 6f 6e 20 70 68 61 72 5f 64 69 72 5f 65 63 68 6f 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a ion.phar_dir_echo...../**......*
9240 20 45 63 68 6f 20 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 .Echo.directory......*......*.@p
9260 61 72 61 6d 20 73 74 72 69 6e 67 20 24 70 6e 20 20 20 20 20 20 0a 20 20 20 20 20 2a 20 40 70 61 aram.string.$pn............*.@pa
9280 72 61 6d 20 75 6e 6b 6e 6f 77 6e 5f 74 79 70 65 20 24 66 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 ram.unknown_type.$f......*/.....
92a0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 68 61 72 5f 64 69 72 5f 65 63 68 6f 28 24 70 public.function.phar_dir_echo($p
92c0 6e 2c 20 24 66 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 65 63 68 6f 20 22 24 66 5c 6e 22 n,.$f).....{.........echo."$f\n"
92e0 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 ;.....}.....//.}}}.....//.{{{.pu
9300 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 68 61 72 5f 64 69 72 5f 6f 70 65 72 61 74 69 6f 6e blic.function.phar_dir_operation
9320 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 69 72 65 63 74 6f 72 79 20 6f 70 65 72 61 74 ...../**......*.Directory.operat
9340 69 6f 6e 73 0a 20 20 20 20 20 2a 20 0a 20 20 20 20 20 2a 20 50 68 61 72 20 64 69 72 65 63 74 6f ions......*.......*.Phar.directo
9360 72 79 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 ry.operations.......*......*.@pa
9380 72 61 6d 20 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 20 24 64 ram.RecursiveIteratorIterator.$d
93a0 69 72 20 20 54 68 65 20 72 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f ir..The.recursiveIteratorIterato
93c0 72 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 r.object.......*.@param.string..
93e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 75 6e 63 20 46 75 6e 63 74 69 6f 6e ..................$func.Function
9400 20 74 6f 20 63 61 6c 6c 20 6f 6e 20 74 68 65 20 69 74 65 72 61 74 69 6f 6e 73 0a 20 20 20 20 20 .to.call.on.the.iterations......
9420 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.@param.array..................
9440 20 20 20 24 61 72 67 73 20 46 75 6e 63 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 73 2e 0a 20 20 20 ...$args.Function.arguments.....
9460 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 68 61 72 5f 64 69 ..*/.....public.function.phar_di
9480 72 5f 6f 70 65 72 61 74 69 6f 6e 28 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 r_operation(RecursiveIteratorIte
94a0 72 61 74 6f 72 20 24 64 69 72 2c 20 24 66 75 6e 63 2c 20 61 72 72 61 79 20 24 61 72 67 73 20 3d rator.$dir,.$func,.array.$args.=
94c0 20 61 72 72 61 79 28 29 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 65 67 65 78 20 20 .array()).....{.........$regex..
94e0 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 69 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 .=.$this->args['i']['val'];.....
9500 20 20 20 20 24 69 6e 76 72 65 67 65 78 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 78 27 5d 5b ....$invregex=.$this->args['x'][
9520 27 76 61 6c 27 5d 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 72 65 67 65 'val'];..........if.(isset($rege
9540 78 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 20 3d 20 6e 65 77 20 52 65 67 x)).{.............$dir.=.new.Reg
9560 65 78 49 74 65 72 61 74 6f 72 28 24 64 69 72 2c 20 24 72 65 67 65 78 29 3b 0a 20 20 20 20 20 20 exIterator($dir,.$regex);.......
9580 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 69 6e 76 72 65 67 65 78 ..}..........if.(isset($invregex
95a0 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 69 72 20 3d 20 6e 65 77 20 49 6e 76 65 )).{.............$dir.=.new.Inve
95c0 72 74 65 64 52 65 67 65 78 49 74 65 72 61 74 6f 72 28 24 64 69 72 2c 20 24 69 6e 76 72 65 67 65 rtedRegexIterator($dir,.$invrege
95e0 78 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 61 6e 79 20 3d 20 66 61 x);.........}..........$any.=.fa
9600 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 28 24 64 69 72 20 61 73 20 24 70 6e lse;.........foreach($dir.as.$pn
9620 20 3d 3e 20 24 66 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 61 6e 79 20 3d 20 74 72 75 .=>.$f).{.............$any.=.tru
9640 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 66 e;.............call_user_func($f
9660 75 6e 63 2c 20 24 70 6e 2c 20 24 66 2c 20 24 61 72 67 73 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a unc,.$pn,.$f,.$args);.........}.
9680 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 6e 79 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f ........return.$any;.....}...../
96a0 2f 20 7b 7b 7b 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e /.{{{.static.function.cli_cmd_in
96c0 66 5f 6c 69 73 74 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 20 43 6f 6d 6d 61 6e f_list...../**......*.Cli.Comman
96e0 64 20 49 6e 66 6f 20 4c 69 73 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 d.Info.List......*......*.@retur
9700 6e 20 73 74 72 69 6e 67 20 57 68 61 74 20 69 6e 66 20 64 6f 65 73 0a 20 20 20 20 20 2a 2f 0a 20 n.string.What.inf.does......*/..
9720 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 6c ...static.function.cli_cmd_inf_l
9740 69 73 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 4c 69 73 74 ist().....{.........return."List
9760 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 61 20 50 48 41 52 20 61 72 63 68 69 76 65 2e 22 3b 0a 20 .contents.of.a.PHAR.archive.";..
9780 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 74 61 74 69 ...}.....//.}}}.....//.{{{.stati
97a0 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 6c 69 73 74 0a 20 20 20 20 c.function.cli_cmd_arg_list.....
97c0 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 20 43 6f 6d 6d 61 6e 64 20 41 72 67 75 6d 65 6e 74 20 /**......*.Cli.Command.Argument.
97e0 4c 69 73 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 67 75 6d List......*......*.@return.argum
9800 65 6e 74 73 20 6c 69 73 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e ents.list......*/.....static.fun
9820 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 6c 69 73 74 28 29 0a 20 20 20 20 7b 0a 20 ction.cli_cmd_arg_list().....{..
9840 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 70 68 61 72 5f 61 72 67 73 28 27 46 .......return.self::phar_args('F
9860 69 78 27 2c 20 27 70 68 61 72 75 72 6c 27 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d ix',.'pharurl');.....}.....//.}}
9880 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 }.....//.{{{.public.function.cli
98a0 5f 63 6d 64 5f 72 75 6e 5f 6c 69 73 74 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 _cmd_run_list...../**......*.Cli
98c0 20 43 6f 6d 6d 61 6e 64 20 52 75 6e 20 4c 69 73 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 .Command.Run.List......*......*.
98e0 40 73 65 65 20 24 74 68 69 73 2d 3e 70 68 61 72 5f 64 69 72 5f 6f 70 65 72 61 74 69 6f 6e 0a 20 @see.$this->phar_dir_operation..
9900 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 ....*/.....public.function.cli_c
9920 6d 64 5f 72 75 6e 5f 6c 69 73 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 md_run_list().....{.........$thi
9940 73 2d 3e 70 68 61 72 5f 64 69 72 5f 6f 70 65 72 61 74 69 6f 6e 28 0a 20 20 20 20 20 20 20 20 20 s->phar_dir_operation(..........
9960 20 20 20 6e 65 77 20 44 69 72 65 63 74 6f 72 79 54 72 65 65 49 74 65 72 61 74 6f 72 28 0a 20 20 ...new.DirectoryTreeIterator(...
9980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 66 27 5d 5b 27 ..............$this->args['f']['
99a0 76 61 6c 27 5d 29 2c 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 28 24 val']),..................array($
99c0 74 68 69 73 2c 20 27 70 68 61 72 5f 64 69 72 5f 65 63 68 6f 27 29 0a 20 20 20 20 20 20 20 20 20 this,.'phar_dir_echo')..........
99e0 20 20 20 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b ...);.....}.....//.}}}.....//.{{
9a00 7b 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6f 6d 6d 61 6e 64 5f 69 6e {.static.function.cli_command_in
9a20 66 5f 74 72 65 65 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 20 43 6f 6d 6d 61 6e f_tree...../**......*.Cli.Comman
9a40 64 20 49 6e 66 20 54 72 65 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e d.Inf.Tree......*......*.@return
9a60 20 73 74 72 69 6e 67 20 20 54 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 61 20 64 69 .string..The.description.of.a.di
9a80 72 65 63 74 6f 72 79 20 74 72 65 65 20 66 6f 72 20 61 20 50 68 61 72 20 61 72 63 68 69 76 65 2e rectory.tree.for.a.Phar.archive.
9aa0 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 ......*/.....static.function.cli
9ac0 5f 63 6d 64 5f 69 6e 66 5f 74 72 65 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 _cmd_inf_tree().....{.........re
9ae0 74 75 72 6e 20 22 47 65 74 20 61 20 64 69 72 65 63 74 6f 72 79 20 74 72 65 65 20 66 6f 72 20 61 turn."Get.a.directory.tree.for.a
9b00 20 50 48 41 52 20 61 72 63 68 69 76 65 2e 22 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d .PHAR.archive.";.....}.....//.}}
9b20 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 }.....//.{{{.static.function.cli
9b40 5f 63 6d 64 5f 61 72 67 5f 74 72 65 65 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 _cmd_arg_tree...../**......*.Cli
9b60 20 43 6f 6d 6d 61 6e 64 20 41 72 67 75 6d 65 6e 74 20 54 72 65 65 0a 20 20 20 20 20 2a 0a 20 20 .Command.Argument.Tree......*...
9b80 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 41 72 67 75 6d 65 6e 74 73 20 69 6e ...*.@return.string.Arguments.in
9ba0 20 55 52 4c 20 66 6f 72 6d 61 74 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 73 74 61 74 69 63 20 .URL.format.......*/.....static.
9bc0 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 74 72 65 65 28 29 0a 20 20 20 20 function.cli_cmd_arg_tree().....
9be0 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 70 68 61 72 5f 61 72 67 73 {.........return.self::phar_args
9c00 28 27 46 69 78 27 2c 20 27 70 68 61 72 75 72 6c 27 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f ('Fix',.'pharurl');.....}.....//
9c20 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 .}}}.....//.{{{.public.function.
9c40 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 74 72 65 65 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 cli_cmd_run_tree...../**......*.
9c60 43 6c 69 20 43 6f 6d 6d 61 6e 64 20 52 75 6e 20 54 72 65 65 0a 20 20 20 20 20 2a 20 0a 20 20 20 Cli.Command.Run.Tree......*.....
9c80 20 20 2a 20 53 65 74 20 74 68 65 20 70 68 61 72 5f 64 69 72 5f 6f 70 65 72 61 74 69 6f 6e 20 77 ..*.Set.the.phar_dir_operation.w
9ca0 69 74 68 20 61 20 64 69 72 65 63 74 6f 72 79 67 72 61 70 68 69 74 65 72 61 74 6f 72 2e 0a 20 20 ith.a.directorygraphiterator....
9cc0 20 20 20 2a 20 0a 20 20 20 20 20 2a 20 40 73 65 65 20 44 69 72 65 63 74 6f 72 79 47 72 61 70 68 ...*.......*.@see.DirectoryGraph
9ce0 49 74 65 72 61 74 6f 72 0a 20 20 20 20 20 2a 20 40 73 65 65 20 24 74 68 69 73 2d 3e 70 68 61 72 Iterator......*.@see.$this->phar
9d00 5f 64 69 72 5f 6f 70 65 72 61 74 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 2f 0a 20 20 _dir_operation......*......*/...
9d20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 74 72 ..public.function.cli_cmd_run_tr
9d40 65 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 61 20 3d 20 24 74 68 69 73 2d 3e 70 ee().....{.........$a.=.$this->p
9d60 68 61 72 5f 64 69 72 5f 6f 70 65 72 61 74 69 6f 6e 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e har_dir_operation(.............n
9d80 65 77 20 44 69 72 65 63 74 6f 72 79 47 72 61 70 68 49 74 65 72 61 74 6f 72 28 0a 20 20 20 20 20 ew.DirectoryGraphIterator(......
9da0 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 66 27 5d 5b 27 76 61 6c ...........$this->args['f']['val
9dc0 27 5d 29 2c 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 28 24 74 68 69 ']),..................array($thi
9de0 73 2c 20 27 70 68 61 72 5f 64 69 72 5f 65 63 68 6f 27 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 s,.'phar_dir_echo').............
9e00 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 61 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 );.........if.(!$a).{...........
9e20 20 20 65 63 68 6f 20 22 7c 2d 3c 72 6f 6f 74 20 64 69 72 65 63 74 6f 72 79 3e 5c 6e 22 3b 0a 20 ..echo."|-<root.directory>\n";..
9e40 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f .......}.....}.....//.}}}.....//
9e60 20 7b 7b 7b 20 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 65 78 74 72 61 63 74 0a 20 20 20 20 2f 2a 2a .{{{.cli_cmd_inf_extract...../**
9e80 0a 20 20 20 20 20 2a 20 43 6c 69 20 43 6f 6d 6d 61 6e 64 20 49 6e 66 20 45 78 74 72 61 63 74 0a ......*.Cli.Command.Inf.Extract.
9ea0 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 .....*......*.@return.string.The
9ec0 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 65 78 74 72 .description.of.the.command.extr
9ee0 61 20 74 6f 20 61 20 64 69 72 65 63 74 6f 72 79 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 73 74 a.to.a.directory.......*/.....st
9f00 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 65 78 74 72 61 63 atic.function.cli_cmd_inf_extrac
9f20 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 45 78 74 72 61 63 t().....{.........return."Extrac
9f40 74 20 61 20 50 48 41 52 20 70 61 63 6b 61 67 65 20 74 6f 20 61 20 64 69 72 65 63 74 6f 72 79 2e t.a.PHAR.package.to.a.directory.
9f60 22 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 ";.....}.....//.}}}.....//.{{{.s
9f80 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 65 78 74 72 61 tatic.function.cli_cmd_arg_extra
9fa0 63 74 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 20 43 6f 6d 6d 61 6e 64 20 41 72 ct...../**......*.Cli.Command.Ar
9fc0 67 75 6d 65 6e 74 73 20 45 78 74 72 61 63 74 0a 20 20 20 20 20 2a 20 0a 20 20 20 20 20 2a 20 54 guments.Extract......*.......*.T
9fe0 68 65 20 61 72 67 75 6d 65 6e 74 73 20 66 6f 72 20 74 68 65 20 65 78 74 72 61 63 74 20 66 75 6e he.arguments.for.the.extract.fun
a000 63 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 ction.......*......*.@return.arr
a020 61 79 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 73 20 66 6f 72 20 74 68 65 20 65 78 74 72 61 63 ay..The.arguments.for.the.extrac
a040 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f tion.......*/.....static.functio
a060 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 65 78 74 72 61 63 74 28 29 0a 20 20 20 20 7b 0a 20 20 n.cli_cmd_arg_extract().....{...
a080 20 20 20 20 20 20 24 61 72 67 73 20 3d 20 73 65 6c 66 3a 3a 70 68 61 72 5f 61 72 67 73 28 27 46 ......$args.=.self::phar_args('F
a0a0 69 78 27 2c 20 27 70 68 61 72 27 29 3b 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 24 ix',.'phar');..................$
a0c0 61 72 67 73 5b 27 27 5d 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 74 args[''].=.array(.............'t
a0e0 79 70 65 27 20 3d 3e 20 27 64 69 72 27 2c 20 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 76 61 ype'.=>.'dir',...............'va
a100 6c 27 20 3d 3e 20 27 2e 27 2c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 l'.=>.'.',......................
a120 20 20 20 20 20 20 20 20 27 69 6e 66 27 20 3d 3e 20 27 20 20 20 20 20 20 20 20 20 44 69 72 65 63 ........'inf'.=>.'.........Direc
a140 74 6f 72 79 20 74 6f 20 65 78 74 72 61 63 74 20 74 6f 20 28 64 65 66 61 75 6c 74 73 20 74 6f 20 tory.to.extract.to.(defaults.to.
a160 5c 27 2e 5c 27 29 2e 27 2c 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 0a 20 20 \'.\').',.........);............
a180 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 67 73 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f ......return.$args;.....}.....//
a1a0 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 .}}}.....//.{{{.public.function.
a1c0 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 65 78 74 72 61 63 74 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 cli_cmd_run_extract...../**.....
a1e0 20 2a 20 52 75 6e 20 45 78 74 72 61 63 74 0a 20 20 20 20 20 2a 20 0a 20 20 20 20 20 2a 20 52 75 .*.Run.Extract......*.......*.Ru
a200 6e 20 74 68 65 20 65 78 74 72 61 63 74 69 6f 6e 20 6f 66 20 61 20 70 68 61 72 20 41 72 63 68 69 n.the.extraction.of.a.phar.Archi
a220 76 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 73 65 65 20 24 74 68 69 73 2d 3e 70 68 ve.......*......*.@see.$this->ph
a240 61 72 5f 64 69 72 5f 6f 70 65 72 61 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 ar_dir_operation......*/.....pub
a260 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 65 78 74 72 61 63 74 lic.function.cli_cmd_run_extract
a280 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 64 69 72 20 3d 20 24 74 68 69 73 2d 3e 61 ().....{.........$dir.=.$this->a
a2a0 72 67 73 5b 27 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 rgs['']['val'];.................
a2c0 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 64 69 72 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 .if.(is_array($dir)).{..........
a2e0 20 20 20 69 66 20 28 63 6f 75 6e 74 28 24 64 69 72 29 20 21 3d 20 31 29 20 7b 0a 20 20 20 20 20 ...if.(count($dir).!=.1).{......
a300 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 65 72 72 6f 72 28 22 4f 6e 6c 79 20 6f 6e 65 ...........self::error("Only.one
a320 20 74 61 72 67 65 74 20 64 69 72 65 63 74 6f 72 79 20 61 6c 6c 6f 77 65 64 2e 5c 6e 22 29 3b 0a .target.directory.allowed.\n");.
a340 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ............}.else.{............
a360 20 20 20 20 20 24 64 69 72 20 3d 20 24 64 69 72 5b 30 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 .....$dir.=.$dir[0];............
a380 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 24 70 .}.........}..................$p
a3a0 68 61 72 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 66 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 har.=.$this->args['f']['val'];..
a3c0 20 20 20 20 20 20 20 24 62 61 73 65 20 3d 20 24 70 68 61 72 2d 3e 67 65 74 50 61 74 68 6e 61 6d .......$base.=.$phar->getPathnam
a3e0 65 28 29 3b 0a 20 20 20 20 20 20 20 20 24 62 65 6e 64 20 3d 20 73 74 72 70 6f 73 28 24 62 61 73 e();.........$bend.=.strpos($bas
a400 65 2c 20 27 2e 70 68 61 72 27 29 3b 0a 20 20 20 20 20 20 20 20 24 62 65 6e 64 20 3d 20 73 74 72 e,.'.phar');.........$bend.=.str
a420 70 6f 73 28 24 62 61 73 65 2c 20 27 2f 27 2c 20 24 62 65 6e 64 29 3b 0a 20 20 20 20 20 20 20 20 pos($base,.'/',.$bend);.........
a440 24 62 61 73 65 20 3d 20 73 75 62 73 74 72 28 24 62 61 73 65 2c 20 30 2c 20 24 62 65 6e 64 20 2b $base.=.substr($base,.0,.$bend.+
a460 20 31 29 3b 0a 20 20 20 20 20 20 20 20 24 62 6c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 62 61 73 .1);.........$blen.=.strlen($bas
a480 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 68 61 72 5f 64 69 72 5f 6f 70 65 e);..........$this->phar_dir_ope
a4a0 72 61 74 69 6f 6e 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 20 52 65 63 75 72 73 69 76 ration(.............new.Recursiv
a4c0 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 24 70 68 61 72 29 2c 20 0a 20 20 20 20 20 eIteratorIterator($phar),.......
a4e0 20 20 20 20 20 20 20 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 70 68 61 72 5f 64 69 72 5f 65 78 .......array($this,.'phar_dir_ex
a500 74 72 61 63 74 27 29 2c 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 28 24 62 6c 65 tract'),..............array($ble
a520 6e 2c 20 24 64 69 72 29 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f n,.$dir).........);.....}.....//
a540 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 .}}}.....//.{{{.public.function.
a560 70 68 61 72 5f 64 69 72 5f 65 78 74 72 61 63 74 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 phar_dir_extract...../**......*.
a580 45 78 74 72 61 63 74 20 74 6f 20 61 20 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 2a 20 0a 20 Extract.to.a.directory......*...
a5a0 20 20 20 20 2a 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 65 78 74 72 61 63 74 ....*.This.function.will.extract
a5c0 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 61 20 50 68 61 72 0a 20 20 20 20 20 2a 20 74 6f .the.content.of.a.Phar......*.to
a5e0 20 61 20 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20 63 72 65 61 74 65 20 6e 65 77 20 66 69 6c 65 .a.directory.and.create.new.file
a600 73 20 61 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 20 64 65 70 65 6e 64 69 s.and.directories......*.dependi
a620 6e 67 20 6f 6e 20 74 68 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6f 6e 20 74 68 61 74 20 66 6f ng.on.the.permissions.on.that.fo
a640 6c 64 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e lder.......*......*.@param.strin
a660 67 20 24 70 6e 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 66 20 20 20 g.$pn......*.@param.string.$f...
a680 20 20 54 68 65 20 66 69 6c 65 20 6e 61 6d 65 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 ..The.file.name......*.@param.ar
a6a0 72 61 79 20 24 61 72 67 73 20 20 20 54 68 65 20 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20 42 6c ray.$args...The.directory.and.Bl
a6c0 65 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c en.informations......*/.....publ
a6e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 68 61 72 5f 64 69 72 5f 65 78 74 72 61 63 74 28 24 70 6e ic.function.phar_dir_extract($pn
a700 2c 20 24 66 2c 20 24 61 72 67 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 62 6c 65 6e ,.$f,.$args).....{.........$blen
a720 20 20 20 3d 20 24 61 72 67 73 5b 30 5d 3b 0a 20 20 20 20 20 20 20 20 24 64 69 72 20 20 20 20 3d ...=.$args[0];.........$dir....=
a740 20 24 61 72 67 73 5b 31 5d 3b 0a 20 20 20 20 20 20 20 20 24 73 75 62 20 20 20 20 3d 20 73 75 62 .$args[1];.........$sub....=.sub
a760 73 74 72 28 24 70 6e 2c 20 24 62 6c 65 6e 29 3b 0a 20 20 20 20 20 20 20 20 24 74 61 72 67 65 74 str($pn,.$blen);.........$target
a780 20 3d 20 24 64 69 72 20 2e 20 27 2f 27 20 2e 20 24 73 75 62 3b 0a 20 20 20 20 20 20 20 20 0a 20 .=.$dir...'/'...$sub;...........
a7a0 20 20 20 20 20 20 20 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 64 69 72 6e 61 6d 65 28 .......if.(!file_exists(dirname(
a7c0 24 74 61 72 67 65 74 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 $target))).{.............if.(!is
a7e0 5f 77 72 69 74 61 62 6c 65 28 64 69 72 6e 61 6d 65 28 24 74 61 72 67 65 74 29 29 29 20 7b 0a 20 _writable(dirname($target))).{..
a800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 65 72 72 6f 72 28 22 4f 70 65 72 ...............self::error("Oper
a820 61 74 69 6f 6e 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 6f 6d 70 6c 65 74 65 64 5c 6e 22 29 ation.could.not.be.completed\n")
a840 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 ;.............}.................
a860 20 20 20 20 20 20 20 20 20 6d 6b 64 69 72 28 64 69 72 6e 61 6d 65 28 24 74 61 72 67 65 74 29 29 .........mkdir(dirname($target))
a880 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 65 63 68 ;.........}..................ech
a8a0 6f 20 22 24 73 75 62 22 3b 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 o."$sub";..................if.(!
a8c0 40 63 6f 70 79 28 24 66 2c 20 24 74 61 72 67 65 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 @copy($f,.$target)).{...........
a8e0 20 20 65 63 68 6f 20 22 20 2e 2e 2e 65 72 72 6f 72 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 7d 20 ..echo."....error\n";.........}.
a900 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 22 20 2e 2e 2e 6f 6b 5c else.{.............echo."....ok\
a920 6e 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 n";.........}.....}.....//.}}}..
a940 20 20 20 2f 2f 20 7b 7b 7b 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d ...//.{{{.static.function.cli_cm
a960 64 5f 69 6e 66 5f 64 65 6c 65 74 65 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 44 65 6c 65 d_inf_delete...../**......*.Dele
a980 74 65 20 61 6e 20 65 6e 74 72 79 20 66 72 6f 6d 20 61 20 70 68 61 72 20 69 6e 66 6f 72 6d 61 74 te.an.entry.from.a.phar.informat
a9a0 69 6f 6e 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e ion.......*......*.@return.strin
a9c0 67 20 54 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 73 74 g.The.information......*/.....st
a9e0 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 64 65 6c 65 74 65 atic.function.cli_cmd_inf_delete
aa00 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 27 44 65 6c 65 74 65 20 ().....{.........return.'Delete.
aa20 65 6e 74 72 79 20 66 72 6f 6d 20 61 20 50 48 41 52 20 61 72 63 68 69 76 65 27 3b 0a 20 20 20 20 entry.from.a.PHAR.archive';.....
aa40 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 74 61 74 69 63 20 66 }.....//.}}}.....//.{{{.static.f
aa60 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 64 65 6c 65 74 65 0a 20 20 20 20 2f unction.cli_cmd_arg_delete...../
aa80 2a 2a 0a 20 20 20 20 20 2a 20 54 68 65 20 63 6c 69 20 63 6f 6d 6d 61 6e 64 20 61 72 67 75 6d 65 **......*.The.cli.command.argume
aaa0 6e 74 20 66 6f 72 20 64 65 6c 65 74 69 6e 67 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 nt.for.deleting.......*......*.@
aac0 72 65 74 75 72 6e 20 61 72 72 61 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 73 20 61 62 6f 75 74 20 return.array.informations.about.
aae0 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 75 73 65 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 the.arguments.to.use.......*/...
ab00 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 64 65 ..static.function.cli_cmd_arg_de
ab20 6c 65 74 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 lete().....{.........return.self
ab40 3a 3a 70 68 61 72 5f 61 72 67 73 28 27 46 45 27 2c 20 27 70 68 61 72 27 29 3b 0a 20 20 20 20 7d ::phar_args('FE',.'phar');.....}
ab60 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 .....//.}}}.....//.{{{.public.fu
ab80 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 64 65 6c 65 74 65 0a 20 20 20 20 2f 2a nction.cli_cmd_run_delete...../*
aba0 2a 0a 20 20 20 20 20 2a 20 44 65 6c 65 74 69 6e 67 20 65 78 65 63 75 74 69 6f 6e 0a 20 20 20 20 *......*.Deleting.execution.....
abc0 20 2a 0a 20 20 20 20 20 2a 20 45 78 65 63 75 74 65 20 74 68 65 20 64 65 6c 65 74 69 6e 67 20 6f .*......*.Execute.the.deleting.o
abe0 66 20 74 68 65 20 66 69 6c 65 20 66 72 6f 6d 20 74 68 65 20 70 68 61 72 20 61 72 63 68 69 76 65 f.the.file.from.the.phar.archive
ac00 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c .......*/.....public.function.cl
ac20 69 5f 63 6d 64 5f 72 75 6e 5f 64 65 6c 65 74 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 i_cmd_run_delete().....{........
ac40 20 24 70 68 61 72 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 66 27 5d 5b 27 76 61 6c 27 .$phar..=.$this->args['f']['val'
ac60 5d 3b 0a 20 20 20 20 20 20 20 20 24 65 6e 74 72 79 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b ];.........$entry.=.$this->args[
ac80 27 65 27 5d 5b 27 76 61 6c 27 5d 3b 0a 0a 20 20 20 20 20 20 20 24 70 68 61 72 2d 3e 73 74 61 72 'e']['val'];.........$phar->star
aca0 74 42 75 66 66 65 72 69 6e 67 28 29 3b 0a 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 70 68 61 72 tBuffering();........unset($phar
acc0 5b 24 65 6e 74 72 79 5d 29 3b 0a 20 20 20 20 20 20 20 24 70 68 61 72 2d 3e 73 74 6f 70 42 75 66 [$entry]);........$phar->stopBuf
ace0 66 65 72 69 6e 67 28 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f fering();.....}.....//.}}}...../
ad00 2f 20 7b 7b 7b 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e /.{{{.static.function.cli_cmd_in
ad20 66 5f 61 64 64 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 65 6e 74 20 63 6f 6d 6d f_add...../**......*.Client.comm
ad40 65 6e 74 20 61 64 64 20 66 69 6c 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20 20 20 20 20 2a 0a ent.add.file.information......*.
ad60 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 64 65 73 63 72 69 .....*.@return.string.The.descri
ad80 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 65 61 74 75 72 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 ption.of.the.feature......*/....
ada0 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 61 64 64 .static.function.cli_cmd_inf_add
adc0 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 41 64 64 20 65 6e 74 ().....{.........return."Add.ent
ade0 72 69 65 73 20 74 6f 20 61 20 50 48 41 52 20 70 61 63 6b 61 67 65 2e 22 3b 0a 20 20 20 20 7d 0a ries.to.a.PHAR.package.";.....}.
ae00 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 73 74 61 74 69 63 20 66 75 6e ....//.}}}.....//.{{{.static.fun
ae20 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 61 64 64 0a 20 20 20 20 2f 2a 2a 0a 20 20 ction.cli_cmd_arg_add...../**...
ae40 20 20 20 2a 20 41 64 64 20 61 20 66 69 6c 65 20 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 2a ...*.Add.a.file.arguments......*
ae60 2f 0a 20 20 20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 /.....static.function.cli_cmd_ar
ae80 67 5f 61 64 64 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 61 72 67 73 20 3d 20 73 65 g_add().....{.........$args.=.se
aea0 6c 66 3a 3a 70 68 61 72 5f 61 72 67 73 28 27 61 63 46 69 6c 78 27 2c 20 27 70 68 61 72 27 29 3b lf::phar_args('acFilx',.'phar');
aec0 0a 20 20 20 20 20 20 20 20 24 61 72 67 73 5b 27 27 5d 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 .........$args[''].=.array(.....
aee0 20 20 20 20 20 20 20 20 27 74 79 70 65 27 20 20 20 20 20 3d 3e 20 27 61 6e 79 27 2c 20 20 20 20 ........'type'.....=>.'any',....
af00 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 76 61 6c 27 20 20 20 20 20 20 3d 3e 20 4e 55 4c 4c ..............'val'......=>.NULL
af20 2c 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 72 65 71 75 69 72 65 64 27 20 3d ,...................'required'.=
af40 3e 20 31 2c 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 69 6e 66 27 20 20 20 20 20 20 3d 3e 20 >.1,..............'inf'......=>.
af60 27 20 20 20 20 20 20 20 20 20 41 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 70 75 74 20 66 69 '.........Any.number.of.input.fi
af80 6c 65 73 20 61 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 2e 20 49 66 20 2d 69 20 69 73 20 69 6e les.and.directories..If.-i.is.in
afa0 20 75 73 65 20 74 68 65 6e 20 4f 4e 4c 59 20 66 69 6c 65 73 20 61 6e 64 20 6d 61 74 63 68 69 6e .use.then.ONLY.files.and.matchin
afc0 67 20 74 68 65 67 69 76 65 6e 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 61 72 g.thegiven.regular.expression.ar
afe0 65 20 62 65 69 6e 67 20 70 61 63 6b 65 64 2e 20 49 66 20 2d 78 20 69 73 20 67 69 76 65 6e 20 74 e.being.packed..If.-x.is.given.t
b000 68 65 6e 20 66 69 6c 65 73 20 6d 61 74 63 68 69 6e 67 20 74 68 61 74 20 72 65 67 75 6c 61 72 20 hen.files.matching.that.regular.
b020 65 78 70 72 65 73 73 69 6f 6e 20 61 72 65 20 4e 4f 54 20 62 65 69 6e 67 20 70 61 63 6b 65 64 2e expression.are.NOT.being.packed.
b040 27 2c 0a 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 ',.........);.........return.$ar
b060 67 73 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 gs;.....}.....//.}}}.....//.{{{.
b080 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 20 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 61 64 64 0a 20 public.functio.cli_cmd_run_add..
b0a0 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 64 64 20 61 20 66 69 6c 65 0a 20 20 20 20 20 2a 0a .../**......*.Add.a.file......*.
b0c0 20 20 20 20 20 2a 20 52 75 6e 20 74 68 65 20 61 63 74 69 6f 6e 20 6f 66 20 61 64 64 69 6e 67 20 .....*.Run.the.action.of.adding.
b0e0 61 20 66 69 6c 65 20 74 6f 0a 20 20 20 20 20 2a 20 61 20 70 68 61 72 20 61 72 63 68 69 76 65 2e a.file.to......*.a.phar.archive.
b100 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 ......*/.....public.function.cli
b120 5f 63 6d 64 5f 72 75 6e 5f 61 64 64 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 63 6f _cmd_run_add().....{.........$co
b140 6d 70 72 65 73 73 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 63 27 5d 5b 27 76 61 6c 27 5d 3b mpress=.$this->args['c']['val'];
b160 0a 20 20 20 20 20 20 20 20 24 70 68 61 72 20 20 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b .........$phar....=.$this->args[
b180 27 66 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 72 65 67 65 78 20 20 20 3d 20 'f']['val'];.........$regex...=.
b1a0 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 69 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 $this->args['i']['val'];........
b1c0 20 24 6c 65 76 65 6c 20 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 6c 27 5d 5b 27 76 61 .$level...=.$this->args['l']['va
b1e0 6c 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 69 6e 76 72 65 67 65 78 3d 20 24 74 68 69 73 2d 3e 61 l'];.........$invregex=.$this->a
b200 72 67 73 5b 27 78 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 69 6e 70 75 74 20 rgs['x']['val'];.........$input.
b220 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 27 5d 5b 27 76 61 6c 27 5d 3b 0a 0a 20 20 20 ..=.$this->args['']['val'];.....
b240 20 20 20 20 20 24 70 68 61 72 2d 3e 73 74 61 72 74 42 75 66 66 65 72 69 6e 67 28 29 3b 0a 0a 20 .....$phar->startBuffering();...
b260 20 20 20 20 20 20 20 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 69 6e 70 75 74 29 29 20 7b 0a .......if.(!is_array($input)).{.
b280 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 68 61 72 5f 61 64 64 28 24 70 68 61 ............$this->phar_add($pha
b2a0 72 2c 20 24 6c 65 76 65 6c 2c 20 24 69 6e 70 75 74 2c 20 24 72 65 67 65 78 2c 20 24 69 6e 76 72 r,.$level,.$input,.$regex,.$invr
b2c0 65 67 65 78 2c 20 4e 55 4c 4c 2c 20 24 63 6f 6d 70 72 65 73 73 29 3b 0a 20 20 20 20 20 20 20 20 egex,.NULL,.$compress);.........
b2e0 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 28 24 69 6e }.else.{.............foreach($in
b300 70 75 74 20 61 73 20 24 69 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 put.as.$i).{.................$th
b320 69 73 2d 3e 70 68 61 72 5f 61 64 64 28 24 70 68 61 72 2c 20 24 6c 65 76 65 6c 2c 20 24 69 2c 20 is->phar_add($phar,.$level,.$i,.
b340 24 72 65 67 65 78 2c 20 24 69 6e 76 72 65 67 65 78 2c 20 4e 55 4c 4c 2c 20 24 63 6f 6d 70 72 65 $regex,.$invregex,.NULL,.$compre
b360 73 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 ss);.............}.........}....
b380 20 20 20 20 20 24 70 68 61 72 2d 3e 73 74 6f 70 42 75 66 66 65 72 69 6e 67 28 29 3b 0a 20 20 20 .....$phar->stopBuffering();....
b3a0 20 20 20 20 20 65 78 69 74 28 30 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 .....exit(0);.....}.....//.}}}..
b3c0 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d ...//.{{{.public.function.cli_cm
b3e0 64 5f 69 6e 66 5f 73 74 75 62 5f 73 65 74 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 65 d_inf_stub_set...../**......*.Se
b400 74 20 74 68 65 20 73 74 75 70 20 6f 66 20 61 20 70 68 61 72 20 66 69 6c 65 2e 0a 20 20 20 20 20 t.the.stup.of.a.phar.file.......
b420 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 54 68 65 20 73 74 75 62 *......*.@return.string.The.stub
b440 20 73 65 74 20 64 65 73 63 72 69 70 74 69 6f 6e 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 .set.description.......*/.....pu
b460 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 73 74 75 62 5f 73 blic.function.cli_cmd_inf_stub_s
b480 65 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 53 65 74 20 74 et().....{.........return."Set.t
b4a0 68 65 20 73 74 75 62 20 6f 66 20 61 20 50 48 41 52 20 66 69 6c 65 2e 20 22 20 2e 20 0a 20 20 20 he.stub.of.a.PHAR.file..".......
b4c0 20 20 20 20 20 20 20 20 20 20 20 20 22 49 66 20 6e 6f 20 69 6e 70 75 74 20 66 69 6c 65 20 69 73 ............"If.no.input.file.is
b4e0 20 73 70 65 63 69 66 69 65 64 20 61 73 20 73 74 75 62 20 74 68 65 6e 20 73 74 64 69 6e 20 69 73 .specified.as.stub.then.stdin.is
b500 20 62 65 69 6e 67 20 75 73 65 64 2e 22 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a .being.used.";.....}.....//.}}}.
b520 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 ....//.{{{.public.function.cli_c
b540 6d 64 5f 61 72 67 5f 73 74 75 62 5f 73 65 74 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 53 md_arg_stub_set...../**......*.S
b560 65 74 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 73 74 75 62 0a 20 20 20 20 20 2a 0a 20 20 20 20 et.the.argument.stub......*.....
b580 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 61 72 67 75 6d 65 6e 74 73 20 66 6f 72 20 .*.@return.string.arguments.for.
b5a0 61 20 73 74 75 62 20 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 a.stub.......*/.....public.funct
b5c0 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 73 74 75 62 5f 73 65 74 28 29 0a 20 20 20 20 7b ion.cli_cmd_arg_stub_set().....{
b5e0 0a 20 20 20 20 20 20 20 20 24 61 72 67 73 20 3d 20 73 65 6c 66 3a 3a 70 68 61 72 5f 61 72 67 73 .........$args.=.self::phar_args
b600 28 27 62 46 70 73 27 2c 20 27 70 68 61 72 27 29 3b 0a 20 20 20 20 20 20 20 20 24 61 72 67 73 5b ('bFps',.'phar');.........$args[
b620 27 73 27 5d 5b 27 76 61 6c 27 5d 20 3d 20 27 70 68 70 3a 2f 2f 73 74 64 69 6e 27 3b 0a 20 20 20 's']['val'].=.'php://stdin';....
b640 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 67 73 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 .....return.$args;.....}.....//.
b660 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 }}}.....//.{{{.public.function.c
b680 6c 69 5f 63 6d 64 5f 72 75 6e 5f 73 74 75 62 5f 73 65 74 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 li_cmd_run_stub_set...../**.....
b6a0 20 2a 20 43 6c 69 20 43 6f 6d 6d 61 6e 64 20 72 75 6e 20 73 74 75 62 20 73 65 74 0a 20 20 20 20 .*.Cli.Command.run.stub.set.....
b6c0 20 2a 0a 20 20 20 20 20 2a 20 40 73 65 65 20 20 20 24 70 68 61 72 2d 3e 73 65 74 53 74 75 62 28 .*......*.@see...$phar->setStub(
b6e0 29 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c )......*/.....public.function.cl
b700 69 5f 63 6d 64 5f 72 75 6e 5f 73 74 75 62 5f 73 65 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 i_cmd_run_stub_set().....{......
b720 20 20 20 24 68 61 73 68 62 61 6e 67 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 62 27 5d 5b ...$hashbang.=.$this->args['b'][
b740 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 70 68 61 72 20 20 20 20 20 3d 20 24 74 68 69 'val'];.........$phar.....=.$thi
b760 73 2d 3e 61 72 67 73 5b 27 66 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 73 74 s->args['f']['val'];.........$st
b780 75 62 20 20 20 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 73 27 5d 5b 27 76 61 6c 27 5d ub.....=.$this->args['s']['val']
b7a0 3b 0a 20 20 20 20 20 20 20 20 24 6c 6f 61 64 65 72 20 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 ;.........$loader...=.$this->arg
b7c0 73 5b 27 70 27 5d 5b 27 76 61 6c 27 5d 3b 0a 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 s['p']['val'];..........$this->p
b7e0 68 61 72 5f 73 65 74 5f 73 74 75 62 5f 62 65 67 69 6e 28 24 70 68 61 72 2c 20 24 73 74 75 62 2c har_set_stub_begin($phar,.$stub,
b800 20 24 6c 6f 61 64 65 72 2c 20 24 68 61 73 68 62 61 6e 67 29 3b 0a 20 20 20 20 20 20 20 20 24 74 .$loader,.$hashbang);.........$t
b820 68 69 73 2d 3e 70 68 61 72 5f 73 65 74 5f 73 74 75 62 5f 65 6e 64 28 24 70 68 61 72 2c 20 24 73 his->phar_set_stub_end($phar,.$s
b840 74 75 62 2c 20 24 6c 6f 61 64 65 72 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a tub,.$loader);.....}.....//.}}}.
b860 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 ....//.{{{.public.function.cli_c
b880 6d 64 5f 69 6e 66 5f 73 74 75 62 5f 67 65 74 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 md_inf_stub_get...../**......*.G
b8a0 65 74 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 73 74 75 62 20 69 6e 66 6f 73 2e 0a 20 20 20 20 20 et.the.command.stub.infos.......
b8c0 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 61 20 64 65 73 63 72 69 *......*.@return.string.a.descri
b8e0 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 74 75 62 20 6f 66 20 61 20 50 68 61 72 20 66 69 6c 65 ption.of.the.stub.of.a.Phar.file
b900 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c .......*/.....public.function.cl
b920 69 5f 63 6d 64 5f 69 6e 66 5f 73 74 75 62 5f 67 65 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 i_cmd_inf_stub_get().....{......
b940 20 20 20 72 65 74 75 72 6e 20 22 47 65 74 20 74 68 65 20 73 74 75 62 20 6f 66 20 61 20 50 48 41 ...return."Get.the.stub.of.a.PHA
b960 52 20 66 69 6c 65 2e 20 22 20 2e 20 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 49 66 R.file.."...................."If
b980 20 6e 6f 20 6f 75 74 70 75 74 20 66 69 6c 65 20 69 73 20 73 70 65 63 69 66 69 65 64 20 61 73 20 .no.output.file.is.specified.as.
b9a0 73 74 75 62 20 74 68 65 6e 20 73 74 64 6f 75 74 20 69 73 20 62 65 69 6e 67 20 75 73 65 64 2e 22 stub.then.stdout.is.being.used."
b9c0 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 ;.....}.....//.}}}.....//.{{{.pu
b9e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 73 74 75 62 5f 67 blic.function.cli_cmd_arg_stub_g
ba00 65 74 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 47 65 74 20 74 68 65 20 61 72 67 75 6d 65 et...../**......*.Get.the.argume
ba20 6e 74 20 73 74 75 62 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 nt.stub......*......*.@return.ar
ba40 72 61 79 20 24 61 72 67 73 20 54 68 65 20 61 72 67 75 6d 65 6e 74 73 20 70 61 73 73 65 64 20 74 ray.$args.The.arguments.passed.t
ba60 6f 20 74 68 65 20 73 74 75 62 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 o.the.stub.......*/.....public.f
ba80 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 73 74 75 62 5f 67 65 74 28 29 0a 20 unction.cli_cmd_arg_stub_get()..
baa0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 61 72 67 73 20 3d 20 73 65 6c 66 3a 3a 70 68 61 72 5f ...{.........$args.=.self::phar_
bac0 61 72 67 73 28 27 46 73 27 2c 20 27 70 68 61 72 27 29 3b 0a 20 20 20 20 20 20 20 20 24 61 72 67 args('Fs',.'phar');.........$arg
bae0 73 5b 27 73 27 5d 5b 27 76 61 6c 27 5d 20 3d 20 27 70 68 70 3a 2f 2f 73 74 64 69 6e 27 3b 0a 20 s['s']['val'].=.'php://stdin';..
bb00 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 67 73 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f .......return.$args;.....}...../
bb20 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e /.}}}.....//.{{{.public.function
bb40 20 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 73 74 75 62 5f 67 65 74 0a 20 20 20 20 2f 2a 2a 0a 20 20 .cli_cmd_run_stub_get...../**...
bb60 20 20 20 2a 20 43 6c 69 20 43 6f 6d 6d 61 6e 64 20 52 75 6e 20 53 74 75 62 0a 20 20 20 20 20 2a ...*.Cli.Command.Run.Stub......*
bb80 20 0a 20 20 20 20 20 2a 20 47 65 74 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 73 74 6f 72 65 .......*.Get.arguments.and.store
bba0 20 74 68 65 6d 20 69 6e 74 6f 20 61 20 73 74 75 62 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a .them.into.a.stub.......*......*
bbc0 20 40 70 61 72 61 6d 20 61 72 67 75 6d 65 6e 74 73 20 24 61 72 67 73 0a 20 20 20 20 20 2a 20 40 .@param.arguments.$args......*.@
bbe0 73 65 65 20 20 20 24 74 68 69 73 2d 3e 61 72 67 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 see...$this->args......*/.....pu
bc00 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 73 74 75 62 5f 67 blic.function.cli_cmd_run_stub_g
bc20 65 74 28 24 61 72 67 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 70 68 61 72 20 3d 20 et($args).....{.........$phar.=.
bc40 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 66 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 $this->args['f']['val'];........
bc60 20 24 73 74 75 62 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 73 27 5d 5b 27 76 61 6c 27 5d .$stub.=.$this->args['s']['val']
bc80 3b 0a 0a 20 20 20 20 20 20 20 20 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 73 74 ;..........file_put_contents($st
bca0 75 62 2c 20 24 70 68 61 72 2d 3e 67 65 74 53 74 75 62 28 29 29 3b 0a 20 20 20 20 7d 0a 20 20 20 ub,.$phar->getStub());.....}....
bcc0 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .//.}}}.....//.{{{.public.functi
bce0 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 63 6f 6d 70 72 65 73 73 0a 20 20 20 20 2f 2a 2a 0a on.cli_cmd_inf_compress...../**.
bd00 20 20 20 20 20 2a 20 43 6c 69 20 43 6f 6d 6d 61 6e 64 20 49 6e 66 20 43 6f 6d 70 72 65 73 73 0a .....*.Cli.Command.Inf.Compress.
bd20 20 20 20 20 20 2a 20 0a 20 20 20 20 20 2a 20 43 6c 69 20 43 6f 6d 6d 61 6e 64 20 63 6f 6d 70 72 .....*.......*.Cli.Command.compr
bd40 65 73 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 ess.informations......*......*.@
bd60 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 41 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 return.string.A.description.of.t
bd80 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 he.command.......*/.....public.f
bda0 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 63 6f 6d 70 72 65 73 73 28 29 0a 20 unction.cli_cmd_inf_compress()..
bdc0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 43 6f 6d 70 72 65 73 73 20 6f 72 ...{.........return."Compress.or
bde0 20 75 6e 63 6f 6d 70 72 65 73 73 20 61 6c 6c 20 66 69 6c 65 73 20 6f 72 20 61 20 73 65 6c 65 63 .uncompress.all.files.or.a.selec
be00 74 65 64 20 65 6e 74 72 79 2e 22 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 ted.entry.";.....}.....//.}}}...
be20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 ..//.{{{.public.function.cli_cmd
be40 5f 61 72 67 5f 63 6d 70 72 65 73 73 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 20 _arg_cmpress...../**......*.Cli.
be60 43 6f 6d 6d 61 6e 64 20 41 72 67 20 43 6f 6d 70 72 65 73 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 Command.Arg.Compress......*.....
be80 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 54 68 65 20 61 72 67 75 6d 65 6e 74 73 20 66 .*.@return.array.The.arguments.f
bea0 6f 72 20 63 6f 6d 70 72 65 73 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 or.compress......*/.....public.f
bec0 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 63 6f 6d 70 72 65 73 73 28 29 0a 20 unction.cli_cmd_arg_compress()..
bee0 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 70 68 61 72 5f 61 ...{.........return.self::phar_a
bf00 72 67 73 28 27 46 43 65 27 2c 20 27 70 68 61 72 27 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f rgs('FCe',.'phar');.....}.....//
bf20 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 .}}}.....//.{{{.public.function.
bf40 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 63 6f 6d 70 72 65 73 73 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 cli_cmd_run_compress...../**....
bf60 20 20 2a 20 43 6c 69 20 43 6f 6d 6d 61 6e 64 20 52 75 6e 20 43 6f 6d 70 72 65 73 73 0a 20 20 20 ..*.Cli.Command.Run.Compress....
bf80 20 20 2a 0a 20 20 20 20 20 2a 20 40 73 65 65 20 24 74 68 69 73 2d 3e 61 72 67 73 0a 20 20 20 20 ..*......*.@see.$this->args.....
bfa0 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f .*/.....public.function.cli_cmd_
bfc0 72 75 6e 5f 63 6f 6d 70 72 65 73 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 70 68 run_compress().....{.........$ph
bfe0 61 72 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 66 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 ar..=.$this->args['f']['val'];..
c000 20 20 20 20 20 20 20 24 65 6e 74 72 79 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 65 27 5d .......$entry.=.$this->args['e']
c020 5b 27 76 61 6c 27 5d 3b 0a 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 28 24 74 68 69 73 2d 3e ['val'];..........switch($this->
c040 61 72 67 73 5b 27 63 27 5d 5b 27 76 61 6c 27 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 args['c']['val']).{.............
c060 63 61 73 65 20 27 67 7a 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 67 7a 69 case.'gz':.............case.'gzi
c080 70 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 65 p':.................if.(isset($e
c0a0 6e 74 72 79 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 68 ntry)).{.....................$ph
c0c0 61 72 5b 24 65 6e 74 72 79 5d 2d 3e 63 6f 6d 70 72 65 73 73 28 50 68 61 72 3a 3a 47 5a 29 3b 0a ar[$entry]->compress(Phar::GZ);.
c0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 ................}.else.{........
c100 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 68 61 72 2d 3e 63 6f 6d 70 72 65 73 73 46 69 6c 65 .............$phar->compressFile
c120 73 28 50 68 61 72 3a 3a 47 5a 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 s(Phar::GZ);.................}..
c140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 ...............break;...........
c160 20 20 63 61 73 65 20 27 62 7a 32 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 ..case.'bz2':.............case.'
c180 62 7a 69 70 32 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 bzip2':.................if.(isse
c1a0 74 28 24 65 6e 74 72 79 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t($entry)).{....................
c1c0 20 24 70 68 61 72 5b 24 65 6e 74 72 79 5d 2d 3e 63 6f 6d 70 72 65 73 73 28 50 68 61 72 3a 3a 42 .$phar[$entry]->compress(Phar::B
c1e0 5a 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 Z2);.................}.else.{...
c200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 68 61 72 2d 3e 63 6f 6d 70 72 65 73 ..................$phar->compres
c220 73 46 69 6c 65 73 28 50 68 61 72 3a 3a 42 5a 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 sFiles(Phar::BZ2);..............
c240 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 ...}.................break;.....
c260 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........default:................
c280 20 69 66 20 28 69 73 73 65 74 28 24 65 6e 74 72 79 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .if.(isset($entry)).{...........
c2a0 20 20 20 20 20 20 20 20 20 20 24 70 68 61 72 5b 24 65 6e 74 72 79 5d 2d 3e 64 65 63 6f 6d 70 72 ..........$phar[$entry]->decompr
c2c0 65 73 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a ess();.................}.else.{.
c2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 68 61 72 2d 3e 64 65 63 6f 6d ....................$phar->decom
c300 70 72 65 73 73 46 69 6c 65 73 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a pressFiles();.................}.
c320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 7d ................break;.........}
c340 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 .....}.....//.}}}.....//.{{{.pub
c360 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 73 69 67 6e 0a 20 20 lic.function.cli_cmd_inf_sign...
c380 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 20 43 6f 6d 6d 61 6e 64 20 49 6e 66 6f 20 53 69 ../**......*.Cli.Command.Info.Si
c3a0 67 6e 61 74 75 72 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 gnature......*......*.@return.st
c3c0 72 69 6e 67 20 41 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 69 67 6e 61 74 ring.A.description.of.the.signat
c3e0 75 72 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 ure.arguments.......*/.....publi
c400 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 73 69 67 6e 28 29 0a 20 20 c.function.cli_cmd_inf_sign()...
c420 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 53 65 74 20 73 69 67 6e 61 74 75 72 ..{.........return."Set.signatur
c440 65 20 68 61 73 68 20 61 6c 67 6f 72 69 74 68 6d 2e 22 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f e.hash.algorithm.";.....}.....//
c460 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 .}}}.....//.{{{.public.function.
c480 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 73 69 67 6e 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 cli_cmd_arg_sign...../**......*.
c4a0 43 6c 69 20 43 6f 6d 6d 61 6e 64 20 41 72 67 75 6d 65 6e 74 20 53 69 67 6e 0a 20 20 20 20 20 2a Cli.Command.Argument.Sign......*
c4c0 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 41 72 67 75 6d 65 6e 74 73 20 ......*.@return.array.Arguments.
c4e0 66 6f 72 20 53 69 67 6e 61 74 75 72 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 for.Signature......*/.....public
c500 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 73 69 67 6e 28 29 0a 20 20 20 .function.cli_cmd_arg_sign()....
c520 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 70 68 61 72 5f 61 72 67 .{.........return.self::phar_arg
c540 73 28 27 46 48 79 27 2c 20 27 70 68 61 72 27 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d s('FHy',.'phar');.....}.....//.}
c560 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c }}.....//.{{{.public.function.cl
c580 69 5f 63 6d 64 5f 72 75 6e 5f 73 69 67 6e 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c i_cmd_run_sign...../**......*.Cl
c5a0 69 20 43 6f 6d 6d 61 6e 64 20 52 75 6e 20 53 69 67 6e 61 74 75 72 65 0a 20 20 20 20 20 2a 0a 20 i.Command.Run.Signature......*..
c5c0 20 20 20 20 2a 20 40 73 65 65 20 24 70 68 61 72 2d 3e 73 65 74 53 69 67 6e 61 74 75 72 65 61 6c ....*.@see.$phar->setSignatureal
c5e0 67 6f 72 69 74 68 6d 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 gorithm......*/.....public.funct
c600 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 73 69 67 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 ion.cli_cmd_run_sign().....{....
c620 20 20 20 20 20 24 70 68 61 72 20 20 20 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 66 27 .....$phar.....=.$this->args['f'
c640 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 68 61 73 68 20 20 20 20 20 3d 20 24 74 ]['val'];.........$hash.....=.$t
c660 68 69 73 2d 3e 61 72 67 73 5b 27 68 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 his->args['h']['val'];.........$
c680 70 72 69 76 6b 65 79 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 79 27 5d 5b 27 76 61 6c privkey..=.$this->args['y']['val
c6a0 27 5d 3b 0a 0a 09 09 24 68 61 73 68 20 3d 20 73 65 6c 66 3a 3a 70 68 61 72 5f 63 68 65 63 6b 5f '];....$hash.=.self::phar_check_
c6c0 68 61 73 68 28 24 68 61 73 68 2c 20 24 70 72 69 76 6b 65 79 29 3b 0a 0a 20 20 20 20 20 20 20 20 hash($hash,.$privkey);..........
c6e0 24 70 68 61 72 2d 3e 73 65 74 53 69 67 6e 61 74 75 72 65 41 6c 67 6f 72 69 74 68 6d 28 24 68 61 $phar->setSignatureAlgorithm($ha
c700 73 68 2c 20 24 70 72 69 76 6b 65 79 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a sh,.$privkey);.....}.....//.}}}.
c720 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 ....//.{{{.public.function.cli_c
c740 6d 64 5f 69 6e 66 5f 6d 65 74 61 5f 73 65 74 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 md_inf_meta_set...../**......*.C
c760 6c 69 20 43 6f 6d 6d 61 6e 64 20 49 6e 66 20 4d 65 74 61 20 53 65 74 0a 20 20 20 20 20 2a 0a 20 li.Command.Inf.Meta.Set......*..
c780 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 41 20 64 65 73 63 72 69 70 74 69 ....*.@return.string.A.descripti
c7a0 6f 6e 20 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 on.......*/.....public.function.
c7c0 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 6d 65 74 61 5f 73 65 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 cli_cmd_inf_meta_set().....{....
c7e0 20 20 20 20 20 72 65 74 75 72 6e 20 22 53 65 74 20 6d 65 74 61 20 64 61 74 61 20 6f 66 20 61 20 .....return."Set.meta.data.of.a.
c800 50 48 41 52 20 65 6e 74 72 79 20 6f 72 20 61 20 50 48 41 52 20 70 61 63 6b 61 67 65 20 75 73 69 PHAR.entry.or.a.PHAR.package.usi
c820 6e 67 20 73 65 72 69 61 6c 69 7a 65 64 20 69 6e 70 75 74 2e 20 22 20 2e 20 0a 20 20 20 20 20 20 ng.serialized.input.."..........
c840 20 20 20 20 20 20 20 20 20 22 49 66 20 6e 6f 20 69 6e 70 75 74 20 66 69 6c 65 20 69 73 20 73 70 ........."If.no.input.file.is.sp
c860 65 63 69 66 69 65 64 20 66 6f 72 20 6d 65 74 61 20 64 61 74 61 20 74 68 65 6e 20 73 74 64 69 6e ecified.for.meta.data.then.stdin
c880 20 69 73 20 62 65 69 6e 67 20 75 73 65 64 2e 22 20 2e 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 .is.being.used."................
c8a0 20 20 20 22 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 73 70 65 63 69 66 79 20 61 20 70 61 72 74 69 ..."You.can.also.specify.a.parti
c8c0 63 75 6c 61 72 20 69 6e 64 65 78 20 75 73 69 6e 67 20 2d 6b 2e 20 49 6e 20 74 68 61 74 20 63 61 cular.index.using.-k..In.that.ca
c8e0 73 65 20 74 68 65 20 6d 65 74 61 64 61 74 61 20 69 73 20 22 20 2e 0a 20 20 20 20 20 20 20 20 20 se.the.metadata.is."............
c900 20 20 20 20 20 20 22 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 61 6e 20 61 72 72 61 79 20 61 ......"expected.to.be.an.array.a
c920 6e 64 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 69 6e 64 65 78 20 nd.the.value.of.the.given.index.
c940 69 73 20 62 65 69 6e 67 20 73 65 74 2e 20 49 66 20 22 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 is.being.set..If."..............
c960 20 20 20 20 22 74 68 65 20 6d 65 74 61 64 61 74 61 20 69 73 20 6e 6f 74 20 70 72 65 73 65 6e 74 ...."the.metadata.is.not.present
c980 20 6f 72 20 65 6d 70 74 79 20 61 20 6e 65 77 20 61 72 72 61 79 20 77 69 6c 6c 20 62 65 20 63 72 .or.empty.a.new.array.will.be.cr
c9a0 65 61 74 65 64 2e 20 49 66 20 74 68 65 20 22 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eated..If.the.".................
c9c0 20 22 6d 65 74 61 64 61 74 61 20 69 73 20 70 72 65 73 65 6e 74 20 61 6e 64 20 61 20 66 6c 61 74 ."metadata.is.present.and.a.flat
c9e0 20 76 61 6c 75 65 20 74 68 65 6e 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 .value.then.the.return.value.is.
ca00 31 2e 20 41 6c 73 6f 20 75 73 69 6e 67 20 2d 6b 20 22 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 1..Also.using.-k."..............
ca20 20 20 20 20 22 74 68 65 20 69 6e 70 75 74 20 69 73 20 62 65 65 6e 20 74 61 6b 65 6e 20 64 69 72 ...."the.input.is.been.taken.dir
ca40 65 63 74 6c 79 20 72 61 74 68 65 72 20 74 68 65 6e 20 62 65 69 6e 67 20 73 65 72 69 61 6c 69 7a ectly.rather.then.being.serializ
ca60 65 64 2e 22 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b ed.";.....}.....//.}}}.....//.{{
ca80 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 6d 65 {.public.function.cli_cmd_arg_me
caa0 74 61 5f 73 65 74 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 20 43 6f 6d 6d 61 6e ta_set...../**......*.Cli.Comman
cac0 64 20 41 72 67 75 6d 65 6e 74 20 4d 65 74 61 20 53 65 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 d.Argument.Meta.Set......*......
cae0 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 73 20 66 *.@return.array..The.arguments.f
cb00 6f 72 20 6d 65 74 61 20 73 65 74 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 or.meta.set......*/.....public.f
cb20 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 6d 65 74 61 5f 73 65 74 28 29 0a 20 unction.cli_cmd_arg_meta_set()..
cb40 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 70 68 61 72 5f 61 ...{.........return.self::phar_a
cb60 72 67 73 28 27 46 65 6b 4d 27 2c 20 27 70 68 61 72 27 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f rgs('FekM',.'phar');.....}...../
cb80 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e /.}}}.....//.{{{.public.function
cba0 20 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 6d 65 74 5f 73 65 74 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 .cli_cmd_run_met_set...../**....
cbc0 20 20 2a 20 43 6c 69 20 43 6f 6d 6d 61 6e 64 20 52 75 6e 20 4d 65 74 61 73 65 74 0a 20 20 20 20 ..*.Cli.Command.Run.Metaset.....
cbe0 20 2a 0a 20 20 20 20 20 2a 20 40 73 65 65 20 24 70 68 61 72 2d 3e 73 74 61 72 74 42 75 66 66 65 .*......*.@see.$phar->startBuffe
cc00 72 69 6e 67 0a 20 20 20 20 20 2a 20 40 73 65 65 20 24 70 68 61 72 2d 3e 73 65 74 4d 65 74 61 64 ring......*.@see.$phar->setMetad
cc20 61 74 61 0a 20 20 20 20 20 2a 20 40 73 65 65 20 24 70 68 61 72 2d 3e 73 74 6f 70 42 75 66 66 65 ata......*.@see.$phar->stopBuffe
cc40 72 69 6e 67 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ring......*/.....public.function
cc60 20 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 6d 65 74 61 5f 73 65 74 28 29 0a 20 20 20 20 7b 0a 20 20 .cli_cmd_run_meta_set().....{...
cc80 20 20 20 20 20 20 24 70 68 61 72 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 66 27 5d 5b ......$phar..=.$this->args['f'][
cca0 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 65 6e 74 72 79 20 3d 20 24 74 68 69 73 2d 3e 'val'];.........$entry.=.$this->
ccc0 61 72 67 73 5b 27 65 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 69 6e 64 65 78 args['e']['val'];.........$index
cce0 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 6b 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 .=.$this->args['k']['val'];.....
cd00 20 20 20 20 24 6d 65 74 61 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 6d 27 5d 5b 27 76 ....$meta..=.$this->args['m']['v
cd20 61 6c 27 5d 3b 0a 0a 20 20 20 20 20 20 20 20 24 70 68 61 72 2d 3e 73 74 61 72 74 42 75 66 66 65 al'];..........$phar->startBuffe
cd40 72 69 6e 67 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 69 6e 64 65 ring();..........if.(isset($inde
cd60 78 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 65 6e 74 x)).{.............if.(isset($ent
cd80 72 79 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 68 61 72 ry)).{.................if.($phar
cda0 5b 24 65 6e 74 72 79 5d 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 28 29 29 20 7b 0a 20 20 20 20 20 [$entry]->hasMetadata()).{......
cdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 6c 64 20 3d 20 24 70 68 61 72 5b 24 65 6e 74 ...............$old.=.$phar[$ent
cde0 72 79 5d 2d 3e 67 65 74 4d 65 74 61 64 61 74 61 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ry]->getMetadata();.............
ce00 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....}.else.{....................
ce20 20 24 6f 6c 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .$old.=.array();................
ce40 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 .}.............}.else.{.........
ce60 20 20 20 20 20 20 20 20 69 66 20 28 24 70 68 61 72 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 28 29 ........if.($phar->hasMetadata()
ce80 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 6c 64 20 3d 20 24 ).{.....................$old.=.$
cea0 70 68 61 72 2d 3e 67 65 74 4d 65 74 61 64 61 74 61 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 phar->getMetadata();............
cec0 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....}.else.{...................
cee0 20 20 24 6f 6c 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..$old.=.array();...............
cf00 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 ..}.............}..............i
cf20 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 6f 6c 64 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 f.(!is_array($old)).{...........
cf40 20 20 20 20 20 20 73 65 6c 66 3a 3a 65 72 72 6f 72 28 27 4d 65 74 61 64 61 74 61 20 69 73 20 61 ......self::error('Metadata.is.a
cf60 20 66 6c 61 74 20 76 61 6c 75 65 20 77 68 69 6c 65 20 61 6e 20 69 6e 64 65 78 20 6f 70 65 72 61 .flat.value.while.an.index.opera
cf80 74 69 6f 6e 20 77 61 73 20 69 73 73 75 65 64 2e 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.was.issued.');.............
cfa0 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 6c 64 5b 24 69 6e 64 65 78 5d 20 3d 20 24 6d }..............$old[$index].=.$m
cfc0 65 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 74 61 20 3d 20 24 6f 6c 64 3b 0a 20 eta;.............$meta.=.$old;..
cfe0 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 74 .......}.else.{.............$met
d000 61 20 3d 20 75 6e 73 65 72 69 61 6c 69 7a 65 28 24 6d 65 74 61 29 3b 0a 20 20 20 20 20 20 20 20 a.=.unserialize($meta);.........
d020 7d 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 65 6e }..................if.(isset($en
d040 74 72 79 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 68 61 72 5b 24 65 6e 74 72 79 try)).{.............$phar[$entry
d060 5d 2d 3e 73 65 74 4d 65 74 61 64 61 74 61 28 24 6d 65 74 61 29 3b 0a 20 20 20 20 20 20 20 20 7d ]->setMetadata($meta);.........}
d080 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 70 68 61 72 2d 3e 73 65 74 4d 65 .else.{.............$phar->setMe
d0a0 74 61 64 61 74 61 28 24 6d 65 74 61 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 tadata($meta);.........}........
d0c0 20 24 70 68 61 72 2d 3e 73 74 6f 70 42 75 66 66 65 72 69 6e 67 28 29 3b 0a 20 20 20 20 7d 0a 20 .$phar->stopBuffering();.....}..
d0e0 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 ...//.}}}.....//.{{{.public.func
d100 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 6d 65 74 5f 67 65 74 0a 20 20 20 20 2f 2a 2a tion.cli_cmd_inf_met_get...../**
d120 0a 20 20 20 20 20 2a 20 43 6c 69 20 43 6f 6d 6d 61 6e 64 20 49 6e 66 20 4d 65 74 61 67 65 74 0a ......*.Cli.Command.Inf.Metaget.
d140 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 41 20 64 .....*......*.@return.string.A.d
d160 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 65 74 61 67 65 74 20 61 72 67 75 6d 65 escription.of.the.metaget.argume
d180 6e 74 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 nts......*/.....public.function.
d1a0 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 6d 65 74 61 5f 67 65 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 cli_cmd_inf_meta_get().....{....
d1c0 20 20 20 20 20 72 65 74 75 72 6e 20 22 47 65 74 20 6d 65 74 61 20 69 6e 66 6f 72 6d 61 74 69 6f .....return."Get.meta.informatio
d1e0 6e 20 6f 66 20 61 20 50 48 41 52 20 65 6e 74 72 79 20 6f 72 20 61 20 50 48 41 52 20 70 61 63 6b n.of.a.PHAR.entry.or.a.PHAR.pack
d200 61 67 65 20 69 6e 20 73 65 72 69 61 6c 69 7a 65 64 20 66 72 6f 6d 2e 20 22 20 2e 0a 20 20 20 20 age.in.serialized.from..".......
d220 20 20 20 20 20 20 20 20 20 20 20 22 49 66 20 6e 6f 20 6f 75 74 70 75 74 20 66 69 6c 65 20 69 73 ..........."If.no.output.file.is
d240 20 73 70 65 63 69 66 69 65 64 20 66 6f 72 20 6d 65 74 61 20 64 61 74 61 20 74 68 65 6e 20 73 74 .specified.for.meta.data.then.st
d260 64 6f 75 74 20 69 73 20 62 65 69 6e 67 20 75 73 65 64 2e 5c 6e 22 20 2e 20 0a 20 20 20 20 20 20 dout.is.being.used.\n"..........
d280 20 20 20 20 20 20 20 20 20 22 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 73 70 65 63 69 66 79 20 61 ........."You.can.also.specify.a
d2a0 20 70 61 72 74 69 63 75 6c 61 72 20 69 6e 64 65 78 20 75 73 69 6e 67 20 2d 6b 2e 20 49 6e 20 74 .particular.index.using.-k..In.t
d2c0 68 61 74 20 63 61 73 65 20 74 68 65 20 6d 65 74 61 64 61 74 61 20 69 73 20 22 20 2e 0a 20 20 20 hat.case.the.metadata.is."......
d2e0 20 20 20 20 20 20 20 20 20 20 20 20 22 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 61 6e 20 61 ............"expected.to.be.an.a
d300 72 72 61 79 20 61 6e 64 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 rray.and.the.value.of.the.given.
d320 69 6e 64 65 78 20 69 73 20 72 65 74 75 72 6e 65 64 20 75 73 69 6e 67 20 65 63 68 6f 20 22 20 2e index.is.returned.using.echo."..
d340 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 61 74 68 65 72 20 74 68 61 6e 20 75 73 69 ................"rather.than.usi
d360 6e 67 20 73 65 72 69 61 6c 69 7a 65 2e 20 49 66 20 74 68 61 74 20 69 6e 64 65 78 20 64 6f 65 73 ng.serialize..If.that.index.does
d380 20 6e 6f 74 20 65 78 69 73 74 20 6f 72 20 6e 6f 20 6d 65 74 61 20 64 61 74 61 20 69 73 20 22 20 .not.exist.or.no.meta.data.is.".
d3a0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 65 73 65 6e 74 20 74 68 65 6e 20 74 ................."present.then.t
d3c0 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 31 2e 22 3b 0a 20 20 20 20 7d 0a 20 20 he.return.value.is.1.";.....}...
d3e0 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 ..//.}}}.....//.{{{.public.funct
d400 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 6d 65 74 61 5f 67 65 74 0a 20 20 20 20 2f 2a 2a ion.cli_cmd_arg_meta_get...../**
d420 0a 20 20 20 20 20 2a 20 43 6c 69 20 43 6f 6d 6d 61 6e 64 20 61 72 67 20 6d 65 74 61 67 65 74 0a ......*.Cli.Command.arg.metaget.
d440 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 20 54 68 65 .....*......*.@return.array..The
d460 20 61 72 67 75 6d 65 6e 74 73 20 66 6f 72 20 6d 65 74 61 20 67 65 74 2e 0a 20 20 20 20 20 2a 2f .arguments.for.meta.get.......*/
d480 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 .....public.function.cli_cmd_arg
d4a0 5f 6d 65 74 61 5f 67 65 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e _meta_get().....{.........return
d4c0 20 73 65 6c 66 3a 3a 70 68 61 72 5f 61 72 67 73 28 27 46 65 6b 27 2c 20 27 70 68 61 72 27 29 3b .self::phar_args('Fek',.'phar');
d4e0 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 .....}.....//.}}}.....//.{{{.pub
d500 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 6d 65 74 61 5f 67 65 lic.function.cli_cmd_run_meta_ge
d520 74 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 20 43 6f 6d 6d 61 6e 64 20 52 75 6e t...../**......*.Cli.Command.Run
d540 20 4d 65 74 61 67 65 74 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 73 65 65 20 24 74 68 69 .Metaget......*......*.@see.$thi
d560 73 2d 3e 61 72 67 73 0a 20 20 20 20 20 2a 20 40 73 65 65 20 24 70 68 61 72 5b 24 78 5d 2d 3e 68 s->args......*.@see.$phar[$x]->h
d580 61 73 4d 65 74 61 64 61 74 61 28 29 0a 20 20 20 20 20 2a 20 40 73 65 65 20 24 70 68 61 72 2d 3e asMetadata()......*.@see.$phar->
d5a0 67 65 74 4d 65 74 61 64 61 74 61 28 29 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 getMetadata()......*/.....public
d5c0 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 6d 65 74 61 5f 67 65 74 28 29 .function.cli_cmd_run_meta_get()
d5e0 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 70 68 61 72 20 20 3d 20 24 74 68 69 73 2d 3e 61 .....{.........$phar..=.$this->a
d600 72 67 73 5b 27 66 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 65 6e 74 72 79 20 rgs['f']['val'];.........$entry.
d620 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 65 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 =.$this->args['e']['val'];......
d640 20 20 20 24 69 6e 64 65 78 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 6b 27 5d 5b 27 76 61 ...$index.=.$this->args['k']['va
d660 6c 27 5d 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 65 6e 74 72 79 29 29 l'];..........if.(isset($entry))
d680 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 68 61 72 5b 24 65 6e 74 72 79 .{.............if.(!$phar[$entry
d6a0 5d 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ]->hasMetadata()).{.............
d6c0 20 20 20 20 65 63 68 6f 20 22 4e 6f 20 4d 65 74 61 64 61 74 61 5c 6e 22 3b 0a 20 20 20 20 20 20 ....echo."No.Metadata\n";.......
d6e0 20 20 20 20 20 20 20 20 20 20 65 78 69 74 28 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d ..........exit(1);.............}
d700 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 73 65 72 69 61 6c 69 7a 65 28 24 70 68 61 .............echo.serialize($pha
d720 72 5b 24 65 6e 74 72 79 5d 2d 3e 67 65 74 4d 65 74 61 64 61 74 61 28 29 29 3b 0a 20 20 20 20 20 r[$entry]->getMetadata());......
d740 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 68 ...}.else.{.............if.(!$ph
d760 61 72 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ar->hasMetadata()).{............
d780 20 20 20 20 20 65 63 68 6f 20 22 4e 6f 20 4d 65 74 61 64 61 74 61 5c 6e 22 3b 0a 20 20 20 20 20 .....echo."No.Metadata\n";......
d7a0 20 20 20 20 20 20 20 20 20 20 20 65 78 69 74 28 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...........exit(1);.............
d7c0 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 74 61 20 3d 20 24 70 68 61 72 2d 3e 67 65 74 }.............$meta.=.$phar->get
d7e0 4d 65 74 61 64 61 74 61 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 Metadata();.........}..........i
d800 66 20 28 69 73 73 65 74 28 24 69 6e 64 65 78 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 f.(isset($index)).{.............
d820 69 66 20 28 69 73 73 65 74 28 24 69 6e 64 65 78 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 if.(isset($index)).{............
d840 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 6d 65 74 61 5b 24 69 6e 64 65 78 5d 29 29 20 7b .....if.(isset($meta[$index])).{
d860 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 24 6d 65 74 61 5b .....................echo.$meta[
d880 24 69 6e 64 65 78 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 69 $index];.....................exi
d8a0 74 28 30 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 t(0);.................}.else.{..
d8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 22 4e 6f 20 4d 65 74 61 ...................echo."No.Meta
d8e0 64 61 74 61 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 69 data\n";.....................exi
d900 74 28 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 t(1);.................}.........
d920 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 ....}.else.{.................ech
d940 6f 20 73 65 72 69 61 6c 69 7a 65 28 24 6d 65 74 61 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 o.serialize($meta);.............
d960 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 }.........}.....}.....//.}}}....
d980 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f .//.{{{.public.function.cli_cmd_
d9a0 69 6e 66 5f 6d 65 74 61 5f 64 65 6c 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 20 inf_meta_del...../**......*.Cli.
d9c0 43 6f 6d 6d 61 6e 64 20 49 6e 66 20 4d 65 74 61 64 65 6c 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 Command.Inf.Metadel......*......
d9e0 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 41 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f *.@return.string.A.description.o
da00 66 20 74 68 65 20 6d 65 74 61 64 65 6c 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 f.the.metadel.function......*/..
da20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 6d ...public.function.cli_cmd_inf_m
da40 65 74 61 5f 64 65 6c 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 eta_del().....{.........return."
da60 44 65 6c 65 74 65 20 6d 65 74 61 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 66 20 61 20 50 48 41 Delete.meta.information.of.a.PHA
da80 52 20 65 6e 74 72 79 20 6f 72 20 61 20 50 48 41 52 20 70 61 63 6b 61 67 65 2e 5c 6e 22 20 2e 20 R.entry.or.a.PHAR.package.\n"...
daa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 49 66 20 2d 6b 20 69 73 20 67 69 76 65 6e 20 ................"If.-k.is.given.
dac0 74 68 65 6e 20 74 68 65 20 6d 65 74 61 64 61 74 61 20 69 73 20 65 78 70 65 63 74 65 64 20 74 6f then.the.metadata.is.expected.to
dae0 20 62 65 20 61 6e 20 61 72 72 61 79 20 22 20 2e 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .be.an.array."..................
db00 20 22 61 6e 64 20 74 68 65 20 67 69 76 65 6e 20 69 6e 64 65 78 20 69 73 20 62 65 69 6e 67 20 64 ."and.the.given.index.is.being.d
db20 65 6c 65 74 65 64 2e 5c 6e 22 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 49 66 20 eleted.\n".................."If.
db40 73 6f 6d 65 74 68 69 6e 67 20 77 61 73 20 64 65 6c 65 74 65 64 20 74 68 65 20 72 65 74 75 72 6e something.was.deleted.the.return
db60 20 76 61 6c 75 65 20 69 73 20 30 20 6f 74 68 65 72 77 69 73 65 20 69 74 20 69 73 20 31 2e 22 3b .value.is.0.otherwise.it.is.1.";
db80 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 .....}.....//.}}}.....//.{{{.pub
dba0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 6d 65 74 61 5f 64 65 lic.function.cli_cmd_arg_meta_de
dbc0 6c 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 43 20 6f 6d 6d 61 6e 64 20 41 72 67 l...../**......*.CliC.ommand.Arg
dbe0 20 4d 65 74 61 64 65 6c 65 74 65 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 .Metadelete......*......*.@retur
dc00 6e 20 61 72 72 61 79 20 54 68 65 20 61 72 67 75 6d 65 6e 74 73 20 66 6f 72 20 6d 65 74 61 64 65 n.array.The.arguments.for.metade
dc20 6c 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c l......*/.....public.function.cl
dc40 69 5f 63 6d 64 5f 61 72 67 5f 6d 65 74 61 5f 64 65 6c 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 i_cmd_arg_meta_del().....{......
dc60 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 70 68 61 72 5f 61 72 67 73 28 27 46 65 6b 27 2c ...return.self::phar_args('Fek',
dc80 20 27 70 68 61 72 27 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f .'phar');.....}.....//.}}}...../
dca0 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 72 75 /.{{{.public.function.cli_cmd_ru
dcc0 6e 5f 6d 65 74 61 5f 64 65 6c 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 20 43 6f n_meta_del...../**......*.Cli.Co
dce0 6d 6d 61 6e 64 20 52 75 6e 20 4d 65 74 61 44 65 6c 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 mmand.Run.MetaDel......*......*.
dd00 40 73 65 65 20 24 70 68 61 72 5b 24 78 5d 2d 3e 64 65 6c 4d 65 74 61 64 61 74 61 28 29 0a 20 20 @see.$phar[$x]->delMetadata()...
dd20 20 20 20 2a 20 40 73 65 65 20 24 70 68 61 72 2d 3e 64 65 6c 4d 65 74 61 64 61 74 61 28 29 0a 20 ...*.@see.$phar->delMetadata()..
dd40 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 ....*/.....public.function.cli_c
dd60 6d 64 5f 72 75 6e 5f 6d 65 74 61 5f 64 65 6c 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 md_run_meta_del().....{.........
dd80 24 70 68 61 72 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 66 27 5d 5b 27 76 61 6c 27 5d $phar..=.$this->args['f']['val']
dda0 3b 0a 20 20 20 20 20 20 20 20 24 65 6e 74 72 79 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 ;.........$entry.=.$this->args['
ddc0 65 27 5d 5b 27 76 61 6c 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 69 6e 64 65 78 20 3d 20 24 74 68 e']['val'];.........$index.=.$th
dde0 69 73 2d 3e 61 72 67 73 5b 27 6b 27 5d 5b 27 76 61 6c 27 5d 3b 0a 0a 20 20 20 20 20 20 20 20 69 is->args['k']['val'];..........i
de00 66 20 28 69 73 73 65 74 28 24 65 6e 74 72 79 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 f.(isset($entry)).{.............
de20 69 66 20 28 69 73 73 65 74 28 24 69 6e 64 65 78 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 if.(isset($index)).{............
de40 20 20 20 20 20 69 66 20 28 21 24 70 68 61 72 5b 24 65 6e 74 72 79 5d 2d 3e 68 61 73 4d 65 74 61 .....if.(!$phar[$entry]->hasMeta
de60 64 61 74 61 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 data()).{.....................ex
de80 69 74 28 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 it(1);.................}........
dea0 20 20 20 20 20 20 20 20 20 24 6d 65 74 61 20 3d 20 24 70 68 61 72 5b 24 65 6e 74 72 79 5d 2d 3e .........$meta.=.$phar[$entry]->
dec0 67 65 74 4d 65 74 61 64 61 74 61 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 getMetadata();..................
dee0 2f 2f 20 40 74 6f 64 6f 20 61 64 64 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 68 65 72 65 2e //.@todo.add.error.message.here.
df00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 .................if.(!is_array($
df20 6d 65 74 61 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 69 meta)).{.....................exi
df40 74 28 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 t(1);.................}.........
df60 20 20 20 20 20 20 20 20 20 75 6e 73 65 74 28 24 6d 65 74 61 5b 24 69 6e 64 65 78 5d 29 3b 0a 20 .........unset($meta[$index]);..
df80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 68 61 72 5b 24 65 6e 74 72 79 5d 2d 3e 73 65 ...............$phar[$entry]->se
dfa0 74 4d 65 74 61 64 61 74 61 28 24 6d 65 74 61 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 tMetadata($meta);.............}.
dfc0 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 69 74 28 24 70 68 61 else.{.................exit($pha
dfe0 72 5b 24 65 6e 74 72 79 5d 2d 3e 64 65 6c 4d 65 74 61 64 61 74 61 28 29 20 3f 20 30 20 3a 20 31 r[$entry]->delMetadata().?.0.:.1
e000 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 );.............}.........}.else.
e020 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 69 6e 64 65 78 29 29 {.............if.(isset($index))
e040 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 24 70 68 61 72 2d 3e 68 .{.................if.(!$phar->h
e060 61 73 4d 65 74 61 64 61 74 61 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 asMetadata()).{.................
e080 20 20 20 20 65 78 69 74 28 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a ....exit(1);.................}..
e0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 74 61 20 3d 20 24 70 68 61 72 2d 3e 67 ................$meta.=.$phar->g
e0c0 65 74 4d 65 74 61 64 61 74 61 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f etMetadata();................../
e0e0 2f 20 40 74 6f 64 6f 20 41 64 64 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 0a 20 20 20 20 20 20 /.@todo.Add.error.message.......
e100 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 6d 65 74 61 29 29 20 ..........if.(!is_array($meta)).
e120 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 69 74 28 31 29 3b 0a 20 {.....................exit(1);..
e140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............}................
e160 20 20 75 6e 73 65 74 28 24 6d 65 74 61 5b 24 69 6e 64 65 78 5d 29 3b 0a 20 20 20 20 20 20 20 20 ..unset($meta[$index]);.........
e180 20 20 20 20 20 20 20 20 24 70 68 61 72 2d 3e 73 65 74 4d 65 74 61 64 61 74 61 28 24 6d 65 74 61 ........$phar->setMetadata($meta
e1a0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 );.............}.else.{.........
e1c0 20 20 20 20 20 20 20 20 65 78 69 74 28 24 70 68 61 72 2d 3e 64 65 6c 4d 65 74 61 64 61 74 61 28 ........exit($phar->delMetadata(
e1e0 29 20 3f 20 30 20 3a 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ).?.0.:.1);.............}.......
e200 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 ..}.....}.....//.}}}.....//.{{{.
e220 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 69 6e 66 6f public.function.cli_cmd_inf_info
e240 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 4c 69 20 43 6f 6d 6d 61 6e 64 20 49 6e 66 20 ...../**......*.CLi.Command.Inf.
e260 49 6e 66 6f 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e Info......*......*.@return.strin
e280 67 20 41 20 64 65 73 63 72 69 70 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 69 6e 66 6f 20 63 g.A.description.about.the.info.c
e2a0 6f 6d 6d 61 6e 64 73 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 ommands.......*/.....public.func
e2c0 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 69 6e 66 6f 28 29 0a 20 20 20 20 7b 0a 20 20 tion.cli_cmd_inf_info().....{...
e2e0 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 47 65 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 ......return."Get.information.ab
e300 6f 75 74 20 61 20 50 48 41 52 20 70 61 63 6b 61 67 65 2e 5c 6e 22 20 2e 20 0a 20 20 20 20 20 20 out.a.PHAR.package.\n"..........
e320 20 20 20 20 20 20 20 20 20 22 42 79 20 75 73 69 6e 67 20 2d 6b 20 69 74 20 69 73 20 70 6f 73 73 ........."By.using.-k.it.is.poss
e340 69 62 6c 65 20 74 6f 20 72 65 74 75 72 6e 20 61 20 73 69 6e 67 6c 65 20 76 61 6c 75 65 2e 22 3b ible.to.return.a.single.value.";
e360 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 .....}.....//.}}}.....//.{{{.pub
e380 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 69 6e 66 6f 0a 20 20 lic.function.cli_cmd_arg_info...
e3a0 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 20 43 6f 6d 6d 61 6e 64 20 41 72 67 20 49 6e 66 ../**......*.Cli.Command.Arg.Inf
e3c0 6f 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 54 os......*......*.@return.array.T
e3e0 68 65 20 61 72 67 75 6d 65 6e 74 73 20 66 6f 72 20 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 2e 0a 20 he.arguments.for.info.command...
e400 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 ....*/.....public.function.cli_c
e420 6d 64 5f 61 72 67 5f 69 6e 66 6f 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 md_arg_info().....{.........retu
e440 72 6e 20 73 65 6c 66 3a 3a 70 68 61 72 5f 61 72 67 73 28 27 46 6b 27 2c 20 27 70 68 61 72 27 29 rn.self::phar_args('Fk',.'phar')
e460 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 ;.....}.....//.}}}.....//.{{{.pu
e480 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 69 6e 66 6f 0a 20 blic.function.cli_cmd_run_info..
e4a0 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 20 43 6f 6d 6d 61 6e 64 20 52 75 6e 20 49 6e .../**......*.Cli.Command.Run.In
e4c0 66 6f 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 67 73 20 24 61 72 fo......*......*.@param.args.$ar
e4e0 67 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 gs......*/.....public.function.c
e500 6c 69 5f 63 6d 64 5f 72 75 6e 5f 69 6e 66 6f 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 li_cmd_run_info().....{.........
e520 24 70 68 61 72 20 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 66 27 5d 5b 27 76 61 6c 27 5d $phar..=.$this->args['f']['val']
e540 3b 0a 20 20 20 20 20 20 20 20 24 69 6e 64 65 78 20 3d 20 24 74 68 69 73 2d 3e 61 72 67 73 5b 27 ;.........$index.=.$this->args['
e560 6b 27 5d 5b 27 76 61 6c 27 5d 3b 0a 0a 20 20 20 20 20 20 20 20 24 68 61 73 68 20 20 3d 20 24 70 k']['val'];..........$hash..=.$p
e580 68 61 72 2d 3e 67 65 74 53 69 67 6e 61 74 75 72 65 28 29 3b 0a 20 20 20 20 20 20 20 20 24 69 6e har->getSignature();.........$in
e5a0 66 6f 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 70 68 61 fos.=.array();..........if.($pha
e5c0 72 2d 3e 67 65 74 41 6c 69 61 73 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e r->getAlias()).{.............$in
e5e0 66 6f 73 5b 27 41 6c 69 61 73 27 5d 20 3d 20 24 70 68 61 72 2d 3e 67 65 74 41 6c 69 61 73 28 29 fos['Alias'].=.$phar->getAlias()
e600 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 68 61 73 68 29 ;.........}..........if.(!$hash)
e620 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 66 6f 73 5b 27 48 61 73 68 2d 74 79 70 65 .{.............$infos['Hash-type
e640 27 5d 20 3d 20 27 4e 4f 4e 45 27 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 '].=.'NONE';.........}.else.{...
e660 20 20 20 20 20 20 20 20 20 20 24 69 6e 66 6f 73 5b 27 48 61 73 68 2d 74 79 70 65 27 5d 20 3d 20 ..........$infos['Hash-type'].=.
e680 24 68 61 73 68 5b 27 68 61 73 68 5f 74 79 70 65 27 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 $hash['hash_type'];.............
e6a0 24 69 6e 66 6f 73 5b 27 48 61 73 68 27 5d 20 3d 20 24 68 61 73 68 5b 27 68 61 73 68 27 5d 3b 0a $infos['Hash'].=.$hash['hash'];.
e6c0 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 63 73 69 7a 65 20 20 20 3d 20 30 3b ........}..........$csize...=.0;
e6e0 0a 20 20 20 20 20 20 20 20 24 75 73 69 7a 65 20 20 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 .........$usize...=.0;.........$
e700 63 6f 75 6e 74 20 20 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 63 63 6f 75 6e 74 20 20 3d 20 count...=.0;.........$ccount..=.
e720 30 3b 0a 20 20 20 20 20 20 20 20 24 75 63 6f 75 6e 74 20 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 0;.........$ucount..=.0;........
e740 20 24 6d 63 6f 75 6e 74 20 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 63 6f 6d 70 61 6c 67 20 .$mcount..=.0;.........$compalg.
e760 3d 20 61 72 72 61 79 28 27 47 5a 27 3d 3e 30 2c 20 27 42 5a 32 27 3d 3e 30 29 3b 0a 0a 20 20 20 =.array('GZ'=>0,.'BZ2'=>0);.....
e780 20 20 20 20 20 66 6f 72 65 61 63 68 28 6e 65 77 20 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 .....foreach(new.RecursiveIterat
e7a0 6f 72 49 74 65 72 61 74 6f 72 28 24 70 68 61 72 29 20 61 73 20 24 65 6e 74 29 20 7b 0a 20 20 20 orIterator($phar).as.$ent).{....
e7c0 20 20 20 20 20 20 20 20 20 24 63 6f 75 6e 74 2b 2b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 .........$count++;.............i
e7e0 66 20 28 24 65 6e 74 2d 3e 69 73 43 6f 6d 70 72 65 73 73 65 64 28 29 29 20 7b 0a 20 20 20 20 20 f.($ent->isCompressed()).{......
e800 20 20 20 20 20 20 20 20 20 20 20 24 63 63 6f 75 6e 74 2b 2b 3b 0a 20 20 20 20 20 20 20 20 20 20 ...........$ccount++;...........
e820 20 20 20 20 20 20 24 63 73 69 7a 65 20 2b 3d 20 24 65 6e 74 2d 3e 67 65 74 43 6f 6d 70 72 65 73 ......$csize.+=.$ent->getCompres
e840 73 65 64 53 69 7a 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 sedSize();.................if.($
e860 65 6e 74 2d 3e 69 73 43 6f 6d 70 72 65 73 73 65 64 28 50 68 61 72 3a 3a 47 5a 29 29 20 7b 0a 20 ent->isCompressed(Phar::GZ)).{..
e880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6d 70 61 6c 67 5b 27 47 5a 27 ...................$compalg['GZ'
e8a0 5d 2b 2b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 ]++;.................}.elseif.($
e8c0 65 6e 74 2d 3e 69 73 43 6f 6d 70 72 65 73 73 65 64 28 50 68 61 72 3a 3a 42 5a 32 29 29 20 7b 0a ent->isCompressed(Phar::BZ2)).{.
e8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6d 70 61 6c 67 5b 27 42 5a ....................$compalg['BZ
e900 32 27 5d 2b 2b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 2']++;.................}........
e920 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 75 .....}.else.{.................$u
e940 63 6f 75 6e 74 2b 2b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 73 69 7a 65 20 count++;.................$csize.
e960 2b 3d 20 24 65 6e 74 2d 3e 67 65 74 53 69 7a 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 +=.$ent->getSize();.............
e980 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 75 73 69 7a }..........................$usiz
e9a0 65 20 2b 3d 20 24 65 6e 74 2d 3e 67 65 74 53 69 7a 65 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 e.+=.$ent->getSize();...........
e9c0 20 20 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 65 6e 74 2d 3e 68 61 73 4d 65 74 61 ...............if.($ent->hasMeta
e9e0 64 61 74 61 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 63 6f 75 6e data()).{.................$mcoun
ea00 74 2b 2b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 t++;.............}.........}....
ea20 20 20 20 20 20 20 24 69 6e 66 6f 73 5b 27 45 6e 74 72 69 65 73 27 5d 20 20 20 20 20 20 20 20 20 ......$infos['Entries'].........
ea40 20 20 20 3d 20 24 63 6f 75 6e 74 3b 0a 20 20 20 20 20 20 20 20 24 69 6e 66 6f 73 5b 27 55 6e 63 ...=.$count;.........$infos['Unc
ea60 6f 6d 70 72 65 73 73 65 64 2d 66 69 6c 65 73 27 5d 20 3d 20 24 75 63 6f 75 6e 74 3b 0a 20 20 20 ompressed-files'].=.$ucount;....
ea80 20 20 20 20 20 24 69 6e 66 6f 73 5b 27 43 6f 6d 70 72 65 73 73 65 64 2d 66 69 6c 65 73 27 5d 20 .....$infos['Compressed-files'].
eaa0 20 20 3d 20 24 63 63 6f 75 6e 74 3b 0a 20 20 20 20 20 20 20 20 24 69 6e 66 6f 73 5b 27 43 6f 6d ..=.$ccount;.........$infos['Com
eac0 70 72 65 73 73 65 64 2d 67 7a 27 5d 20 20 20 20 20 20 3d 20 24 63 6f 6d 70 61 6c 67 5b 27 47 5a pressed-gz']......=.$compalg['GZ
eae0 27 5d 3b 0a 20 20 20 20 20 20 20 20 24 69 6e 66 6f 73 5b 27 43 6f 6d 70 72 65 73 73 65 64 2d 62 '];.........$infos['Compressed-b
eb00 7a 32 27 5d 20 20 20 20 20 3d 20 24 63 6f 6d 70 61 6c 67 5b 27 42 5a 32 27 5d 3b 0a 20 20 20 20 z2'].....=.$compalg['BZ2'];.....
eb20 20 20 20 20 24 69 6e 66 6f 73 5b 27 55 6e 63 6f 6d 70 72 65 73 73 65 64 2d 73 69 7a 65 27 5d 20 ....$infos['Uncompressed-size'].
eb40 20 3d 20 24 75 73 69 7a 65 3b 0a 20 20 20 20 20 20 20 20 24 69 6e 66 6f 73 5b 27 43 6f 6d 70 72 .=.$usize;.........$infos['Compr
eb60 65 73 73 65 64 2d 73 69 7a 65 27 5d 20 20 20 20 3d 20 24 63 73 69 7a 65 3b 0a 20 20 20 20 20 20 essed-size']....=.$csize;.......
eb80 20 20 24 69 6e 66 6f 73 5b 27 43 6f 6d 70 72 65 73 73 69 6f 6e 2d 72 61 74 69 6f 27 5d 20 20 3d ..$infos['Compression-ratio']..=
eba0 20 73 70 72 69 6e 74 66 28 27 25 2e 33 67 25 25 27 2c 20 24 75 73 69 7a 65 20 3f 20 28 24 63 73 .sprintf('%.3g%%',.$usize.?.($cs
ebc0 69 7a 65 20 2a 20 31 30 30 29 20 2f 20 24 75 73 69 7a 65 20 3a 20 31 30 30 29 3b 0a 20 20 20 20 ize.*.100)./.$usize.:.100);.....
ebe0 20 20 20 20 24 69 6e 66 6f 73 5b 27 4d 65 74 61 64 61 74 61 2d 67 6c 6f 62 61 6c 27 5d 20 20 20 ....$infos['Metadata-global']...
ec00 20 3d 20 24 70 68 61 72 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 28 29 20 2a 20 31 3b 0a 20 20 20 .=.$phar->hasMetadata().*.1;....
ec20 20 20 20 20 20 24 69 6e 66 6f 73 5b 27 4d 65 74 61 64 61 74 61 2d 66 69 6c 65 73 27 5d 20 20 20 .....$infos['Metadata-files']...
ec40 20 20 3d 20 24 6d 63 6f 75 6e 74 3b 0a 20 20 20 20 20 20 20 20 24 69 6e 66 6f 73 5b 27 53 74 75 ..=.$mcount;.........$infos['Stu
ec60 62 2d 73 69 7a 65 27 5d 20 20 20 20 20 20 20 20 20 20 3d 20 73 74 72 6c 65 6e 28 24 70 68 61 72 b-size']..........=.strlen($phar
ec80 2d 3e 67 65 74 53 74 75 62 28 29 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 ->getStub());..........if.(isset
eca0 28 24 69 6e 64 65 78 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 ($index)).{.............if.(!iss
ecc0 65 74 28 24 69 6e 66 6f 73 5b 24 69 6e 64 65 78 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 et($infos[$index])).{...........
ece0 20 20 20 20 20 20 73 65 6c 66 3a 3a 65 72 72 6f 72 28 22 52 65 71 75 65 73 74 65 64 20 76 61 6c ......self::error("Requested.val
ed00 75 65 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 5c 6e 22 29 3b 0a 20 20 20 20 20 20 20 20 ue.does.not.exist.\n");.........
ed20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 24 69 6e 66 6f 73 5b 24 ....}..............echo.$infos[$
ed40 69 6e 64 65 78 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 78 69 74 28 30 29 3b 0a 20 20 20 index];.............exit(0);....
ed60 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 24 6c 20 3d 20 30 3b 0a .....}..................$l.=.0;.
ed80 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 28 24 69 6e 66 6f 73 20 61 73 20 24 77 68 69 63 68 ........foreach($infos.as.$which
eda0 20 3d 3e 20 24 76 61 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 20 3d 20 6d 61 78 .=>.$val).{.............$l.=.max
edc0 28 73 74 72 6c 65 6e 28 24 77 68 69 63 68 29 2c 20 24 6c 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a (strlen($which),.$l);.........}.
ede0 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 28 24 69 6e 66 6f 73 20 .................foreach($infos.
ee00 61 73 20 24 77 68 69 63 68 20 3d 3e 20 24 76 61 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 as.$which.=>.$val).{............
ee20 20 65 63 68 6f 20 24 77 68 69 63 68 20 2e 20 27 3a 27 20 2e 20 73 74 72 5f 72 65 70 65 61 74 28 .echo.$which...':'...str_repeat(
ee40 27 20 27 2c 20 24 6c 20 2b 20 31 20 2d 20 73 74 72 6c 65 6e 28 24 77 68 69 63 68 29 29 20 2e 20 '.',.$l.+.1.-.strlen($which))...
ee60 24 76 61 6c 20 2e 20 22 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 $val..."\n";.........}.....}....
ee80 20 2f 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .//.}}}.....//.{{{.public.functi
eea0 6f 6e 20 63 6c 69 5f 63 6d 64 5f 69 6e 66 5f 76 65 72 73 69 6f 6e 0a 20 20 20 20 2f 2a 2a 0a 20 on.cli_cmd_inf_version...../**..
eec0 20 20 20 20 2a 20 43 4c 69 20 43 6f 6d 6d 61 6e 64 20 49 6e 66 20 56 65 72 73 69 6f 6e 0a 20 20 ....*.CLi.Command.Inf.Version...
eee0 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 20 41 20 64 65 73 ...*......*.@return.string.A.des
ef00 63 72 69 70 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 69 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 cription.about.the.info.commands
ef20 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c .......*/.....public.function.cl
ef40 69 5f 63 6d 64 5f 69 6e 66 5f 76 65 72 73 69 6f 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 i_cmd_inf_version().....{.......
ef60 20 20 72 65 74 75 72 6e 20 22 47 65 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 ..return."Get.information.about.
ef80 74 68 65 20 50 48 41 52 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 61 6e 64 20 74 68 65 20 74 6f 6f the.PHAR.environment.and.the.too
efa0 6c 20 76 65 72 73 69 6f 6e 2e 22 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 7d 7d 7d 0a 20 20 l.version.";.....}.....//.}}}...
efc0 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 ..//.{{{.public.function.cli_cmd
efe0 5f 61 72 67 5f 76 65 72 73 69 6f 6e 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 43 6c 69 20 _arg_version...../**......*.Cli.
f000 43 6f 6d 6d 61 6e 64 20 41 72 67 20 56 65 72 73 69 6f 6e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 Command.Arg.Version......*......
f020 2a 20 40 72 65 74 75 72 6e 20 61 72 72 61 79 20 54 68 65 20 61 72 67 75 6d 65 6e 74 73 20 66 6f *.@return.array.The.arguments.fo
f040 72 20 76 65 72 73 69 6f 6e 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 r.version.command.......*/.....p
f060 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 61 72 67 5f 76 65 72 73 69 ublic.function.cli_cmd_arg_versi
f080 6f 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a on().....{.........return.self::
f0a0 70 68 61 72 5f 61 72 67 73 28 27 27 2c 20 4e 55 4c 4c 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f phar_args('',.NULL);.....}...../
f0c0 2f 20 7d 7d 7d 0a 20 20 20 20 2f 2f 20 7b 7b 7b 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e /.}}}.....//.{{{.public.function
f0e0 20 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 69 6e 66 6f 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a .cli_cmd_run_info...../**......*
f100 20 43 6c 69 20 43 6f 6d 6d 61 6e 64 20 52 75 6e 20 49 6e 66 6f 0a 20 20 20 20 20 2a 0a 20 20 20 .Cli.Command.Run.Info......*....
f120 20 20 2a 20 40 70 61 72 61 6d 20 61 72 67 73 20 24 61 72 67 73 0a 20 20 20 20 20 2a 2f 0a 20 20 ..*.@param.args.$args......*/...
f140 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 69 5f 63 6d 64 5f 72 75 6e 5f 76 65 ..public.function.cli_cmd_run_ve
f160 72 73 69 6f 6e 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 09 24 75 73 65 5f 65 78 74 20 3d 20 65 78 rsion().....{......$use_ext.=.ex
f180 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 70 68 61 72 27 29 3b 0a 20 20 20 20 09 24 76 65 tension_loaded('phar');......$ve
f1a0 72 73 69 6f 6e 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 09 09 27 50 48 50 20 56 65 72 73 69 6f rsion.=.array(.......'PHP.Versio
f1c0 6e 27 20 3d 3e 20 70 68 70 76 65 72 73 69 6f 6e 28 29 2c 0a 20 20 20 20 09 09 27 70 68 61 72 2e n'.=>.phpversion(),.......'phar.
f1e0 70 68 61 72 20 76 65 72 73 69 6f 6e 27 20 3d 3e 20 27 24 52 65 76 69 73 69 6f 6e 3a 20 31 2e 34 phar.version'.=>.'$Revision:.1.4
f200 39 2e 32 2e 38 20 24 27 2c 0a 20 20 20 20 09 09 27 50 68 61 72 20 45 58 54 20 76 65 72 73 69 6f 9.2.8.$',.......'Phar.EXT.versio
f220 6e 27 20 3d 3e 20 24 75 73 65 5f 65 78 74 20 3f 20 70 68 70 76 65 72 73 69 6f 6e 28 27 70 68 61 n'.=>.$use_ext.?.phpversion('pha
f240 72 27 29 20 3a 20 27 4e 6f 74 20 61 76 61 69 6c 61 62 6c 65 27 2c 0a 09 09 09 27 50 68 61 72 20 r').:.'Not.available',....'Phar.
f260 41 50 49 20 76 65 72 73 69 6f 6e 27 20 3d 3e 20 50 68 61 72 3a 3a 61 70 69 56 65 72 73 69 6f 6e API.version'.=>.Phar::apiVersion
f280 28 29 2c 0a 09 09 09 27 50 68 61 72 2d 62 61 73 65 64 20 70 68 61 72 20 61 72 63 68 69 76 65 73 (),....'Phar-based.phar.archives
f2a0 27 20 3d 3e 20 74 72 75 65 2c 0a 09 09 09 27 54 61 72 2d 62 61 73 65 64 20 70 68 61 72 20 61 72 '.=>.true,....'Tar-based.phar.ar
f2c0 63 68 69 76 65 73 27 20 3d 3e 20 24 75 73 65 5f 65 78 74 2c 0a 09 09 09 27 5a 49 50 2d 62 61 73 chives'.=>.$use_ext,....'ZIP-bas
f2e0 65 64 20 70 68 61 72 20 61 72 63 68 69 76 65 73 27 20 3d 3e 20 24 75 73 65 5f 65 78 74 2c 0a 09 ed.phar.archives'.=>.$use_ext,..
f300 09 09 27 67 7a 69 70 20 63 6f 6d 70 72 65 73 73 69 6f 6e 27 20 3d 3e 20 65 78 74 65 6e 73 69 6f ..'gzip.compression'.=>.extensio
f320 6e 5f 6c 6f 61 64 65 64 28 27 7a 6c 69 62 27 29 2c 0a 09 09 09 27 62 7a 69 70 32 20 63 6f 6d 70 n_loaded('zlib'),....'bzip2.comp
f340 72 65 73 73 69 6f 6e 27 20 3d 3e 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 62 7a ression'.=>.extension_loaded('bz
f360 32 27 29 2c 0a 09 09 09 27 73 75 70 70 6f 72 74 65 64 20 73 69 67 6e 61 74 75 72 65 73 27 20 3d 2'),....'supported.signatures'.=
f380 3e 20 24 75 73 65 5f 65 78 74 20 3f 20 6a 6f 69 6e 28 27 2c 20 27 2c 20 50 68 61 72 3a 3a 67 65 >.$use_ext.?.join(',.',.Phar::ge
f3a0 74 53 75 70 70 6f 72 74 65 64 53 69 67 6e 61 74 75 72 65 73 28 29 29 20 3a 20 27 27 2c 0a 09 09 tSupportedSignatures()).:.'',...
f3c0 09 29 3b 0a 09 09 24 6b 6c 65 6e 20 3d 20 30 3b 0a 09 09 66 6f 72 65 61 63 68 28 24 76 65 72 73 .);...$klen.=.0;...foreach($vers
f3e0 69 6f 6e 20 61 73 20 24 6b 20 3d 3e 20 24 76 29 0a 09 09 7b 0a 09 09 09 24 6b 6c 65 6e 20 3d 20 ion.as.$k.=>.$v)...{....$klen.=.
f400 6d 61 78 28 24 6b 6c 65 6e 2c 20 73 74 72 6c 65 6e 28 24 6b 29 29 3b 0a 09 09 7d 0a 09 09 2b 2b max($klen,.strlen($k));...}...++
f420 24 6b 6c 65 6e 3b 0a 09 09 66 6f 72 65 61 63 68 28 24 76 65 72 73 69 6f 6e 20 61 73 20 24 6b 20 $klen;...foreach($version.as.$k.
f440 3d 3e 20 24 76 29 20 7b 0a 09 09 09 69 66 20 28 69 73 5f 62 6f 6f 6c 28 24 76 29 29 20 7b 0a 09 =>.$v).{....if.(is_bool($v)).{..
f460 09 09 09 24 76 20 3d 20 24 76 20 3f 20 27 65 6e 61 62 6c 65 64 27 20 3a 20 27 64 69 73 61 62 6c ...$v.=.$v.?.'enabled'.:.'disabl
f480 65 64 27 3b 0a 09 09 09 7d 0a 09 09 09 70 72 69 6e 74 66 28 22 25 2d 24 7b 6b 6c 65 6e 7d 73 20 ed';....}....printf("%-${klen}s.
f4a0 20 25 73 5c 6e 22 2c 20 24 6b 2e 27 3a 27 2c 20 24 76 29 3b 0a 09 09 7d 0a 20 20 20 20 7d 0a 20 .%s\n",.$k.':',.$v);...}.....}..
f4c0 20 20 20 2f 2f 20 7d 7d 7d 0a 7d 0a 2f 2f 20 7d 7d 7d 0a 3f 3e 0a 3c 3f 70 68 70 0d 0a 0d 0a 2f ...//.}}}.}.//.}}}.?>.<?php..../
f4e0 2a 2a 20 40 66 69 6c 65 20 69 6e 76 65 72 74 65 64 72 65 67 65 78 69 74 65 72 61 74 6f 72 2e 69 **.@file.invertedregexiterator.i
f500 6e 63 0d 0a 20 2a 20 40 69 6e 67 72 6f 75 70 20 50 68 61 72 0d 0a 20 2a 20 40 62 72 69 65 66 20 nc...*.@ingroup.Phar...*.@brief.
f520 63 6c 61 73 73 20 49 6e 76 65 72 74 65 64 52 65 67 65 78 49 74 65 72 61 74 6f 72 0d 0a 20 2a 20 class.InvertedRegexIterator...*.
f540 40 61 75 74 68 6f 72 20 20 4d 61 72 63 75 73 20 42 6f 65 72 67 65 72 0d 0a 20 2a 20 40 64 61 74 @author..Marcus.Boerger...*.@dat
f560 65 20 20 20 20 32 30 30 37 20 2d 20 32 30 30 37 0d 0a 20 2a 0d 0a 20 2a 20 49 6e 76 65 72 74 65 e....2007.-.2007...*...*.Inverte
f580 64 20 52 65 67 65 78 49 74 65 72 61 74 6f 72 0d 0a 20 2a 2f 0d 0a 0d 0a 2f 2a 2a 20 40 69 6e 67 d.RegexIterator...*/..../**.@ing
f5a0 72 6f 75 70 20 50 68 61 72 0d 0a 20 2a 20 40 62 72 69 65 66 20 20 20 49 6e 76 65 72 74 65 64 20 roup.Phar...*.@brief...Inverted.
f5c0 52 65 67 65 78 49 74 65 72 61 74 6f 72 0d 0a 20 2a 20 40 61 75 74 68 6f 72 20 20 4d 61 72 63 75 RegexIterator...*.@author..Marcu
f5e0 73 20 42 6f 65 72 67 65 72 0d 0a 20 2a 20 40 76 65 72 73 69 6f 6e 20 31 2e 30 0d 0a 20 2a 2f 0d s.Boerger...*.@version.1.0...*/.
f600 0a 63 6c 61 73 73 20 49 6e 76 65 72 74 65 64 52 65 67 65 78 49 74 65 72 61 74 6f 72 20 65 78 74 .class.InvertedRegexIterator.ext
f620 65 6e 64 73 20 52 65 67 65 78 49 74 65 72 61 74 6f 72 0d 0a 7b 0d 0a 09 2f 2a 2a 20 40 72 65 74 ends.RegexIterator..{.../**.@ret
f640 75 72 6e 20 21 52 65 67 65 78 49 74 65 72 61 74 6f 72 3a 3a 61 63 63 65 70 74 28 29 0d 0a 09 20 urn.!RegexIterator::accept()....
f660 2a 2f 09 0d 0a 09 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0d 0a 09 7b 0d 0a 09 09 72 */....function.accept()...{....r
f680 65 74 75 72 6e 20 21 52 65 67 65 78 49 74 65 72 61 74 6f 72 3a 3a 61 63 63 65 70 74 28 29 3b 0d eturn.!RegexIterator::accept();.
f6a0 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 3f 3e 3c 3f 70 68 70 0a 0a 2f 2a 2a 0a 20 2a 20 40 66 69 6c 65 20 ..}..}....?><?php../**..*.@file.
f6c0 70 68 61 72 2e 69 6e 63 0a 20 2a 20 40 69 6e 67 72 6f 75 70 20 50 68 61 72 0a 20 2a 20 40 62 72 phar.inc..*.@ingroup.Phar..*.@br
f6e0 69 65 66 20 63 6c 61 73 73 20 50 68 61 72 0a 20 2a 20 40 61 75 74 68 6f 72 20 20 4d 61 72 63 75 ief.class.Phar..*.@author..Marcu
f700 73 20 42 6f 65 72 67 65 72 0a 20 2a 20 40 64 61 74 65 20 20 20 20 32 30 30 37 20 2d 20 32 30 30 s.Boerger..*.@date....2007.-.200
f720 37 0a 20 2a 0a 20 2a 20 50 68 61 72 20 43 6f 6d 6d 61 6e 64 0a 20 2a 2f 0a 2f 2f 20 7b 7b 7b 20 7..*..*.Phar.Command..*/.//.{{{.
f740 63 6c 61 73 73 20 50 68 61 72 20 65 78 74 65 6e 64 73 20 50 48 50 5f 41 72 63 68 69 76 65 0a 2f class.Phar.extends.PHP_Archive./
f760 2a 2a 0a 20 2a 20 50 68 61 72 20 63 6c 61 73 73 0a 20 2a 20 0a 20 2a 20 40 69 6e 67 72 6f 75 70 **..*.Phar.class..*...*.@ingroup
f780 20 50 68 61 72 0a 20 2a 20 40 62 72 69 65 66 20 20 20 50 68 61 72 20 69 6d 70 6c 65 6d 65 6e 74 .Phar..*.@brief...Phar.implement
f7a0 61 74 69 6f 6e 0a 20 2a 20 40 61 75 74 68 6f 72 20 20 4d 61 72 63 75 73 20 42 6f 65 72 67 65 72 ation..*.@author..Marcus.Boerger
f7c0 0a 20 2a 20 40 76 65 72 73 69 6f 6e 20 31 2e 30 0a 20 2a 2f 0a 63 6c 61 73 73 20 50 68 61 72 20 ..*.@version.1.0..*/.class.Phar.
f7e0 65 78 74 65 6e 64 73 20 50 48 50 5f 41 72 63 68 69 76 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 52 extends.PHP_Archive.implements.R
f800 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 0a 7b 0a 09 66 75 6e 63 74 69 6f 6e 20 67 65 74 ecursiveIterator.{..function.get
f820 53 69 67 6e 61 74 75 72 65 28 29 0a 09 7b 0a 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 09 Signature()..{...return.false;..
f840 7d 0a 0a 09 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 69 61 73 28 29 0a 09 7b 0a 09 09 72 65 74 }...function.getAlias()..{...ret
f860 75 72 6e 20 66 61 6c 73 65 3b 0a 09 7d 0a 0a 09 66 75 6e 63 74 69 6f 6e 20 72 65 77 69 6e 64 28 urn.false;..}...function.rewind(
f880 29 0a 09 7b 0a 09 7d 0a 0a 09 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 28 29 0a 09 7b 0a 09 09 )..{..}...function.valid()..{...
f8a0 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 09 7d 0a 0a 09 66 75 6e 63 74 69 6f 6e 20 63 75 72 72 return.false;..}...function.curr
f8c0 65 6e 74 28 29 0a 09 7b 0a 09 7d 0a 0a 09 66 75 6e 63 74 69 6f 6e 20 6b 65 79 28 29 0a 09 7b 0a ent()..{..}...function.key()..{.
f8e0 09 7d 0a 0a 09 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 28 29 0a 09 7b 0a 09 7d 0a 0a 09 66 75 6e .}...function.next()..{..}...fun
f900 63 74 69 6f 6e 20 68 61 73 43 68 69 6c 64 72 65 6e 28 29 0a 09 7b 0a 09 09 72 65 74 75 72 6e 20 ction.hasChildren()..{...return.
f920 66 61 6c 73 65 3b 0a 09 7d 0a 0a 09 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 69 6c 64 72 65 6e false;..}...function.getChildren
f940 28 29 0a 09 7b 0a 09 7d 0a 0a 09 66 75 6e 63 74 69 6f 6e 20 68 61 73 4d 65 74 61 64 61 74 61 28 ()..{..}...function.hasMetadata(
f960 29 0a 09 7b 0a 09 7d 0a 0a 09 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 65 74 61 64 61 74 61 28 29 )..{..}...function.getMetadata()
f980 0a 09 7b 0a 09 7d 0a 0a 09 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 75 62 28 29 0a 09 7b 0a 09 ..{..}...function.getStub()..{..
f9a0 7d 0a 0a 09 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 75 62 28 29 0a 09 7b 0a 09 7d 0a 7d 0a 0a }...function.setStub()..{..}.}..
f9c0 3f 3e be 37 85 c9 2b 32 a7 34 9e bb 00 52 bf 3b 03 bf 25 a5 12 6b 02 00 00 00 47 42 4d 42 ?>.7..+2.4...R.;..%..k....GBMB