Proyectos de Subversion LeadersLinked - Services

Rev

Rev 283 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

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