Proyectos de Subversion LeadersLinked - Services

Rev

Rev 283 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
345 www 2
declare(strict_types = 1);
1 efrain 3
namespace LeadersLinked\Form\UserProfile;
4
 
5
use Laminas\Db\Adapter\AdapterInterface;
6
use Laminas\InputFilter\InputFilter;
7
use LeadersLinked\Mapper\DegreeMapper;
8
 
9
class EducationFilter extends InputFilter
10
{
345 www 11
 
1 efrain 12
    /**
345 www 13
     *
1 efrain 14
     * @param AdapterInterface $adapter
15
     */
16
    public function __construct($adapter)
17
    {
18
        $this->add([
19
            'name' => 'from_year',
20
            'required' => true,
21
            'filters' => [
345 www 22
                [
23
                    'name' => \LeadersLinked\Filter\Intval::class
24
                ]
1 efrain 25
            ],
26
            'validators' => [
27
                [
345 www 28
                    'name' => \Laminas\Validator\NotEmpty::class
29
                ]
30
            ]
1 efrain 31
        ]);
345 www 32
 
1 efrain 33
        $this->add([
34
            'name' => 'to_year',
35
            'required' => true,
36
            'filters' => [
345 www 37
                [
38
                    'name' => \LeadersLinked\Filter\Intval::class
39
                ]
1 efrain 40
            ],
41
            'validators' => [
42
                [
345 www 43
                    'name' => \Laminas\Validator\NotEmpty::class
1 efrain 44
                ],
45
                [
46
                    'name' => \LeadersLinked\Validator\GreaterThanOtherField::class,
47
                    'options' => [
48
                        'token' => 'from_year',
49
                        'label' => 'LABEL_MINIMUM',
345 www 50
                        'inclusive' => true
1 efrain 51
                    ]
52
                ]
345 www 53
            ]
1 efrain 54
        ]);
345 www 55
 
1 efrain 56
        $this->add([
57
            'name' => 'grade_or_percentage',
58
            'required' => true,
59
            'filters' => [
345 www 60
                [
61
                    'name' => \Laminas\Filter\StripTags::class
62
                ],
63
                [
64
                    'name' => \Laminas\Filter\StringTrim::class
65
                ]
1 efrain 66
            ],
67
            'validators' => [
68
                [
345 www 69
                    'name' => \Laminas\Validator\NotEmpty::class
1 efrain 70
                ],
71
                [
72
                    'name' => \Laminas\Validator\StringLength::class,
73
                    'options' => [
74
                        'encoding' => 'UTF-8',
345 www 75
                        'max' => 3
76
                    ]
77
                ]
78
            ]
1 efrain 79
        ]);
345 www 80
 
1 efrain 81
        $this->add([
82
            'name' => 'field_of_study',
83
            'required' => true,
84
            'filters' => [
345 www 85
                [
86
                    'name' => \Laminas\Filter\StripTags::class
87
                ],
88
                [
89
                    'name' => \Laminas\Filter\StringTrim::class
90
                ]
1 efrain 91
            ],
92
            'validators' => [
93
                [
345 www 94
                    'name' => \Laminas\Validator\NotEmpty::class
1 efrain 95
                ],
96
                [
97
                    'name' => \Laminas\Validator\StringLength::class,
98
                    'options' => [
99
                        'encoding' => 'UTF-8',
345 www 100
                        'max' => 128
101
                    ]
102
                ]
103
            ]
1 efrain 104
        ]);
345 www 105
 
1 efrain 106
        $this->add([
107
            'name' => 'university',
108
            'required' => true,
109
            'filters' => [
345 www 110
                [
111
                    'name' => \Laminas\Filter\StripTags::class
112
                ],
113
                [
114
                    'name' => \Laminas\Filter\StringTrim::class
115
                ]
1 efrain 116
            ],
117
            'validators' => [
118
                [
345 www 119
                    'name' => \Laminas\Validator\NotEmpty::class
1 efrain 120
                ],
121
                [
122
                    'name' => \Laminas\Validator\StringLength::class,
123
                    'options' => [
124
                        'encoding' => 'UTF-8',
345 www 125
                        'max' => 128
126
                    ]
127
                ]
128
            ]
1 efrain 129
        ]);
345 www 130
 
1 efrain 131
        $this->add([
132
            'name' => 'formatted_address',
133
            'required' => true,
134
            'filters' => [
345 www 135
                [
136
                    'name' => \Laminas\Filter\StripTags::class
137
                ],
138
                [
139
                    'name' => \Laminas\Filter\StringTrim::class
140
                ]
1 efrain 141
            ],
142
            'validators' => [
143
                [
345 www 144
                    'name' => \Laminas\Validator\NotEmpty::class
145
                ]
146
            ]
1 efrain 147
        ]);
345 www 148
 
1 efrain 149
        $this->add([
150
            'name' => 'description',
151
            'required' => false,
152
            'filters' => [
153
                [
345 www 154
                    'name' => \Laminas\Filter\StringTrim::class
155
                ],
156
                [
157
                    'name' => \LeadersLinked\Filter\HtmlPurify::class
158
                ],
159
                [
1 efrain 160
                    'name' => \Laminas\Filter\StripTags::class,
161
                    'options' => [
345 www 162
                        'allowTags' => [
163
                            'h1',
164
                            'h2',
165
                            'h3',
166
                            'h4',
167
                            'h5',
168
                            'h6',
169
                            'p',
170
                            'strong',
171
                            'em',
172
                            's',
173
                            'span',
174
                            'big',
175
                            'small',
176
                            'tt',
177
                            'hr',
178
                            'table',
179
                            'thead',
180
                            'tr',
181
                            'th',
182
                            'td',
183
                            'img',
184
                            'a',
185
                            'style'
186
                        ]
1 efrain 187
                    ]
345 www 188
                ]
189
            ]
1 efrain 190
        ]);
345 www 191
 
1 efrain 192
        $this->add([
193
            'name' => 'degree_id',
194
            'required' => true,
195
            'filters' => [
345 www 196
                [
197
                    'name' => \Laminas\Filter\StripTags::class
198
                ],
199
                [
200
                    'name' => \Laminas\Filter\StringTrim::class
201
                ]
1 efrain 202
            ],
203
            'validators' => [
204
                [
345 www 205
                    'name' => \Laminas\Validator\NotEmpty::class
1 efrain 206
                ],
207
                [
208
                    'name' => \Laminas\Validator\Db\RecordExists::class,
209
                    'options' => [
210
                        'adapter' => $adapter,
211
                        'field' => 'uuid',
212
                        'table' => DegreeMapper::_TABLE
213
                    ]
214
                ]
345 www 215
            ]
1 efrain 216
        ]);
345 www 217
 
1 efrain 218
        $this->add([
219
            'name' => 'formatted_address',
220
            'required' => true,
221
            'filters' => [
345 www 222
                [
223
                    'name' => \Laminas\Filter\StripTags::class
224
                ],
225
                [
226
                    'name' => \Laminas\Filter\StringTrim::class
227
                ]
1 efrain 228
            ],
229
            'validators' => [
230
                [
345 www 231
                    'name' => \Laminas\Validator\NotEmpty::class
232
                ]
233
            ]
1 efrain 234
        ]);
345 www 235
 
1 efrain 236
        $this->add([
237
            'name' => 'formatted_address',
238
            'required' => true,
239
            'filters' => [
345 www 240
                [
241
                    'name' => \Laminas\Filter\StripTags::class
242
                ],
243
                [
244
                    'name' => \Laminas\Filter\StringTrim::class
245
                ]
1 efrain 246
            ],
247
            'validators' => [
248
                [
345 www 249
                    'name' => \Laminas\Validator\NotEmpty::class
250
                ]
251
            ]
1 efrain 252
        ]);
345 www 253
 
1 efrain 254
        $this->add([
255
            'name' => 'address1',
256
            'required' => false,
257
            'filters' => [
345 www 258
                [
259
                    'name' => \Laminas\Filter\StripTags::class
260
                ],
261
                [
262
                    'name' => \Laminas\Filter\StringTrim::class
263
                ]
264
            ]
1 efrain 265
        ]);
345 www 266
 
1 efrain 267
        $this->add([
268
            'name' => 'address2',
269
            'required' => false,
270
            'filters' => [
345 www 271
                [
272
                    'name' => \Laminas\Filter\StripTags::class
273
                ],
274
                [
275
                    'name' => \Laminas\Filter\StringTrim::class
276
                ]
277
            ]
1 efrain 278
        ]);
345 www 279
 
1 efrain 280
        $this->add([
281
            'name' => 'country',
282
            'required' => true,
283
            'filters' => [
345 www 284
                [
285
                    'name' => \Laminas\Filter\StripTags::class
286
                ],
287
                [
288
                    'name' => \Laminas\Filter\StringTrim::class
289
                ]
1 efrain 290
            ],
291
            'validators' => [
292
                [
293
                    'name' => \Laminas\Validator\StringLength::class,
294
                    'options' => [
295
                        'encoding' => 'UTF-8',
345 www 296
                        'max' => 128
297
                    ]
1 efrain 298
                ],
299
                [
345 www 300
                    'name' => \Laminas\Validator\NotEmpty::class
301
                ]
302
            ]
1 efrain 303
        ]);
345 www 304
 
1 efrain 305
        $this->add([
306
            'name' => 'state',
307
            'required' => true,
308
            'filters' => [
345 www 309
                [
310
                    'name' => \Laminas\Filter\StripTags::class
311
                ],
312
                [
313
                    'name' => \Laminas\Filter\StringTrim::class
314
                ]
1 efrain 315
            ],
316
            'validators' => [
317
                [
318
                    'name' => \Laminas\Validator\StringLength::class,
319
                    'options' => [
320
                        'encoding' => 'UTF-8',
345 www 321
                        'max' => 128
322
                    ]
1 efrain 323
                ],
324
                [
345 www 325
                    'name' => \Laminas\Validator\NotEmpty::class
326
                ]
327
            ]
1 efrain 328
        ]);
345 www 329
 
1 efrain 330
        $this->add([
331
            'name' => 'city1',
332
            'required' => true,
333
            'filters' => [
345 www 334
                [
335
                    'name' => \Laminas\Filter\StripTags::class
336
                ],
337
                [
338
                    'name' => \Laminas\Filter\StringTrim::class
339
                ]
1 efrain 340
            ],
341
            'validators' => [
342
                [
343
                    'name' => \Laminas\Validator\StringLength::class,
344
                    'options' => [
345
                        'encoding' => 'UTF-8',
345 www 346
                        'max' => 128
347
                    ]
348
                ]
349
            ]
1 efrain 350
        ]);
345 www 351
 
1 efrain 352
        $this->add([
353
            'name' => 'city2',
354
            'required' => false,
355
            'filters' => [
345 www 356
                [
357
                    'name' => \Laminas\Filter\StripTags::class
358
                ],
359
                [
360
                    'name' => \Laminas\Filter\StringTrim::class
361
                ]
1 efrain 362
            ],
363
            'validators' => [
364
                [
365
                    'name' => \Laminas\Validator\StringLength::class,
366
                    'options' => [
367
                        'encoding' => 'UTF-8',
345 www 368
                        'max' => 128
369
                    ]
370
                ]
371
            ]
1 efrain 372
        ]);
373
 
374
        $this->add([
375
            'name' => 'postal_code',
376
            'required' => false,
377
            'filters' => [
345 www 378
                [
379
                    'name' => \Laminas\Filter\StripTags::class
380
                ],
381
                [
382
                    'name' => \Laminas\Filter\StringTrim::class
383
                ]
1 efrain 384
            ],
385
            'validators' => [
386
                [
387
                    'name' => \Laminas\Validator\StringLength::class,
388
                    'options' => [
389
                        'encoding' => 'UTF-8',
345 www 390
                        'max' => 6
391
                    ]
392
                ]
393
            ]
1 efrain 394
        ]);
395
 
396
        $this->add([
397
            'name' => 'latitude',
398
            'required' => true,
399
            'filters' => [
345 www 400
                [
401
                    'name' => \LeadersLinked\Filter\Floatval::class
402
                ]
1 efrain 403
            ],
404
            'validators' => [
405
 
406
                [
345 www 407
                    'name' => \Laminas\Validator\NotEmpty::class
408
                ]
409
            ]
1 efrain 410
        ]);
345 www 411
 
1 efrain 412
        $this->add([
413
            'name' => 'longitude',
414
            'required' => true,
415
            'filters' => [
345 www 416
                [
417
                    'name' => \LeadersLinked\Filter\Floatval::class
418
                ]
1 efrain 419
            ],
420
            'validators' => [
345 www 421
 
1 efrain 422
                [
345 www 423
                    'name' => \Laminas\Validator\NotEmpty::class
424
                ]
425
            ]
1 efrain 426
        ]);
427
    }
428
}