Helper   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 57
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 18
c 1
b 0
f 0
dl 0
loc 57
rs 10
wmc 6

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getDirname() 0 3 1
A getInstance() 0 8 2
A getHandler() 0 13 2
A __construct() 0 5 1
1
<?php declare(strict_types=1);
2
3
namespace XoopsModules\Wgfilemanager;
4
5
/*
6
 * You may not change or alter any portion of this comment or credits
7
 * of supporting developers from this source code or any supporting source code
8
 * which is considered copyrighted (c) material of the original comment or credit authors.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
 */
14
15
/**
16
 * @copyright    XOOPS Project https://xoops.org/
17
 * @license      GNU GPL 2.0 or later (https://www.gnu.org/licenses/gpl-2.0.html)
18
 * @since
19
 * @author       XOOPS Development Team
20
 */
21
//\defined('XOOPS_ROOT_PATH') || die('Restricted access');
22
23
/**
24
 * Class Helper
25
 */
26
class Helper extends \Xmf\Module\Helper
27
{
28
    public $debug;
29
30
    /**
31
     * @param bool $debug
32
     */
33
    public function __construct($debug = false)
34
    {
35
        $this->debug   = $debug;
36
        $moduleDirName = \basename(\dirname(__DIR__));
37
        parent::__construct($moduleDirName);
38
    }
39
40
    /**
41
     * @param bool $debug
42
     *
43
     * @return \XoopsModules\Wgfilemanager\Helper
44
     */
45
    public static function getInstance($debug = false)
46
    {
47
        static $instance;
48
        if (null === $instance) {
49
            $instance = new static($debug);
50
        }
51
52
        return $instance;
53
    }
54
55
    /**
56
     * @return string
57
     */
58
    public function getDirname()
59
    {
60
        return $this->dirname;
61
    }
62
63
    /**
64
     * Get an Object Handler
65
     *
66
     * @param string $name name of handler to load
67
     *
68
     * @return bool|\XoopsObjectHandler|\XoopsPersistableObjectHandler
69
     */
70
    public function getHandler($name)
71
    {
72
        $class = __NAMESPACE__ . '\\' . \ucfirst($name) . 'Handler';
73
        if (!\class_exists($class)) {
74
            throw new \RuntimeException("Class '$class' not found");
75
        }
76
        /** @var \XoopsMySQLDatabase $db */
77
        $db     = \XoopsDatabaseFactory::getDatabaseConnection();
78
        $helper = self::getInstance();
79
        $ret    = new $class($db, $helper);
80
        $this->addLog("Getting handler '$name'");
81
82
        return $ret;
83
    }
84
}
85