update PEAR

This commit is contained in:
Ibnu Maksum
2023-10-05 16:55:44 +07:00
parent 1861358415
commit 071df91de0
64 changed files with 3872 additions and 2100 deletions

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/
namespace PEAR2\Console\CommandLine;

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/
namespace PEAR2\Console\CommandLine\Action;

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/
@ -46,7 +47,7 @@ use PEAR2\Console\CommandLine;
* <code>
* $ script.php -v -v -v
* </code>
* or:
* or:
* <code>
* $ script.php -vvv
* </code>

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/

View File

@ -11,21 +11,22 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version CVS: $Id: List.php,v 1.2 2009/02/27 08:03:17 izi Exp $
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/
namespace PEAR2\Console\CommandLine;
/**
* Class that represent the List action, a special action that simply output an
* Class that represent the List action, a special action that simply output an
* array as a list.
*
* @category Console
@ -43,10 +44,10 @@ class Action_List extends Action
/**
* Executes the action with the value entered by the user.
* Possible parameters are:
* - message: an alternative message to display instead of the default
* - message: an alternative message to display instead of the default
* message,
* - delimiter: an alternative delimiter instead of the comma,
* - post: a string to append after the message (default is the new line
* - post: a string to append after the message (default is the new line
* char).
*
* @param mixed $value The option value
@ -57,8 +58,8 @@ class Action_List extends Action
public function execute($value = false, $params = array())
{
$list = isset($params['list']) ? $params['list'] : array();
$msg = isset($params['message'])
? $params['message']
$msg = isset($params['message'])
? $params['message']
: $this->parser->message_provider->get('LIST_DISPLAYED_MESSAGE');
$del = isset($params['delimiter']) ? $params['delimiter'] : ', ';
$post = isset($params['post']) ? $params['post'] : "\n";

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/
@ -27,8 +28,8 @@ namespace PEAR2\Console\CommandLine\Action;
use PEAR2\Console\CommandLine;
/**
* Class that represent the Password action, a special action that allow the
* user to specify the password on the commandline or to be prompted for
* Class that represent the Password action, a special action that allow the
* user to specify the password on the commandline or to be prompted for
* entering it.
*
* @category Console
@ -62,7 +63,8 @@ class Password extends CommandLine\Action
* Prompts the password to the user without echoing it.
*
* @return string
* @todo not echo-ing the password does not work on windows is there a way
*
* @todo not echo-ing the password does not work on windows is there a way
* to make this work ?
*/
private function _promptPassword()

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/
@ -29,7 +30,7 @@ use PEAR2\Console\CommandLine;
/**
* Class that represent the StoreArray action.
*
* The execute method appends the value of the option entered by the user to
* The execute method appends the value of the option entered by the user to
* the result option array entry.
*
* @category Console

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/
@ -30,7 +31,7 @@ use PEAR2\Console\CommandLine;
* Class that represent the StoreFalse action.
*
* The execute method store the boolean 'false' in the corrsponding result
* option array entry (the value is true if the option is not present in the
* option array entry (the value is true if the option is not present in the
* command line entered by the user).
*
* @category Console

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/
@ -30,7 +31,7 @@ use PEAR2\Console\CommandLine;
* Class that represent the StoreInt action.
*
* The execute method store the value of the option entered by the user as an
* integer in the result option array entry, if the value passed is not an
* integer in the result option array entry, if the value passed is not an
* integer an Exception is raised.
*
* @category Console

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/
@ -29,7 +30,7 @@ use PEAR2\Console\CommandLine;
/**
* Class that represent the StoreString action.
*
* The execute method store the value of the option entered by the user as a
* The execute method store the value of the option entered by the user as a
* string in the result option array entry.
*
* @category Console

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/
@ -30,7 +31,7 @@ use PEAR2\Console\CommandLine;
* Class that represent the StoreTrue action.
*
* The execute method store the boolean 'true' in the corrsponding result
* option array entry (the value is false if the option is not present in the
* option array entry (the value is false if the option is not present in the
* command line entered by the user).
*
* @category Console

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/

View File

@ -16,9 +16,10 @@
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/
@ -65,6 +66,7 @@ class Argument extends Element
*
* @return void
* @throws PEAR2\Console\CommandLine\Exception
*
* @todo use exceptions
*/
public function validate()

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/
@ -27,7 +28,7 @@ namespace PEAR2\Console\CommandLine;
/**
* Class that represent a command with option and arguments.
*
* This class exist just to clarify the interface but at the moment it is
* This class exist just to clarify the interface but at the moment it is
* strictly identical to PEAR2\Console\CommandLine class, it could change in the
* future though.
*
@ -60,7 +61,7 @@ class Command extends \PEAR2\Console\CommandLine
*
* @return void
*/
public function __construct($params = array())
public function __construct($params = array())
{
if (isset($params['aliases'])) {
$this->aliases = $params['aliases'];

View File

@ -20,6 +20,7 @@
* @version CVS: $Id: CustomMessageProvider.php 282427 2009-06-19 10:22:48Z izi $
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 1.1.0
*
* @filesource
*/
@ -56,8 +57,9 @@ interface CustomMessageProvider
* indexes are message codes.
*
* @return string
*
* @see PEAR2\Console\CommandLine_MessageProvider
* @see PEAR2\Console\CommandLine_MessageProvider_Default
* @see PEAR2\Console\CommandLine_MessageProvider\DefaultProvider
*/
public function getWithCustomMessages(
$code, $vars = array(), $messages = array()

View File

@ -16,9 +16,10 @@
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/
@ -92,7 +93,7 @@ abstract class Element
* </code>
*
* @var array
* @see PEAR2\Console\CommandLine_MessageProvider_Default
* @see PEAR2\Console\CommandLine_MessageProvider\DefaultProvider
*/
public $messages = array();
@ -124,6 +125,7 @@ abstract class Element
* Returns the string representation of the element.
*
* @return string The string representation of the element
*
* @todo use __toString() instead
*/
public function toString()

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/
@ -42,14 +43,15 @@ interface MessageProvider
/**
* Retrieves the given string identifier corresponding message.
* For a list of identifiers please see the provided default message
* For a list of identifiers please see the provided default message
* provider.
*
* @param string $code The string identifier of the message
* @param array $vars An array of template variables
*
* @return string
* @see PEAR2\Console\CommandLine_MessageProvider_Default
*
* @see PEAR2\Console\CommandLine\MessageProvider\DefaultProvider
*/
public function get($code, $vars=array());

View File

@ -16,13 +16,17 @@
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/
namespace PEAR2\Console\CommandLine;
namespace PEAR2\Console\CommandLine\MessageProvider;
use PEAR2\Console\CommandLine\MessageProvider;
use PEAR2\Console\CommandLine\CustomMessageProvider;
/**
* Lightweight class that manages messages used by PEAR2\Console\CommandLine package,
@ -37,7 +41,7 @@ namespace PEAR2\Console\CommandLine;
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since Class available since release 0.1.0
*/
class MessageProvider_Default
class DefaultProvider
implements MessageProvider,
CustomMessageProvider
{

View File

@ -16,9 +16,10 @@
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/
@ -173,6 +174,7 @@ class Option extends Element
* @param string $delim Delimiter to use between short and long option
*
* @return string The string representation of the option
*
* @todo use __toString() instead
*/
public function toString($delim = ", ")
@ -269,6 +271,7 @@ class Option extends Element
*
* @return void
* @throws PEAR2\Console\CommandLine\Exception
*
* @todo use exceptions instead
*/
public function validate()

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/

View File

@ -16,7 +16,7 @@
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*/

View File

@ -11,14 +11,15 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/

View File

@ -11,20 +11,24 @@
* through the world-wide-web at the following URI:
* http://opensource.org/licenses/mit-license.php
*
* @category Console
* @category Console
* @package PEAR2\Console\CommandLine
* @author David JEAN LOUIS <izimobil@gmail.com>
* @copyright 2007-2009 David JEAN LOUIS
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.1
* @license http://opensource.org/licenses/mit-license.php MIT License
* @version 0.2.3
* @link http://pear2.php.net/PEAR2_Console_CommandLine
* @since File available since release 0.1.0
*
* @filesource
*/
namespace PEAR2\Console\CommandLine;
use PEAR2\Console\CommandLine;
use DOMDocument;
use DOMNode;
use Phar;
/**
* Parser for command line xml definitions.
@ -49,7 +53,7 @@ class XmlParser
*
* @return PEAR2\Console\CommandLine A parser instance
*/
public static function parse($xmlfile)
public static function parse($xmlfile)
{
if (!is_readable($xmlfile)) {
CommandLine::triggerError(
@ -58,7 +62,7 @@ class XmlParser
array('{$file}' => $xmlfile)
);
}
$doc = new \DomDocument();
$doc = new DOMDocument();
$doc->load($xmlfile);
self::validate($doc);
$nodes = $doc->getElementsByTagName('command');
@ -77,9 +81,9 @@ class XmlParser
*
* @return PEAR2\Console\CommandLine A parser instance
*/
public static function parseString($xmlstr)
public static function parseString($xmlstr)
{
$doc = new \DomDocument();
$doc = new DOMDocument();
$doc->loadXml($xmlstr);
self::validate($doc);
$nodes = $doc->getElementsByTagName('command');
@ -93,27 +97,48 @@ class XmlParser
/**
* Validates the xml definition using Relax NG.
*
* @param DomDocument $doc The document to validate
* @param DOMDocument $doc The document to validate
*
* @return boolean Whether the xml data is valid or not.
* @throws PEAR2\Console\CommandLine\Exception
*
* @todo use exceptions only
*/
public static function validate($doc)
public static function validate(DOMDocument $doc)
{
$rngfile = __DIR__
. '/../../../../data/pear2.php.net/PEAR2_Console_CommandLine/xmlschema.rng';
if (!is_file($rngfile)) {
$rngfile = __DIR__ . '/../../../../data/xmlschema.rng';
$paths = array();
if (!class_exists('Phar', false) || !Phar::running()) {
// Pyrus
$paths[]
= 'D:\Vasko\WEB\PHP\_shared\PEAR2\data/pear2.php.net/PEAR2_Console_CommandLine/xmlschema.rng';
// PEAR
$pearDataDirEnv = getenv('PHP_PEAR_DATA_DIR');
if ($pearDataDirEnv) {
$paths[] = $pearDataDirEnv .
'/PEAR2_Console_CommandLine/xmlschema.rng';
}
$paths[] = 'D:\Vasko\WEB\PHP\_shared\PEAR2\data/PEAR2_Console_CommandLine/xmlschema.rng';
}
if (!is_readable($rngfile)) {
CommandLine::triggerError(
'invalid_xml_file',
E_USER_ERROR,
array('{$file}' => $rngfile)
);
$pkgData = __DIR__ . '/../../../../data/';
// PHAR dep
$paths[] = $pkgData .
'pear2.php.net/PEAR2_Console_CommandLine/xmlschema.rng';
$paths[] = $pkgData . 'PEAR2_Console_CommandLine/xmlschema.rng';
$paths[] = $pkgData . 'pear2/console_commandline/xmlschema.rng';
// Git/Composer
$paths[] = $pkgData . 'xmlschema.rng';
$paths[] = 'xmlschema.rng';
foreach ($paths as $path) {
if (is_readable($path)) {
return $doc->relaxNGValidate($path);
}
}
return $doc->relaxNGValidate($rngfile);
CommandLine::triggerError(
'invalid_xml_file',
E_USER_ERROR,
array('{$file}' => $path)
);
}
// }}}
@ -124,14 +149,15 @@ class XmlParser
* constructed PEAR2\Console\CommandLine or PEAR2\Console\CommandLine_Command
* instance.
*
* @param DomDocumentNode $node The node to parse
* @param bool $isRootNode Whether it is a root node or not
* @param DOMNode $node The node to parse
* @param bool $isRootNode Whether it is a root node or not
*
* @return mixed PEAR2\Console\CommandLine or PEAR2\Console\CommandLine_Command
* @return CommandLine|CommandLine\Command An instance of CommandLine for
* root node, CommandLine\Command otherwise.
*/
private static function _parseCommandNode($node, $isRootNode = false)
private static function _parseCommandNode(DOMNode $node, $isRootNode = false)
{
if ($isRootNode) {
if ($isRootNode) {
$obj = new CommandLine();
} else {
$obj = new CommandLine\Command();
@ -184,11 +210,11 @@ class XmlParser
* Parses an option node and returns the constructed
* PEAR2\Console\CommandLine_Option instance.
*
* @param DomDocumentNode $node The node to parse
* @param DOMNode $node The node to parse
*
* @return PEAR2\Console\CommandLine\Option The built option
*/
private static function _parseOptionNode($node)
private static function _parseOptionNode(DOMNode $node)
{
$obj = new CommandLine\Option($node->getAttribute('name'));
foreach ($node->childNodes as $cNode) {
@ -221,14 +247,14 @@ class XmlParser
// _parseArgumentNode() {{{
/**
* Parses an argument node and returns the constructed
* Parses an argument node and returns the constructed
* PEAR2\Console\CommandLine_Argument instance.
*
* @param DomDocumentNode $node The node to parse
* @param DOMNode $node The node to parse
*
* @return PEAR2\Console\CommandLine\Argument The built argument
*/
private static function _parseArgumentNode($node)
private static function _parseArgumentNode(DOMNode $node)
{
$obj = new CommandLine\Argument($node->getAttribute('name'));
foreach ($node->childNodes as $cNode) {
@ -260,7 +286,7 @@ class XmlParser
/**
* Returns a boolean according to true/false possible strings.
*
*
* @param string $str The string to process
*
* @return boolean