Passed
Push — master ( 8005c7...9b803d )
by Goffy
03:14
created

Logs::getInstance()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 3
nc 2
nop 0
dl 0
loc 5
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace XoopsModules\Wggithub;
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
 * wgGitHub module for xoops
17
 *
18
 * @copyright      2020 XOOPS Project (https://xooops.org)
19
 * @license        GPL 2.0 or later
20
 * @package        wggithub
21
 * @since          1.0
22
 * @min_xoops      2.5.10
23
 * @author         Goffy - XOOPS Development Team - Email:<[email protected]> - Website:<https://wedega.com>
24
 */
25
26
use XoopsModules\Wggithub;
27
28
\defined('XOOPS_ROOT_PATH') || die('Restricted access');
29
30
/**
31
 * Class Object Logs
32
 */
33
class Logs extends \XoopsObject
0 ignored issues
show
Bug introduced by
The type XoopsObject was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
34
{
35
	/**
36
	 * Constructor
37
	 *
38
	 * @param null
39
	 */
40
	public function __construct()
41
	{
42
		$this->initVar('log_id', XOBJ_DTYPE_INT);
0 ignored issues
show
Bug introduced by
The constant XoopsModules\Wggithub\XOBJ_DTYPE_INT was not found. Maybe you did not declare it correctly or list all dependencies?
Loading history...
43
        $this->initVar('log_type', XOBJ_DTYPE_INT);
44
		$this->initVar('log_details', XOBJ_DTYPE_TXTBOX);
0 ignored issues
show
Bug introduced by
The constant XoopsModules\Wggithub\XOBJ_DTYPE_TXTBOX was not found. Maybe you did not declare it correctly or list all dependencies?
Loading history...
45
		$this->initVar('log_result', XOBJ_DTYPE_TXTAREA);
0 ignored issues
show
Bug introduced by
The constant XoopsModules\Wggithub\XOBJ_DTYPE_TXTAREA was not found. Maybe you did not declare it correctly or list all dependencies?
Loading history...
46
		$this->initVar('log_datecreated', XOBJ_DTYPE_INT);
47
		$this->initVar('log_submitter', XOBJ_DTYPE_INT);
48
	}
49
50
	/**
51
	 * @static function &getInstance
52
	 *
53
	 * @param null
54
	 */
55
	public static function getInstance()
56
	{
57
		static $instance = false;
58
		if (!$instance) {
59
			$instance = new self();
60
		}
61
	}
62
63
	/**
64
	 * The new inserted $Id
65
	 * @return inserted id
0 ignored issues
show
Bug introduced by
The type XoopsModules\Wggithub\inserted was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
66
	 */
67
	public function getNewInsertedIdLogs()
68
	{
69
		$newInsertedId = $GLOBALS['xoopsDB']->getInsertId();
70
		return $newInsertedId;
71
	}
72
73
	/**
74
	 * @public function getForm
75
	 * @param bool $action
76
	 * @return \XoopsThemeForm
77
	 */
78
	public function getFormLogs($action = false)
79
	{
80
		$helper = \XoopsModules\Wggithub\Helper::getInstance();
0 ignored issues
show
Unused Code introduced by
The assignment to $helper is dead and can be removed.
Loading history...
81
		if (!$action) {
82
			$action = $_SERVER['REQUEST_URI'];
83
		}
84
		// Title
85
		$title = $this->isNew() ? \sprintf(_AM_WGGITHUB_LOG_ADD) : \sprintf(_AM_WGGITHUB_LOG_EDIT);
86
		// Get Theme Form
87
		\xoops_load('XoopsFormLoader');
0 ignored issues
show
Bug introduced by
The function xoops_load was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

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

87
		/** @scrutinizer ignore-call */ 
88
  \xoops_load('XoopsFormLoader');
Loading history...
88
		$form = new \XoopsThemeForm($title, 'form', $action, 'post', true);
0 ignored issues
show
Bug introduced by
The type XoopsThemeForm was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
89
		$form->setExtra('enctype="multipart/form-data"');
90
91
        $logTypeSelect = new \XoopsFormSelect(_AM_WGGITHUB_LOG_TYPE, 'log_type', $this->getVar('log_type'));
0 ignored issues
show
Bug introduced by
The type XoopsFormSelect was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
92
        $logTypeSelect->addOption(Constants::LOG_TYPE_NONE, _AM_WGGITHUB_LOG_TYPE_NONE);
93
        $logTypeSelect->addOption(Constants::LOG_TYPE_UPDATE_START, _AM_WGGITHUB_LOG_TYPE_UPDATE_START);
94
        $logTypeSelect->addOption(Constants::LOG_TYPE_UPDATE_END, _AM_WGGITHUB_LOG_TYPE_UPDATE_END);
95
        $logTypeSelect->addOption(Constants::LOG_TYPE_REQUEST, _AM_WGGITHUB_LOG_TYPE_REQUEST);
96
        $logTypeSelect->addOption(Constants::LOG_TYPE_ERROR, _AM_WGGITHUB_LOG_TYPE_ERROR);
97
        $form->addElement($logTypeSelect);
98
		// Form Text logDetails
99
		$form->addElement(new \XoopsFormText(_AM_WGGITHUB_LOG_DETAILS, 'log_details', 50, 255, $this->getVar('log_details')), true);
0 ignored issues
show
Bug introduced by
The type XoopsFormText was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
100
		// Form Text logResult
101
        $form->addElement(new \XoopsFormTextArea(_AM_WGGITHUB_LOG_RESULT, 'log_result', $this->getVar('log_result', 'e'), 4, 47));
0 ignored issues
show
Bug introduced by
The type XoopsFormTextArea was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
102
		// Form Text Date Select logDatecreated
103
		$logDatecreated = $this->isNew() ?: $this->getVar('log_datecreated');
104
		$form->addElement(new \XoopsFormTextDateSelect(_AM_WGGITHUB_LOG_DATECREATED, 'log_datecreated', '', $logDatecreated));
0 ignored issues
show
Bug introduced by
The type XoopsFormTextDateSelect was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
105
		// Form Select User reqSubmitter
106
		$form->addElement(new \XoopsFormSelectUser(_AM_WGGITHUB_LOG_SUBMITTER, 'log_submitter', false, $this->getVar('log_submitter')));
0 ignored issues
show
Bug introduced by
The type XoopsFormSelectUser was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
107
		// To Save
108
		$form->addElement(new \XoopsFormHidden('op', 'save'));
0 ignored issues
show
Bug introduced by
The type XoopsFormHidden was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
109
		$form->addElement(new \XoopsFormButtonTray('', _SUBMIT, 'submit', '', false));
0 ignored issues
show
Bug introduced by
The type XoopsFormButtonTray was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
Bug introduced by
The constant XoopsModules\Wggithub\_SUBMIT was not found. Maybe you did not declare it correctly or list all dependencies?
Loading history...
110
		return $form;
111
	}
112
113
	/**
114
	 * Get Values
115
	 * @param null $keys
0 ignored issues
show
Documentation Bug introduced by
Are you sure the doc-type for parameter $keys is correct as it would always require null to be passed?
Loading history...
116
	 * @param null $format
0 ignored issues
show
Documentation Bug introduced by
Are you sure the doc-type for parameter $format is correct as it would always require null to be passed?
Loading history...
117
	 * @param null $maxDepth
0 ignored issues
show
Documentation Bug introduced by
Are you sure the doc-type for parameter $maxDepth is correct as it would always require null to be passed?
Loading history...
118
	 * @return array
119
	 */
120
	public function getValuesLogs($keys = null, $format = null, $maxDepth = null)
121
	{
122
        $helper  = \XoopsModules\Wggithub\Helper::getInstance();
123
        $utility = new \XoopsModules\Wggithub\Utility();
124
        $editorMaxchar = $helper->getConfig('editor_maxchar');
125
	    $ret = $this->getValues($keys, $format, $maxDepth);
126
		$ret['id']           = $this->getVar('log_id');
127
        $ret['type']         = $this->getVar('log_type');
128
        switch ($ret['type']) {
129
            case Constants::LOG_TYPE_NONE:
130
            default:
131
                $type_text = \_AM_WGGITHUB_LOG_TYPE_NONE;
132
                break;
133
            case Constants::LOG_TYPE_UPDATE_START:
134
                $type_text = \_AM_WGGITHUB_LOG_TYPE_UPDATE_START;
135
                break;
136
            case Constants::LOG_TYPE_UPDATE_END:
137
                $type_text = \_AM_WGGITHUB_LOG_TYPE_UPDATE_END;
138
                break;
139
            case Constants::LOG_TYPE_REQUEST:
140
                $type_text = \_AM_WGGITHUB_LOG_TYPE_REQUEST;
141
                break;
142
            case Constants::LOG_TYPE_ERROR:
143
                $type_text = \_AM_WGGITHUB_LOG_TYPE_ERROR;
144
                break;
145
        }
146
        $ret['type_text']    = $type_text;
147
		$ret['details']      = $this->getVar('log_details');
148
        $ret['result']       = \strip_tags($this->getVar('log_result', 'e'));
149
        $ret['result_short'] = $utility::truncateHtml($ret['result'], $editorMaxchar);
150
		$ret['datecreated']  = \formatTimestamp($this->getVar('log_datecreated'), 'm');
0 ignored issues
show
Bug introduced by
The function formatTimestamp was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

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

150
		$ret['datecreated']  = /** @scrutinizer ignore-call */ \formatTimestamp($this->getVar('log_datecreated'), 'm');
Loading history...
151
		$ret['submitter']    = \XoopsUser::getUnameFromId($this->getVar('log_submitter'));
0 ignored issues
show
Bug introduced by
The type XoopsUser was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
152
		return $ret;
153
	}
154
155
	/**
156
	 * Returns an array representation of the object
157
	 *
158
	 * @return array
159
	 */
160
	public function toArrayRequests()
161
	{
162
		$ret = [];
163
		$vars = $this->getVars();
164
		foreach (\array_keys($vars) as $var) {
165
			$ret[$var] = $this->getVar('"{$var}"');
166
		}
167
		return $ret;
168
	}
169
}
170