diff --git a/system/typemill/Controllers/ControllerApiAuthorArticle.php b/system/typemill/Controllers/ControllerApiAuthorArticle.php index 7d19cc0..b7759af 100644 --- a/system/typemill/Controllers/ControllerApiAuthorArticle.php +++ b/system/typemill/Controllers/ControllerApiAuthorArticle.php @@ -332,7 +332,7 @@ class ControllerApiAuthorArticle extends Controller # META is important e.g. for newsletter, so send it, too $meta = new Meta(); $metadata = $meta->getMetaData($item); - $metadata = $meta->addMetaDefaults($metadata, $item, $this->settings['author']); + $metadata = $meta->addMetaDefaults($metadata, $item, $this->settings['author'], $request->getAttribute('c_username')); # $metadata = $meta->addMetaTitleDescription($metadata, $item, $markdownArray); # dispatch event, e.g. send newsletter and more diff --git a/system/typemill/Controllers/ControllerApiAuthorMeta.php b/system/typemill/Controllers/ControllerApiAuthorMeta.php index 369588f..5d675ad 100644 --- a/system/typemill/Controllers/ControllerApiAuthorMeta.php +++ b/system/typemill/Controllers/ControllerApiAuthorMeta.php @@ -33,9 +33,15 @@ class ControllerApiAuthorMeta extends Controller $metadata = $meta->getMetaData($item); - if(!$metadata) + if(!$metadata or !isset($metadata['meta']['owner']) OR !$metadata['meta']['owner']) { - $metadata = $meta->addMetaDefaults($metadata, $item, $this->settings['author']); + $metadata = $meta->addMetaDefaults($metadata, $item, $this->settings['author'], $request->getAttribute('c_username')); + } + + #fix for version 1 because owner in meta is often 'false' + if(!isset($metadata['meta']['owner']) OR !$metadata['meta']['owner']) + { + $metadata = $meta->addMetaDefaults($metadata, $item, $this->settings['author'], $request->getAttribute('c_username')); } # if user is not allowed to perform this action (e.g. not admin) diff --git a/system/typemill/Models/Meta.php b/system/typemill/Models/Meta.php index c4f0eec..bef62a1 100644 --- a/system/typemill/Models/Meta.php +++ b/system/typemill/Models/Meta.php @@ -20,7 +20,7 @@ class Meta public function getMetaData($item) { $metadata = $this->storage->getYaml('contentFolder', '', $item->pathWithoutType . '.yaml'); - + return $metadata; } @@ -116,10 +116,13 @@ class Meta $meta['meta'] = []; } - if(!isset($meta['meta']['owner'])) + if(!isset($meta['meta']['owner']) OR !$meta['meta']['owner']) { - $meta['meta']['owner'] = $currentuser; - $modified = true; + if($currentuser) + { + $meta['meta']['owner'] = $currentuser; + $modified = true; + } } if(!isset($meta['meta']['author']))