X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FEntity%2FConfig.php;h=35be9655d9622ce5a284e9ecd3e36cd877441cfb;hb=7a4c375ebfae5aa43c663b1084acfb68f61b30b8;hp=045ca308ee99991303ae0ecb95c3a0bc7f565cdf;hpb=4cfbd5d893aa51fd5d3b349c2695e9913591041f;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Entity/Config.php b/src/Wallabag/CoreBundle/Entity/Config.php index 045ca308..35be9655 100644 --- a/src/Wallabag/CoreBundle/Entity/Config.php +++ b/src/Wallabag/CoreBundle/Entity/Config.php @@ -2,43 +2,136 @@ 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\Table(name="config") - * @ORM\Entity + * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\ConfigRepository") + * @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", nullable=false) + * @ORM\Column(name="id", type="integer") * @ORM\Id - * @ORM\GeneratedValue(strategy="IDENTITY") + * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @var string * - * @ORM\Column(name="name", type="string", nullable=true) + * @Assert\NotBlank() + * @ORM\Column(name="theme", type="string", nullable=false) + */ + private $theme; + + /** + * @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 $itemsPerPage; + + /** + * @var string + * + * @Assert\NotBlank() + * @ORM\Column(name="language", type="string", nullable=false) + */ + private $language; + + /** + * @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 $name; + private $readingSpeed; /** * @var string * - * @ORM\Column(name="value", type="blob", nullable=true) + * @ORM\Column(name="pocket_consumer_key", type="string", nullable=true) */ - private $value; + private $pocketConsumerKey; /** - * Get id + * @var int * - * @return integer + * @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->taggingRules = new ArrayCollection(); + } + + /** + * Get id. + * + * @return int */ public function getId() { @@ -46,48 +139,254 @@ class Config } /** - * Set name + * Set theme. + * + * @param string $theme + * + * @return Config + */ + public function setTheme($theme) + { + $this->theme = $theme; + + return $this; + } + + /** + * Get theme. + * + * @return string + */ + public function getTheme() + { + return $this->theme; + } + + /** + * Set itemsPerPage. + * + * @param int $itemsPerPage + * + * @return Config + */ + public function setItemsPerPage($itemsPerPage) + { + $this->itemsPerPage = $itemsPerPage; + + return $this; + } + + /** + * Get itemsPerPage. + * + * @return int + */ + public function getItemsPerPage() + { + return $this->itemsPerPage; + } + + /** + * Set language. + * + * @param string $language * - * @param string $name * @return Config */ - public function setName($name) + public function setLanguage($language) { - $this->name = $name; + $this->language = $language; return $this; } /** - * Get name + * Get language. * * @return string */ - public function getName() + public function getLanguage() { - return $this->name; + return $this->language; } /** - * Set value + * Set user. + * + * @param User $user + * + * @return Config + */ + public function setUser(User $user = null) + { + $this->user = $user; + + return $this; + } + + /** + * Get user. + * + * @return User + */ + public function getUser() + { + return $this->user; + } + + /** + * Set feed Token. + * + * @param string $feedToken * - * @param string $value * @return Config */ - public function setValue($value) + public function setFeedToken($feedToken) { - $this->value = $value; + $this->feedToken = $feedToken; return $this; } /** - * Get value + * Get feedToken. * * @return string */ - public function getValue() + 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; + } + + /** + * @param TaggingRule $rule + * + * @return Config + */ + public function addTaggingRule(TaggingRule $rule) + { + $this->taggingRules[] = $rule; + + return $this; + } + + /** + * @return ArrayCollection + */ + public function getTaggingRules() { - return $this->value; + return $this->taggingRules; } }