/** * Create a post revision * * @param int $id * @param string $newTitle * @param string $newContent * @param Post $new post object * @param boolean $force */ public function create($currentTitle, $currentContent, Post $new, $force = false) { if (!$force) { if ($currentTitle == $new->getTitle() && $currentContent == $new->getContent()) { return; } } $em = $this->controller->getDoctrine()->getManager(); //create new $post = new Post(); $post->setTitle($currentTitle); $post->setContent($currentContent); $post->setType('history:' . $new->getId()); $post->setSlug($new->getSlug()); $post->setCreatedAt(new \DateTime()); $post->setUpdatedAt(new \DateTime()); $post->setDeletedAt(new \DateTime('0000-00-00')); $post->setPublishedAt($new->getPublishedAt()); $post->setStatus($new->getStatus()); $post->setUser($this->controller->getUser()); $em->persist($post); $em->flush(); }