/** * Add or update a chronicle based on a userbook review * * @param \Sb\Db\Model\UserBook $userBook * @param unknown $groupId */ public function addOrUpdateFromUserBook(\Sb\Db\Model\UserBook $userBook) { $bloggerGroupId = 2; /* @var $user \Sb\Db\Model\User */ $user = $userBook->getUser(); /* @var $user \Sb\Db\Model\Book */ $book = $userBook->getBook(); /* @var $existingChronicle \Sb\Db\Model\Chronicle */ $chronicle = $this->getChronicle($user->getId(), $book->getId()); if (is_null($chronicle)) { $chronicle = new Chronicle(); } $chronicle->setUser($user); $chronicle->setBook($userBook->getBook()); $chronicle->setCreation_date(new \DateTime()); $chronicle->setGroup(\Sb\Db\Dao\GroupDao::getInstance()->get($bloggerGroupId)); $chronicle->setIs_validated(true); $chronicle->setLink($userBook->getHyperlink() ? 'http://' . $userBook->getHyperlink() : ''); $chronicle->setLink_type(ChronicleLinkType::URL); $chronicle->setText($userBook->getReview()); $chronicle->setTitle($book->getTitle()); $chronicle->setType_id(ChronicleType::BOOK_CHRONICLE); $chronicle->setKeywords($book->getTitle() . ', ' . $book->getOrderableContributors() . ', ' . $book->getPublisher()->getName()); $tags = $userBook->getTags(); if (count($tags) > 0) { $chronicle->setTag($userBook->getTags()->first()); } $this->getDao()->add($chronicle); }
public function getTags() { $this->__load(); return parent::getTags(); }