]> git.immae.eu Git - github/wallabag/wallabag.git/blame - src/Wallabag/CoreBundle/Entity/Config.php
Add a table explaining the available variables
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Entity / Config.php
CommitLineData
9d50517c
NL
1<?php
2
ad4d1caa 3namespace Wallabag\CoreBundle\Entity;
9d50517c
NL
4
5use Doctrine\ORM\Mapping as ORM;
55f58c9c 6use Symfony\Component\Validator\Constraints as Assert;
9d50517c
NL
7
8/**
4346a860 9 * Config.
9d50517c 10 *
4d85d7e9 11 * @ORM\Entity(repositoryClass="Wallabag\CoreBundle\Repository\ConfigRepository")
bd0f3d32 12 * @ORM\Table(name="`config`")
9d50517c
NL
13 * @ORM\Entity
14 */
15class Config
16{
17 /**
4346a860 18 * @var int
9d50517c 19 *
55f58c9c 20 * @ORM\Column(name="id", type="integer")
9d50517c 21 * @ORM\Id
55f58c9c 22 * @ORM\GeneratedValue(strategy="AUTO")
9d50517c
NL
23 */
24 private $id;
25
26 /**
27 * @var string
28 *
55f58c9c 29 * @Assert\NotBlank()
4d85d7e9 30 * @ORM\Column(name="theme", type="string", nullable=false)
9d50517c 31 */
4d85d7e9 32 private $theme;
9d50517c
NL
33
34 /**
4346a860 35 * @var int
9d50517c 36 *
4d85d7e9 37 * @Assert\NotBlank()
371ac69a
J
38 * @Assert\Range(
39 * min = 1,
40 * max = 100000,
41 * maxMessage = "This will certainly kill the app"
42 * )
4d85d7e9
J
43 * @ORM\Column(name="items_per_page", type="integer", nullable=false)
44 */
0c83fd59 45 private $itemsPerPage;
4d85d7e9
J
46
47 /**
48 * @var string
49 *
50 * @Assert\NotBlank()
51 * @ORM\Column(name="language", type="string", nullable=false)
9d50517c 52 */
4d85d7e9
J
53 private $language;
54
0c83fd59
J
55 /**
56 * @var string
57 *
58 * @ORM\Column(name="rss_token", type="string", nullable=true)
59 */
60 private $rssToken;
61
62 /**
4346a860 63 * @var int
0c83fd59
J
64 *
65 * @ORM\Column(name="rss_limit", type="integer", nullable=true)
371ac69a
J
66 * @Assert\Range(
67 * min = 1,
68 * max = 100000,
69 * maxMessage = "This will certainly kill the app"
70 * )
0c83fd59
J
71 */
72 private $rssLimit;
73
4d85d7e9 74 /**
1210dae1 75 * @ORM\OneToOne(targetEntity="Wallabag\UserBundle\Entity\User", inversedBy="config")
4d85d7e9
J
76 */
77 private $user;
78
ac9fec61
KG
79 /**
80 * @ORM\OneToMany(targetEntity="Wallabag\CoreBundle\Entity\TaggingRule", mappedBy="config", cascade={"remove"})
81 */
82 private $taggingRules;
83
4d85d7e9
J
84 /*
85 * @param User $user
86 */
0a878469 87 public function __construct(\Wallabag\UserBundle\Entity\User $user)
4d85d7e9
J
88 {
89 $this->user = $user;
ac9fec61 90 $this->taggingRules = new ArrayCollection();
4d85d7e9 91 }
9d50517c 92
9d50517c 93 /**
4346a860 94 * Get id.
9d50517c 95 *
4346a860 96 * @return int
9d50517c
NL
97 */
98 public function getId()
99 {
100 return $this->id;
101 }
102
103 /**
4346a860
JB
104 * Set theme.
105 *
106 * @param string $theme
9d50517c 107 *
9d50517c
NL
108 * @return Config
109 */
4d85d7e9 110 public function setTheme($theme)
9d50517c 111 {
4d85d7e9 112 $this->theme = $theme;
9d50517c
NL
113
114 return $this;
115 }
116
117 /**
4346a860 118 * Get theme.
9d50517c 119 *
7df80cb3 120 * @return string
9d50517c 121 */
4d85d7e9 122 public function getTheme()
9d50517c 123 {
4d85d7e9 124 return $this->theme;
9d50517c
NL
125 }
126
127 /**
4346a860
JB
128 * Set itemsPerPage.
129 *
130 * @param int $itemsPerPage
9d50517c 131 *
9d50517c
NL
132 * @return Config
133 */
4d85d7e9 134 public function setItemsPerPage($itemsPerPage)
9d50517c 135 {
0c83fd59 136 $this->itemsPerPage = $itemsPerPage;
9d50517c
NL
137
138 return $this;
139 }
140
141 /**
4346a860 142 * Get itemsPerPage.
4d85d7e9 143 *
4346a860 144 * @return int
4d85d7e9
J
145 */
146 public function getItemsPerPage()
147 {
0c83fd59 148 return $this->itemsPerPage;
4d85d7e9
J
149 }
150
151 /**
4346a860
JB
152 * Set language.
153 *
154 * @param string $language
4d85d7e9 155 *
4d85d7e9
J
156 * @return Config
157 */
158 public function setLanguage($language)
159 {
160 $this->language = $language;
161
162 return $this;
163 }
164
165 /**
4346a860 166 * Get language.
9d50517c 167 *
7df80cb3 168 * @return string
9d50517c 169 */
4d85d7e9
J
170 public function getLanguage()
171 {
172 return $this->language;
173 }
174
175 /**
4346a860
JB
176 * Set user.
177 *
1210dae1 178 * @param User $user
4d85d7e9 179 *
4d85d7e9
J
180 * @return Config
181 */
1ce8f303 182 public function setUser(\Wallabag\UserBundle\Entity\User $user = null)
4d85d7e9
J
183 {
184 $this->user = $user;
185
186 return $this;
187 }
188
189 /**
4346a860 190 * Get user.
4d85d7e9 191 *
1210dae1 192 * @return User
4d85d7e9
J
193 */
194 public function getUser()
9d50517c 195 {
4d85d7e9 196 return $this->user;
9d50517c 197 }
0c83fd59
J
198
199 /**
4346a860
JB
200 * Set rssToken.
201 *
202 * @param string $rssToken
0c83fd59 203 *
0c83fd59
J
204 * @return Config
205 */
206 public function setRssToken($rssToken)
207 {
208 $this->rssToken = $rssToken;
209
210 return $this;
211 }
212
213 /**
4346a860 214 * Get rssToken.
0c83fd59
J
215 *
216 * @return string
217 */
218 public function getRssToken()
219 {
220 return $this->rssToken;
221 }
222
223 /**
4346a860
JB
224 * Set rssLimit.
225 *
226 * @param string $rssLimit
0c83fd59 227 *
0c83fd59
J
228 * @return Config
229 */
230 public function setRssLimit($rssLimit)
231 {
232 $this->rssLimit = $rssLimit;
233
234 return $this;
235 }
236
237 /**
4346a860 238 * Get rssLimit.
0c83fd59
J
239 *
240 * @return string
241 */
242 public function getRssLimit()
243 {
244 return $this->rssLimit;
245 }
ac9fec61
KG
246
247 /**
248 * @param TaggingRule $rule
249 *
250 * @return Config
251 */
252 public function addTaggingRule(TaggingRule $rule)
253 {
254 $this->taggingRules[] = $rule;
255
256 return $this;
257 }
258
259 /**
260 * @return ArrayCollection<TaggingRule>
261 */
262 public function getTaggingRules()
263 {
264 return $this->taggingRules;
265 }
9d50517c 266}