Issues (1377)

Security Analysis    no request data  

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.

API/Options/HighchartsLang.php (10 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
/**
4
 * This file is part of the highcharts-bundle package.
5
 *
6
 * (c) 2017 WEBEWEB
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace WBW\Bundle\HighchartsBundle\API\Options;
13
14
use JsonSerializable;
15
use WBW\Library\Core\Utility\Argument\ArrayUtility;
16
17
/**
18
 * Highcharts lang.
19
 *
20
 * @author webeweb <https://github.com/webeweb/>
21
 * @package WBW\Bundle\HighchartsBundle\API\Options
22
 * @version 5.0.14
23
 * @final
24
 */
25
final class HighchartsLang implements JsonSerializable {
26
27
    /**
28
     * Context button title.
29
     *
30
     * @var string
31
     * @since 3.0
32
     */
33
    private $contextButtonTitle = "Chart context menu";
34
35
    /**
36
     * Decimal point.
37
     *
38
     * @var string
39
     * @since 1.2.2
40
     */
41
    private $decimalPoint = ".";
42
43
    /**
44
     * Download JPEG.
45
     *
46
     * @var string
47
     * @since 2.0
48
     */
49
    private $downloadJPEG = "Download JPEG image";
50
51
    /**
52
     * Download PDF.
53
     *
54
     * @var string
55
     * @since 2.0
56
     */
57
    private $downloadPDF = "Download PDF document";
58
59
    /**
60
     * Download PNG.
61
     *
62
     * @var string
63
     * @since 2.0
64
     */
65
    private $downloadPNG = "Download PNG image";
66
67
    /**
68
     * Download SVG.
69
     *
70
     * @var string
71
     * @since 2.0
72
     */
73
    private $downloadSVG = "Download SVG vector image";
74
75
    /**
76
     * Drill up text.
77
     *
78
     * @var string
79
     * @since 3.0.8
80
     */
81
    private $drillUpText = "Back to {series.name}";
82
83
    /**
84
     * Invalid date.
85
     *
86
     * @var string
87
     * @since 4.1.8
88
     */
89
    private $invalidDate;
90
91
    /**
92
     * Loading.
93
     *
94
     * @var string
95
     */
96
    private $loading = "Loading...";
97
98
    /**
99
     * Months.
100
     *
101
     * @var array
102
     */
103
    private $months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
104
105
    /**
106
     * No data.
107
     *
108
     * @var string
109
     * @since 3.0.8
110
     */
111
    private $noData = "No data to display";
112
113
    /**
114
     * Numeric symbol magnitude.
115
     *
116
     * @var integer
117
     * @since 5.0.3
118
     */
119
    private $numericSymbolMagnitude = 1000;
120
121
    /**
122
     * Numeric symbols.
123
     *
124
     * @var array
125
     * @since 2.3.0
126
     */
127
    private $numericSymbols = ["k", "M", "G", "T", "P", "E"];
128
129
    /**
130
     * Print chart.
131
     *
132
     * @var string
133
     * @since 3.0.1
134
     */
135
    private $printChart = "Print chart";
136
137
    /**
138
     * Reset zoom.
139
     *
140
     * @var string
141
     * @since 1.2.4
142
     */
143
    private $resetZoom = "Reset zoom";
144
145
    /**
146
     * Reset zoom title.
147
     *
148
     * @var string
149
     * @since 1.2.4
150
     */
151
    private $resetZoomTitle = "Reset zoom level 1:1";
152
153
    /**
154
     * Short months.
155
     *
156
     * @var array
157
     */
158
    private $shortMonths = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
159
160
    /**
161
     * Short weekdays.
162
     *
163
     * @var array
164
     * @since 4.2.4
165
     */
166
    private $shortWeekdays;
167
168
    /**
169
     * Thousands sep.
170
     *
171
     * @var string
172
     * @since 1.2.2
173
     */
174
    private $thousandsSep;
175
176
    /**
177
     * Weekdays.
178
     *
179
     * @var array
180
     */
181
    private $weekdays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
182
183
    /**
184
     * Constructor.
185
     *
186
     * @param boolean $ignoreDefaultValues Ignore the default values.
187
     */
188
    public function __construct($ignoreDefaultValues = true) {
189
        if (true === $ignoreDefaultValues) {
190
            $this->clear();
191
        }
192
    }
193
194
    /**
195
     * Clear.
196
     *
197
     * @return void
198
     */
199
    public function clear() {
200
201
        // Clear the context button title.
202
        $this->contextButtonTitle = null;
203
204
        // Clear the decimal point.
205
        $this->decimalPoint = null;
206
207
        // Clear the download JPEG.
208
        $this->downloadJPEG = null;
209
210
        // Clear the download PDF.
211
        $this->downloadPDF = null;
212
213
        // Clear the download PNG.
214
        $this->downloadPNG = null;
215
216
        // Clear the download SVG.
217
        $this->downloadSVG = null;
218
219
        // Clear the drill up text.
220
        $this->drillUpText = null;
221
222
        // Clear the invalid date.
223
        $this->invalidDate = null;
224
225
        // Clear the loading.
226
        $this->loading = null;
227
228
        // Clear the months.
229
        $this->months = null;
0 ignored issues
show
Documentation Bug introduced by
It seems like null of type null is incompatible with the declared type array of property $months.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
230
231
        // Clear the no data.
232
        $this->noData = null;
233
234
        // Clear the numeric symbol magnitude.
235
        $this->numericSymbolMagnitude = null;
236
237
        // Clear the numeric symbols.
238
        $this->numericSymbols = null;
0 ignored issues
show
Documentation Bug introduced by
It seems like null of type null is incompatible with the declared type array of property $numericSymbols.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
239
240
        // Clear the print chart.
241
        $this->printChart = null;
242
243
        // Clear the reset zoom.
244
        $this->resetZoom = null;
245
246
        // Clear the reset zoom title.
247
        $this->resetZoomTitle = null;
248
249
        // Clear the short months.
250
        $this->shortMonths = null;
0 ignored issues
show
Documentation Bug introduced by
It seems like null of type null is incompatible with the declared type array of property $shortMonths.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
251
252
        // Clear the short weekdays.
253
        $this->shortWeekdays = null;
0 ignored issues
show
Documentation Bug introduced by
It seems like null of type null is incompatible with the declared type array of property $shortWeekdays.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
254
255
        // Clear the thousands sep.
256
        $this->thousandsSep = null;
257
258
        // Clear the weekdays.
259
        $this->weekdays = null;
0 ignored issues
show
Documentation Bug introduced by
It seems like null of type null is incompatible with the declared type array of property $weekdays.

Our type inference engine has found an assignment to a property that is incompatible with the declared type of that property.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property..

Loading history...
260
    }
261
262
    /**
263
     * Get the context button title.
264
     *
265
     * @return string Returns the context button title.
266
     */
267
    public function getContextButtonTitle() {
268
        return $this->contextButtonTitle;
269
    }
270
271
    /**
272
     * Get the decimal point.
273
     *
274
     * @return string Returns the decimal point.
275
     */
276
    public function getDecimalPoint() {
277
        return $this->decimalPoint;
278
    }
279
280
    /**
281
     * Get the download JPEG.
282
     *
283
     * @return string Returns the download JPEG.
284
     */
285
    public function getDownloadJPEG() {
286
        return $this->downloadJPEG;
287
    }
288
289
    /**
290
     * Get the download PDF.
291
     *
292
     * @return string Returns the download PDF.
293
     */
294
    public function getDownloadPDF() {
295
        return $this->downloadPDF;
296
    }
297
298
    /**
299
     * Get the download PNG.
300
     *
301
     * @return string Returns the download PNG.
302
     */
303
    public function getDownloadPNG() {
304
        return $this->downloadPNG;
305
    }
306
307
    /**
308
     * Get the download SVG.
309
     *
310
     * @return string Returns the download SVG.
311
     */
312
    public function getDownloadSVG() {
313
        return $this->downloadSVG;
314
    }
315
316
    /**
317
     * Get the drill up text.
318
     *
319
     * @return string Returns the drill up text.
320
     */
321
    public function getDrillUpText() {
322
        return $this->drillUpText;
323
    }
324
325
    /**
326
     * Get the invalid date.
327
     *
328
     * @return string Returns the invalid date.
329
     */
330
    public function getInvalidDate() {
331
        return $this->invalidDate;
332
    }
333
334
    /**
335
     * Get the loading.
336
     *
337
     * @return string Returns the loading.
338
     */
339
    public function getLoading() {
340
        return $this->loading;
341
    }
342
343
    /**
344
     * Get the months.
345
     *
346
     * @return array Returns the months.
347
     */
348
    public function getMonths() {
349
        return $this->months;
350
    }
351
352
    /**
353
     * Get the no data.
354
     *
355
     * @return string Returns the no data.
356
     */
357
    public function getNoData() {
358
        return $this->noData;
359
    }
360
361
    /**
362
     * Get the numeric symbol magnitude.
363
     *
364
     * @return integer Returns the numeric symbol magnitude.
365
     */
366
    public function getNumericSymbolMagnitude() {
367
        return $this->numericSymbolMagnitude;
368
    }
369
370
    /**
371
     * Get the numeric symbols.
372
     *
373
     * @return array Returns the numeric symbols.
374
     */
375
    public function getNumericSymbols() {
376
        return $this->numericSymbols;
377
    }
378
379
    /**
380
     * Get the print chart.
381
     *
382
     * @return string Returns the print chart.
383
     */
384
    public function getPrintChart() {
385
        return $this->printChart;
386
    }
387
388
    /**
389
     * Get the reset zoom.
390
     *
391
     * @return string Returns the reset zoom.
392
     */
393
    public function getResetZoom() {
394
        return $this->resetZoom;
395
    }
396
397
    /**
398
     * Get the reset zoom title.
399
     *
400
     * @return string Returns the reset zoom title.
401
     */
402
    public function getResetZoomTitle() {
403
        return $this->resetZoomTitle;
404
    }
405
406
    /**
407
     * Get the short months.
408
     *
409
     * @return array Returns the short months.
410
     */
411
    public function getShortMonths() {
412
        return $this->shortMonths;
413
    }
414
415
    /**
416
     * Get the short weekdays.
417
     *
418
     * @return array Returns the short weekdays.
419
     */
420
    public function getShortWeekdays() {
421
        return $this->shortWeekdays;
422
    }
423
424
    /**
425
     * Get the thousands sep.
426
     *
427
     * @return string Returns the thousands sep.
428
     */
429
    public function getThousandsSep() {
430
        return $this->thousandsSep;
431
    }
432
433
    /**
434
     * Get the weekdays.
435
     *
436
     * @return array Returns the weekdays.
437
     */
438
    public function getWeekdays() {
439
        return $this->weekdays;
440
    }
441
442
    /**
443
     * Serialize this instance.
444
     *
445
     * @return array Returns an array representing this instance.
446
     */
447
    public function jsonSerialize() {
448
        return $this->toArray();
449
    }
450
451
    /**
452
     * Set the context button title.
453
     *
454
     * @param string $contextButtonTitle The context button title.
455
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
456
     */
457
    public function setContextButtonTitle($contextButtonTitle) {
458
        $this->contextButtonTitle = $contextButtonTitle;
459
        return $this;
460
    }
461
462
    /**
463
     * Set the decimal point.
464
     *
465
     * @param string $decimalPoint The decimal point.
466
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
467
     */
468
    public function setDecimalPoint($decimalPoint) {
469
        $this->decimalPoint = $decimalPoint;
470
        return $this;
471
    }
472
473
    /**
474
     * Set the download JPEG.
475
     *
476
     * @param string $downloadJPEG The download JPEG.
477
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
478
     */
479
    public function setDownloadJPEG($downloadJPEG) {
480
        $this->downloadJPEG = $downloadJPEG;
481
        return $this;
482
    }
483
484
    /**
485
     * Set the download PDF.
486
     *
487
     * @param string $downloadPDF The download PDF.
488
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
489
     */
490
    public function setDownloadPDF($downloadPDF) {
491
        $this->downloadPDF = $downloadPDF;
492
        return $this;
493
    }
494
495
    /**
496
     * Set the download PNG.
497
     *
498
     * @param string $downloadPNG The download PNG.
499
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
500
     */
501
    public function setDownloadPNG($downloadPNG) {
502
        $this->downloadPNG = $downloadPNG;
503
        return $this;
504
    }
505
506
    /**
507
     * Set the download SVG.
508
     *
509
     * @param string $downloadSVG The download SVG.
510
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
511
     */
512
    public function setDownloadSVG($downloadSVG) {
513
        $this->downloadSVG = $downloadSVG;
514
        return $this;
515
    }
516
517
    /**
518
     * Set the drill up text.
519
     *
520
     * @param string $drillUpText The drill up text.
521
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
522
     */
523
    public function setDrillUpText($drillUpText) {
524
        $this->drillUpText = $drillUpText;
525
        return $this;
526
    }
527
528
    /**
529
     * Set the invalid date.
530
     *
531
     * @param string $invalidDate The invalid date.
532
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
533
     */
534
    public function setInvalidDate($invalidDate) {
535
        $this->invalidDate = $invalidDate;
536
        return $this;
537
    }
538
539
    /**
540
     * Set the loading.
541
     *
542
     * @param string $loading The loading.
543
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
544
     */
545
    public function setLoading($loading) {
546
        $this->loading = $loading;
547
        return $this;
548
    }
549
550
    /**
551
     * Set the months.
552
     *
553
     * @param array $months The months.
554
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
555
     */
556
    public function setMonths(array $months = null) {
557
        $this->months = $months;
0 ignored issues
show
Documentation Bug introduced by
It seems like $months can be null. However, the property $months is declared as array. Maybe change the type of the property to array|null or add a type check?

Our type inference engine has found an assignment of a scalar value (like a string, an integer or null) to a property which is an array.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property.

To type hint that a parameter can be either an array or null, you can set a type hint of array and a default value of null. The PHP interpreter will then accept both an array or null for that parameter.

function aContainsB(array $needle = null, array  $haystack) {
    if (!$needle) {
        return false;
    }

    return array_intersect($haystack, $needle) == $haystack;
}

The function can be called with either null or an array for the parameter $needle but will only accept an array as $haystack.

Loading history...
558
        return $this;
559
    }
560
561
    /**
562
     * Set the no data.
563
     *
564
     * @param string $noData The no data.
565
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
566
     */
567
    public function setNoData($noData) {
568
        $this->noData = $noData;
569
        return $this;
570
    }
571
572
    /**
573
     * Set the numeric symbol magnitude.
574
     *
575
     * @param integer $numericSymbolMagnitude The numeric symbol magnitude.
576
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
577
     */
578
    public function setNumericSymbolMagnitude($numericSymbolMagnitude) {
579
        $this->numericSymbolMagnitude = $numericSymbolMagnitude;
580
        return $this;
581
    }
582
583
    /**
584
     * Set the numeric symbols.
585
     *
586
     * @param array $numericSymbols The numeric symbols.
587
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
588
     */
589
    public function setNumericSymbols(array $numericSymbols = null) {
590
        $this->numericSymbols = $numericSymbols;
0 ignored issues
show
Documentation Bug introduced by
It seems like $numericSymbols can be null. However, the property $numericSymbols is declared as array. Maybe change the type of the property to array|null or add a type check?

Our type inference engine has found an assignment of a scalar value (like a string, an integer or null) to a property which is an array.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property.

To type hint that a parameter can be either an array or null, you can set a type hint of array and a default value of null. The PHP interpreter will then accept both an array or null for that parameter.

function aContainsB(array $needle = null, array  $haystack) {
    if (!$needle) {
        return false;
    }

    return array_intersect($haystack, $needle) == $haystack;
}

The function can be called with either null or an array for the parameter $needle but will only accept an array as $haystack.

Loading history...
591
        return $this;
592
    }
593
594
    /**
595
     * Set the print chart.
596
     *
597
     * @param string $printChart The print chart.
598
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
599
     */
600
    public function setPrintChart($printChart) {
601
        $this->printChart = $printChart;
602
        return $this;
603
    }
604
605
    /**
606
     * Set the reset zoom.
607
     *
608
     * @param string $resetZoom The reset zoom.
609
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
610
     */
611
    public function setResetZoom($resetZoom) {
612
        $this->resetZoom = $resetZoom;
613
        return $this;
614
    }
615
616
    /**
617
     * Set the reset zoom title.
618
     *
619
     * @param string $resetZoomTitle The reset zoom title.
620
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
621
     */
622
    public function setResetZoomTitle($resetZoomTitle) {
623
        $this->resetZoomTitle = $resetZoomTitle;
624
        return $this;
625
    }
626
627
    /**
628
     * Set the short months.
629
     *
630
     * @param array $shortMonths The short months.
631
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
632
     */
633
    public function setShortMonths(array $shortMonths = null) {
634
        $this->shortMonths = $shortMonths;
0 ignored issues
show
Documentation Bug introduced by
It seems like $shortMonths can be null. However, the property $shortMonths is declared as array. Maybe change the type of the property to array|null or add a type check?

Our type inference engine has found an assignment of a scalar value (like a string, an integer or null) to a property which is an array.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property.

To type hint that a parameter can be either an array or null, you can set a type hint of array and a default value of null. The PHP interpreter will then accept both an array or null for that parameter.

function aContainsB(array $needle = null, array  $haystack) {
    if (!$needle) {
        return false;
    }

    return array_intersect($haystack, $needle) == $haystack;
}

The function can be called with either null or an array for the parameter $needle but will only accept an array as $haystack.

Loading history...
635
        return $this;
636
    }
637
638
    /**
639
     * Set the short weekdays.
640
     *
641
     * @param array $shortWeekdays The short weekdays.
642
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
643
     */
644
    public function setShortWeekdays(array $shortWeekdays = null) {
645
        $this->shortWeekdays = $shortWeekdays;
0 ignored issues
show
Documentation Bug introduced by
It seems like $shortWeekdays can be null. However, the property $shortWeekdays is declared as array. Maybe change the type of the property to array|null or add a type check?

Our type inference engine has found an assignment of a scalar value (like a string, an integer or null) to a property which is an array.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property.

To type hint that a parameter can be either an array or null, you can set a type hint of array and a default value of null. The PHP interpreter will then accept both an array or null for that parameter.

function aContainsB(array $needle = null, array  $haystack) {
    if (!$needle) {
        return false;
    }

    return array_intersect($haystack, $needle) == $haystack;
}

The function can be called with either null or an array for the parameter $needle but will only accept an array as $haystack.

Loading history...
646
        return $this;
647
    }
648
649
    /**
650
     * Set the thousands sep.
651
     *
652
     * @param string $thousandsSep The thousands sep.
653
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
654
     */
655
    public function setThousandsSep($thousandsSep) {
656
        $this->thousandsSep = $thousandsSep;
657
        return $this;
658
    }
659
660
    /**
661
     * Set the weekdays.
662
     *
663
     * @param array $weekdays The weekdays.
664
     * @return \WBW\Bundle\HighchartsBundle\API\Options\HighchartsLang Returns the highcharts lang.
665
     */
666
    public function setWeekdays(array $weekdays = null) {
667
        $this->weekdays = $weekdays;
0 ignored issues
show
Documentation Bug introduced by
It seems like $weekdays can be null. However, the property $weekdays is declared as array. Maybe change the type of the property to array|null or add a type check?

Our type inference engine has found an assignment of a scalar value (like a string, an integer or null) to a property which is an array.

Either this assignment is in error or the assigned type should be added to the documentation/type hint for that property.

To type hint that a parameter can be either an array or null, you can set a type hint of array and a default value of null. The PHP interpreter will then accept both an array or null for that parameter.

function aContainsB(array $needle = null, array  $haystack) {
    if (!$needle) {
        return false;
    }

    return array_intersect($haystack, $needle) == $haystack;
}

The function can be called with either null or an array for the parameter $needle but will only accept an array as $haystack.

Loading history...
668
        return $this;
669
    }
670
671
    /**
672
     * Convert into an array representing this instance.
673
     *
674
     * @return array Returns an array representing this instance.
675
     */
676
    public function toArray() {
677
678
        // Initialize the output.
679
        $output = [];
680
681
        // Set the context button title.
682
        ArrayUtility::set($output, "contextButtonTitle", $this->contextButtonTitle, [null]);
683
684
        // Set the decimal point.
685
        ArrayUtility::set($output, "decimalPoint", $this->decimalPoint, [null]);
686
687
        // Set the download JPEG.
688
        ArrayUtility::set($output, "downloadJPEG", $this->downloadJPEG, [null]);
689
690
        // Set the download PDF.
691
        ArrayUtility::set($output, "downloadPDF", $this->downloadPDF, [null]);
692
693
        // Set the download PNG.
694
        ArrayUtility::set($output, "downloadPNG", $this->downloadPNG, [null]);
695
696
        // Set the download SVG.
697
        ArrayUtility::set($output, "downloadSVG", $this->downloadSVG, [null]);
698
699
        // Set the drill up text.
700
        ArrayUtility::set($output, "drillUpText", $this->drillUpText, [null]);
701
702
        // Set the invalid date.
703
        ArrayUtility::set($output, "invalidDate", $this->invalidDate, [null]);
704
705
        // Set the loading.
706
        ArrayUtility::set($output, "loading", $this->loading, [null]);
707
708
        // Set the months.
709
        ArrayUtility::set($output, "months", $this->months, [null]);
710
711
        // Set the no data.
712
        ArrayUtility::set($output, "noData", $this->noData, [null]);
713
714
        // Set the numeric symbol magnitude.
715
        ArrayUtility::set($output, "numericSymbolMagnitude", $this->numericSymbolMagnitude, [null]);
716
717
        // Set the numeric symbols.
718
        ArrayUtility::set($output, "numericSymbols", $this->numericSymbols, [null]);
719
720
        // Set the print chart.
721
        ArrayUtility::set($output, "printChart", $this->printChart, [null]);
722
723
        // Set the reset zoom.
724
        ArrayUtility::set($output, "resetZoom", $this->resetZoom, [null]);
725
726
        // Set the reset zoom title.
727
        ArrayUtility::set($output, "resetZoomTitle", $this->resetZoomTitle, [null]);
728
729
        // Set the short months.
730
        ArrayUtility::set($output, "shortMonths", $this->shortMonths, [null]);
731
732
        // Set the short weekdays.
733
        ArrayUtility::set($output, "shortWeekdays", $this->shortWeekdays, [null]);
734
735
        // Set the thousands sep.
736
        ArrayUtility::set($output, "thousandsSep", $this->thousandsSep, [null]);
737
738
        // Set the weekdays.
739
        ArrayUtility::set($output, "weekdays", $this->weekdays, [null]);
740
741
        // Return the output.
742
        return $output;
743
    }
744
745
}
746