X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FEntity%2FConfig.php;h=fe7942ee261bca550ff3ef2ece24634124c37599;hb=8d4ed0df0633f43fc2d65fef72c36070113844d1;hp=91f9bfe82a4134ab4e3cc47bfcf290a5b8618c95;hpb=ba7b9d48d407f87690a3fdc199b37714d2a52897;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Entity/Config.php b/src/Wallabag/CoreBundle/Entity/Config.php index 91f9bfe8..fe7942ee 100644 --- a/src/Wallabag/CoreBundle/Entity/Config.php +++ b/src/Wallabag/CoreBundle/Entity/Config.php @@ -2,20 +2,29 @@ namespace Wallabag\CoreBundle\Entity; +use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use Symfony\Component\Validator\Constraints as Assert; +use Wallabag\UserBundle\Entity\User; /** - * Config + * Config. * * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\ConfigRepository") - * @ORM\Table(name="config") - * @ORM\Entity + * @ORM\Table( + * name="`config`", + * indexes={ + * @ORM\Index(name="config_feed_token", columns={"feed_token"}, options={"lengths"={255}}), + * } + * ) */ class Config { + const REDIRECT_TO_HOMEPAGE = 0; + const REDIRECT_TO_CURRENT_PAGE = 1; + /** - * @var integer + * @var int * * @ORM\Column(name="id", type="integer") * @ORM\Id @@ -32,12 +41,17 @@ class Config private $theme; /** - * @var string + * @var int * * @Assert\NotBlank() + * @Assert\Range( + * min = 1, + * max = 100000, + * maxMessage = "validator.item_per_page_too_high" + * ) * @ORM\Column(name="items_per_page", type="integer", nullable=false) */ - private $items_per_page; + private $itemsPerPage; /** * @var string @@ -48,24 +62,76 @@ class Config private $language; /** - * @ORM\OneToOne(targetEntity="User", inversedBy="config") + * @var string + * + * @ORM\Column(name="feed_token", type="string", nullable=true) + */ + private $feedToken; + + /** + * @var int + * + * @ORM\Column(name="feed_limit", type="integer", nullable=true) + * @Assert\Range( + * min = 1, + * max = 100000, + * maxMessage = "validator.feed_limit_too_high" + * ) + */ + private $feedLimit; + + /** + * @var float + * + * @ORM\Column(name="reading_speed", type="float", nullable=true) + */ + private $readingSpeed; + + /** + * @var string + * + * @ORM\Column(name="pocket_consumer_key", type="string", nullable=true) + */ + private $pocketConsumerKey; + + /** + * @var int + * + * @ORM\Column(name="action_mark_as_read", type="integer", nullable=true, options={"default" = 0}) + */ + private $actionMarkAsRead; + + /** + * @var int + * + * @ORM\Column(name="list_mode", type="integer", nullable=true) + */ + private $listMode; + + /** + * @ORM\OneToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="config") */ private $user; + /** + * @ORM\OneToMany(targetEntity="Wallabag\CoreBundle\Entity\TaggingRule", mappedBy="config", cascade={"remove"}) + * @ORM\OrderBy({"id" = "ASC"}) + */ + private $taggingRules; + /* * @param User $user */ public function __construct(User $user) { $this->user = $user; - $this->items_per_page = 12; - $this->language = 'en_US'; + $this->taggingRules = new ArrayCollection(); } /** - * Get id + * Get id. * - * @return integer + * @return int */ public function getId() { @@ -73,9 +139,10 @@ class Config } /** - * Set theme + * Set theme. + * + * @param string $theme * - * @param string $theme * @return Config */ public function setTheme($theme) @@ -86,7 +153,7 @@ class Config } /** - * Get theme + * Get theme. * * @return string */ @@ -96,32 +163,34 @@ class Config } /** - * Set items_per_page + * Set itemsPerPage. + * + * @param int $itemsPerPage * - * @param integer $itemsPerPage * @return Config */ public function setItemsPerPage($itemsPerPage) { - $this->items_per_page = $itemsPerPage; + $this->itemsPerPage = $itemsPerPage; return $this; } /** - * Get items_per_page + * Get itemsPerPage. * - * @return integer + * @return int */ public function getItemsPerPage() { - return $this->items_per_page; + return $this->itemsPerPage; } /** - * Set language + * Set language. + * + * @param string $language * - * @param string $language * @return Config */ public function setLanguage($language) @@ -132,7 +201,7 @@ class Config } /** - * Get language + * Get language. * * @return string */ @@ -142,12 +211,13 @@ class Config } /** - * Set user + * Set user. + * + * @param User $user * - * @param \Wallabag\CoreBundle\Entity\User $user * @return Config */ - public function setUser(\Wallabag\CoreBundle\Entity\User $user = null) + public function setUser(User $user = null) { $this->user = $user; @@ -155,12 +225,166 @@ class Config } /** - * Get user + * Get user. * - * @return \Wallabag\CoreBundle\Entity\User + * @return User */ public function getUser() { return $this->user; } + + /** + * Set feed Token. + * + * @param string $feedToken + * + * @return Config + */ + public function setFeedToken($feedToken) + { + $this->feedToken = $feedToken; + + return $this; + } + + /** + * Get feedToken. + * + * @return string + */ + public function getFeedToken() + { + return $this->feedToken; + } + + /** + * Set Feed Limit. + * + * @param int $feedLimit + * + * @return Config + */ + public function setFeedLimit($feedLimit) + { + $this->feedLimit = $feedLimit; + + return $this; + } + + /** + * Get Feed Limit. + * + * @return int + */ + public function getFeedLimit() + { + return $this->feedLimit; + } + + /** + * Set readingSpeed. + * + * @param float $readingSpeed + * + * @return Config + */ + public function setReadingSpeed($readingSpeed) + { + $this->readingSpeed = $readingSpeed; + + return $this; + } + + /** + * Get readingSpeed. + * + * @return float + */ + public function getReadingSpeed() + { + return $this->readingSpeed; + } + + /** + * Set pocketConsumerKey. + * + * @param string $pocketConsumerKey + * + * @return Config + */ + public function setPocketConsumerKey($pocketConsumerKey) + { + $this->pocketConsumerKey = $pocketConsumerKey; + + return $this; + } + + /** + * Get pocketConsumerKey. + * + * @return string + */ + public function getPocketConsumerKey() + { + return $this->pocketConsumerKey; + } + + /** + * @return int + */ + public function getActionMarkAsRead() + { + return $this->actionMarkAsRead; + } + + /** + * @param int $actionMarkAsRead + * + * @return Config + */ + public function setActionMarkAsRead($actionMarkAsRead) + { + $this->actionMarkAsRead = $actionMarkAsRead; + + return $this; + } + + /** + * @return int + */ + public function getListMode() + { + return $this->listMode; + } + + /** + * @param int $listMode + * + * @return Config + */ + public function setListMode($listMode) + { + $this->listMode = $listMode; + + return $this; + } + + /** + * @return Config + */ + public function addTaggingRule(TaggingRule $rule) + { + $this->taggingRules[] = $rule; + + return $this; + } + + /** + * @return ArrayCollection + */ + public function getTaggingRules() + { + return $this->taggingRules; + } }