2015-01-22 16:18:56 +00:00
|
|
|
<?php
|
|
|
|
|
2015-01-23 15:28:37 +00:00
|
|
|
namespace Wallabag\CoreBundle\Entity;
|
2015-01-22 16:18:56 +00:00
|
|
|
|
2015-10-11 20:22:24 +00:00
|
|
|
use Doctrine\Common\Collections\ArrayCollection;
|
2015-01-22 16:18:56 +00:00
|
|
|
use Doctrine\ORM\Mapping as ORM;
|
2015-02-11 20:06:32 +00:00
|
|
|
use Symfony\Component\Validator\Constraints as Assert;
|
2016-01-03 09:59:55 +00:00
|
|
|
use Wallabag\UserBundle\Entity\User;
|
2015-01-22 16:18:56 +00:00
|
|
|
|
|
|
|
/**
|
2015-05-30 11:52:26 +00:00
|
|
|
* Config.
|
2015-01-22 16:18:56 +00:00
|
|
|
*
|
2015-02-16 20:28:49 +00:00
|
|
|
* @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\ConfigRepository")
|
2015-10-24 13:28:02 +00:00
|
|
|
* @ORM\Table(name="`config`")
|
2015-01-22 16:18:56 +00:00
|
|
|
* @ORM\Entity
|
|
|
|
*/
|
|
|
|
class Config
|
|
|
|
{
|
2016-11-07 08:30:37 +00:00
|
|
|
const REDIRECT_TO_HOMEPAGE = 0;
|
|
|
|
const REDIRECT_TO_CURRENT_PAGE = 1;
|
|
|
|
|
2015-01-22 16:18:56 +00:00
|
|
|
/**
|
2015-05-30 11:52:26 +00:00
|
|
|
* @var int
|
2015-01-22 16:18:56 +00:00
|
|
|
*
|
2015-02-11 20:06:32 +00:00
|
|
|
* @ORM\Column(name="id", type="integer")
|
2015-01-22 16:18:56 +00:00
|
|
|
* @ORM\Id
|
2015-02-11 20:06:32 +00:00
|
|
|
* @ORM\GeneratedValue(strategy="AUTO")
|
2015-01-22 16:18:56 +00:00
|
|
|
*/
|
|
|
|
private $id;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @var string
|
|
|
|
*
|
2015-02-11 20:06:32 +00:00
|
|
|
* @Assert\NotBlank()
|
2015-02-16 20:28:49 +00:00
|
|
|
* @ORM\Column(name="theme", type="string", nullable=false)
|
2015-01-22 16:18:56 +00:00
|
|
|
*/
|
2015-02-16 20:28:49 +00:00
|
|
|
private $theme;
|
2015-01-22 16:18:56 +00:00
|
|
|
|
|
|
|
/**
|
2015-05-30 11:52:26 +00:00
|
|
|
* @var int
|
2015-01-22 16:18:56 +00:00
|
|
|
*
|
2015-02-16 20:28:49 +00:00
|
|
|
* @Assert\NotBlank()
|
2015-03-28 20:43:49 +00:00
|
|
|
* @Assert\Range(
|
|
|
|
* min = 1,
|
|
|
|
* max = 100000,
|
2016-03-09 07:59:08 +00:00
|
|
|
* maxMessage = "validator.item_per_page_too_high"
|
2015-03-28 20:43:49 +00:00
|
|
|
* )
|
2015-02-16 20:28:49 +00:00
|
|
|
* @ORM\Column(name="items_per_page", type="integer", nullable=false)
|
|
|
|
*/
|
2015-03-28 13:27:45 +00:00
|
|
|
private $itemsPerPage;
|
2015-02-16 20:28:49 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @var string
|
|
|
|
*
|
|
|
|
* @Assert\NotBlank()
|
|
|
|
* @ORM\Column(name="language", type="string", nullable=false)
|
2015-01-22 16:18:56 +00:00
|
|
|
*/
|
2015-02-16 20:28:49 +00:00
|
|
|
private $language;
|
|
|
|
|
2015-03-28 13:27:45 +00:00
|
|
|
/**
|
|
|
|
* @var string
|
|
|
|
*
|
|
|
|
* @ORM\Column(name="rss_token", type="string", nullable=true)
|
|
|
|
*/
|
|
|
|
private $rssToken;
|
|
|
|
|
|
|
|
/**
|
2015-05-30 11:52:26 +00:00
|
|
|
* @var int
|
2015-03-28 13:27:45 +00:00
|
|
|
*
|
|
|
|
* @ORM\Column(name="rss_limit", type="integer", nullable=true)
|
2015-03-28 20:43:49 +00:00
|
|
|
* @Assert\Range(
|
|
|
|
* min = 1,
|
|
|
|
* max = 100000,
|
2016-03-09 07:59:08 +00:00
|
|
|
* maxMessage = "validator.rss_limit_too_hight"
|
2015-03-28 20:43:49 +00:00
|
|
|
* )
|
2015-03-28 13:27:45 +00:00
|
|
|
*/
|
|
|
|
private $rssLimit;
|
|
|
|
|
2016-03-08 15:44:25 +00:00
|
|
|
/**
|
|
|
|
* @var float
|
|
|
|
*
|
|
|
|
* @ORM\Column(name="reading_speed", type="float", nullable=true)
|
|
|
|
*/
|
|
|
|
private $readingSpeed;
|
|
|
|
|
2016-09-16 20:22:25 +00:00
|
|
|
/**
|
|
|
|
* @var string
|
|
|
|
*
|
|
|
|
* @ORM\Column(name="pocket_consumer_key", type="string", nullable=true)
|
|
|
|
*/
|
|
|
|
private $pocketConsumerKey;
|
|
|
|
|
2016-11-06 11:02:39 +00:00
|
|
|
/**
|
|
|
|
* @var int
|
|
|
|
*
|
|
|
|
* @ORM\Column(name="action_mark_as_read", type="integer", nullable=true)
|
|
|
|
*/
|
|
|
|
private $actionMarkAsRead;
|
|
|
|
|
2015-02-16 20:28:49 +00:00
|
|
|
/**
|
2015-10-02 12:51:41 +00:00
|
|
|
* @ORM\OneToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="config")
|
2015-02-16 20:28:49 +00:00
|
|
|
*/
|
|
|
|
private $user;
|
|
|
|
|
2015-10-11 15:14:50 +00:00
|
|
|
/**
|
|
|
|
* @ORM\OneToMany(targetEntity="Wallabag\CoreBundle\Entity\TaggingRule", mappedBy="config", cascade={"remove"})
|
2015-11-29 15:19:02 +00:00
|
|
|
* @ORM\OrderBy({"id" = "ASC"})
|
2015-10-11 15:14:50 +00:00
|
|
|
*/
|
|
|
|
private $taggingRules;
|
|
|
|
|
2015-02-16 20:28:49 +00:00
|
|
|
/*
|
|
|
|
* @param User $user
|
|
|
|
*/
|
2016-01-03 09:59:55 +00:00
|
|
|
public function __construct(User $user)
|
2015-02-16 20:28:49 +00:00
|
|
|
{
|
|
|
|
$this->user = $user;
|
2015-10-11 15:14:50 +00:00
|
|
|
$this->taggingRules = new ArrayCollection();
|
2015-02-16 20:28:49 +00:00
|
|
|
}
|
2015-01-22 16:18:56 +00:00
|
|
|
|
|
|
|
/**
|
2015-05-30 11:52:26 +00:00
|
|
|
* Get id.
|
2015-01-22 16:18:56 +00:00
|
|
|
*
|
2015-05-30 11:52:26 +00:00
|
|
|
* @return int
|
2015-01-22 16:18:56 +00:00
|
|
|
*/
|
|
|
|
public function getId()
|
|
|
|
{
|
|
|
|
return $this->id;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2015-05-30 11:52:26 +00:00
|
|
|
* Set theme.
|
|
|
|
*
|
|
|
|
* @param string $theme
|
2015-01-22 16:18:56 +00:00
|
|
|
*
|
|
|
|
* @return Config
|
|
|
|
*/
|
2015-02-16 20:28:49 +00:00
|
|
|
public function setTheme($theme)
|
2015-01-22 16:18:56 +00:00
|
|
|
{
|
2015-02-16 20:28:49 +00:00
|
|
|
$this->theme = $theme;
|
2015-01-22 16:18:56 +00:00
|
|
|
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2015-05-30 11:52:26 +00:00
|
|
|
* Get theme.
|
2015-01-22 16:18:56 +00:00
|
|
|
*
|
2015-01-31 18:09:34 +00:00
|
|
|
* @return string
|
2015-01-22 16:18:56 +00:00
|
|
|
*/
|
2015-02-16 20:28:49 +00:00
|
|
|
public function getTheme()
|
2015-01-22 16:18:56 +00:00
|
|
|
{
|
2015-02-16 20:28:49 +00:00
|
|
|
return $this->theme;
|
2015-01-22 16:18:56 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2015-05-30 11:52:26 +00:00
|
|
|
* Set itemsPerPage.
|
|
|
|
*
|
|
|
|
* @param int $itemsPerPage
|
2015-01-22 16:18:56 +00:00
|
|
|
*
|
|
|
|
* @return Config
|
|
|
|
*/
|
2015-02-16 20:28:49 +00:00
|
|
|
public function setItemsPerPage($itemsPerPage)
|
2015-01-22 16:18:56 +00:00
|
|
|
{
|
2015-03-28 13:27:45 +00:00
|
|
|
$this->itemsPerPage = $itemsPerPage;
|
2015-01-22 16:18:56 +00:00
|
|
|
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2015-05-30 11:52:26 +00:00
|
|
|
* Get itemsPerPage.
|
2015-02-16 20:28:49 +00:00
|
|
|
*
|
2015-05-30 11:52:26 +00:00
|
|
|
* @return int
|
2015-02-16 20:28:49 +00:00
|
|
|
*/
|
|
|
|
public function getItemsPerPage()
|
|
|
|
{
|
2015-03-28 13:27:45 +00:00
|
|
|
return $this->itemsPerPage;
|
2015-02-16 20:28:49 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2015-05-30 11:52:26 +00:00
|
|
|
* Set language.
|
|
|
|
*
|
|
|
|
* @param string $language
|
2015-02-16 20:28:49 +00:00
|
|
|
*
|
|
|
|
* @return Config
|
|
|
|
*/
|
|
|
|
public function setLanguage($language)
|
|
|
|
{
|
|
|
|
$this->language = $language;
|
|
|
|
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2015-05-30 11:52:26 +00:00
|
|
|
* Get language.
|
2015-01-22 16:18:56 +00:00
|
|
|
*
|
2015-01-31 18:09:34 +00:00
|
|
|
* @return string
|
2015-01-22 16:18:56 +00:00
|
|
|
*/
|
2015-02-16 20:28:49 +00:00
|
|
|
public function getLanguage()
|
|
|
|
{
|
|
|
|
return $this->language;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2015-05-30 11:52:26 +00:00
|
|
|
* Set user.
|
|
|
|
*
|
2015-10-02 12:51:41 +00:00
|
|
|
* @param User $user
|
2015-02-16 20:28:49 +00:00
|
|
|
*
|
|
|
|
* @return Config
|
|
|
|
*/
|
2016-01-03 09:59:55 +00:00
|
|
|
public function setUser(User $user = null)
|
2015-02-16 20:28:49 +00:00
|
|
|
{
|
|
|
|
$this->user = $user;
|
|
|
|
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2015-05-30 11:52:26 +00:00
|
|
|
* Get user.
|
2015-02-16 20:28:49 +00:00
|
|
|
*
|
2015-10-02 12:51:41 +00:00
|
|
|
* @return User
|
2015-02-16 20:28:49 +00:00
|
|
|
*/
|
|
|
|
public function getUser()
|
2015-01-22 16:18:56 +00:00
|
|
|
{
|
2015-02-16 20:28:49 +00:00
|
|
|
return $this->user;
|
2015-01-22 16:18:56 +00:00
|
|
|
}
|
2015-03-28 13:27:45 +00:00
|
|
|
|
|
|
|
/**
|
2015-05-30 11:52:26 +00:00
|
|
|
* Set rssToken.
|
|
|
|
*
|
|
|
|
* @param string $rssToken
|
2015-03-28 13:27:45 +00:00
|
|
|
*
|
|
|
|
* @return Config
|
|
|
|
*/
|
|
|
|
public function setRssToken($rssToken)
|
|
|
|
{
|
|
|
|
$this->rssToken = $rssToken;
|
|
|
|
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2015-05-30 11:52:26 +00:00
|
|
|
* Get rssToken.
|
2015-03-28 13:27:45 +00:00
|
|
|
*
|
|
|
|
* @return string
|
|
|
|
*/
|
|
|
|
public function getRssToken()
|
|
|
|
{
|
|
|
|
return $this->rssToken;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2015-05-30 11:52:26 +00:00
|
|
|
* Set rssLimit.
|
|
|
|
*
|
2016-01-03 09:59:55 +00:00
|
|
|
* @param int $rssLimit
|
2015-03-28 13:27:45 +00:00
|
|
|
*
|
|
|
|
* @return Config
|
|
|
|
*/
|
|
|
|
public function setRssLimit($rssLimit)
|
|
|
|
{
|
|
|
|
$this->rssLimit = $rssLimit;
|
|
|
|
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
2015-05-30 11:52:26 +00:00
|
|
|
* Get rssLimit.
|
2015-03-28 13:27:45 +00:00
|
|
|
*
|
2016-01-03 09:59:55 +00:00
|
|
|
* @return int
|
2015-03-28 13:27:45 +00:00
|
|
|
*/
|
|
|
|
public function getRssLimit()
|
|
|
|
{
|
|
|
|
return $this->rssLimit;
|
|
|
|
}
|
2015-10-11 15:14:50 +00:00
|
|
|
|
2016-03-08 15:44:25 +00:00
|
|
|
/**
|
|
|
|
* Set readingSpeed.
|
|
|
|
*
|
2016-03-18 12:12:09 +00:00
|
|
|
* @param float $readingSpeed
|
2016-03-08 15:44:25 +00:00
|
|
|
*
|
|
|
|
* @return Config
|
|
|
|
*/
|
|
|
|
public function setReadingSpeed($readingSpeed)
|
|
|
|
{
|
|
|
|
$this->readingSpeed = $readingSpeed;
|
|
|
|
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get readingSpeed.
|
|
|
|
*
|
2016-03-18 12:12:09 +00:00
|
|
|
* @return float
|
2016-03-08 15:44:25 +00:00
|
|
|
*/
|
|
|
|
public function getReadingSpeed()
|
|
|
|
{
|
|
|
|
return $this->readingSpeed;
|
|
|
|
}
|
|
|
|
|
2016-09-16 20:22:25 +00:00
|
|
|
/**
|
|
|
|
* 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;
|
|
|
|
}
|
|
|
|
|
2016-11-06 11:02:39 +00:00
|
|
|
/**
|
|
|
|
* @return int
|
|
|
|
*/
|
|
|
|
public function getActionMarkAsRead()
|
|
|
|
{
|
|
|
|
return $this->actionMarkAsRead;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param int $actionMarkAsRead
|
|
|
|
*
|
|
|
|
* @return Config
|
|
|
|
*/
|
|
|
|
public function setActionMarkAsRead($actionMarkAsRead)
|
|
|
|
{
|
|
|
|
$this->actionMarkAsRead = $actionMarkAsRead;
|
|
|
|
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
2015-10-11 15:14:50 +00:00
|
|
|
/**
|
|
|
|
* @param TaggingRule $rule
|
|
|
|
*
|
|
|
|
* @return Config
|
|
|
|
*/
|
|
|
|
public function addTaggingRule(TaggingRule $rule)
|
|
|
|
{
|
|
|
|
$this->taggingRules[] = $rule;
|
|
|
|
|
|
|
|
return $this;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return ArrayCollection<TaggingRule>
|
|
|
|
*/
|
|
|
|
public function getTaggingRules()
|
|
|
|
{
|
|
|
|
return $this->taggingRules;
|
|
|
|
}
|
2015-01-22 16:18:56 +00:00
|
|
|
}
|