public function getId() { if ($this->__isInitialized__ === false) { return (int) $this->_identifier["id"]; } $this->__load(); return parent::getId(); }
public function prepareUserBookEvents(UserBook $oldUserBook, UserBookForm $newUserBook) { $userEvents = array(); try { if ($oldUserBook->getRating() != $newUserBook->getRating()) { $userEvent = new \Sb\Db\Model\UserEvent(); $userEvent->setItem_id($oldUserBook->getId()); $userEvent->setUser($oldUserBook->getUser()); $userEvent->setNew_value($newUserBook->getRating()); $userEvent->setOld_value($oldUserBook->getRating()); $userEvent->setType_id(\Sb\Entity\EventTypes::USERBOOK_RATING_CHANGE); $userEvents[] = $userEvent; } if ($oldUserBook->getIsBlowOfHeart() != $newUserBook->getIsBlowOfHeart()) { $userEvent = new \Sb\Db\Model\UserEvent(); $userEvent->setItem_id($oldUserBook->getId()); $userEvent->setUser($oldUserBook->getUser()); $userEvent->setNew_value($newUserBook->getIsBlowOfHeart()); $userEvent->setOld_value($oldUserBook->getIsBlowOfHeart()); $userEvent->setType_id(\Sb\Entity\EventTypes::USERBOOK_BLOWOFHEART_CHANGE); $userEvents[] = $userEvent; } if ($oldUserBook->getHyperlink() != $newUserBook->getHyperLink()) { $userEvent = new \Sb\Db\Model\UserEvent(); $userEvent->setItem_id($oldUserBook->getId()); $userEvent->setUser($oldUserBook->getUser()); // Removing http:// or https:// from url $newHyperlink = str_replace("http://", "", $newUserBook->getHyperLink()); $newHyperlink = str_replace("https://", "", $newHyperlink); $userEvent->setNew_value($newHyperlink); $userEvent->setOld_value($oldUserBook->getHyperlink()); $userEvent->setType_id(\Sb\Entity\EventTypes::USERBOOK_HYPERLINK_CHANGE); $userEvents[] = $userEvent; } $oldReadingStateId = $oldUserBook->getReadingState() ? $oldUserBook->getReadingState()->getId() : -1; if ($oldReadingStateId != $newUserBook->getReadingStateId()) { $userEvent = new \Sb\Db\Model\UserEvent(); $userEvent->setItem_id($oldUserBook->getId()); $userEvent->setUser($oldUserBook->getUser()); $userEvent->setNew_value($newUserBook->getReadingStateId()); $userEvent->setOld_value($oldUserBook->getReadingState() ? $oldUserBook->getReadingState()->getId() : null); $userEvent->setType_id(\Sb\Entity\EventTypes::USERBOOK_READINGSTATE_CHANGE); $userEvents[] = $userEvent; } if ($oldUserBook->getReview() != $newUserBook->getReview()) { $userEvent = new \Sb\Db\Model\UserEvent(); $userEvent->setItem_id($oldUserBook->getId()); $userEvent->setUser($oldUserBook->getUser()); $userEvent->setNew_value($newUserBook->getReview()); $userEvent->setOld_value($oldUserBook->getReview()); $userEvent->setType_id(\Sb\Entity\EventTypes::USERBOOK_REVIEW_CHANGE); $userEvents[] = $userEvent; } if ($oldUserBook->getIsWished() != $newUserBook->getIsWished()) { $userEvent = new \Sb\Db\Model\UserEvent(); $userEvent->setItem_id($oldUserBook->getId()); $userEvent->setUser($oldUserBook->getUser()); $userEvent->setNew_value($newUserBook->getIsWished()); $userEvent->setOld_value($oldUserBook->getIsWished()); $userEvent->setType_id(\Sb\Entity\EventTypes::USERBOOK_WISHEDSTATE_CHANGE); $userEvents[] = $userEvent; } } catch (\Exception $exc) { Trace::addItem("Une erreur s'est produite lors de la préparation des événements liés au userbook"); } return $userEvents; }
public static function getStatusPictos(\Sb\Db\Model\UserBook $userBook, $friendLibraryView = false) { $config = self::getConfig(); $lendings = $userBook->getLendings(); $borrowings = $userBook->getBorrowings(); // var_dump($lending); $isBorrowed = false; $isLent = false; $isOwned = $userBook->getIsOwned(); $isWished = $userBook->getIsWished(); $borrowedOnce = $userBook->getBorrowedOnce(); $link = \Sb\Helpers\HTTPHelper::Link(\Sb\Entity\Urls::LENDING_EDIT, array("ubid" => $userBook->getId())); $borrowerName = ""; $lenderName = ""; $lendingStartDate = ""; $borrowingStartDate = ""; $oneActiveLending = false; $oneActiveBorrowing = false; $oneLendingWaitingInactivation = false; if ($lendings) { $lending = new \Sb\Db\Model\Lending(); foreach ($lendings as $lending) { if ($lending->getState() != \Sb\Lending\Model\LendingState::IN_ACTIVE) { $oneActiveLending = true; $borrowerName = $lending->getBorrower_userbook()->getUser()->getFirstName() . " " . $lending->getBorrower_userbook()->getUser()->getLastName(); $lendingStartDate = $lending->getStartDate()->format(__("d/m/Y", "s1b")); } if ($lending->getState() == \Sb\Lending\Model\LendingState::WAITING_INACTIVATION) { $oneLendingWaitingInactivation = true; } } } if ($borrowings) { $borrowing = new \Sb\Db\Model\Lending(); foreach ($borrowings as $borrowing) { if ($borrowing->getState() != \Sb\Lending\Model\LendingState::IN_ACTIVE) { $oneActiveBorrowing = true; if ($borrowing->getUserbook()) { $lenderName = $borrowing->getUserbook()->getUser()->getFirstName() . " " . $borrowing->getUserBook()->getUser()->getLastName(); } elseif ($borrowing->getGuest()) { $lenderName = sprintf("%s (invité)", $borrowing->getGuest()->getName()); } $borrowingStartDate = $borrowing->getStartDate()->format(__("d/m/Y", "s1b")); } // if ($borrowing->getState() == \Sb\Lending\Model\LendingState::WAITING_INACTIVATION) { // $oneLendingWaitingInactivation = true; // } } } // Y'a t'il un prêt en cours pour ce livre ? if ($oneActiveLending) { $editLendingInfo = sprintf("Prêté à %s depuis le %s", $borrowerName, $lendingStartDate); $isLent = true; } elseif ($oneActiveBorrowing) { $editLendingInfo = sprintf("Emprunté à %s depuis le %s", $lenderName, $borrowingStartDate); $isBorrowed = true; } else { $editLendingInfo = __("Prétez ce livre", "s1b"); } $pictos = ""; if ($isOwned) { $pictos .= \Sb\Helpers\BooksHelper::getStatusPicto(\Sb\Helpers\BooksHelper::PICTO_OWNED); } if ($isWished) { $pictos .= \Sb\Helpers\BooksHelper::getStatusPicto(\Sb\Helpers\BooksHelper::PICTO_WISHED); } if ($isLent) { if ($friendLibraryView) { $pictos .= \Sb\Helpers\BooksHelper::getStatusPicto(\Sb\Helpers\BooksHelper::PICTO_LENT); } else { $pictos .= sprintf("<a href=\"%s\" title=\"%s\">%s</a>", $link, $editLendingInfo, \Sb\Helpers\BooksHelper::getStatusPicto(\Sb\Helpers\BooksHelper::PICTO_LENT)); } } if ($isBorrowed) { if ($friendLibraryView) { $pictos .= \Sb\Helpers\BooksHelper::getStatusPicto(\Sb\Helpers\BooksHelper::PICTO_BORROWED); } else { $pictos .= sprintf("<a href=\"%s\" title=\"%s\">%s</a>", $link, $editLendingInfo, \Sb\Helpers\BooksHelper::getStatusPicto(\Sb\Helpers\BooksHelper::PICTO_BORROWED)); } } if (!$friendLibraryView) { if ($isOwned && !$isLent && !$isBorrowed && !$isWished) { if ($friendLibraryView) { $pictos .= \Sb\Helpers\BooksHelper::getStatusPicto(\Sb\Helpers\BooksHelper::PICTO_LENDING); } else { $pictos .= sprintf("<a href=\"%s\" title=\"%s\">%s</a>", $link, $editLendingInfo, \Sb\Helpers\BooksHelper::getStatusPicto(\Sb\Helpers\BooksHelper::PICTO_LENDING)); } } } if ($oneLendingWaitingInactivation) { $pictos .= sprintf("<a href=\"%s\" title=\"%s\">%s</a>", $link, $editLendingInfo, \Sb\Helpers\BooksHelper::getStatusPicto(\Sb\Helpers\BooksHelper::PICTO_RETURN_TO_VALIDATE)); } // if (!$isBorrowed && $borrowedOnce) // $pictos.=sprintf("<span title=\"%s\">%s</span>", __("Ce livre a fait l'objet d'un emprunt dans le passé.", "s1b"), \Sb\Helpers\BooksHelper::getStatusPicto(\Sb\Helpers\BooksHelper::PICTO_BORROWED_ONCE)); return $pictos; }