private function setChronicleData(ChronicleForm $form, Chronicle $chronicle)
 {
     $globalContext = new \Sb\Context\Model\Context();
     $book = BookDao::getInstance()->get($form->getChronicleBookId());
     $chronicle->setBook($book);
     $group = GroupDao::getInstance()->get($form->getChronicleGroupId());
     $chronicle->setGroup($group);
     if ($form->getChronicleImage()) {
         $fullImageName = $this->getImageUrl($form->getChronicleGroupId()) . "/" . $form->getChronicleImage();
         $chronicle->setImage($fullImageName);
     }
     $chronicle->setIs_validated(true);
     $chronicle->setKeywords($form->getChronicleKeywords());
     $chronicle->setLink($form->getChronicleLink());
     $tag = TagDao::getInstance()->get($form->getChronicleTagId());
     $chronicle->setTag($tag);
     $chronicle->setText($form->getChronicleText());
     $chronicle->setTitle($form->getChronicleTitle());
     $chronicle->setType_id($form->getChronicleType());
     $chronicle->setUser($globalContext->getConnectedUser());
     $chronicle->setLink_type($form->getChronicleLinkType());
 }
示例#2
0
 /**
  * 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);
 }