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\Feed;
6
 
7
use Laminas\InputFilter\InputFilter;
8
 
9
class CreateFilter extends InputFilter
10
{
11
 
12
 
13
    public function __construct()
14
    {
15
 
16
 
17
 
18
        $this->add([
19
            'name' => 'posted_or_shared',
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
                    'name' => \Laminas\Validator\StringLength::class,
31
                    'options' => [
32
                        'encoding' => 'UTF-8',
33
                        'max' => 1,
34
                    ],
35
                ],
36
            ],
37
        ]);
38
 
39
        $this->add([
40
            'name' => 'shared_with',
41
            'required' => true,
42
            'filters' => [
43
                ['name' => \Laminas\Filter\StringTrim::class],
44
                ['name' => \Laminas\Filter\StripTags::class],
45
            ],
46
            'validators' => [
47
                [
48
                    'name' => \Laminas\Validator\NotEmpty::class,
49
                ],
50
                [
51
                    'name' => \Laminas\Validator\StringLength::class,
52
                    'options' => [
53
                        'encoding' => 'UTF-8',
54
                        'max' => 1,
55
                    ],
56
                ],
57
            ],
58
        ]);
59
 
60
        $this->add([
61
            'name' => 'description',
62
            'required' => true,
63
            'filters' => [
64
                ['name' => \Laminas\Filter\StringTrim::class],
65
                ['name' => \LeadersLinked\Filter\HtmlPurify::class],
66
                [
67
                    'name' => \Laminas\Filter\StripTags::class,
68
                    'options' => [
69
                        'allowTags'     => [
283 www 70
                            'h1','h2','h3','h4','h5','h6','p','strong','em','s','span','big','small','tt',
71
                            'hr','table','thead','tr','th','td','img', 'a','style'
1 efrain 72
                        ],
73
                    ]
74
 
75
                ],
76
            ],
77
            'validators' => [
78
                [
79
                    'name' => \Laminas\Validator\NotEmpty::class,
80
                ],
81
            ],
82
        ]);
83
 
84
        $this->add([
85
            'name' => 'file',
86
            'required' => false,
87
            'filters' => [
88
                ['name' => \Laminas\Filter\BaseName::class],
89
            ],
90
            'validators' => [
91
                [
92
                    'name' => \Laminas\Validator\NotEmpty::class,
93
                ],
94
                [
95
                    'name' => \Laminas\Validator\File\Extension::class,
96
                    'options' => [
112 efrain 97
                        'extension' => ['mov', 'webm','mp4','mpeg', 'jpg','jpeg','png', 'pdf']
1 efrain 98
                    ]
99
                ],
100
                [
101
                    'name' => \Laminas\Validator\File\MimeType::class,
102
                    'options' => [
113 efrain 103
                        'mimeType' => [ 'video/quicktime',   'video/webm','video/mp4', 'video/mpeg', 'image/jpg', 'image/jpeg', 'image/png', 'application/pdf'],
1 efrain 104
                        'enableHeaderCheck' => true,
105
                    ]
106
                ],
107
            ],
108
        ]);
109
 
283 www 110
 
1 efrain 111
 
112
 
113
 
114
 
115
    }
116
}