Add reason editing to console globalcommunityblock command
authorHypolite Petovan <hypolite@mrpetovan.com>
Wed, 15 May 2019 23:30:48 +0000 (19:30 -0400)
committerHypolite Petovan <hypolite@mrpetovan.com>
Wed, 15 May 2019 23:30:48 +0000 (19:30 -0400)
src/Console/GlobalCommunityBlock.php

index bc067da..2eef427 100644 (file)
@@ -25,10 +25,11 @@ class GlobalCommunityBlock extends \Asika\SimpleConsole\Console
                $help = <<<HELP
 console globalcommunityblock - Block remote profile from interacting with this node
 Usage
-       bin/console globalcommunityblock <profile_url> [-h|--help|-?] [-v]
+       bin/console globalcommunityblock <profile_url> [<reason>] [-h|--help|-?] [-v]
 
 Description
        Blocks an account in such a way that no postings or comments this account writes are accepted to this node.
+       You can provide a optional reason for the block.
 
 Options
     -h|--help|-? Show help information
@@ -52,7 +53,7 @@ HELP;
                        return 0;
                }
 
-               if (count($this->args) > 1) {
+               if (count($this->args) > 2) {
                        throw new \Asika\SimpleConsole\CommandArgsException('Too many arguments');
                }
 
@@ -60,11 +61,13 @@ HELP;
                        throw new \RuntimeException('Database isn\'t ready or populated yet');
                }
 
-               $contact_id = Contact::getIdForURL($this->getArgument(0));
-               if (!$contact_id) {
+               $contact_url = Contact::getIdForURL($this->getArgument(0));
+               if (!$contact_url) {
                        throw new \RuntimeException(L10n::t('Could not find any contact entry for this URL (%s)', $this->getArgument(0)));
                }
-               if(Contact::block($contact_id)) {
+
+               $block_reason = $this->getArgument(1);
+               if(Contact::block($contact_url, $block_reason)) {
                        $this->out(L10n::t('The contact has been blocked from the node'));
                } else {
                        throw new \RuntimeException('The contact block failed.');