Proyectos de Subversion LeadersLinked - Services

Rev

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

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace LeadersLinked\Form\KnowledgeArea;
6
 
7
use Laminas\InputFilter\InputFilter;
8
 
9
class KnowledgeAreaEditFilter extends InputFilter
10
{
11
 
12
 
13
    public function __construct()
14
    {
15
 
16
 
17
 
18
        $this->add([
19
            'name' => 'category_id',
20
            'required' => true,
21
            'filters' => [
22
                ['name' => \Laminas\Filter\StringTrim::class],
23
                ['name' => \Laminas\Filter\StripTags::class],
24
            ],
25
            'validators' => [
26
                [
27
                    'name' => \Laminas\Validator\NotEmpty::class,
28
                ],
29
            ],
30
        ]);
31
 
32
        $this->add([
33
            'name' => 'title',
34
            'required' => true,
35
            'filters' => [
36
                ['name' => \Laminas\Filter\StringTrim::class],
37
                ['name' => \Laminas\Filter\StripTags::class],
38
            ],
39
            'validators' => [
40
                [
41
                    'name' => \Laminas\Validator\NotEmpty::class,
42
                ],
43
                [
44
                    'name' => \Laminas\Validator\StringLength::class,
45
                    'options' => [
46
                        'encoding' => 'UTF-8',
47
                        'max' => 120,
48
                    ],
49
                ],
50
            ],
51
        ]);
52
 
53
        $this->add([
54
            'name' => 'description',
55
            'required' => true,
56
            'filters' => [
57
                ['name' => \Laminas\Filter\StringTrim::class],
58
                ['name' => \LeadersLinked\Filter\HtmlPurify::class],
59
                [
60
                    'name' => \Laminas\Filter\StripTags::class,
61
                    'options' => [
62
                        'allowTags'     => [
283 www 63
                            'h1','h2','h3','h4','h5','h6','p','strong','em','s','span','big','small','tt',
64
                            'hr','table','thead','tr','th','td','img', 'a','style'
1 efrain 65
                        ],
66
                    ]
67
 
68
                ],
69
            ],
70
            'validators' => [
71
                [
72
                    'name' => \Laminas\Validator\NotEmpty::class,
73
                ],
74
            ],
75
        ]);
76
 
77
 
78
        $this->add([
79
            'name' => 'image',
80
            'required' => false,
81
            'filters' => [
82
                ['name' => \Laminas\Filter\BaseName::class],
83
            ],
84
            'validators' => [
85
                [
86
                    'name' => \Laminas\Validator\NotEmpty::class,
87
                ],
88
                [
89
                    'name' => \Laminas\Validator\File\Extension::class,
90
                    'options' => [
91
                        'extension' => ['jpg','jpeg','png']
92
                    ]
93
                ],
94
                [
95
                    'name' => \Laminas\Validator\File\MimeType::class,
96
                    'options' => [
97
                        'mimeType' => ['image/jpg', 'image/jpeg', 'image/png'],
98
                        'enableHeaderCheck' => true,
99
                    ]
100
                ],
101
            ],
102
        ]);
103
 
104
        $this->add([
105
            'name' => 'attachment',
106
            'required' => false,
107
            'filters' => [
108
                ['name' => \Laminas\Filter\BaseName::class],
109
            ],
110
            'validators' => [
111
                [
112
                    'name' => \Laminas\Validator\NotEmpty::class,
113
                ],
114
                [
115
                    'name' => \Laminas\Validator\File\Extension::class,
116
                    'options' => [
112 efrain 117
                        'extension' => ['mov', 'webm','mp4','mpeg','jpg','jpeg','png', 'pdf']
1 efrain 118
                    ]
119
                ],
120
                [
121
                    'name' => \Laminas\Validator\File\MimeType::class,
122
                    'options' => [
113 efrain 123
                        'mimeType' => ['video/quicktime', 'video/webm', 'video/mp4', 'video/mpeg', 'image/jpg', 'image/jpeg', 'image/png', 'application/pdf'],
1 efrain 124
                        'enableHeaderCheck' => true,
125
                    ]
126
                ],
127
            ],
128
        ]);
129
 
130
        $this->add([
131
            'name' => 'link',
132
            'required' => false,
133
            'filters' => [
134
                ['name' => \Laminas\Filter\UriNormalize::class],
135
            ],
136
            'validators' => [
137
                [
138
                    'name' => \Laminas\Validator\NotEmpty::class,
139
                ],
140
            ],
141
        ]);
142
 
143
    }
144
}