Issues (2407)

engine/library/Log.php (3 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 Log
25
{
26
    private $handle;
27
28
    public function __construct($filename)
0 ignored issues
show
Expected 2 blank lines before function; 1 found
Loading history...
29
    {
30
        $this->handle = fopen($_SERVER['DOCUMENT_ROOT'] . '/storage/logs/' . $filename, 'a');
31
    }
32
33
    public function write($message)
34
    {
35
        fwrite($this->handle, date('Y-m-d G:i:s') . ' - ' . print_r($message, true) . "\n");
0 ignored issues
show
It seems like $this->handle can also be of type boolean; however, parameter $handle of fwrite() does only seem to accept resource, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

35
        fwrite(/** @scrutinizer ignore-type */ $this->handle, date('Y-m-d G:i:s') . ' - ' . print_r($message, true) . "\n");
Loading history...
36
    }
37
38
    public function __destruct()
39
    {
40
        fclose($this->handle);
0 ignored issues
show
It seems like $this->handle can also be of type boolean; however, parameter $handle of fclose() does only seem to accept resource, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

40
        fclose(/** @scrutinizer ignore-type */ $this->handle);
Loading history...
41
    }
42
}
43