These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | namespace Eustatos\gitlab\webhook; |
||
3 | |||
4 | /** |
||
5 | * Event |
||
6 | * |
||
7 | * @package Eustatos\gitlab\webhook |
||
8 | * @author Alexander Astashkin <[email protected]> |
||
9 | */ |
||
10 | class Event |
||
11 | { |
||
12 | private $_command; |
||
13 | private $_output = []; |
||
14 | private $_result; |
||
15 | const TOKEN = 'b2b pushed'; |
||
16 | |||
17 | /** |
||
18 | * __construct |
||
19 | * |
||
20 | * @param string $command |
||
21 | * @param array $output |
||
0 ignored issues
–
show
|
|||
22 | * @param int $result |
||
0 ignored issues
–
show
There is no parameter named
$result . Was it maybe removed?
This check looks for PHPDoc comments describing methods or function parameters that do not exist on the corresponding method or function. Consider the following example. The parameter /**
* @param array $germany
* @param array $island
* @param array $italy
*/
function finale($germany, $island) {
return "2:1";
}
The most likely cause is that the parameter was removed, but the annotation was not. ![]() |
|||
23 | * @param string $password |
||
24 | * @access public |
||
25 | * @return void |
||
26 | */ |
||
27 | public function __construct($command, $password) |
||
28 | { |
||
29 | $this->_command = $command; |
||
30 | |||
31 | if ($password == self::TOKEN) { |
||
32 | exec( |
||
33 | $this->_command, |
||
34 | $this->_output, |
||
35 | $this->_result |
||
36 | ); |
||
37 | } |
||
38 | } |
||
39 | |||
40 | /** |
||
41 | * getResult |
||
42 | * |
||
43 | * @access public |
||
44 | * @return void |
||
45 | */ |
||
46 | public function getResult() |
||
47 | { |
||
48 | echo 'Result execution: ' . $this->_command . PHP_EOL |
||
49 | . $this->_result . PHP_EOL; |
||
50 | echo '<pre>'; |
||
51 | print_r($this->_output); |
||
52 | echo '</pre>'; |
||
53 | } |
||
54 | |||
55 | /** |
||
56 | * logResult |
||
57 | * |
||
58 | * @param string $file |
||
59 | * @access public |
||
60 | * @return void |
||
61 | */ |
||
62 | public function logResult($file) |
||
63 | { |
||
64 | $this->writeToFile( |
||
65 | $file, |
||
66 | $this->_output |
||
67 | ); |
||
68 | } |
||
69 | |||
70 | /** |
||
71 | * logRequest |
||
72 | * |
||
73 | * @param string $file |
||
74 | * @access public |
||
75 | * @return void |
||
76 | */ |
||
77 | public function logRequest($file) |
||
78 | { |
||
79 | if (strcasecmp($_SERVER['REQUEST_METHOD'], 'POST') != 0) { |
||
80 | throw new Exception('Request method must be POST!'); |
||
81 | } |
||
82 | $contentType = isset($_SERVER['CONTENT_TYPE']) |
||
83 | ? trim($_SERVER['CONTENT_TYPE']) |
||
84 | : ''; |
||
85 | if (strcasecmp($contentType, 'application/json') !=0 ) { |
||
86 | throw new Exception('Content type must be: application/json'); |
||
87 | } |
||
88 | $jsonRequest = trim(file_get_contents('php://input')); |
||
89 | $jsonRequest = json_decode($jsonRequest, true); |
||
90 | if (!is_array($jsonRequest)) { |
||
91 | throw new Exception('Received content conteined invalid JSON'); |
||
92 | } |
||
93 | $this->writeToFile( |
||
94 | $file, |
||
95 | $jsonRequest |
||
96 | ); |
||
97 | } |
||
98 | |||
99 | /** |
||
100 | * writeToFile |
||
101 | * |
||
102 | * Write to file |
||
103 | * |
||
104 | * @param string $file relative path to file for write the content |
||
105 | * Example: `bashexec.log` |
||
106 | * |
||
107 | * @param mixed $content String or array |
||
108 | * @access public |
||
109 | * @return void |
||
110 | */ |
||
111 | public function writeToFile($file, $content) |
||
112 | { |
||
113 | file_put_contents( |
||
114 | __DIR__ . DIRECTORY_SEPARATOR . $file, |
||
115 | '--------------' . date('Y-m-d H:m:s') . '------------' . PHP_EOL |
||
116 | . print_r($content, true), |
||
117 | FILE_APPEND | LOCK_EX |
||
118 | ); |
||
119 | } |
||
120 | } |
||
121 |
This check looks for PHPDoc comments describing methods or function parameters that do not exist on the corresponding method or function.
Consider the following example. The parameter
$italy
is not defined by the methodfinale(...)
.The most likely cause is that the parameter was removed, but the annotation was not.