Quite big CLI cleanup (and more)
model/CliHelp.php: - new class, used for "postfixadmin-cli $module help" - replaces the PostfixAdmin* classes in scripts/shells/*.php model/PFAHandler.php - add public $taskNames with the list of supported CLI commands scripts/postfixadmin-cli.php - dispatch(): - directly set the classes to load instead of using shell->loadTasks() - when "postfixadmin-cli $module" is called, display help instead of error message about "invalid command ''" - make it more readable by moving error checks to the beginning (replaces deeply nested if's with return statements) - remove unused code parts scripts/shells/*.php: - remove PostfixAdmin* classes (obsoleted by CliHelp) - remove $tasks (now in PFAHandler) - delete alias.php and domain.php because nothing is left - mailbox.php still contains PasswordTask scripts/shells/shell.php: - remove $taskNames (moved to PFAHandler) - remove loadTasks() (integrated in postfixadmin-cli.php's dispatch()) git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1575 a1433add-5e2c-0410-b055-b7f2511e0802pull/2/head
parent
b3dc3f91ae
commit
c65e3293b6
@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
class CliHelp extends Shell {
|
||||
|
||||
public $handler_to_use = "__not_set__";
|
||||
|
||||
/**
|
||||
* Show help for this shell.
|
||||
*
|
||||
* @access public
|
||||
*/
|
||||
public function execute() {
|
||||
$this->help();
|
||||
}
|
||||
|
||||
public function help() {
|
||||
|
||||
$handler = new $this->handler_to_use;
|
||||
# TODO: adjust help text according to $handler->taskNames
|
||||
|
||||
$module = preg_replace('/Handler$/', '', $this->handler_to_use);
|
||||
$module = strtolower($module);
|
||||
|
||||
$this->out(
|
||||
"Usage:
|
||||
|
||||
postfixadmin-cli $module <task> [<address>] [--option value]
|
||||
");
|
||||
/*
|
||||
View $module in interactive mode.
|
||||
|
||||
- or -
|
||||
|
||||
postfixadmin-cli $module view <address>
|
||||
|
||||
View $module <address> in non-interactive mode.
|
||||
"); */
|
||||
|
||||
|
||||
|
||||
$head = "Usage: postfixadmin-cli $module <task> [<address>] [--option value] [--option value]\n";
|
||||
$head .= "-----------------------------------------------\n";
|
||||
$head .= "Parameters:\n\n";
|
||||
|
||||
$commands = array(
|
||||
'task' => "\t<task>\n" .
|
||||
"\t\tAvailable values:\n\n".
|
||||
"\t\t".sprintf("%-20s %s", "view: ", "View an existing $module.")."\n".
|
||||
"\t\t".sprintf("%-20s %s", "add: ", "Add a $module.")."\n".
|
||||
"\t\t".sprintf("%-20s %s", "update: ", "Update a $module.")."\n".
|
||||
"\t\t".sprintf("%-20s %s", "delete: ", "Delete a $module")."\n".
|
||||
"\t\t".sprintf("%-20s %s", "password: ", "Changes the password for a $module")."\n",
|
||||
'address' => "\t[<address>]\n" .
|
||||
"\t\tA address of recipient.\n",
|
||||
);
|
||||
|
||||
foreach ($commands as $cmd) {
|
||||
$this->out("{$cmd}\n\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */
|
@ -1,54 +0,0 @@
|
||||
<?php
|
||||
|
||||
|
||||
class PostfixAdminAlias extends Shell {
|
||||
|
||||
/**
|
||||
* Contains tasks to load and instantiate
|
||||
*
|
||||
* @var array
|
||||
* @access public
|
||||
*/
|
||||
var $tasks = array('Add', 'Update', 'Delete', 'View');
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Show help for this shell.
|
||||
*
|
||||
* @access public
|
||||
*/
|
||||
function help() {
|
||||
$head = "Usage: postfixadmin-cli alias <task> [<address>] [] [-m <method>]\n";
|
||||
$head .= "-----------------------------------------------\n";
|
||||
$head .= "Parameters:\n\n";
|
||||
|
||||
$commands = array(
|
||||
'task' => "\t<task>\n" .
|
||||
"\t\tAvailable values:\n\n".
|
||||
"\t\t".sprintf("%-20s %s", "view: ", "View an existing alias.")."\n".
|
||||
"\t\t".sprintf("%-20s %s", "add: ", "Adds an alias.")."\n".
|
||||
"\t\t".sprintf("%-20s %s", "update: ", "Updates an alias.")."\n".
|
||||
"\t\t".sprintf("%-20s %s", "delete: ", "Deletes an alias")."\n",
|
||||
'address' => "\t[<address>]\n" .
|
||||
"\t\tA address of recipient.\n",
|
||||
);
|
||||
|
||||
$this->out($head);
|
||||
if (!isset($this->args[1])) {
|
||||
foreach ($commands as $cmd) {
|
||||
$this->out("{$cmd}\n\n");
|
||||
}
|
||||
} elseif (isset($commands[strtolower($this->args[1])])) {
|
||||
$this->out($commands[strtolower($this->args[1])] . "\n\n");
|
||||
} else {
|
||||
$this->out("Command '" . $this->args[1] . "' not found");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */
|
@ -1,66 +0,0 @@
|
||||
<?php
|
||||
|
||||
|
||||
class PostfixAdminDomain extends Shell {
|
||||
|
||||
/**
|
||||
* Contains tasks to load and instantiate
|
||||
*
|
||||
* @var array
|
||||
* @access public
|
||||
*/
|
||||
var $tasks = array('Add', 'Update', 'Delete', 'View');
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Show help for this shell.
|
||||
*
|
||||
* @access public
|
||||
*/
|
||||
function help() {
|
||||
$head = "Usage: postfixadmin-cli domain <task> [<domain>] [-desc \"<description>\"] [-a <aliases>] [-m <mailboxes>] [-q <quota in MB>] [-t <transport>] [-default] [-backup]\n";
|
||||
$head .= "-----------------------------------------------\n";
|
||||
$head .= "Parameters:\n\n";
|
||||
|
||||
$commands = array(
|
||||
'task' => "\t<task>\n" .
|
||||
"\t\tAvailable values:\n\n".
|
||||
"\t\t".sprintf("%-20s %s", "view: ", "View an existing domain.")."\n".
|
||||
"\t\t".sprintf("%-20s %s", "add: ", "Adds a domain.")."\n".
|
||||
"\t\t".sprintf("%-20s %s", "update: ", "Updates an domain.")."\n".
|
||||
"\t\t".sprintf("%-20s %s", "delete: ", "Deletes a domain")."\n",
|
||||
'domain' => "\t[<domain>]\n" .
|
||||
"\t\tA address of recipient.\n",
|
||||
'a' => "\t[<aliaes>]\n" .
|
||||
"\t\tNumber of max aliases. -1 = disable | 0 = unlimited\n",
|
||||
'm' => "\t[<mailboxes>]\n" .
|
||||
"\t\tNumber of max mailboxes. -1 = disable | 0 = unlimited\n",
|
||||
'q' => "\t[<quota in MB>]\n" .
|
||||
"\t\tMax Quota in MB. -1 = disable | 0 = unlimited\n",
|
||||
'd' => "\t[<domain quota in MB>]\n" .
|
||||
"\t\tDomain Quota in MB. -1 = disable | 0 = unlimited\n",
|
||||
't' => "\t[<transport>]\n" .
|
||||
"\t\tTransport options from config.inc.php.\n",
|
||||
'default' => "\t\tSet to add default Aliases.\n",
|
||||
'backup' => "\t\tSet if mailserver is backup MX.\n",
|
||||
);
|
||||
|
||||
$this->out($head);
|
||||
if (!isset($this->args[1])) {
|
||||
foreach ($commands as $cmd) {
|
||||
$this->out("{$cmd}\n\n");
|
||||
}
|
||||
} elseif (isset($commands[strtolower($this->args[1])])) {
|
||||
$this->out($commands[strtolower($this->args[1])] . "\n\n");
|
||||
} else {
|
||||
$this->out("Command '" . $this->args[1] . "' not found");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/* vim: set expandtab softtabstop=4 tabstop=4 shiftwidth=4: */
|
Loading…
Reference in New Issue