X-Git-Url: https://git.cweiske.de/shpub.git/blobdiff_plain/f46e4d3108d944bcf86f5905780f1fcfd441c036..059c6ab77b8e63210b9afc266d62c9f543d4d7ae:/src/shpub/Command/AbstractProps.php diff --git a/src/shpub/Command/AbstractProps.php b/src/shpub/Command/AbstractProps.php index 6d7ef3b..c9ea8bb 100644 --- a/src/shpub/Command/AbstractProps.php +++ b/src/shpub/Command/AbstractProps.php @@ -33,13 +33,24 @@ class Command_AbstractProps 'files', array( 'short_name' => '-f', - 'long_name' => '--files', + 'long_name' => '--file', 'description' => 'Files or URLs to upload', 'help_name' => 'PATH', 'action' => 'StoreArray', 'default' => [], ) ); + $cmd->addOption( + 'name', + array( + 'short_name' => '-n', + 'long_name' => '--name', + 'description' => 'Post title', + 'help_name' => 'TITLE', + 'action' => 'StoreString', + 'default' => null, + ) + ); $cmd->addOption( 'published', array( @@ -50,6 +61,16 @@ class Command_AbstractProps 'default' => null, ) ); + $cmd->addOption( + 'updated', + array( + 'long_name' => '--updated', + 'description' => 'Update date', + 'help_name' => 'DATE', + 'action' => 'StoreString', + 'default' => null, + ) + ); $cmd->addOption( 'slug', array( @@ -83,21 +104,47 @@ class Command_AbstractProps 'default' => [], ) ); + static::addOptJson($cmd); + } + + protected static function addOptJson(\Console_CommandLine_Command $cmd) + { + $cmd->addOption( + 'json', + array( + 'long_name' => '--json', + 'description' => 'Send request data as JSON', + 'action' => 'StoreTrue', + 'default' => false, + ) + ); } protected function handleGenericOptions( \Console_CommandLine_Result $cmdRes, Request $req ) { + $this->handleOptJson($cmdRes, $req); + if ($cmdRes->options['published'] !== null) { $req->req->addPostParameter( 'published', $cmdRes->options['published'] ); } + if ($cmdRes->options['updated'] !== null) { + $req->req->addPostParameter( + 'updated', $cmdRes->options['updated'] + ); + } if (count($cmdRes->options['categories'])) { $req->addPostParameter( 'category', $cmdRes->options['categories'] ); } + if ($cmdRes->options['name'] !== null) { + $req->req->addPostParameter( + 'name', $cmdRes->options['name'] + ); + } if ($cmdRes->options['slug'] !== null) { $req->req->addPostParameter( 'slug', $cmdRes->options['slug'] @@ -115,7 +162,7 @@ class Command_AbstractProps $postParams = []; foreach ($cmdRes->options['x'] as $xproperty) { list($propkey, $propval) = explode('=', $xproperty, 2); - if (!isset($postParams[$propkey] )) { + if (!isset($postParams[$propkey])) { $postParams[$propkey] = []; } $postParams[$propkey][] = $propval; @@ -126,6 +173,12 @@ class Command_AbstractProps } } + protected function handleOptJson( + \Console_CommandLine_Result $cmdRes, Request $req + ) { + $req->setSendAsJson($cmdRes->options['json']); + } + protected function handleFiles( \Console_CommandLine_Result $cmdRes, Request $req ) {