Uploader::getExt()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 2
c 0
b 0
f 0
dl 0
loc 5
rs 10
cc 1
nc 1
nop 0
1
<?php declare(strict_types=1);
2
3
namespace XoopsModules\Smartfaq;
4
5
/**
6
 * CBB, XOOPS forum module
7
 *
8
 * @copyright   XOOPS Project (https://xoops.org)
9
 * @license     GNU GPL 2.0 or later (https://www.gnu.org/licenses/gpl-2.0.html)
10
 * @author      Taiwen Jiang (phppp or D.J.) <[email protected]>
11
 * @since       4.00
12
 */
13
require_once XOOPS_ROOT_PATH . '/class/uploader.php';
14
15
/**
16
 * Class Uploader
17
 */
18
class Uploader extends \XoopsMediaUploader
19
{
20
    /**
21
     * No admin check for uploads
22
     * @param mixed $uploadDir
23
     * @param mixed $allowedMimeTypes
24
     * @param mixed $maxFileSize
25
     * @param mixed $maxWidth
26
     * @param mixed $maxHeight
27
     */
28
29
    /**
30
     * Constructor
31
     *
32
     * @param string    $uploadDir
33
     * @param array|int $allowedMimeTypes
34
     * @param int       $maxFileSize
35
     * @param int       $maxWidth
36
     * @param int       $maxHeight
37
     */
38
    public function __construct($uploadDir, $allowedMimeTypes = 0, $maxFileSize = 0, $maxWidth = 0, $maxHeight = 0)
39
    {
40
        if (!\is_array($allowedMimeTypes)) {
41
            if (empty($allowedMimeTypes) || '*' === $allowedMimeTypes) {
42
                $allowedMimeTypes = [];
43
            } else {
44
                $allowedMimeTypes = \array_filter(\array_map('\trim', \explode('|', \mb_strtolower($allowedMimeTypes))));
45
            }
46
        }
47
        $_allowedMimeTypes = [];
48
        $extensionToMime   = require $GLOBALS['xoops']->path('/include/mimetypes.inc.php');
49
        foreach ($allowedMimeTypes as $type) {
50
            if (isset($extensionToMime[$type])) {
51
                $_allowedMimeTypes[] = $extensionToMime[$type];
52
            } else {
53
                $_allowedMimeTypes[] = $type;
54
            }
55
        }
56
        parent::__construct($uploadDir, $_allowedMimeTypes, $maxFileSize, $maxWidth, $maxHeight);
57
    }
58
59
    /**
60
     * Set the CheckMediaTypeByExt
61
     * Deprecated
62
     *
63
     * @param bool|string $value
64
     */
65
    public function setCheckMediaTypeByExt($value = true): void
0 ignored issues
show
Unused Code introduced by
The parameter $value is not used and could be removed. ( Ignorable by Annotation )

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

65
    public function setCheckMediaTypeByExt(/** @scrutinizer ignore-unused */ $value = true): void

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
66
    {
67
    }
68
69
    /**
70
     * Set the imageSizeCheck
71
     * Deprecated
72
     *
73
     * @param string $value
74
     */
75
    public function setImageSizeCheck($value): void
0 ignored issues
show
Unused Code introduced by
The parameter $value is not used and could be removed. ( Ignorable by Annotation )

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

75
    public function setImageSizeCheck(/** @scrutinizer ignore-unused */ $value): void

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
76
    {
77
    }
78
79
    /**
80
     * Set the fileSizeCheck
81
     * Deprecated
82
     *
83
     * @param string $value
84
     */
85
    public function setFileSizeCheck($value): void
0 ignored issues
show
Unused Code introduced by
The parameter $value is not used and could be removed. ( Ignorable by Annotation )

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

85
    public function setFileSizeCheck(/** @scrutinizer ignore-unused */ $value): void

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
86
    {
87
    }
88
89
    /**
90
     * Get the file extension
91
     *
92
     * @return string
93
     */
94
    public function getExt()
95
    {
96
        $this->ext = \mb_strtolower(\ltrim(mb_strrchr($this->getMediaName(), '.'), '.'));
0 ignored issues
show
Bug Best Practice introduced by
The property ext does not exist. Although not strictly required by PHP, it is generally a best practice to declare properties explicitly.
Loading history...
97
98
        return $this->ext;
99
    }
100
}
101