'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(
+ 'direct_upload',
+ array(
+ 'long_name' => '--direct-upload',
+ 'description' => 'Ignore media endpoint at file upload',
+ 'action' => 'StoreTrue',
+ 'default' => false,
+ )
+ );
+ $cmd->addOption(
+ 'name',
+ array(
+ 'short_name' => '-n',
+ 'long_name' => '--name',
+ 'description' => 'Post title',
+ 'help_name' => 'TITLE',
+ 'action' => 'StoreString',
+ 'default' => null,
+ )
+ );
$cmd->addOption(
'published',
array(
'default' => null,
)
);
+ $cmd->addOption(
+ 'updated',
+ array(
+ 'long_name' => '--updated',
+ 'description' => 'Update date',
+ 'help_name' => 'DATE',
+ 'action' => 'StoreString',
+ 'default' => null,
+ )
+ );
$cmd->addOption(
'slug',
array(
$cmd->addOption(
'syndication',
array(
- 'short_name' => '-s',
+ 'short_name' => '-u',
'long_name' => '--syndication',
'description' => 'Syndication URL(s)',
'help_name' => 'URL',
'default' => [],
)
);
+ static::addOptJson($cmd);
+ }
+
+ protected static function addOptHtml(\Console_CommandLine_Command $cmd)
+ {
+ $cmd->addOption(
+ 'html',
+ array(
+ 'long_name' => '--html',
+ 'description' => 'Text content is HTML',
+ 'action' => 'StoreTrue',
+ 'default' => false,
+ )
+ );
+ }
+
+ 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(
+ $req->addProperty(
'published', $cmdRes->options['published']
);
}
+ if ($cmdRes->options['updated'] !== null) {
+ $req->addProperty(
+ 'updated', $cmdRes->options['updated']
+ );
+ }
if (count($cmdRes->options['categories'])) {
- $req->addPostParameter(
+ $req->addProperty(
'category', $cmdRes->options['categories']
);
}
+ if ($cmdRes->options['name'] !== null) {
+ $req->addProperty(
+ 'name', $cmdRes->options['name']
+ );
+ }
if ($cmdRes->options['slug'] !== null) {
- $req->req->addPostParameter(
+ $req->addProperty(
'slug', $cmdRes->options['slug']
);
}
if (count($cmdRes->options['syndication'])) {
- $req->addPostParameter(
+ $req->addProperty(
'syndication', $cmdRes->options['syndication']
);
}
+ $req->setDirectUpload($cmdRes->options['direct_upload']);
$this->handleFiles($cmdRes, $req);
if (count($cmdRes->options['x'])) {
$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;
}
foreach ($postParams as $propkey => $propvals) {
- $req->addPostParameter($propkey, $propvals);
+ $req->addProperty($propkey, $propvals);
}
}
}
+ protected function handleOptJson(
+ \Console_CommandLine_Result $cmdRes, Request $req
+ ) {
+ $req->setSendAsJson($cmdRes->options['json']);
+ }
+
protected function handleFiles(
\Console_CommandLine_Result $cmdRes, Request $req
) {
foreach ($files as $filePath) {
if (strpos($filePath, '://') !== false) {
//url
+ $urlPath = parse_url($filePath, PHP_URL_PATH);
$mte = new \MIME_Type_Extension();
- $mimetype = $mte->getMIMEType($filePath);
+ $mimetype = $mte->getMIMEType($urlPath);
$media = \MIME_Type::getMedia($mimetype);
if (!isset($urlList[$media])) {
Log::err('File type not allowed: ' . $mimetype);
if ($type == 'image') {
$type = 'photo';
}
- if (count($urls) == 1) {
- $req->req->addPostParameter($type, reset($urls));
- } else if (count($urls) > 1) {
- $n = 0;
- foreach ($urls as $url) {
- $req->req->addPostParameter(
- $type . '[' . $n++ . ']', $url
- );
- }
+ if (count($urls) > 0) {
+ $req->addProperty($type, $urls);
}
}
foreach ($fileList as $type => $filePaths) {
if ($type == 'image') {
$type = 'photo';
}
- if (count($filePaths) == 1) {
- $req->addUpload($type, reset($filePaths));
- } else if (count($filePaths) > 0) {
+ if (count($filePaths) > 0) {
$req->addUpload($type, $filePaths);
}
}