X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FEntity%2FEntry.php;h=f88d189d3f6e376f08fec5851999d478c0dede8d;hb=refs%2Fpull%2F1403%2Fhead;hp=e0d1b839c6a43d0a6100238d9e057b3797d08514;hpb=0a018fe03980b35c9f7aca838e67a8efa43b7f2d;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Entity/Entry.php b/src/Wallabag/CoreBundle/Entity/Entry.php index e0d1b839..f88d189d 100644 --- a/src/Wallabag/CoreBundle/Entity/Entry.php +++ b/src/Wallabag/CoreBundle/Entity/Entry.php @@ -7,13 +7,14 @@ use Doctrine\ORM\Mapping as ORM; use Symfony\Component\Validator\Constraints as Assert; use Hateoas\Configuration\Annotation as Hateoas; use JMS\Serializer\Annotation\XmlRoot; +use Wallabag\CoreBundle\Tools\Utils; /** - * Entry + * Entry. * * @XmlRoot("entry") * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\EntryRepository") - * @ORM\Table(name="entry") + * @ORM\Table * @ORM\HasLifecycleCallbacks() * @Hateoas\Relation("self", href = "expr('/api/entries/' ~ object.getId())") */ @@ -21,7 +22,7 @@ class Entry { /** @Serializer\XmlAttribute */ /** - * @var integer + * @var int * * @ORM\Column(name="id", type="integer") * @ORM\Id @@ -45,14 +46,14 @@ class Entry private $url; /** - * @var boolean + * @var bool * * @ORM\Column(name="is_archived", type="boolean") */ private $isArchived = false; /** - * @var boolean + * @var bool * * @ORM\Column(name="is_starred", type="boolean") */ @@ -94,9 +95,9 @@ class Entry private $mimetype; /** - * @var integer + * @var int * - * @ORM\Column(name="reading_type", type="integer", nullable=true) + * @ORM\Column(name="reading_time", type="integer", nullable=true) */ private $readingTime; @@ -108,7 +109,7 @@ class Entry private $domainName; /** - * @var boolean + * @var bool * * @ORM\Column(name="is_public", type="boolean", nullable=true, options={"default" = false}) */ @@ -120,11 +121,8 @@ class Entry private $user; /** - * @ORM\ManyToMany(targetEntity="Tag", inversedBy="entries", cascade={"persist", "merge"}) - * @ORM\JoinTable(name="tags_entries", - * joinColumns={@ORM\JoinColumn(name="entry_id", referencedColumnName="id")}, - * inverseJoinColumns={@ORM\JoinColumn(name="tag_id", referencedColumnName="id")} - * ) + * @ORM\ManyToMany(targetEntity="Tag", inversedBy="entries", cascade={"persist"}) + * @ORM\JoinTable */ private $tags; @@ -138,9 +136,9 @@ class Entry } /** - * Get id + * Get id. * - * @return integer + * @return int */ public function getId() { @@ -148,9 +146,10 @@ class Entry } /** - * Set title + * Set title. + * + * @param string $title * - * @param string $title * @return Entry */ public function setTitle($title) @@ -161,7 +160,7 @@ class Entry } /** - * Get title + * Get title. * * @return string */ @@ -171,9 +170,10 @@ class Entry } /** - * Set url + * Set url. + * + * @param string $url * - * @param string $url * @return Entry */ public function setUrl($url) @@ -184,7 +184,7 @@ class Entry } /** - * Get url + * Get url. * * @return string */ @@ -194,9 +194,10 @@ class Entry } /** - * Set isArchived + * Set isArchived. + * + * @param string $isArchived * - * @param string $isArchived * @return Entry */ public function setArchived($isArchived) @@ -207,7 +208,7 @@ class Entry } /** - * Get isArchived + * Get isArchived. * * @return string */ @@ -224,9 +225,10 @@ class Entry } /** - * Set isStarred + * Set isStarred. + * + * @param string $isStarred * - * @param string $isStarred * @return Entry */ public function setStarred($isStarred) @@ -237,7 +239,7 @@ class Entry } /** - * Get isStarred + * Get isStarred. * * @return string */ @@ -254,20 +256,23 @@ class Entry } /** - * Set content + * Set content. + * + * @param string $content * - * @param string $content * @return Entry */ public function setContent($content) { $this->content = $content; + $this->readingTime = Utils::getReadingTime($content); + $this->domainName = parse_url($this->url, PHP_URL_HOST); return $this; } /** - * Get content + * Get content. * * @return string */ @@ -378,7 +383,7 @@ class Entry } /** - * @return boolean + * @return bool */ public function isPublic() { @@ -386,9 +391,9 @@ class Entry } /** - * @param boolean $isPublic + * @param bool $isPublic */ - public function setPublic($isPublic) + public function setIsPublic($isPublic) { $this->isPublic = $isPublic; } @@ -407,5 +412,11 @@ class Entry public function addTag(Tag $tag) { $this->tags[] = $tag; + $tag->addEntry($this); + } + + public function removeTag(Tag $tag) + { + $this->tags->removeElement($tag); } }