.github
admin
install
pages_template
qrcode
system
autoload
PEAR2
Cache
Console
Color
CommandLine
Action
MessageProvider
Outputter
Renderer
Action.php
Argument.php
Command.php
CustomMessageProvider.php
Element.php
Exception.php
MessageProvider.php
Option.php
Outputter.php
Renderer.php
Result.php
XmlParser.php
Color.php
CommandLine.php
Net
Autoload.php
Admin.php
App.php
Balance.php
File.php
Hookers.php
Http.php
Lang.php
Log.php
Message.php
Mikrotik.php
Package.php
Paginator.php
Password.php
Radius.php
Timezone.php
User.php
Validator.php
index.html
cache
controllers
lan
paymentgateway
plugin
uploads
vendor
.htaccess
api.php
boot.php
composer.json
composer.lock
cron.php
cron_reminder.php
index.html
orm.php
updates.json
ui
.gitignore
.htaccess_firewall
CHANGELOG.md
LICENSE
README.md
composer.json
config.sample.php
favicon.ico
index.php
init.php
update.php
version.json
92 lines
2.8 KiB
PHP
92 lines
2.8 KiB
PHP
<?php
|
|
|
|
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
|
|
|
|
/**
|
|
* This file is part of the PEAR2\Console\CommandLine package.
|
|
*
|
|
* PHP version 5
|
|
*
|
|
* LICENSE: This source file is subject to the MIT license that is available
|
|
* through the world-wide-web at the following URI:
|
|
* http://opensource.org/licenses/mit-license.php
|
|
*
|
|
* @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.3
|
|
* @link http://pear2.php.net/PEAR2_Console_CommandLine
|
|
* @since File available since release 0.1.0
|
|
*
|
|
* @filesource
|
|
*/
|
|
|
|
namespace PEAR2\Console\CommandLine;
|
|
|
|
use Exception as E;
|
|
|
|
/**
|
|
* Class for exceptions raised by the PEAR2\Console\CommandLine package.
|
|
*
|
|
* @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
|
|
* @link http://pear2.php.net/PEAR2_Console_CommandLine
|
|
* @since Class available since release 0.1.0
|
|
*/
|
|
class Exception extends E
|
|
{
|
|
// Codes constants {{{
|
|
|
|
/**#@+
|
|
* Exception code constants.
|
|
*/
|
|
const OPTION_VALUE_REQUIRED = 1;
|
|
const OPTION_VALUE_UNEXPECTED = 2;
|
|
const OPTION_VALUE_TYPE_ERROR = 3;
|
|
const OPTION_UNKNOWN = 4;
|
|
const ARGUMENT_REQUIRED = 5;
|
|
const INVALID_SUBCOMMAND = 6;
|
|
/**#@-*/
|
|
|
|
// }}}
|
|
// factory() {{{
|
|
|
|
/**
|
|
* Convenience method that builds the exception with the array of params by
|
|
* calling the message provider class.
|
|
*
|
|
* @param string $code The string identifier of the
|
|
* exception.
|
|
* @param array $params Array of template vars/values
|
|
* @param PEAR2\Console\CommandLine $parser An instance of the parser
|
|
* @param array $messages An optional array of messages
|
|
* passed to the message provider.
|
|
*
|
|
* @return PEAR2\Console\CommandLine\Exception The exception instance
|
|
*/
|
|
public static function factory(
|
|
$code, $params, $parser, array $messages = array()
|
|
) {
|
|
$provider = $parser->message_provider;
|
|
if ($provider instanceof CommandLine\CustomMessageProvider) {
|
|
$msg = $provider->getWithCustomMessages(
|
|
$code,
|
|
$params,
|
|
$messages
|
|
);
|
|
} else {
|
|
$msg = $provider->get($code, $params);
|
|
}
|
|
$const = '\PEAR2\Console\CommandLine\Exception::' . $code;
|
|
$code = defined($const) ? constant($const) : 0;
|
|
return new static($msg, $code);
|
|
}
|
|
|
|
// }}}
|
|
}
|