Issues (3627)

app/bundles/LeadBundle/Entity/UtmTag.php (1 issue)

1
<?php
2
3
/*
4
 * @copyright   2014 Mautic Contributors. All rights reserved
5
 * @author      Mautic
6
 *
7
 * @link        http://mautic.org
8
 *
9
 * @license     GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
10
 */
11
12
namespace Mautic\LeadBundle\Entity;
13
14
use Doctrine\DBAL\Types\Type;
15
use Doctrine\ORM\Mapping as ORM;
16
use Mautic\ApiBundle\Serializer\Driver\ApiMetadataDriver;
17
use Mautic\CoreBundle\Doctrine\Mapping\ClassMetadataBuilder;
18
19
class UtmTag
20
{
21
    /**
22
     * @var int
23
     */
24
    private $id;
25
26
    /**
27
     * @var \DateTime
28
     */
29
    private $dateAdded;
30
31
    /**
32
     * @var \Mautic\LeadBundle\Entity\Lead
33
     */
34
    private $lead;
35
36
    /**
37
     * @var array
38
     */
39
    private $query = [];
40
41
    /**
42
     * @var string
43
     */
44
    private $referer;
45
46
    /**
47
     * @var string
48
     */
49
    private $remoteHost;
50
51
    private $url;
52
53
    /**
54
     * @var string
55
     */
56
    private $userAgent;
57
58
    /**
59
     * @var string
60
     */
61
    private $utmCampaign;
62
63
    /**
64
     * @var string
65
     */
66
    private $utmContent;
67
68
    /**
69
     * @var string
70
     */
71
    private $utmMedium;
72
73
    /**
74
     * @var string
75
     */
76
    private $utmSource;
77
78
    /**
79
     * @var string
80
     */
81
    private $utmTerm;
82
83
    public static function loadMetadata(ORM\ClassMetadata $metadata)
84
    {
85
        $builder = new ClassMetadataBuilder($metadata);
86
87
        $builder->setTable('lead_utmtags');
88
        $builder->setCustomRepositoryClass(UtmTagRepository::class);
89
        $builder->addId();
90
        $builder->addDateAdded();
91
        $builder->addLead(false, 'CASCADE', false, 'utmtags');
0 ignored issues
show
Deprecated Code introduced by
The function Mautic\CoreBundle\Doctri...adataBuilder::addLead() has been deprecated: Use addContact instead; existing implementations will need a migration to rename lead_id to contact_id ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

91
        /** @scrutinizer ignore-deprecated */ $builder->addLead(false, 'CASCADE', false, 'utmtags');

This function has been deprecated. The supplier of the function has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed and what other function to use instead.

Loading history...
92
        $builder->addNullableField('query', Type::TARRAY);
93
        $builder->addNullableField('referer', Type::TEXT);
94
        $builder->addNullableField('remoteHost', Type::STRING, 'remote_host');
95
        $builder->addNullableField('url', Type::TEXT);
96
        $builder->addNullableField('userAgent', Type::TEXT, 'user_agent');
97
        $builder->addNullableField('utmCampaign', Type::STRING, 'utm_campaign');
98
        $builder->addNullableField('utmContent', Type::STRING, 'utm_content');
99
        $builder->addNullableField('utmMedium', Type::STRING, 'utm_medium');
100
        $builder->addNullableField('utmSource', Type::STRING, 'utm_source');
101
        $builder->addNullableField('utmTerm', Type::STRING, 'utm_term');
102
    }
103
104
    /**
105
     * Prepares the metadata for API usage.
106
     *
107
     * @param $metadata
108
     */
109
    public static function loadApiMetadata(ApiMetadataDriver $metadata)
110
    {
111
        $metadata->setGroupPrefix('utmtags')
112
            ->addListProperties(
113
                [
114
                    'id',
115
                    'lead',
116
                    'query',
117
                    'referer',
118
                    'remoteHost',
119
                    'url',
120
                    'userAgent',
121
                    'utmCampaign',
122
                    'utmContent',
123
                    'utmMedium',
124
                    'utmSource',
125
                    'utmTerm',
126
                ]
127
            )
128
            ->build();
129
    }
130
131
    /**
132
     * Get id.
133
     *
134
     * @return int
135
     */
136
    public function getId()
137
    {
138
        return $this->id;
139
    }
140
141
    /**
142
     * Set date added.
143
     *
144
     * @return UtmTag
145
     */
146
    public function setDateAdded(\DateTime $date)
147
    {
148
        $this->dateAdded = $date;
149
150
        return $this;
151
    }
152
153
    /**
154
     * Get date added.
155
     *
156
     * @return \DateTime
157
     */
158
    public function getDateAdded()
159
    {
160
        return $this->dateAdded;
161
    }
162
163
    /**
164
     * @return Lead
165
     */
166
    public function getLead()
167
    {
168
        return $this->lead;
169
    }
170
171
    /**
172
     * @return UtmTag
173
     */
174
    public function setLead(Lead $lead)
175
    {
176
        $this->lead = $lead;
177
178
        return $this;
179
    }
180
181
    /**
182
     * @return array
183
     */
184
    public function getQuery()
185
    {
186
        return $this->query;
187
    }
188
189
    /**
190
     * @param array $query
191
     *
192
     * @return UtmTag
193
     */
194
    public function setQuery($query)
195
    {
196
        $this->query = $query;
197
198
        return $this;
199
    }
200
201
    /**
202
     * Set referer.
203
     *
204
     * @param string $referer
205
     *
206
     * @return UtmTag
207
     */
208
    public function setReferer($referer)
209
    {
210
        $this->referer = $referer;
211
212
        return $this;
213
    }
214
215
    /**
216
     * Get referer.
217
     *
218
     * @return string
219
     */
220
    public function getReferer()
221
    {
222
        return $this->referer;
223
    }
224
225
    /**
226
     * Set remoteHost.
227
     *
228
     * @param string $remoteHost
229
     *
230
     * @return UtmTag
231
     */
232
    public function setRemoteHost($remoteHost)
233
    {
234
        $this->remoteHost = $remoteHost;
235
236
        return $this;
237
    }
238
239
    /**
240
     * Get remoteHost.
241
     *
242
     * @return string
243
     */
244
    public function getRemoteHost()
245
    {
246
        return $this->remoteHost;
247
    }
248
249
    /**
250
     * Set url.
251
     *
252
     * @param string $url
253
     *
254
     * @return UtmTag
255
     */
256
    public function setUrl($url)
257
    {
258
        $this->url = $url;
259
260
        return $this;
261
    }
262
263
    /**
264
     * Get url.
265
     *
266
     * @return string
267
     */
268
    public function getUrl()
269
    {
270
        return $this->url;
271
    }
272
273
    /**
274
     * Set userAgent.
275
     *
276
     * @param string $userAgent
277
     *
278
     * @return UtmTag
279
     */
280
    public function setUserAgent($userAgent)
281
    {
282
        $this->userAgent = $userAgent;
283
284
        return $this;
285
    }
286
287
    /**
288
     * Get userAgent.
289
     *
290
     * @return string
291
     */
292
    public function getUserAgent()
293
    {
294
        return $this->userAgent;
295
    }
296
297
    /**
298
     * @return string
299
     */
300
    public function getUtmCampaign()
301
    {
302
        return $this->utmCampaign;
303
    }
304
305
    /**
306
     * @param string $utmCampaign
307
     *
308
     * @return UtmTag
309
     */
310
    public function setUtmCampaign($utmCampaign)
311
    {
312
        $this->utmCampaign = $utmCampaign;
313
314
        return $this;
315
    }
316
317
    /**
318
     * @return string
319
     */
320
    public function getUtmContent()
321
    {
322
        return $this->utmContent;
323
    }
324
325
    /**
326
     * @param string $utmContent
327
     *
328
     * @return UtmTag
329
     */
330
    public function setUtmContent($utmContent)
331
    {
332
        $this->utmContent = $utmContent;
333
334
        return $this;
335
    }
336
337
    /**
338
     * @return string
339
     */
340
    public function getUtmMedium()
341
    {
342
        return $this->utmMedium;
343
    }
344
345
    /**
346
     * @param string $utmMedium
347
     *
348
     * @return UtmTag
349
     */
350
    public function setUtmMedium($utmMedium)
351
    {
352
        $this->utmMedium = $utmMedium;
353
354
        return $this;
355
    }
356
357
    /**
358
     * @return string
359
     */
360
    public function getUtmSource()
361
    {
362
        return $this->utmSource;
363
    }
364
365
    /**
366
     * @param string $utmSource
367
     *
368
     * @return UtmTag
369
     */
370
    public function setUtmSource($utmSource)
371
    {
372
        $this->utmSource = $utmSource;
373
374
        return $this;
375
    }
376
377
    /**
378
     * @return string
379
     */
380
    public function getUtmTerm()
381
    {
382
        return $this->utmTerm;
383
    }
384
385
    /**
386
     * @param string $utmTerm
387
     *
388
     * @return UtmTag
389
     */
390
    public function setUtmTerm($utmTerm)
391
    {
392
        $this->utmTerm = $utmTerm;
393
394
        return $this;
395
    }
396
397
    /**
398
     * Available fields and it's setters.
399
     *
400
     * @return array
401
     */
402
    public function getFieldSetterList()
403
    {
404
        return [
405
            'utm_campaign' => 'setUtmCampaign',
406
            'utm_source'   => 'setUtmSource',
407
            'utm_medium'   => 'setUtmMedium',
408
            'utm_content'  => 'setUtmContent',
409
            'utm_term'     => 'setUtmTerm',
410
            'user_agent'   => 'setUserAgent',
411
            'url'          => 'setUrl',
412
            'referer'      => 'setReferer',
413
            'query'        => 'setQuery',
414
            'remote_host'  => 'setRemoteHost',
415
            'date_added'   => 'setDateAdded',
416
        ];
417
    }
418
}
419