Esempio n. 1
0
 /**
  *
  * @param type $id
  * @return boolean
  */
 public function delete(\Sb\Db\Model\UserBook $userBook)
 {
     $ratingDiff = 0;
     if ($userBook->getRating()) {
         $ratingDiff = -$userBook->getRating();
     }
     $blowOfHeartToRemove = false;
     if ($userBook->getIsBlowOfHeart()) {
         $blowOfHeartToRemove = true;
     }
     $userBook->getBook()->updateAggregateFields($ratingDiff, false, true, false, $blowOfHeartToRemove);
     $userBook->setIs_deleted(true);
     $this->entityManager->persist($userBook->getBook());
     $this->entityManager->persist($userBook);
     $this->entityManager->flush();
     return true;
 }
Esempio n. 2
0
 function __construct($showingConnectedUserBook, \Sb\Db\Model\UserBook $userBook = null)
 {
     parent::__construct();
     if ($userBook) {
         $this->userBook = $userBook;
         $this->book = $userBook->getBook();
         $this->user = $userBook->getUser();
     }
     $this->showingConnectedUserBook = $showingConnectedUserBook;
 }
Esempio n. 3
0
 function __construct(UserBook $userbook)
 {
     parent::__construct();
     $this->book = $userbook->getBook();
     $this->userbook = $userbook;
 }
Esempio n. 4
0
 private function getBook(UserBook $userBook)
 {
     return $userBook->getBook();
 }
Esempio n. 5
0
 function firstLetterFromAuthor(UserBook $userBook)
 {
     return strtoupper(substr($userBook->getBook()->getOrderableContributors(), 0, 1));
 }
Esempio n. 6
0
 private static function isBookValidForSearch(\Sb\Db\Model\UserBook $userBook)
 {
     $book = $userBook->getBook();
     $ret = false;
     $pattern = "/" . self::$searchValue . "/i";
     if ($book) {
         if (preg_match($pattern, $book->getTitle())) {
             \Sb\Trace\Trace::addItem("trouvé => pattern : " . $pattern . " dans :" . $book->getTitle());
             $ret = true;
         }
         if (preg_match($pattern, $book->getOrderableContributors())) {
             \Sb\Trace\Trace::addItem("trouvé => pattern : " . $pattern . " dans :" . $book->getOrderableContributors());
             $ret = true;
         }
     }
     return $ret;
 }
Esempio n. 7
0
 private function getBookTitle(UserBook $userbook)
 {
     return $userbook->getBook()->getTitle();
 }
Esempio n. 8
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);
 }
 public function getBook()
 {
     $this->__load();
     return parent::getBook();
 }