3 namespace Wallabag\CoreBundle\Entity
;
5 use Doctrine\Common\Collections\ArrayCollection
;
6 use Doctrine\ORM\Mapping
as ORM
;
7 use Symfony\Component\Validator\Constraints
as Assert
;
8 use Wallabag\UserBundle\Entity\User
;
13 * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\ConfigRepository")
17 * @ORM\Index(name="config_feed_token", columns={"feed_token"}, options={"lengths"={255}}),
24 const REDIRECT_TO_HOMEPAGE
= 0;
25 const REDIRECT_TO_CURRENT_PAGE
= 1;
30 * @ORM\Column(name="id", type="integer")
32 * @ORM\GeneratedValue(strategy="AUTO")
40 * @ORM\Column(name="theme", type="string", nullable=false)
51 * maxMessage = "validator.item_per_page_too_high"
53 * @ORM\Column(name="items_per_page", type="integer", nullable=false)
55 private $itemsPerPage;
61 * @ORM\Column(name="language", type="string", nullable=false)
68 * @ORM\Column(name="feed_token", type="string", nullable=true)
75 * @ORM\Column(name="feed_limit", type="integer", nullable=true)
79 * maxMessage = "validator.feed_limit_too_high"
87 * @ORM\Column(name="reading_speed", type="float", nullable=true)
89 private $readingSpeed;
94 * @ORM\Column(name="pocket_consumer_key", type="string", nullable=true)
96 private $pocketConsumerKey;
101 * @ORM\Column(name="action_mark_as_read", type="integer", nullable=true, options={"default" = 0})
103 private $actionMarkAsRead;
108 * @ORM\Column(name="list_mode", type="integer", nullable=true)
113 * @ORM\OneToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="config")
118 * @ORM\OneToMany(targetEntity="Wallabag\CoreBundle\Entity\TaggingRule", mappedBy="config", cascade={"remove"})
119 * @ORM\OrderBy({"id" = "ASC"})
121 private $taggingRules;
126 public function __construct(User
$user)
129 $this->taggingRules
= new ArrayCollection();
137 public function getId()
145 * @param string $theme
149 public function setTheme($theme)
151 $this->theme
= $theme;
161 public function getTheme()
169 * @param int $itemsPerPage
173 public function setItemsPerPage($itemsPerPage)
175 $this->itemsPerPage
= $itemsPerPage;
185 public function getItemsPerPage()
187 return $this->itemsPerPage
;
193 * @param string $language
197 public function setLanguage($language)
199 $this->language
= $language;
209 public function getLanguage()
211 return $this->language
;
221 public function setUser(User
$user = null)
233 public function getUser()
241 * @param string $feedToken
245 public function setFeedToken($feedToken)
247 $this->feedToken
= $feedToken;
257 public function getFeedToken()
259 return $this->feedToken
;
265 * @param int $feedLimit
269 public function setFeedLimit($feedLimit)
271 $this->feedLimit
= $feedLimit;
281 public function getFeedLimit()
283 return $this->feedLimit
;
289 * @param float $readingSpeed
293 public function setReadingSpeed($readingSpeed)
295 $this->readingSpeed
= $readingSpeed;
305 public function getReadingSpeed()
307 return $this->readingSpeed
;
311 * Set pocketConsumerKey.
313 * @param string $pocketConsumerKey
317 public function setPocketConsumerKey($pocketConsumerKey)
319 $this->pocketConsumerKey
= $pocketConsumerKey;
325 * Get pocketConsumerKey.
329 public function getPocketConsumerKey()
331 return $this->pocketConsumerKey
;
337 public function getActionMarkAsRead()
339 return $this->actionMarkAsRead
;
343 * @param int $actionMarkAsRead
347 public function setActionMarkAsRead($actionMarkAsRead)
349 $this->actionMarkAsRead
= $actionMarkAsRead;
357 public function getListMode()
359 return $this->listMode
;
363 * @param int $listMode
367 public function setListMode($listMode)
369 $this->listMode
= $listMode;
375 * @param TaggingRule $rule
379 public function addTaggingRule(TaggingRule
$rule)
381 $this->taggingRules
[] = $rule;
387 * @return ArrayCollection<TaggingRule>
389 public function getTaggingRules()
391 return $this->taggingRules
;