]> git.mxchange.org Git - friendica.git/blobdiff - src/Core/Console/PostUpdate.php
Reorganize Protocol constants
[friendica.git] / src / Core / Console / PostUpdate.php
index 97c19b0c1ea93a4f3fc5a6b70dbc733205e55923..3162a725c00fd212a77d5905f15886883ac44423 100644 (file)
@@ -3,6 +3,7 @@
 namespace Friendica\Core\Console;
 
 use Friendica\Core\L10n;
+use Friendica\Core\Config;
 
 /**
  * @brief tool to block an account from the node
@@ -17,12 +18,39 @@ use Friendica\Core\L10n;
  */
 class PostUpdate extends \Asika\SimpleConsole\Console
 {
+        protected $helpOptions = ['h', 'help', '?'];
+
+        protected function getHelp()
+        {
+                $help = <<<HELP
+console postupdate - Performs database post updates
+Usage
+        bin/console postupdate [-h|--help|-?] [--reset <version>]
+
+Options
+    -h|--help|-?      Show help information
+    --reset <version> Reset the post update version
+HELP;
+                return $help;
+        }
+
        protected function doExecute()
        {
                $a = get_app();
 
-               if (count($this->args) > 0) {
-                       throw new \Asika\SimpleConsole\CommandArgsException('Too many arguments');
+               if ($this->getOption($this->helpOptions)) {
+                       $this->out($this->getHelp());
+                       return 0;
+               }
+
+               $reset_version = $this->getOption('reset');
+               if (is_bool($reset_version)) {
+                       $this->out($this->getHelp());
+                       return 0;
+               } elseif ($reset_version) {
+                       Config::set('system', 'post_update_version', $reset_version);
+                       echo L10n::t('Post update version number has been set to %s.', $reset_version) . "\n";
+                       return 0;
                }
 
                if ($a->isInstallMode()) {