Issues (277)

Security Analysis    not enabled

This project does not seem to handle request data directly as such no vulnerable execution paths were found.

  Cross-Site Scripting
Cross-Site Scripting enables an attacker to inject code into the response of a web-request that is viewed by other users. It can for example be used to bypass access controls, or even to take over other users' accounts.
  File Exposure
File Exposure allows an attacker to gain access to local files that he should not be able to access. These files can for example include database credentials, or other configuration files.
  File Manipulation
File Manipulation enables an attacker to write custom data to files. This potentially leads to injection of arbitrary code on the server.
  Object Injection
Object Injection enables an attacker to inject an object into PHP code, and can lead to arbitrary code execution, file exposure, or file manipulation attacks.
  Code Injection
Code Injection enables an attacker to execute arbitrary code on the server.
  Response Splitting
Response Splitting can be used to send arbitrary responses.
  File Inclusion
File Inclusion enables an attacker to inject custom files into PHP's file loading mechanism, either explicitly passed to include, or for example via PHP's auto-loading mechanism.
  Command Injection
Command Injection enables an attacker to inject a shell command that is execute with the privileges of the web-server. This can be used to expose sensitive data, or gain access of your server.
  SQL Injection
SQL Injection enables an attacker to execute arbitrary SQL code on your database server gaining access to user data, or manipulating user data.
  XPath Injection
XPath Injection enables an attacker to modify the parts of XML document that are read. If that XML document is for example used for authentication, this can lead to further vulnerabilities similar to SQL Injection.
  LDAP Injection
LDAP Injection enables an attacker to inject LDAP statements potentially granting permission to run unauthorized queries, or modify content inside the LDAP tree.
  Header Injection
  Other Vulnerability
This category comprises other attack vectors such as manipulating the PHP runtime, loading custom extensions, freezing the runtime, or similar.
  Regex Injection
Regex Injection enables an attacker to execute arbitrary code in your PHP process.
  XML Injection
XML Injection enables an attacker to read files on your local filesystem including configuration files, or can be abused to freeze your web-server process.
  Variable Injection
Variable Injection enables an attacker to overwrite program variables with custom data, and can lead to further vulnerabilities.
Unfortunately, the security analysis is currently not available for your project. If you are a non-commercial open-source project, please contact support to gain access.

Ajax/common/traits/JsUtilsActionsTrait.php (3 issues)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
namespace Ajax\common\traits;
4
5
trait JsUtilsActionsTrait {
6
7
	/**
8
	 * add class to element
9
	 *
10
	 * @param string $element
11
	 * @param string $class to add
12
	 * @param boolean $immediatly defers the execution if set to false
13
	 * @return string
14
	 */
15
	public function addClass($element='this', $class='', $immediatly=false) {
16
		return $this->js->_genericCallValue('addClass',$element, $class, $immediatly);
0 ignored issues
show
The property js does not exist. Did you maybe forget to declare it?

In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:

class MyClass { }

$x = new MyClass();
$x->foo = true;

Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion:

class MyClass {
    public $foo;
}

$x = new MyClass();
$x->foo = true;
Loading history...
17
	}
18
19
	/**
20
	 * Insert content, specified by the parameter, after each element in the set of matched elements
21
	 * @param string $to
22
	 * @param string $element
23
	 * @param boolean $immediatly defers the execution if set to false
24
	 * @return string
25
	 */
26
	public function after($to, $element, $immediatly=false){
27
		return $this->js->_genericCallElement('after',$to, $element, $immediatly);
28
	}
29
30
	/**
31
	 * Insert content, specified by the parameter, before each element in the set of matched elements
32
	 * @param string $to
33
	 * @param string $element
34
	 * @param boolean $immediatly defers the execution if set to false
35
	 * @return string
36
	 */
37
	public function before($to, $element, $immediatly=false){
38
		return $this->js->_genericCallElement('before',$to, $element, $immediatly);
39
	}
40
41
	/**
42
	 * Get or set the value of an attribute for the first element in the set of matched elements or set one or more attributes for every matched element.
43
	 * @param string $element
44
	 * @param string $attributeName
45
	 * @param string $value
46
	 * @param boolean $immediatly defers the execution if set to false
47
	 */
48
	public function attr($element='this', $attributeName='value', $value='', $immediatly=false) {
49
		return $this->js->_attr($element, $attributeName, $value, $immediatly);
50
	}
51
52
	/**
53
	 * Get or set the value of the first element in the set of matched elements or set one or more attributes for every matched element.
54
	 * @param string $element
55
	 * @param string $value
56
	 * @param boolean $immediatly defers the execution if set to false
57
	 */
58
	public function val($element='this',$value='',$immediatly=false){
59
		return $this->js->_genericCallValue('val',$element,$value,$immediatly);
60
	}
61
62
	/**
63
	 * Get or set the html of an attribute for the first element in the set of matched elements.
64
	 * @param string $element
65
	 * @param string $value
66
	 * @param boolean $immediatly defers the execution if set to false
67
	 */
68
	public function html($element='this', $value='', $immediatly=false) {
69
		return $this->js->_genericCallValue('html',$element, $value, $immediatly);
70
	}
71
72
	/**
73
	 * Outputs a javascript library animate event
74
	 *
75
	 * @param string $element element
76
	 * @param array $params
77
	 * @param string $speed One of 'slow', 'normal', 'fast', or time in milliseconds
78
	 * @param string $extra
79
	 * @param boolean $immediatly defers the execution if set to false
80
	 * @return string
81
	 */
82
	public function animate($element='this', $params=array(), $speed='', $extra='', $immediatly=false) {
83
		return $this->js->_animate($element, $params, $speed, $extra, $immediatly);
84
	}
85
86
	/**
87
	 * Insert content, specified by the parameter $element, to the end of each element in the set of matched elements $to.
88
	 * @param string $to
89
	 * @param string $element
90
	 * @param boolean $immediatly defers the execution if set to false
91
	 * @return string
92
	 */
93
	public function append($to, $element, $immediatly=false) {
94
		return $this->js->_genericCallElement('append',$to, $element, $immediatly);
95
	}
96
97
	/**
98
	 * Insert content, specified by the parameter $element, to the beginning of each element in the set of matched elements $to.
99
	 * @param string $to
100
	 * @param string $element
101
	 * @param boolean $immediatly defers the execution if set to false
102
	 * @return string
103
	 */
104
	public function prepend($to, $element, $immediatly=false) {
105
		return $this->js->_genericCallElement('prepend',$to, $element, $immediatly);
106
	}
107
108
	/**
109
	 * Execute a javascript library hide action
110
	 *
111
	 * @param string - element
112
	 * @param string - One of 'slow', 'normal', 'fast', or time in milliseconds
113
	 * @param string - Javascript callback function
114
	 * @param boolean $immediatly defers the execution if set to false
115
	 * @return string
116
	 */
117
	public function fadeIn($element='this', $speed='', $callback='', $immediatly=false) {
118
		return $this->js->_fadeIn($element, $speed, $callback, $immediatly);
119
	}
120
121
	/**
122
	 * Execute a javascript library hide action
123
	 *
124
	 * @param string - element
125
	 * @param string - One of 'slow', 'normal', 'fast', or time in milliseconds
126
	 * @param string - Javascript callback function
127
	 * @param boolean $immediatly defers the execution if set to false
128
	 * @return string
129
	 */
130
	public function fadeOut($element='this', $speed='', $callback='', $immediatly=false) {
131
		return $this->js->_fadeOut($element, $speed, $callback, $immediatly);
132
	}
133
134
	/**
135
	 * Execute a javascript library slideUp action
136
	 *
137
	 * @param string - element
138
	 * @param string - One of 'slow', 'normal', 'fast', or time in milliseconds
139
	 * @param string - Javascript callback function
140
	 * @param boolean $immediatly defers the execution if set to false
141
	 * @return string
142
	 */
143
	public function slideUp($element='this', $speed='', $callback='', $immediatly=false) {
144
		return $this->js->_slideUp($element, $speed, $callback, $immediatly);
145
	}
146
147
	/**
148
	 * Execute a javascript library removeClass action
149
	 *
150
	 * @param string - element
151
	 * @param string - Class to add
152
	 * @param boolean $immediatly defers the execution if set to false
153
	 * @return string
154
	 */
155
	public function removeClass($element='this', $class='', $immediatly=false) {
156
		return $this->js->_genericCall('removeClass',$element, $class, $immediatly);
157
	}
158
159
	/**
160
	 * Execute a javascript library slideDown action
161
	 *
162
	 * @param string - element
163
	 * @param string - One of 'slow', 'normal', 'fast', or time in milliseconds
164
	 * @param string - Javascript callback function
165
	 * @param boolean $immediatly defers the execution if set to false
166
	 * @return string
167
	 */
168
	public function slideDown($element='this', $speed='', $callback='', $immediatly=false) {
169
		return $this->js->_slideDown($element, $speed, $callback, $immediatly);
170
	}
171
172
	/**
173
	 * Execute a javascript library slideToggle action
174
	 *
175
	 * @param string - element
176
	 * @param string - One of 'slow', 'normal', 'fast', or time in milliseconds
177
	 * @param string - Javascript callback function
178
	 * @param boolean $immediatly defers the execution if set to false
179
	 * @return string
180
	 */
181
	public function slideToggle($element='this', $speed='', $callback='', $immediatly=false) {
182
		return $this->js->_slideToggle($element, $speed, $callback, $immediatly);
183
	}
184
185
	/**
186
	 * Execute a javascript library hide action
187
	 *
188
	 * @param string - element
189
	 * @param string - One of 'slow', 'normal', 'fast', or time in milliseconds
190
	 * @param string - Javascript callback function
191
	 * @param boolean $immediatly defers the execution if set to false
192
	 * @return string
193
	 */
194
	public function hide($element='this', $speed='', $callback='', $immediatly=false) {
195
		return $this->js->_hide($element, $speed, $callback, $immediatly);
196
	}
197
198
	/**
199
	 * Execute a javascript library toggle action
200
	 *
201
	 * @param string - element
202
	 * @param boolean $immediatly defers the execution if set to false
203
	 * @return string
204
	 */
205
	public function toggle($element='this', $immediatly=false) {
206
		return $this->js->_toggle($element, $immediatly);
207
	}
208
209
	/**
210
	 * Execute a javascript library toggle class action
211
	 *
212
	 * @param string - element
213
	 * @param boolean $immediatly defers the execution if set to false
214
	 * @return string
215
	 */
216
	public function toggleClass($element='this', $class='', $immediatly=false) {
217
		return $this->js->_genericCallValue('toggleClass',$element, $class, $immediatly);
218
	}
219
220
	/**
221
	 * Execute all handlers and behaviors attached to the matched elements for the given event.
222
	 * @param string $element
223
	 * @param string $event
224
	 * @param boolean $immediatly defers the execution if set to false
225
	 */
226
	public function trigger($element='this', $event='click', $immediatly=false) {
227
		return $this->js->_trigger($element, $event, $immediatly);
228
	}
229
230
	/**
231
	 * Execute a javascript library show action
232
	 *
233
	 * @param string - element
234
	 * @param string - One of 'slow', 'normal', 'fast', or time in milliseconds
235
	 * @param string - Javascript callback function
236
	 * @param boolean $immediatly defers the execution if set to false
237
	 * @return string
238
	 */
239
	public function show($element='this', $speed='', $callback='', $immediatly=false) {
240
		return $this->js->_show($element, $speed, $callback, $immediatly);
241
	}
242
243
	/**
244
	 * Allows to attach a condition
245
	 * @param string $condition
246
	 * @param string $jsCodeIfTrue
247
	 * @param string $jsCodeIfFalse
248
	 * @param boolean $immediatly defers the execution if set to false
249
	 */
250
	public function condition($condition, $jsCodeIfTrue, $jsCodeIfFalse=null, $immediatly=false) {
251
		return $this->js->_condition($condition, $jsCodeIfTrue, $jsCodeIfFalse, $immediatly);
252
	}
253
254
	/**
255
	 * Calls the JQuery callback $someThing on $element with facultative parameter $param
256
	 * @param string $element the element
257
	 * @param string $jqueryCall the JQuery callback
258
	 * @param mixed $param array or string parameters
259
	 * @param string $jsCallback javascript code to execute after the jquery call
260
	 * @return mixed
261
	 */
262
	public function doJQuery($element, $jqueryCall, $param="", $jsCallback="") {
263
		return $this->js->_doJQuery($element, $jqueryCall, $param, $jsCallback, true);
264
	}
265
266
	/**
267
	 * Calls the JQuery callback $someThing on $element with facultative parameter $param
268
	 * @param string $element the element
269
	 * @param string $jqueryCall the JQuery callback
270
	 * @param mixed $param array or string parameters
271
	 * @param string $jsCallback javascript code to execute after the jquery call
272
	 * @return mixed
273
	 */
274
	public function doJQueryDeferred($element, $jqueryCall, $param="", $jsCallback="") {
275
		return $this->js->_doJQuery($element, $jqueryCall, $param, $jsCallback, false);
276
	}
277
278
	/**
279
	 * Calls the JQuery callback $jqueryCall on $element with facultative parameter $param in response to an event $event
280
	 * @param string $event
281
	 * @param string $element
282
	 * @param string $elementToModify
283
	 * @param string $jqueryCall
284
	 * @param string $param
285
	 * @param array $parameters default : array("preventDefault"=>false,"stopPropagation"=>false,"jsCallback"=>'',"immediatly"=>true)
286
	 */
287 View Code Duplication
	public function doJQueryOn($event, $element, $elementToModify, $jqueryCall, $param="", $parameters=array()) {
0 ignored issues
show
This method seems to be duplicated in 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.

Loading history...
288
		$jsCallback="";
289
		$stopPropagation=false;
290
		$preventDefault=false;
291
		$immediatly=true;
292
		extract($parameters);
293
		return $this->js->_doJQueryOn($event, $element, $elementToModify, $jqueryCall, $param, $preventDefault, $stopPropagation, $jsCallback,$immediatly);
294
	}
295
296
	/**
297
	 * Executes the code $js
298
	 * @param string $js Code to execute
299
	 * @param boolean $immediatly delayed if false
300
	 * @return String
301
	 */
302
	public function exec($js, $immediatly=false) {
303
		$script=$this->js->_exec($js, $immediatly);
304
		return $script;
305
	}
306
307
	/**
308
	 * Executes the javascript code $js when $event fires on $element
309
	 * @param string $event
310
	 * @param string $element
311
	 * @param string $js Code to execute
312
	 * @param array $parameters default : array("preventDefault"=>false,"stopPropagation"=>false,"immediatly"=>true)
313
	 * @return String
314
	 */
315 View Code Duplication
	public function execOn($event, $element, $js, $parameters=array()) {
0 ignored issues
show
This method seems to be duplicated in 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.

Loading history...
316
		$stopPropagation=false;
317
		$preventDefault=false;
318
		$immediatly=true;
319
		extract($parameters);
320
		$script=$this->js->_execOn($element, $event, $js, $preventDefault, $stopPropagation,$immediatly);
321
		return $script;
322
	}
323
}