/** * {@inheritdoc} */ public function up() { //Migrate comma separated tags into BlogTag objects. foreach ($this->TagNames() as $tag) { $existingTag = BlogTag::get()->filter(array('Title' => $tag, 'BlogID' => $this->ParentID)); if ($existingTag->count()) { //if tag already exists we will simply add it to this post. $tagObject = $existingTag->First(); } else { //if the tag is now we create it and add it to this post. $tagObject = new BlogTag(); $tagObject->Title = $tag; $tagObject->BlogID = $this->ParentID; $tagObject->write(); } if ($tagObject) { $this->Tags()->add($tagObject); } } //Store if the original entity was published or not (draft) $published = $this->IsPublished(); // If a user has subclassed BlogEntry, it should not be turned into a BlogPost. if ($this->ClassName === 'BlogEntry') { $this->ClassName = 'BlogPost'; $this->RecordClassName = 'BlogPost'; } //Migrate these key data attributes $this->PublishDate = $this->Date; $this->AuthorNames = $this->Author; $this->InheritSideBar = true; //Write and additionally publish the item if it was published before. $this->write(); if ($published) { $this->publish('Stage', 'Live'); $message = "PUBLISHED: "; } else { $message = "DRAFT: "; } return $message . $this->Title; }