This project does not seem to handle request data directly as such no vulnerable execution paths were found.
include
, or for example
via PHP's auto-loading mechanism.
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | /** |
||
3 | * SNMPups class |
||
4 | * |
||
5 | * PHP version 5 |
||
6 | * |
||
7 | * @category PHP |
||
8 | * @package PSI_UPS |
||
9 | * @author Michael Cramer <[email protected]> |
||
10 | * @copyright 2009 phpSysInfo |
||
11 | * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License |
||
12 | * @version SVN: $Id: class.apcupsd.inc.php 661 2012-08-27 11:26:39Z namiltd $ |
||
13 | * @link http://phpsysinfo.sourceforge.net |
||
14 | */ |
||
15 | /** |
||
16 | * getting ups information from SNMPups program |
||
17 | * |
||
18 | * @category PHP |
||
19 | * @package PSI_UPS |
||
20 | * @author Michael Cramer <[email protected]> |
||
21 | * @author Artem Volk <[email protected]> |
||
22 | * @copyright 2009 phpSysInfo |
||
23 | * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License |
||
24 | * @version Release: 3.0 |
||
25 | * @link http://phpsysinfo.sourceforge.net |
||
26 | */ |
||
27 | class SNMPups extends UPS |
||
0 ignored issues
–
show
|
|||
28 | { |
||
29 | /** |
||
30 | * internal storage for all gathered data |
||
31 | * |
||
32 | * @var Array |
||
33 | */ |
||
34 | private $_output = array(); |
||
35 | |||
36 | /** |
||
37 | * get all information from all configured ups in phpsysinfo.ini and store output in internal array |
||
38 | */ |
||
39 | public function __construct() |
||
40 | { |
||
41 | parent::__construct(); |
||
42 | switch (strtolower(PSI_UPS_SNMPUPS_ACCESS)) { |
||
43 | case 'command': |
||
44 | if (defined('PSI_UPS_SNMPUPS_LIST') && is_string(PSI_UPS_SNMPUPS_LIST)) { |
||
45 | View Code Duplication | if (preg_match(ARRAY_EXP, PSI_UPS_SNMPUPS_LIST)) { |
|
0 ignored issues
–
show
This code seems to be duplicated across your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
46 | $upss = eval(PSI_UPS_SNMPUPS_LIST); |
||
0 ignored issues
–
show
It is generally not recommended to use
eval unless absolutely required.
On one hand, ![]() |
|||
47 | } else { |
||
48 | $upss = array(PSI_UPS_SNMPUPS_LIST); |
||
49 | } |
||
50 | foreach ($upss as $ups) { |
||
51 | CommonFunctions::executeProgram("snmpwalk", "-Ona -c public -v 1 -r 1 ".$ups." .1.3.6.1.4.1.318.1.1.1.1", $buffer, PSI_DEBUG); |
||
52 | if (strlen($buffer) > 0) { |
||
53 | $this->_output[$ups] = $buffer; |
||
54 | $buffer = ""; |
||
55 | CommonFunctions::executeProgram("snmpwalk", "-Ona -c public -v 1 -r 1 ".$ups." .1.3.6.1.4.1.318.1.1.1.2", $buffer, PSI_DEBUG); |
||
56 | if (strlen($buffer) > 0) { |
||
57 | $this->_output[$ups] .= "\n".$buffer; |
||
58 | } |
||
59 | $buffer = ""; |
||
60 | CommonFunctions::executeProgram("snmpwalk", "-Ona -c public -v 1 -r 1 ".$ups." .1.3.6.1.4.1.318.1.1.1.3", $buffer, PSI_DEBUG); |
||
61 | if (strlen($buffer) > 0) { |
||
62 | $this->_output[$ups] .= "\n".$buffer; |
||
63 | } |
||
64 | $buffer = ""; |
||
65 | CommonFunctions::executeProgram("snmpwalk", "-Ona -c public -v 1 -r 1 ".$ups." .1.3.6.1.4.1.318.1.1.1.4", $buffer, PSI_DEBUG); |
||
66 | if (strlen($buffer) > 0) { |
||
67 | $this->_output[$ups] .= "\n".$buffer; |
||
68 | } |
||
69 | } |
||
70 | } |
||
71 | } |
||
72 | break; |
||
73 | case 'php-snmp': |
||
74 | if (!extension_loaded("snmp")) { |
||
75 | $this->error->addError("Requirements error", "SNMPups plugin requires the snmp extension to php in order to work properly"); |
||
76 | break; |
||
77 | } |
||
78 | snmp_set_valueretrieval(SNMP_VALUE_LIBRARY); |
||
79 | snmp_set_oid_output_format(SNMP_OID_OUTPUT_NUMERIC); |
||
80 | if (defined('PSI_UPS_SNMPUPS_LIST') && is_string(PSI_UPS_SNMPUPS_LIST)) { |
||
81 | View Code Duplication | if (preg_match(ARRAY_EXP, PSI_UPS_SNMPUPS_LIST)) { |
|
0 ignored issues
–
show
This code seems to be duplicated across your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
82 | $upss = eval(PSI_UPS_SNMPUPS_LIST); |
||
0 ignored issues
–
show
It is generally not recommended to use
eval unless absolutely required.
On one hand, ![]() |
|||
83 | } else { |
||
84 | $upss = array(PSI_UPS_SNMPUPS_LIST); |
||
85 | } |
||
86 | foreach ($upss as $ups) { |
||
87 | if (! PSI_DEBUG) { |
||
88 | restore_error_handler(); /* default error handler */ |
||
89 | $old_err_rep = error_reporting(); |
||
90 | error_reporting(E_ERROR); /* fatal errors only */ |
||
91 | } |
||
92 | $bufferarr=snmprealwalk($ups, "public", ".1.3.6.1.4.1.318.1.1.1.1", 1000000, 1); |
||
93 | if (! PSI_DEBUG) { |
||
94 | error_reporting($old_err_rep); /* restore error level */ |
||
0 ignored issues
–
show
The variable
$old_err_rep does not seem to be defined for all execution paths leading up to this point.
If you define a variable conditionally, it can happen that it is not defined for all execution paths. Let’s take a look at an example: function myFunction($a) {
switch ($a) {
case 'foo':
$x = 1;
break;
case 'bar':
$x = 2;
break;
}
// $x is potentially undefined here.
echo $x;
}
In the above example, the variable $x is defined if you pass “foo” or “bar” as argument for $a. However, since the switch statement has no default case statement, if you pass any other value, the variable $x would be undefined. Available Fixes
![]() |
|||
95 | set_error_handler('errorHandlerPsi'); /* restore error handler */ |
||
96 | } |
||
97 | if (! empty($bufferarr)) { |
||
98 | $buffer=""; |
||
99 | foreach ($bufferarr as $id=>$string) { |
||
100 | $buffer .= $id." = ".$string."\n"; |
||
101 | } |
||
102 | |||
103 | if (! PSI_DEBUG) { |
||
104 | restore_error_handler(); /* default error handler */ |
||
105 | $old_err_rep = error_reporting(); |
||
106 | error_reporting(E_ERROR); /* fatal errors only */ |
||
107 | } |
||
108 | $bufferarr2=snmprealwalk($ups, "public", ".1.3.6.1.4.1.318.1.1.1.2", 1000000, 1); |
||
109 | $bufferarr3=snmprealwalk($ups, "public", ".1.3.6.1.4.1.318.1.1.1.3", 1000000, 1); |
||
110 | $bufferarr4=snmprealwalk($ups, "public", ".1.3.6.1.4.1.318.1.1.1.4", 1000000, 1); |
||
111 | if (! PSI_DEBUG) { |
||
112 | error_reporting($old_err_rep); /* restore error level */ |
||
113 | set_error_handler('errorHandlerPsi'); /* restore error handler */ |
||
114 | } |
||
115 | if (! empty($bufferarr2)) { |
||
116 | foreach ($bufferarr2 as $id=>$string) { |
||
117 | $buffer .= $id." = ".$string."\n"; |
||
118 | } |
||
119 | View Code Duplication | if (! empty($bufferarr3)) { |
|
0 ignored issues
–
show
This code seems to be duplicated across your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
120 | foreach ($bufferarr3 as $id=>$string) { |
||
121 | $buffer .= $id." = ".$string."\n"; |
||
122 | } |
||
123 | } } |
||
124 | View Code Duplication | if (! empty($bufferarr4)) { |
|
0 ignored issues
–
show
This code seems to be duplicated across your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
125 | foreach ($bufferarr4 as $id=>$string) { |
||
126 | $buffer .= $id." = ".$string."\n"; |
||
127 | } |
||
128 | } |
||
129 | if (strlen(trim($buffer)) > 0) { |
||
130 | $this->_output[$ups] = $buffer; |
||
131 | } |
||
132 | } |
||
133 | } |
||
134 | } |
||
135 | break; |
||
136 | default: |
||
137 | $this->error->addError("switch(PSI_UPS_SNMPUPS_ACCESS)", "Bad SNMPups configuration in phpsysinfo.ini"); |
||
138 | break; |
||
139 | } |
||
140 | } |
||
141 | |||
142 | /** |
||
143 | * parse the input and store data in resultset for xml generation |
||
144 | * |
||
145 | * @return Void |
||
146 | */ |
||
147 | private function _info() |
||
148 | { |
||
149 | if (empty($this->_output)) { |
||
150 | return; |
||
151 | } |
||
152 | foreach ($this->_output as $result) { |
||
153 | $dev = new UPSDevice(); |
||
154 | $status = ""; |
||
155 | $status2 = ""; |
||
0 ignored issues
–
show
$status2 is not used, you could remove the assignment.
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently. $myVar = 'Value';
$higher = false;
if (rand(1, 6) > 3) {
$higher = true;
} else {
$higher = false;
}
Both the ![]() |
|||
156 | $status3 = ""; |
||
0 ignored issues
–
show
$status3 is not used, you could remove the assignment.
This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently. $myVar = 'Value';
$higher = false;
if (rand(1, 6) > 3) {
$higher = true;
} else {
$higher = false;
}
Both the ![]() |
|||
157 | $dev->setMode("SNMP"); |
||
158 | if (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.1\.1\.2\.0 = STRING:\s(.*)/m', $result, $data)) { |
||
159 | $dev->setName(trim($data[1], "\" \r\t")); |
||
160 | } |
||
161 | if (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.1\.1\.1\.0 = STRING:\s(.*)/m', $result, $data)) { |
||
162 | $dev->setModel(trim($data[1], "\" \r\t")); |
||
163 | } |
||
164 | if (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.4\.1\.1\.0 = INTEGER:\s(.*)/m', $result, $data)) { |
||
165 | switch (trim($data[1])) { |
||
166 | case 1: $status = "Unknown"; |
||
0 ignored issues
–
show
The case body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a case statement must start on the line immediately following the case statement. switch ($expr) {
case "A":
doSomething(); //right
break;
case "B":
doSomethingElse(); //wrong
break;
} To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
167 | break; |
||
168 | case 2: $status = "On Line"; |
||
0 ignored issues
–
show
The case body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a case statement must start on the line immediately following the case statement. switch ($expr) {
case "A":
doSomething(); //right
break;
case "B":
doSomethingElse(); //wrong
break;
} To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
169 | break; |
||
170 | case 3: $status = "On Battery"; |
||
0 ignored issues
–
show
The case body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a case statement must start on the line immediately following the case statement. switch ($expr) {
case "A":
doSomething(); //right
break;
case "B":
doSomethingElse(); //wrong
break;
} To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
171 | break; |
||
172 | case 4: $status = "On Smart Boost"; |
||
0 ignored issues
–
show
The case body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a case statement must start on the line immediately following the case statement. switch ($expr) {
case "A":
doSomething(); //right
break;
case "B":
doSomethingElse(); //wrong
break;
} To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
173 | break; |
||
174 | case 5: $status = "Timed Sleeping"; |
||
0 ignored issues
–
show
The case body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a case statement must start on the line immediately following the case statement. switch ($expr) {
case "A":
doSomething(); //right
break;
case "B":
doSomethingElse(); //wrong
break;
} To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
175 | break; |
||
176 | case 6: $status = "Software Bypass"; |
||
0 ignored issues
–
show
The case body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a case statement must start on the line immediately following the case statement. switch ($expr) {
case "A":
doSomething(); //right
break;
case "B":
doSomethingElse(); //wrong
break;
} To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
177 | break; |
||
178 | case 7: $status = "Off"; |
||
0 ignored issues
–
show
The case body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a case statement must start on the line immediately following the case statement. switch ($expr) {
case "A":
doSomething(); //right
break;
case "B":
doSomethingElse(); //wrong
break;
} To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
179 | break; |
||
180 | case 8: $status = "Rebooting"; |
||
0 ignored issues
–
show
The case body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a case statement must start on the line immediately following the case statement. switch ($expr) {
case "A":
doSomething(); //right
break;
case "B":
doSomethingElse(); //wrong
break;
} To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
181 | break; |
||
182 | case 9: $status = "Switched Bypass"; |
||
0 ignored issues
–
show
The case body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a case statement must start on the line immediately following the case statement. switch ($expr) {
case "A":
doSomething(); //right
break;
case "B":
doSomethingElse(); //wrong
break;
} To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
183 | break; |
||
184 | case 10:$status = "Hardware Failure Bypass"; |
||
0 ignored issues
–
show
The case body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a case statement must start on the line immediately following the case statement. switch ($expr) {
case "A":
doSomething(); //right
break;
case "B":
doSomethingElse(); //wrong
break;
} To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
185 | break; |
||
186 | case 11:$status = "Sleeping Until Power Returns"; |
||
0 ignored issues
–
show
The case body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a case statement must start on the line immediately following the case statement. switch ($expr) {
case "A":
doSomething(); //right
break;
case "B":
doSomethingElse(); //wrong
break;
} To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
187 | break; |
||
188 | case 12:$status = "On Smart Trim"; |
||
0 ignored issues
–
show
The case body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a case statement must start on the line immediately following the case statement. switch ($expr) {
case "A":
doSomething(); //right
break;
case "B":
doSomethingElse(); //wrong
break;
} To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
189 | break; |
||
190 | default: $status = "Unknown state (".trim($data[1]).")"; |
||
0 ignored issues
–
show
The default body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a default statement must start on the line immediately following the statement. switch ($expr) {
default:
doSomething(); //right
break;
}
switch ($expr) {
default:
doSomething(); //wrong
break;
}
To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
191 | break; |
||
192 | } |
||
193 | } |
||
194 | View Code Duplication | if (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.2\.1\.1\.0 = INTEGER:\s(.*)/m', $result, $data)) { |
|
0 ignored issues
–
show
This code seems to be duplicated across your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
195 | $batstat = ""; |
||
196 | switch (trim($data[1])) { |
||
197 | case 1: $batstat = "Battery Unknown"; |
||
0 ignored issues
–
show
The case body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a case statement must start on the line immediately following the case statement. switch ($expr) {
case "A":
doSomething(); //right
break;
case "B":
doSomethingElse(); //wrong
break;
} To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
198 | break; |
||
199 | case 2: break; |
||
0 ignored issues
–
show
The case body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a case statement must start on the line immediately following the case statement. switch ($expr) {
case "A":
doSomething(); //right
break;
case "B":
doSomethingElse(); //wrong
break;
} To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() Terminating statement must be on a line by itself
As per the PSR-2 coding standard, the switch ($expr) {
case "A":
doSomething();
break; //wrong
case "B":
doSomething();
break; //right
case "C:":
doSomething();
return true; //right
}
To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
200 | case 3: $batstat = "Battery Low"; |
||
0 ignored issues
–
show
The case body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a case statement must start on the line immediately following the case statement. switch ($expr) {
case "A":
doSomething(); //right
break;
case "B":
doSomethingElse(); //wrong
break;
} To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
201 | break; |
||
202 | default: $batstat = "Battery Unknown (".trim($data[1]).")"; |
||
0 ignored issues
–
show
The default body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a default statement must start on the line immediately following the statement. switch ($expr) {
default:
doSomething(); //right
break;
}
switch ($expr) {
default:
doSomething(); //wrong
break;
}
To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
203 | break; |
||
204 | } |
||
205 | if ($batstat !== "") { |
||
206 | if ($status !== "") { |
||
207 | $status .= ", ".$batstat; |
||
208 | } else { |
||
209 | $status = $batstat; |
||
210 | } |
||
211 | } |
||
212 | } |
||
213 | View Code Duplication | if (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.2\.2\.4\.0 = INTEGER:\s(.*)/m', $result, $data)) { |
|
0 ignored issues
–
show
This code seems to be duplicated across your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
214 | $batstat = ""; |
||
215 | switch (trim($data[1])) { |
||
216 | case 1: break; |
||
0 ignored issues
–
show
The case body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a case statement must start on the line immediately following the case statement. switch ($expr) {
case "A":
doSomething(); //right
break;
case "B":
doSomethingElse(); //wrong
break;
} To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() Terminating statement must be on a line by itself
As per the PSR-2 coding standard, the switch ($expr) {
case "A":
doSomething();
break; //wrong
case "B":
doSomething();
break; //right
case "C:":
doSomething();
return true; //right
}
To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
217 | case 2: $batstat = "Replace Battery"; |
||
0 ignored issues
–
show
The case body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a case statement must start on the line immediately following the case statement. switch ($expr) {
case "A":
doSomething(); //right
break;
case "B":
doSomethingElse(); //wrong
break;
} To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
218 | break; |
||
219 | default: $batstat = "Replace Battery (".trim($data[1]).")"; |
||
0 ignored issues
–
show
The default body in a switch statement must start on the line following the statement.
According to the PSR-2, the body of a default statement must start on the line immediately following the statement. switch ($expr) {
default:
doSomething(); //right
break;
}
switch ($expr) {
default:
doSomething(); //wrong
break;
}
To learn more about the PSR-2 coding standard, please refer to the PHP-Fig. ![]() |
|||
220 | break; |
||
221 | } |
||
222 | if ($batstat !== "") { |
||
223 | if ($status !== "") { |
||
224 | $status .= ", ".$batstat; |
||
225 | } else { |
||
226 | $status = $batstat; |
||
227 | } |
||
228 | } |
||
229 | } |
||
230 | if ($status !== "") { |
||
231 | $dev->setStatus(trim($status)); |
||
232 | } |
||
233 | |||
234 | View Code Duplication | if (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.3\.3\.1\.0 = Gauge32:\s(.*)/m', $result, $data)) { |
|
0 ignored issues
–
show
This code seems to be duplicated across your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
235 | $dev->setLineVoltage(trim($data[1])/10); |
||
236 | } elseif (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.3\.2\.1\.0 = Gauge32:\s(.*)/m', $result, $data)) { |
||
237 | $dev->setLineVoltage(trim($data[1])); |
||
238 | } |
||
239 | View Code Duplication | if (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.4\.3\.3\.0 = Gauge32:\s(.*)/m', $result, $data)) { |
|
0 ignored issues
–
show
This code seems to be duplicated across your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
240 | $dev->setLoad(trim($data[1])/10); |
||
241 | } elseif (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.4\.2\.3\.0 = Gauge32:\s(.*)/m', $result, $data)) { |
||
242 | $dev->setLoad(trim($data[1])); |
||
243 | } |
||
244 | View Code Duplication | if (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.2\.3\.4\.0 = INTEGER:\s(.*)/m', $result, $data)) { |
|
0 ignored issues
–
show
This code seems to be duplicated across your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
245 | $dev->setBatteryVoltage(trim($data[1])/10); |
||
0 ignored issues
–
show
trim($data[1]) / 10 is of type integer|double , but the function expects a object .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() |
|||
246 | } elseif (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.2\.2\.8\.0 = INTEGER:\s(.*)/m', $result, $data)) { |
||
247 | $dev->setBatteryVoltage(trim($data[1])); |
||
0 ignored issues
–
show
trim($data[1]) is of type string , but the function expects a object .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() |
|||
248 | } |
||
249 | View Code Duplication | if (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.2\.3\.1\.0 = Gauge32:\s(.*)/m', $result, $data)) { |
|
0 ignored issues
–
show
This code seems to be duplicated across your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
250 | $dev->setBatterCharge(trim($data[1])/10); |
||
251 | } elseif (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.2\.2\.1\.0 = Gauge32:\s(.*)/m', $result, $data)) { |
||
252 | $dev->setBatterCharge(trim($data[1])); |
||
253 | } |
||
254 | if (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.2\.2\.3\.0 = Timeticks:\s\((\d*)\)/m', $result, $data)) { |
||
255 | $dev->setTimeLeft(trim($data[1])/6000); |
||
256 | } |
||
257 | View Code Duplication | if (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.2\.3\.2\.0 = Gauge32:\s(.*)/m', $result, $data)) { |
|
0 ignored issues
–
show
This code seems to be duplicated across your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
258 | $dev->setTemperatur(trim($data[1])/10); |
||
259 | } elseif (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.2\.2\.2\.0 = Gauge32:\s(.*)/m', $result, $data)) { |
||
260 | $dev->setTemperatur(trim($data[1])); |
||
261 | } |
||
262 | if (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.2\.1\.3\.0 = STRING:\s(.*)/m', $result, $data)) { |
||
263 | $dev->setBatteryDate(trim($data[1], "\" \r\t")); |
||
0 ignored issues
–
show
trim($data[1], '"
') is of type string , but the function expects a object .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() |
|||
264 | } |
||
265 | View Code Duplication | if (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.3\.3\.4\.0 = Gauge32:\s(.*)/m', $result, $data)) { |
|
0 ignored issues
–
show
This code seems to be duplicated across your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
266 | $dev->setLineFrequency(trim($data[1])/10); |
||
267 | } elseif (preg_match('/^\.1\.3\.6\.1\.4\.1\.318\.1\.1\.1\.3\.2\.4\.0 = Gauge32:\s(.*)/m', $result, $data)) { |
||
268 | $dev->setLineFrequency(trim($data[1])); |
||
269 | } |
||
270 | |||
271 | $this->upsinfo->setUpsDevices($dev); |
||
272 | } |
||
273 | } |
||
274 | |||
275 | /** |
||
276 | * get the information |
||
277 | * |
||
278 | * @see PSI_Interface_UPS::build() |
||
279 | * |
||
280 | * @return Void |
||
281 | */ |
||
282 | public function build() |
||
283 | { |
||
284 | $this->_info(); |
||
285 | } |
||
286 | } |
||
287 |
You can fix this by adding a namespace to your class:
When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.