Issues (2407)

engine/library/Request.php (2 issues)

1
<?php
2
/* 	Divine CMS - Open source CMS for widespread use.
3
    Copyright (c) 2019 Mykola Burakov ([email protected])
4
5
    See SOURCE.txt for other and additional information.
6
7
    This file is part of Divine CMS.
8
9
    This program is free software: you can redistribute it and/or modify
10
    it under the terms of the GNU General Public License as published by
11
    the Free Software Foundation, either version 3 of the License, or
12
    (at your option) any later version.
13
14
    This program is distributed in the hope that it will be useful,
15
    but WITHOUT ANY WARRANTY; without even the implied warranty of
16
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
    GNU General Public License for more details.
18
19
    You should have received a copy of the GNU General Public License
20
    along with this program. If not, see <http://www.gnu.org/licenses/>. */
21
22
namespace Divine\Engine\Library;
23
24
class Request
25
{
26
    public $get = array();
27
    public $post = array();
28
    public $cookie = array();
29
    public $files = array();
30
    public $server = array();
31
32
    public function __construct()
0 ignored issues
show
Expected 2 blank lines before function; 1 found
Loading history...
33
    {
34
        $this->get = $this->clean($_GET);
35
        $this->post = $this->clean($_POST);
36
        $this->request = $this->clean($_REQUEST);
0 ignored issues
show
Bug Best Practice introduced by
The property request does not exist. Although not strictly required by PHP, it is generally a best practice to declare properties explicitly.
Loading history...
37
        $this->cookie = $this->clean($_COOKIE);
38
        $this->files = $this->clean($_FILES);
39
        $this->server = $this->clean($_SERVER);
40
    }
41
42
    public function clean($data)
43
    {
44
        if (is_array($data)) {
45
            foreach ($data as $key => $value) {
46
                unset($data[$key]);
47
48
                $data[$this->clean($key)] = $this->clean($value);
49
            }
50
        } else {
51
            $data = htmlspecialchars($data, ENT_COMPAT, 'UTF-8');
52
        }
53
54
        return $data;
55
    }
56
}
57