namespace Friendica\Core;
+use Friendica;
+
/**
* Description of Console
*
- * @author Hypolite Petovan <mrpetovan@gmail.com>
+ * @author Hypolite Petovan <hypolite@mrpetovan.com>
*/
class Console extends \Asika\SimpleConsole\Console
{
protected $helpOptions = [];
protected $customHelpOptions = ['h', 'help', '?'];
- protected $subConsoles = [
- 'config' => __NAMESPACE__ . '\Console\Config',
- 'createdoxygen' => __NAMESPACE__ . '\Console\CreateDoxygen',
- 'docbloxerrorchecker' => __NAMESPACE__ . '\Console\DocBloxErrorChecker',
- 'dbstructure' => __NAMESPACE__ . '\Console\DatabaseStructure',
- 'extract' => __NAMESPACE__ . '\Console\Extract',
- 'globalcommunityblock' => __NAMESPACE__ . '\Console\GlobalCommunityBlock',
- 'globalcommunitysilence' => __NAMESPACE__ . '\Console\GlobalCommunitySilence',
- 'autoinstall' => __NAMESPACE__ . '\Console\AutomaticInstallation',
- 'maintenance' => __NAMESPACE__ . '\Console\Maintenance',
- 'newpassword' => __NAMESPACE__ . '\Console\NewPassword',
- 'php2po' => __NAMESPACE__ . '\Console\PhpToPo',
- 'po2php' => __NAMESPACE__ . '\Console\PoToPhp',
- 'typo' => __NAMESPACE__ . '\Console\Typo',
- ];
-
protected function getHelp()
{
$help = <<<HELP
Usage: bin/console [--version] [-h|--help|-?] <command> [<args>] [-v]
Commands:
+ cache Manage node cache
config Edit site config
createdoxygen Generate Doxygen headers
dbstructure Do database updates
extract Generate translation string file for the Friendica project (deprecated)
globalcommunityblock Block remote profile from interacting with this node
globalcommunitysilence Silence remote profile from global community page
+ archivecontact Archive a contact when you know that it isn't existing anymore
help Show help about a command, e.g (bin/console help config)
autoinstall Starts automatic installation of friendica based on values from htconfig.php
maintenance Set maintenance mode for this node
php2po Generate a messages.po file from a strings.php file
po2php Generate a strings.php file from a messages.po file
typo Checks for parse errors in Friendica files
+ postupdate Execute pending post update scripts (can last days)
+ serverblock Manage blocked servers
+ storage Manage storage backend
Options:
-h|--help|-? Show help information
return $help;
}
+ protected $subConsoles = [
+ 'cache' => Friendica\Console\Cache::class,
+ 'config' => Friendica\Console\Config::class,
+ 'createdoxygen' => Friendica\Console\CreateDoxygen::class,
+ 'docbloxerrorchecker' => Friendica\Console\DocBloxErrorChecker::class,
+ 'dbstructure' => Friendica\Console\DatabaseStructure::class,
+ 'extract' => Friendica\Console\Extract::class,
+ 'globalcommunityblock' => Friendica\Console\GlobalCommunityBlock::class,
+ 'globalcommunitysilence' => Friendica\Console\GlobalCommunitySilence::class,
+ 'archivecontact' => Friendica\Console\ArchiveContact::class,
+ 'autoinstall' => Friendica\Console\AutomaticInstallation::class,
+ 'maintenance' => Friendica\Console\Maintenance::class,
+ 'newpassword' => Friendica\Console\NewPassword::class,
+ 'php2po' => Friendica\Console\PhpToPo::class,
+ 'po2php' => Friendica\Console\PoToPhp::class,
+ 'typo' => Friendica\Console\Typo::class,
+ 'postupdate' => Friendica\Console\PostUpdate::class,
+ 'serverblock' => Friendica\Console\ServerBlock::class,
+ 'storage' => Friendica\Console\Storage::class,
+ ];
+
protected function doExecute()
{
if ($this->getOption('v')) {
$this->out('Options: ' . var_export($this->options, true));
}
- $showHelp = false;
$subHelp = false;
$command = null;
return 0;
} elseif ((count($this->options) === 0 || $this->getOption($this->customHelpOptions) === true || $this->getOption($this->customHelpOptions) === 1) && count($this->args) === 0
) {
- $showHelp = true;
} elseif (count($this->args) >= 2 && $this->getArgument(0) == 'help') {
$command = $this->getArgument(1);
$subHelp = true;
$className = $this->subConsoles[$command];
+ /** @var Console $subconsole */
$subconsole = new $className($subargs);
foreach ($this->options as $name => $value) {