git.cweiske.de
/
shpub.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
move constructor to command base class
[shpub.git]
/
src
/
shpub
/
Command
/
Like.php
diff --git
a/src/shpub/Command/Like.php
b/src/shpub/Command/Like.php
index 26f615a163e8d5e2f7643a71e866b58d70d1c441..65020dc04cd832f57e8d6cc95929729bcccf7486 100644
(file)
--- a/
src/shpub/Command/Like.php
+++ b/
src/shpub/Command/Like.php
@@
-1,42
+1,43
@@
<?php
namespace shpub;
<?php
namespace shpub;
-class Command_Like
+class Command_Like
extends Command_AbstractProps
{
{
- /**
- * @var Config
- */
- protected $cfg;
-
- public function __construct($cfg)
+ public static function opts(\Console_CommandLine $optParser)
{
{
- $this->cfg = $cfg;
+ $cmd = $optParser->addCommand('like');
+ static::optsGeneric($cmd);
+ $cmd->addArgument(
+ 'url',
+ [
+ 'optional' => false,
+ 'description' => 'URL that is liked',
+ ]
+ );
}
}
- public function run(
$url
)
+ public function run(
\Console_CommandLine_Result $cmdRes
)
{
{
- $url = Validator::url($
url
, 'url');
+ $url = Validator::url($
cmdRes->args['url']
, 'url');
if ($url === false) {
exit(10);
}
if ($url === false) {
exit(10);
}
- $body = http_build_query(
- [
- 'h' => 'entry',
- 'like-of' => $url,
- ]
- );
-
$req = new Request($this->cfg->host, $this->cfg);
$req = new Request($this->cfg->host, $this->cfg);
- $res = $req->send($body);
+ $req->req->addPostParameter('h', 'entry');
+ $req->req->addPostParameter('like-of', $url);
+
+ $this->handleGenericOptions($cmdRes, $req);
+ $res = $req->send();
+
$postUrl = $res->getHeader('Location');
if ($postUrl === null) {
Log::err('Error: Server sent no "Location" header and said:');
Log::err($res->getBody());
exit(20);
} else {
$postUrl = $res->getHeader('Location');
if ($postUrl === null) {
Log::err('Error: Server sent no "Location" header and said:');
Log::err($res->getBody());
exit(20);
} else {
-
echo "Like created at server\n"
;
-
echo $postUrl . "\n"
;
+
Log::info('Like created at server')
;
+
Log::msg($postUrl)
;
}
}
}
}
}
}