Passed
Push — master ( bc9af2...420731 )
by Sebastian
02:22
created
src/Request.php 1 patch
Indentation   +97 added lines, -97 removed lines patch added patch discarded remove patch
@@ -39,9 +39,9 @@  discard block
 block discarded – undo
39 39
      */
40 40
     protected static $instance;
41 41
     
42
-   /**
43
-    * @var string
44
-    */
42
+    /**
43
+     * @var string
44
+     */
45 45
     protected $baseURL = '';
46 46
     
47 47
     public function __construct()
@@ -51,10 +51,10 @@  discard block
 block discarded – undo
51 51
         $this->init();
52 52
     }
53 53
     
54
-   /**
55
-    * Can be extended in a subclass, to avoid
56
-    * redefining the constructor.
57
-    */
54
+    /**
55
+     * Can be extended in a subclass, to avoid
56
+     * redefining the constructor.
57
+     */
58 58
     protected function init()
59 59
     {
60 60
         
@@ -124,12 +124,12 @@  discard block
 block discarded – undo
124 124
         return $this->buildURL($params, $dispatcher);
125 125
     }
126 126
     
127
-   /**
128
-    * Retrieves the name of the current dispatcher script / page.
129
-    * This is made to be extended and implemented in a subclass.
130
-    * 
131
-    * @return string
132
-    */
127
+    /**
128
+     * Retrieves the name of the current dispatcher script / page.
129
+     * This is made to be extended and implemented in a subclass.
130
+     * 
131
+     * @return string
132
+     */
133 133
     public function getDispatcher() : string
134 134
     {
135 135
         return '';
@@ -198,10 +198,10 @@  discard block
 block discarded – undo
198 198
         return $url;
199 199
     }
200 200
     
201
-   /**
202
-    * Retrieves the base URL of the application.
203
-    * @return string
204
-    */
201
+    /**
202
+     * Retrieves the base URL of the application.
203
+     * @return string
204
+     */
205 205
     public function getBaseURL() : string
206 206
     {
207 207
         return $this->baseURL;
@@ -231,13 +231,13 @@  discard block
 block discarded – undo
231 231
         return $this->knownParams[$name];
232 232
     }
233 233
     
234
-   /**
235
-    * Retrieves a previously registered parameter instance.
236
-    * 
237
-    * @param string $name
238
-    * @throws Request_Exception
239
-    * @return Request_Param
240
-    */
234
+    /**
235
+     * Retrieves a previously registered parameter instance.
236
+     * 
237
+     * @param string $name
238
+     * @throws Request_Exception
239
+     * @return Request_Param
240
+     */
241 241
     public function getRegisteredParam(string $name) : Request_Param
242 242
     {
243 243
         if(isset($this->knownParams[$name])) {
@@ -254,13 +254,13 @@  discard block
 block discarded – undo
254 254
         );
255 255
     }
256 256
     
257
-   /**
258
-    * Checks whether a parameter with the specified name 
259
-    * has been registered.
260
-    * 
261
-    * @param string $name
262
-    * @return bool
263
-    */
257
+    /**
258
+     * Checks whether a parameter with the specified name 
259
+     * has been registered.
260
+     * 
261
+     * @param string $name
262
+     * @return bool
263
+     */
264 264
     public function hasRegisteredParam(string $name) : bool
265 265
     {
266 266
         return isset($this->knownParams[$name]);
@@ -389,14 +389,14 @@  discard block
 block discarded – undo
389 389
         return false;
390 390
     }
391 391
     
392
-   /**
393
-    * Removes a single parameter from the request.
394
-    * If the parameter has been registered, also
395
-    * removes the registration info.
396
-    * 
397
-    * @param string $name
398
-    * @return Request
399
-    */
392
+    /**
393
+     * Removes a single parameter from the request.
394
+     * If the parameter has been registered, also
395
+     * removes the registration info.
396
+     * 
397
+     * @param string $name
398
+     * @return Request
399
+     */
400 400
     public function removeParam(string $name) : Request
401 401
     {
402 402
         if(isset($_REQUEST[$name])) {
@@ -410,12 +410,12 @@  discard block
 block discarded – undo
410 410
         return $this;
411 411
     }
412 412
     
413
-   /**
414
-    * Removes several parameters from the request.
415
-    * 
416
-    * @param string[] $names
417
-    * @return Request
418
-    */
413
+    /**
414
+     * Removes several parameters from the request.
415
+     * 
416
+     * @param string[] $names
417
+     * @return Request
418
+     */
419 419
     public function removeParams(array $names) : Request
420 420
     {
421 421
         foreach($names as $name) {
@@ -480,18 +480,18 @@  discard block
 block discarded – undo
480 480
         return $val;
481 481
     }
482 482
     
483
-   /**
484
-    * Treats the request parameter as a JSON string, and
485
-    * if it exists and contains valid JSON, returns the
486
-    * decoded JSON value as an array (default).
487
-    *
488
-    * @param string $name
489
-    * @param bool $assoc
490
-    * @return array|object
491
-    * 
492
-    * @see Request::getJSONAssoc()
493
-    * @see Request::getJSONObject()
494
-    */
483
+    /**
484
+     * Treats the request parameter as a JSON string, and
485
+     * if it exists and contains valid JSON, returns the
486
+     * decoded JSON value as an array (default).
487
+     *
488
+     * @param string $name
489
+     * @param bool $assoc
490
+     * @return array|object
491
+     * 
492
+     * @see Request::getJSONAssoc()
493
+     * @see Request::getJSONObject()
494
+     */
495 495
     public function getJSON(string $name, bool $assoc=true)
496 496
     {
497 497
         $value = $this->getParam($name);
@@ -516,13 +516,13 @@  discard block
 block discarded – undo
516 516
         return new \stdClass();
517 517
     }
518 518
     
519
-   /**
520
-    * Like {@link Request::getJSON()}, but omitting the second
521
-    * parameter. Use this for more readable code.
522
-    * 
523
-    * @param string $name
524
-    * @return array
525
-    */
519
+    /**
520
+     * Like {@link Request::getJSON()}, but omitting the second
521
+     * parameter. Use this for more readable code.
522
+     * 
523
+     * @param string $name
524
+     * @return array
525
+     */
526 526
     public function getJSONAssoc(string $name) : array
527 527
     {
528 528
         $result = $this->getJSON($name);
@@ -533,13 +533,13 @@  discard block
 block discarded – undo
533 533
         return array();
534 534
     }
535 535
     
536
-   /**
537
-    * Like {@link Request::getJSON()}, but omitting the second
538
-    * parameter. Use this for more readable code.
539
-    *
540
-    * @param string $name
541
-    * @return object
542
-    */
536
+    /**
537
+     * Like {@link Request::getJSON()}, but omitting the second
538
+     * parameter. Use this for more readable code.
539
+     *
540
+     * @param string $name
541
+     * @return object
542
+     */
543 543
     public function getJSONObject(string $name) : object
544 544
     {
545 545
         $result = $this->getJSON($name, false);
@@ -550,12 +550,12 @@  discard block
 block discarded – undo
550 550
         return new \stdClass();
551 551
     }
552 552
     
553
-   /**
554
-    * Sends a JSON response with the correct headers.
555
-    *
556
-    * @param array|string $data
557
-    * @param bool $exit Whether to exit the script afterwards.
558
-    */
553
+    /**
554
+     * Sends a JSON response with the correct headers.
555
+     *
556
+     * @param array|string $data
557
+     * @param bool $exit Whether to exit the script afterwards.
558
+     */
559 559
     public static function sendJSON($data, bool $exit=true)
560 560
     {
561 561
         $payload = $data;
@@ -575,12 +575,12 @@  discard block
 block discarded – undo
575 575
         }
576 576
     }
577 577
     
578
-   /**
579
-    * Sends HTML to the browser with the correct headers.
580
-    * 
581
-    * @param string $html
582
-    * @param bool $exit Whether to exit the script afterwards.
583
-    */
578
+    /**
579
+     * Sends HTML to the browser with the correct headers.
580
+     * 
581
+     * @param string $html
582
+     * @param bool $exit Whether to exit the script afterwards.
583
+     */
584 584
     public static function sendHTML(string $html, bool $exit=true)
585 585
     {
586 586
         header('Cache-Control: no-cache, must-revalidate');
@@ -595,16 +595,16 @@  discard block
 block discarded – undo
595 595
         }
596 596
     }
597 597
     
598
-   /**
599
-    * Creates a new instance of the URL comparer, which can check 
600
-    * whether the specified URLs match, regardless of the order in 
601
-    * which the query parameters are, if any.
602
-    * 
603
-    * @param string $sourceURL
604
-    * @param string $targetURL
605
-    * @param array $limitParams Whether to limit the comparison to these specific parameter names (if present)
606
-    * @return Request_URLComparer
607
-    */
598
+    /**
599
+     * Creates a new instance of the URL comparer, which can check 
600
+     * whether the specified URLs match, regardless of the order in 
601
+     * which the query parameters are, if any.
602
+     * 
603
+     * @param string $sourceURL
604
+     * @param string $targetURL
605
+     * @param array $limitParams Whether to limit the comparison to these specific parameter names (if present)
606
+     * @return Request_URLComparer
607
+     */
608 608
     public function createURLComparer(string $sourceURL, string $targetURL, array $limitParams=array()) : Request_URLComparer
609 609
     {
610 610
         $comparer = new Request_URLComparer($this, $sourceURL, $targetURL);
@@ -613,10 +613,10 @@  discard block
 block discarded – undo
613 613
         return $comparer;
614 614
     }
615 615
     
616
-   /**
617
-    * Retrieves the full URL that was used to access the current page.
618
-    * @return string
619
-    */
616
+    /**
617
+     * Retrieves the full URL that was used to access the current page.
618
+     * @return string
619
+     */
620 620
     public function getCurrentURL() : string
621 621
     {
622 622
         return $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
Please login to merge, or discard this patch.
src/Request/Param.php 1 patch
Indentation   +135 added lines, -135 removed lines patch added patch discarded remove patch
@@ -111,18 +111,18 @@  discard block
 block discarded – undo
111 111
         }
112 112
     }
113 113
     
114
-   /**
115
-    * Adds a callback as a validation method. The callback gets the
116
-    * value to validate as first parameter, and any additional 
117
-    * parameters passed here get appended to that.
118
-    * 
119
-    * The callback must return boolean true or false depending on
120
-    * whether the value is valid.
121
-    * 
122
-    * @param mixed $callback
123
-    * @param array $args
124
-    * @return Request_Param
125
-    */
114
+    /**
115
+     * Adds a callback as a validation method. The callback gets the
116
+     * value to validate as first parameter, and any additional 
117
+     * parameters passed here get appended to that.
118
+     * 
119
+     * The callback must return boolean true or false depending on
120
+     * whether the value is valid.
121
+     * 
122
+     * @param mixed $callback
123
+     * @param array $args
124
+     * @return Request_Param
125
+     */
126 126
     public function setCallback($callback, $args=array())
127 127
     {
128 128
         if(!is_callable($callback)) {
@@ -264,13 +264,13 @@  discard block
 block discarded – undo
264 264
     
265 265
     protected $valueType = self::VALUE_TYPE_STRING;
266 266
 
267
-   /**
268
-    * Sets the variable to contain a comma-separated list of integer IDs.
269
-    * Example: <code>145,248,4556</code>. A single ID is also allowed, e.g.
270
-    * <code>145</code>.
271
-    * 
272
-    * @return Request_Param
273
-    */
267
+    /**
268
+     * Sets the variable to contain a comma-separated list of integer IDs.
269
+     * Example: <code>145,248,4556</code>. A single ID is also allowed, e.g.
270
+     * <code>145</code>.
271
+     * 
272
+     * @return Request_Param
273
+     */
274 274
     public function setIDList()
275 275
     {
276 276
         $this->valueType = self::VALUE_TYPE_ID_LIST;
@@ -279,13 +279,13 @@  discard block
 block discarded – undo
279 279
         return $this;
280 280
     }
281 281
     
282
-   /**
283
-    * Sets the variable to be an alias, as defined by the
284
-    * {@link RegexHelper::REGEX_ALIAS} regular expression.
285
-    * 
286
-    * @return Request_Param
287
-    * @see RegexHelper::REGEX_ALIAS
288
-    */
282
+    /**
283
+     * Sets the variable to be an alias, as defined by the
284
+     * {@link RegexHelper::REGEX_ALIAS} regular expression.
285
+     * 
286
+     * @return Request_Param
287
+     * @see RegexHelper::REGEX_ALIAS
288
+     */
289 289
     public function setAlias()
290 290
     {
291 291
         return $this->setRegex(RegexHelper::REGEX_ALIAS);
@@ -326,12 +326,12 @@  discard block
 block discarded – undo
326 326
         return $this->setValidation(self::VALIDATION_TYPE_ALPHA);
327 327
     }
328 328
     
329
-   /**
330
-    * Sets the parameter value as a string containing lowercase
331
-    * and/or uppercase letters, as well as numbers.
332
-    * 
333
-    * @return Request_Param
334
-    */
329
+    /**
330
+     * Sets the parameter value as a string containing lowercase
331
+     * and/or uppercase letters, as well as numbers.
332
+     * 
333
+     * @return Request_Param
334
+     */
335 335
     public function setAlnum()
336 336
     {
337 337
         return $this->setValidation(self::VALIDATION_TYPE_ALNUM);   
@@ -359,17 +359,17 @@  discard block
 block discarded – undo
359 359
         return $this->setValidation(self::VALIDATION_TYPE_ENUM, $args);
360 360
     }
361 361
     
362
-   /**
363
-    * Only available for array values: the parameter must be
364
-    * an array value, and the array may only contain values 
365
-    * specified in the values array.
366
-    * 
367
-    * Submitted values that are not in the allowed list of
368
-    * values are stripped from the value.
369
-    *  
370
-    * @param array $values List of allowed values
371
-    * @return \AppUtils\Request_Param
372
-    */
362
+    /**
363
+     * Only available for array values: the parameter must be
364
+     * an array value, and the array may only contain values 
365
+     * specified in the values array.
366
+     * 
367
+     * Submitted values that are not in the allowed list of
368
+     * values are stripped from the value.
369
+     *  
370
+     * @param array $values List of allowed values
371
+     * @return \AppUtils\Request_Param
372
+     */
373 373
     public function setValuesList(array $values)
374 374
     {
375 375
         $this->setArray();
@@ -382,39 +382,39 @@  discard block
 block discarded – undo
382 382
         return $this->setValidation(self::VALIDATION_TYPE_ARRAY);
383 383
     }
384 384
     
385
-   /**
386
-    * Specifies that a JSON-encoded string is expected.
387
-    * 
388
-    * NOTE: Numbers or quoted strings are technically valid
389
-    * JSON, but are not accepted, because it is assumed
390
-    * at least an array or object are expected.
391
-    * 
392
-    * @return \AppUtils\Request_Param
393
-    */
385
+    /**
386
+     * Specifies that a JSON-encoded string is expected.
387
+     * 
388
+     * NOTE: Numbers or quoted strings are technically valid
389
+     * JSON, but are not accepted, because it is assumed
390
+     * at least an array or object are expected.
391
+     * 
392
+     * @return \AppUtils\Request_Param
393
+     */
394 394
     public function setJSON() : Request_Param
395 395
     {
396 396
         return $this->setValidation(self::VALIDATION_TYPE_JSON, array('arrays' => true));
397 397
     }
398 398
     
399
-   /**
400
-    * Like {@link Request_Param::setJSON()}, but accepts
401
-    * only JSON objects. Arrays will not be accepted.
402
-    * 
403
-    * @return \AppUtils\Request_Param
404
-    */
399
+    /**
400
+     * Like {@link Request_Param::setJSON()}, but accepts
401
+     * only JSON objects. Arrays will not be accepted.
402
+     * 
403
+     * @return \AppUtils\Request_Param
404
+     */
405 405
     public function setJSONObject() : Request_Param
406 406
     {
407 407
         return $this->setValidation(self::VALIDATION_TYPE_JSON, array('arrays' => false));
408 408
     }
409 409
     
410
-   /**
411
-    * The parameter is a string boolean representation. This means
412
-    * it can be any of the following: "yes", "true", "no", "false".
413
-    * The value is automatically converted to a boolean when retrieving
414
-    * the parameter.
415
-    * 
416
-    * @return Request_Param
417
-    */
410
+    /**
411
+     * The parameter is a string boolean representation. This means
412
+     * it can be any of the following: "yes", "true", "no", "false".
413
+     * The value is automatically converted to a boolean when retrieving
414
+     * the parameter.
415
+     * 
416
+     * @return Request_Param
417
+     */
418 418
     public function setBoolean() : Request_Param
419 419
     {
420 420
         $this->addCallbackFilter(array($this, 'applyFilter_boolean'));
@@ -478,15 +478,15 @@  discard block
 block discarded – undo
478 478
         return $keep;
479 479
     }
480 480
     
481
-   /**
482
-    * Validates the request parameter as an MD5 string,
483
-    * so that only values resembling md5 values are accepted.
484
-    * 
485
-    * NOTE: This can only guarantee the format, not whether
486
-    * it is an actual valid hash of something.
487
-    * 
488
-    * @return \AppUtils\Request_Param
489
-    */
481
+    /**
482
+     * Validates the request parameter as an MD5 string,
483
+     * so that only values resembling md5 values are accepted.
484
+     * 
485
+     * NOTE: This can only guarantee the format, not whether
486
+     * it is an actual valid hash of something.
487
+     * 
488
+     * @return \AppUtils\Request_Param
489
+     */
490 490
     public function setMD5() : Request_Param
491 491
     {
492 492
         return $this->setRegex(RegexHelper::REGEX_MD5);
@@ -528,14 +528,14 @@  discard block
 block discarded – undo
528 528
         return $this;
529 529
     }
530 530
     
531
-   /**
532
-    * Retrieves the value of the request parameter,
533
-    * applying all filters (if any) and validation
534
-    * (if any).
535
-    * 
536
-    * @param mixed $default
537
-    * @return mixed
538
-    */
531
+    /**
532
+     * Retrieves the value of the request parameter,
533
+     * applying all filters (if any) and validation
534
+     * (if any).
535
+     * 
536
+     * @param mixed $default
537
+     * @return mixed
538
+     */
539 539
     public function get($default=null)
540 540
     {
541 541
         $value = $this->request->getParam($this->paramName);
@@ -565,12 +565,12 @@  discard block
 block discarded – undo
565 565
         return null;
566 566
     }
567 567
     
568
-   /**
569
-    * Validates the syntax of an URL, but not its actual validity. 
570
-    * 
571
-    * @param mixed $value
572
-    * @return string
573
-    */
568
+    /**
569
+     * Validates the syntax of an URL, but not its actual validity. 
570
+     * 
571
+     * @param mixed $value
572
+     * @return string
573
+     */
574 574
     protected function validate_url($value) : string
575 575
     {
576 576
         if(!is_string($value)) {
@@ -710,10 +710,10 @@  discard block
 block discarded – undo
710 710
         return null;
711 711
     }
712 712
     
713
-   /**
714
-    * Makes sure that the value is a JSON-encoded string.
715
-    * @param mixed $value
716
-    */
713
+    /**
714
+     * Makes sure that the value is a JSON-encoded string.
715
+     * @param mixed $value
716
+     */
717 717
     protected function validate_json($value) : string
718 718
     {
719 719
         if(!is_string($value)) {
@@ -730,7 +730,7 @@  discard block
 block discarded – undo
730 730
         if($this->validationParams['arrays'] === false) 
731 731
         {
732 732
             if(is_object(json_decode($value))) {
733
-               return $value; 
733
+                return $value; 
734 734
             }
735 735
         } 
736 736
         else 
@@ -810,12 +810,12 @@  discard block
 block discarded – undo
810 810
         return $this;
811 811
     }
812 812
     
813
-   /**
814
-    * Adds a filter that trims whitespace from the request
815
-    * parameter using the PHP <code>trim</code> function.
816
-    * 
817
-    * @return \AppUtils\Request_Param
818
-    */
813
+    /**
814
+     * Adds a filter that trims whitespace from the request
815
+     * parameter using the PHP <code>trim</code> function.
816
+     * 
817
+     * @return \AppUtils\Request_Param
818
+     */
819 819
     public function addFilterTrim() : Request_Param
820 820
     {
821 821
         // to guarantee we only work with strings
@@ -824,13 +824,13 @@  discard block
 block discarded – undo
824 824
         return $this->addCallbackFilter('trim');
825 825
     }
826 826
 
827
-   /**
828
-    * Converts the value to a string, even if it is not
829
-    * a string value. Complex types like arrays and objects
830
-    * are converted to an empty string.
831
-    * 
832
-    * @return \AppUtils\Request_Param
833
-    */
827
+    /**
828
+     * Converts the value to a string, even if it is not
829
+     * a string value. Complex types like arrays and objects
830
+     * are converted to an empty string.
831
+     * 
832
+     * @return \AppUtils\Request_Param
833
+     */
834 834
     public function addStringFilter() : Request_Param
835 835
     {
836 836
         return $this->addCallbackFilter(array($this, 'applyFilter_string'));
@@ -880,12 +880,12 @@  discard block
 block discarded – undo
880 880
         return $this->addCallbackFilter('strip_tags', array($allowedTags));
881 881
     }
882 882
     
883
-   /**
884
-    * Adds a filter that strips all whitespace from the
885
-    * request parameter, from spaces to tabs and newlines.
886
-    * 
887
-    * @return \AppUtils\Request_Param
888
-    */
883
+    /**
884
+     * Adds a filter that strips all whitespace from the
885
+     * request parameter, from spaces to tabs and newlines.
886
+     * 
887
+     * @return \AppUtils\Request_Param
888
+     */
889 889
     public function addStripWhitespaceFilter() : Request_Param
890 890
     {
891 891
         // to ensure we only work with strings.
@@ -894,14 +894,14 @@  discard block
 block discarded – undo
894 894
         return $this->addCallbackFilter(array($this, 'applyFilter_stripWhitespace'));
895 895
     }   
896 896
     
897
-   /**
898
-    * Adds a filter that transforms comma separated values
899
-    * into an array of values.
900
-    * 
901
-    * @param bool $trimEntries Trim whitespace from each entry?
902
-    * @param bool $stripEmptyEntries Remove empty entries from the array?
903
-    * @return \AppUtils\Request_Param
904
-    */
897
+    /**
898
+     * Adds a filter that transforms comma separated values
899
+     * into an array of values.
900
+     * 
901
+     * @param bool $trimEntries Trim whitespace from each entry?
902
+     * @param bool $stripEmptyEntries Remove empty entries from the array?
903
+     * @return \AppUtils\Request_Param
904
+     */
905 905
     public function addCommaSeparatedFilter(bool $trimEntries=true, bool $stripEmptyEntries=true) : Request_Param
906 906
     {
907 907
         $this->setArray();
@@ -915,12 +915,12 @@  discard block
 block discarded – undo
915 915
         );
916 916
     }
917 917
     
918
-   /**
919
-    * Adds a filter that encodes all HTML special characters
920
-    * using the PHP <code>htmlspecialchars</code> function.
921
-    * 
922
-    * @return \AppUtils\Request_Param
923
-    */
918
+    /**
919
+     * Adds a filter that encodes all HTML special characters
920
+     * using the PHP <code>htmlspecialchars</code> function.
921
+     * 
922
+     * @return \AppUtils\Request_Param
923
+     */
924 924
     public function addHTMLSpecialcharsFilter() : Request_Param
925 925
     {
926 926
         return $this->addCallbackFilter('htmlspecialchars', array(ENT_QUOTES, 'UTF-8'));
@@ -933,14 +933,14 @@  discard block
 block discarded – undo
933 933
     
934 934
     protected $required = false;
935 935
     
936
-   /**
937
-    * Marks this request parameter as required. To use this feature,
938
-    * you have to call the request's {@link Request::validate()}
939
-    * method.
940
-    * 
941
-    * @return Request_Param
942
-    * @see Request::validate()
943
-    */
936
+    /**
937
+     * Marks this request parameter as required. To use this feature,
938
+     * you have to call the request's {@link Request::validate()}
939
+     * method.
940
+     * 
941
+     * @return Request_Param
942
+     * @see Request::validate()
943
+     */
944 944
     public function makeRequired() : Request_Param
945 945
     {
946 946
         $this->required = true;
Please login to merge, or discard this patch.
src/URLInfo.php 1 patch
Indentation   +158 added lines, -158 removed lines patch added patch discarded remove patch
@@ -36,40 +36,40 @@  discard block
 block discarded – undo
36 36
     const TYPE_PHONE = 'phone';
37 37
     const TYPE_URL = 'url';
38 38
     
39
-   /**
40
-    * The original URL that was passed to the constructor.
41
-    * @var string
42
-    */
39
+    /**
40
+     * The original URL that was passed to the constructor.
41
+     * @var string
42
+     */
43 43
     protected $rawURL;
44 44
 
45
-   /**
46
-    * @var array
47
-    */
45
+    /**
46
+     * @var array
47
+     */
48 48
     protected $info;
49 49
     
50
-   /**
51
-    * @var bool
52
-    */
50
+    /**
51
+     * @var bool
52
+     */
53 53
     protected $isEmail = false;
54 54
     
55
-   /**
56
-    * @var bool
57
-    */
55
+    /**
56
+     * @var bool
57
+     */
58 58
     protected $isFragment = false;
59 59
     
60
-   /**
61
-    * @var bool
62
-    */
60
+    /**
61
+     * @var bool
62
+     */
63 63
     protected $isValid = true;
64 64
     
65
-   /**
66
-    * @var bool
67
-    */
65
+    /**
66
+     * @var bool
67
+     */
68 68
     protected $isPhone = false;
69 69
     
70
-   /**
71
-    * @var array
72
-    */
70
+    /**
71
+     * @var array
72
+     */
73 73
     protected $knownSchemes = array(
74 74
         'ftp',
75 75
         'http',
@@ -80,41 +80,41 @@  discard block
 block discarded – undo
80 80
         'file'
81 81
     );
82 82
 
83
-   /**
84
-    * @var array
85
-    */
83
+    /**
84
+     * @var array
85
+     */
86 86
     protected $error;
87 87
     
88
-   /**
89
-    * @var array
90
-    */
88
+    /**
89
+     * @var array
90
+     */
91 91
     protected $params = array();
92 92
     
93
-   /**
94
-    * @var string[]
95
-    */
93
+    /**
94
+     * @var string[]
95
+     */
96 96
     protected $excludedParams = array();
97 97
     
98
-   /**
99
-    * @var bool
100
-    * @see URLInfo::setParamExclusion()
101
-    */
98
+    /**
99
+     * @var bool
100
+     * @see URLInfo::setParamExclusion()
101
+     */
102 102
     protected $paramExclusion = false;
103 103
     
104
-   /**
105
-    * @var array
106
-    * @see URLInfo::getTypeLabel()
107
-    */
104
+    /**
105
+     * @var array
106
+     * @see URLInfo::getTypeLabel()
107
+     */
108 108
     protected static $typeLabels;
109 109
     
110
-   /**
111
-    * @var bool
112
-    */
110
+    /**
111
+     * @var bool
112
+     */
113 113
     protected $highlightExcluded = false;
114 114
     
115
-   /**
116
-    * @var array
117
-    */
115
+    /**
116
+     * @var array
117
+     */
118 118
     protected $infoKeys = array(
119 119
         'scheme',
120 120
         'host',
@@ -126,9 +126,9 @@  discard block
 block discarded – undo
126 126
         'fragment'
127 127
     );
128 128
     
129
-   /**
130
-    * @var string
131
-    */
129
+    /**
130
+     * @var string
131
+     */
132 132
     protected $url;
133 133
     
134 134
     public function __construct(string $url)
@@ -214,13 +214,13 @@  discard block
 block discarded – undo
214 214
         $this->isValid = true;
215 215
     }
216 216
     
217
-   /**
218
-    * Filters an URL: removes control characters and the
219
-    * like to have a clean URL to work with.
220
-    * 
221
-    * @param string $url
222
-    * @return string
223
-    */
217
+    /**
218
+     * Filters an URL: removes control characters and the
219
+     * like to have a clean URL to work with.
220
+     * 
221
+     * @param string $url
222
+     * @return string
223
+     */
224 224
     public static function filterURL(string $url)
225 225
     {
226 226
         // fix ampersands if it comes from HTML
@@ -243,11 +243,11 @@  discard block
 block discarded – undo
243 243
         return $url;
244 244
     }
245 245
     
246
-   /**
247
-    * Goes through all information in the parse_url result
248
-    * array, and attempts to fix any user errors in formatting
249
-    * that can be recovered from, mostly regarding stray spaces.
250
-    */
246
+    /**
247
+     * Goes through all information in the parse_url result
248
+     * array, and attempts to fix any user errors in formatting
249
+     * that can be recovered from, mostly regarding stray spaces.
250
+     */
251 251
     protected function filterParsed()
252 252
     {
253 253
         foreach($this->info as $key => $val)
@@ -331,12 +331,12 @@  discard block
 block discarded – undo
331 331
         return $this->isPhone;
332 332
     }
333 333
     
334
-   /**
335
-    * Whether the URL is a regular URL, not one of the 
336
-    * other types like a phone number or email address.
337
-    * 
338
-    * @return bool
339
-    */
334
+    /**
335
+     * Whether the URL is a regular URL, not one of the 
336
+     * other types like a phone number or email address.
337
+     * 
338
+     * @return bool
339
+     */
340 340
     public function isURL() : bool
341 341
     {
342 342
         $host = $this->getHost();
@@ -348,20 +348,20 @@  discard block
 block discarded – undo
348 348
         return $this->isValid;
349 349
     }
350 350
     
351
-   /**
352
-    * Retrieves the host name, or an empty string if none is present.
353
-    * 
354
-    * @return string
355
-    */
351
+    /**
352
+     * Retrieves the host name, or an empty string if none is present.
353
+     * 
354
+     * @return string
355
+     */
356 356
     public function getHost() : string
357 357
     {
358 358
         return $this->getInfoKey('host');
359 359
     }
360 360
     
361
-   /**
362
-    * Retrieves the path, or an empty string if none is present.
363
-    * @return string
364
-    */
361
+    /**
362
+     * Retrieves the path, or an empty string if none is present.
363
+     * @return string
364
+     */
365 365
     public function getPath() : string
366 366
     {
367 367
         return $this->getInfoKey('path');
@@ -377,10 +377,10 @@  discard block
 block discarded – undo
377 377
         return $this->getInfoKey('scheme');
378 378
     }
379 379
     
380
-   /**
381
-    * Retrieves the port specified in the URL, or -1 if none is preseent.
382
-    * @return int
383
-    */
380
+    /**
381
+     * Retrieves the port specified in the URL, or -1 if none is preseent.
382
+     * @return int
383
+     */
384 384
     public function getPort() : int
385 385
     {
386 386
         $port = $this->getInfoKey('port');
@@ -391,13 +391,13 @@  discard block
 block discarded – undo
391 391
         return -1;
392 392
     }
393 393
     
394
-   /**
395
-    * Retrieves the raw query string, or an empty string if none is present.
396
-    * 
397
-    * @return string
398
-    * 
399
-    * @see URLInfo::getParams()
400
-    */
394
+    /**
395
+     * Retrieves the raw query string, or an empty string if none is present.
396
+     * 
397
+     * @return string
398
+     * 
399
+     * @see URLInfo::getParams()
400
+     */
401 401
     public function getQuery() : string
402 402
     {
403 403
         return $this->getInfoKey('query');
@@ -413,20 +413,20 @@  discard block
 block discarded – undo
413 413
         return $this->getInfoKey('pass');
414 414
     }
415 415
     
416
-   /**
417
-    * Whether the URL contains a port number.
418
-    * @return bool
419
-    */
416
+    /**
417
+     * Whether the URL contains a port number.
418
+     * @return bool
419
+     */
420 420
     public function hasPort() : bool
421 421
     {
422 422
         return $this->getPort() !== -1;
423 423
     }
424 424
     
425
-   /**
426
-    * Alias for the hasParams() method.
427
-    * @return bool
428
-    * @see URLInfo::hasParams()
429
-    */
425
+    /**
426
+     * Alias for the hasParams() method.
427
+     * @return bool
428
+     * @see URLInfo::hasParams()
429
+     */
430 430
     public function hasQuery() : bool
431 431
     {
432 432
         return $this->hasParams();
@@ -507,25 +507,25 @@  discard block
 block discarded – undo
507 507
         return $normalized;
508 508
     }
509 509
     
510
-   /**
511
-    * Creates a hash of the URL, which can be used for comparisons.
512
-    * Since any parameters in the URL's query are sorted alphabetically,
513
-    * the same links with a different parameter order will have the 
514
-    * same hash.
515
-    * 
516
-    * @return string
517
-    */
510
+    /**
511
+     * Creates a hash of the URL, which can be used for comparisons.
512
+     * Since any parameters in the URL's query are sorted alphabetically,
513
+     * the same links with a different parameter order will have the 
514
+     * same hash.
515
+     * 
516
+     * @return string
517
+     */
518 518
     public function getHash()
519 519
     {
520 520
         return \AppUtils\ConvertHelper::string2shortHash($this->getNormalized());
521 521
     }
522 522
 
523
-   /**
524
-    * Highlights the URL using HTML tags with specific highlighting
525
-    * class names.
526
-    * 
527
-    * @return string Will return an empty string if the URL is not valid.
528
-    */
523
+    /**
524
+     * Highlights the URL using HTML tags with specific highlighting
525
+     * class names.
526
+     * 
527
+     * @return string Will return an empty string if the URL is not valid.
528
+     */
529 529
     public function getHighlighted() : string
530 530
     {
531 531
         if(!$this->isValid) {
@@ -709,15 +709,15 @@  discard block
 block discarded – undo
709 709
         return count($params);
710 710
     }
711 711
     
712
-   /**
713
-    * Retrieves all parameters specified in the url,
714
-    * if any, as an associative array. 
715
-    * 
716
-    * NOTE: Ignores parameters that have been added
717
-    * to the excluded parameters list.
718
-    *
719
-    * @return array
720
-    */
712
+    /**
713
+     * Retrieves all parameters specified in the url,
714
+     * if any, as an associative array. 
715
+     * 
716
+     * NOTE: Ignores parameters that have been added
717
+     * to the excluded parameters list.
718
+     *
719
+     * @return array
720
+     */
721 721
     public function getParams() : array
722 722
     {
723 723
         if(!$this->paramExclusion || empty($this->excludedParams)) {
@@ -734,26 +734,26 @@  discard block
 block discarded – undo
734 734
         return $keep;
735 735
     }
736 736
     
737
-   /**
738
-    * Retrieves the names of all parameters present in the URL, if any.
739
-    * @return string[]
740
-    */
737
+    /**
738
+     * Retrieves the names of all parameters present in the URL, if any.
739
+     * @return string[]
740
+     */
741 741
     public function getParamNames() : array
742 742
     {
743 743
         $params = $this->getParams();
744 744
         return array_keys($params);
745 745
     }
746 746
     
747
-   /**
748
-    * Excludes an URL parameter entirely if present:
749
-    * the parser will act as if the parameter was not
750
-    * even present in the source URL, effectively
751
-    * stripping it.
752
-    *
753
-    * @param string $name
754
-    * @param string $reason A human readable explanation why this is excluded - used when highlighting links.
755
-    * @return URLInfo
756
-    */
747
+    /**
748
+     * Excludes an URL parameter entirely if present:
749
+     * the parser will act as if the parameter was not
750
+     * even present in the source URL, effectively
751
+     * stripping it.
752
+     *
753
+     * @param string $name
754
+     * @param string $reason A human readable explanation why this is excluded - used when highlighting links.
755
+     * @return URLInfo
756
+     */
757 757
     public function excludeParam(string $name, string $reason) : URLInfo
758 758
     {
759 759
         if(!isset($this->excludedParams[$name]))
@@ -818,25 +818,25 @@  discard block
 block discarded – undo
818 818
         return self::$typeLabels[$this->getType()];
819 819
     }
820 820
 
821
-   /**
822
-    * Whether excluded parameters should be highlighted in
823
-    * a different color in the URL when using the
824
-    * {@link URLInfo::getHighlighted()} method.
825
-    *
826
-    * @param bool $highlight
827
-    * @return URLInfo
828
-    */
821
+    /**
822
+     * Whether excluded parameters should be highlighted in
823
+     * a different color in the URL when using the
824
+     * {@link URLInfo::getHighlighted()} method.
825
+     *
826
+     * @param bool $highlight
827
+     * @return URLInfo
828
+     */
829 829
     public function setHighlightExcluded(bool $highlight=true) : URLInfo
830 830
     {
831 831
         $this->highlightExcluded = $highlight;
832 832
         return $this;
833 833
     }
834 834
     
835
-   /**
836
-    * Returns an array with all relevant URL information.
837
-    * 
838
-    * @return array
839
-    */
835
+    /**
836
+     * Returns an array with all relevant URL information.
837
+     * 
838
+     * @return array
839
+     */
840 840
     public function toArray() : array
841 841
     {
842 842
         return array(
@@ -880,24 +880,24 @@  discard block
 block discarded – undo
880 880
         return $this;
881 881
     }
882 882
     
883
-   /**
884
-    * Whether the parameter exclusion mode is enabled:
885
-    * In this case, if any parameters have been added to the
886
-    * exclusion list, all relevant methods will exclude these.
887
-    *
888
-    * @return bool
889
-    */
883
+    /**
884
+     * Whether the parameter exclusion mode is enabled:
885
+     * In this case, if any parameters have been added to the
886
+     * exclusion list, all relevant methods will exclude these.
887
+     *
888
+     * @return bool
889
+     */
890 890
     public function isParamExclusionEnabled() : bool
891 891
     {
892 892
         return $this->paramExclusion;
893 893
     }
894 894
     
895
-   /**
896
-    * Checks whether the link contains any parameters that
897
-    * are on the list of excluded parameters.
898
-    *
899
-    * @return bool
900
-    */
895
+    /**
896
+     * Checks whether the link contains any parameters that
897
+     * are on the list of excluded parameters.
898
+     *
899
+     * @return bool
900
+     */
901 901
     public function containsExcludedParams() : bool
902 902
     {
903 903
         if(empty($this->excludedParams)) {
Please login to merge, or discard this patch.
src/BaseException.php 1 patch
Indentation   +35 added lines, -35 removed lines patch added patch discarded remove patch
@@ -20,17 +20,17 @@  discard block
 block discarded – undo
20 20
  */
21 21
 class BaseException extends \Exception
22 22
 {
23
-   /**
24
-    * @var string
25
-    */
23
+    /**
24
+     * @var string
25
+     */
26 26
     protected $details;
27 27
     
28
-   /**
29
-    * @param string $message
30
-    * @param string $details
31
-    * @param int $code
32
-    * @param \Exception $previous
33
-    */
28
+    /**
29
+     * @param string $message
30
+     * @param string $details
31
+     * @param int $code
32
+     * @param \Exception $previous
33
+     */
34 34
     public function __construct(string $message, $details=null, $code=null, $previous=null)
35 35
     {
36 36
         parent::__construct($message, $code, $previous);
@@ -38,10 +38,10 @@  discard block
 block discarded – undo
38 38
         $this->details = $details;
39 39
     }
40 40
     
41
-   /**
42
-    * Retrieves the detailed error description, if any.
43
-    * @return string
44
-    */
41
+    /**
42
+     * Retrieves the detailed error description, if any.
43
+     * @return string
44
+     */
45 45
     public function getDetails() : string
46 46
     {
47 47
         if($this->details !== null) {
@@ -51,9 +51,9 @@  discard block
 block discarded – undo
51 51
         return '';
52 52
     }
53 53
     
54
-   /**
55
-    * Displays pertinent information on the exception.
56
-    */
54
+    /**
55
+     * Displays pertinent information on the exception.
56
+     */
57 57
     public function display()
58 58
     {
59 59
         if(!headers_sent()) {
@@ -63,20 +63,20 @@  discard block
 block discarded – undo
63 63
         echo $this->getInfo();
64 64
     }
65 65
     
66
-   /**
67
-    * Retrieves information on the exception that can be
68
-    * easily accessed.
69
-    * 
70
-    * @return ConvertHelper_ThrowableInfo
71
-    */
66
+    /**
67
+     * Retrieves information on the exception that can be
68
+     * easily accessed.
69
+     * 
70
+     * @return ConvertHelper_ThrowableInfo
71
+     */
72 72
     public function getInfo() : ConvertHelper_ThrowableInfo
73 73
     {
74 74
         return ConvertHelper::throwable2info($this);
75 75
     }
76 76
     
77
-   /**
78
-    * Dumps a current PHP function trace, as a textonly string.
79
-    */
77
+    /**
78
+     * Dumps a current PHP function trace, as a textonly string.
79
+     */
80 80
     public static function dumpTraceAsString()
81 81
     {
82 82
         try
@@ -89,9 +89,9 @@  discard block
 block discarded – undo
89 89
         }
90 90
     }
91 91
 
92
-   /**
93
-    * Dumps a current PHP function trace, with HTML styling.
94
-    */
92
+    /**
93
+     * Dumps a current PHP function trace, with HTML styling.
94
+     */
95 95
     public static function dumpTraceAsHTML()
96 96
     {
97 97
         try
@@ -106,13 +106,13 @@  discard block
 block discarded – undo
106 106
         }
107 107
     }
108 108
     
109
-   /**
110
-    * Creates an exception info instance from a throwable instance.
111
-    * 
112
-    * @param \Throwable $e
113
-    * @return ConvertHelper_ThrowableInfo
114
-    * @see ConvertHelper::throwable2info()
115
-    */
109
+    /**
110
+     * Creates an exception info instance from a throwable instance.
111
+     * 
112
+     * @param \Throwable $e
113
+     * @return ConvertHelper_ThrowableInfo
114
+     * @see ConvertHelper::throwable2info()
115
+     */
116 116
     public static function createInfo(\Throwable $e) : ConvertHelper_ThrowableInfo
117 117
     {
118 118
         return ConvertHelper::throwable2info($e);
Please login to merge, or discard this patch.
src/Traits/Optionable.php 1 patch
Indentation   +102 added lines, -102 removed lines patch added patch discarded remove patch
@@ -26,19 +26,19 @@  discard block
 block discarded – undo
26 26
  */
27 27
 trait Traits_Optionable
28 28
 {
29
-   /**
30
-    * @var array
31
-    */
29
+    /**
30
+     * @var array
31
+     */
32 32
     protected $options;
33 33
     
34
-   /**
35
-    * Sets an option to the specified value. This can be any
36
-    * kind of variable type, including objects, as needed.
37
-    * 
38
-    * @param string $name
39
-    * @param mixed $default
40
-    * @return Interface_Optionable
41
-    */
34
+    /**
35
+     * Sets an option to the specified value. This can be any
36
+     * kind of variable type, including objects, as needed.
37
+     * 
38
+     * @param string $name
39
+     * @param mixed $default
40
+     * @return Interface_Optionable
41
+     */
42 42
     public function setOption(string $name, $value)
43 43
     {
44 44
         if(!isset($this->options)) {
@@ -49,13 +49,13 @@  discard block
 block discarded – undo
49 49
         return $this;
50 50
     }
51 51
     
52
-   /**
53
-    * Sets a collection of options at once, from an
54
-    * associative array.
55
-    * 
56
-    * @param array $options
57
-    * @return Interface_Optionable
58
-    */
52
+    /**
53
+     * Sets a collection of options at once, from an
54
+     * associative array.
55
+     * 
56
+     * @param array $options
57
+     * @return Interface_Optionable
58
+     */
59 59
     public function setOptions(array $options)
60 60
     {
61 61
         foreach($options as $name => $value) {
@@ -65,16 +65,16 @@  discard block
 block discarded – undo
65 65
         return $this;
66 66
     }
67 67
     
68
-   /**
69
-    * Retrieves an option's value.
70
-    * 
71
-    * NOTE: Use the specialized type getters to ensure an option
72
-    * contains the expected type (for ex. getArrayOption()). 
73
-    * 
74
-    * @param string $name
75
-    * @param mixed $default The default value to return if the option does not exist.
76
-    * @return mixed
77
-    */
68
+    /**
69
+     * Retrieves an option's value.
70
+     * 
71
+     * NOTE: Use the specialized type getters to ensure an option
72
+     * contains the expected type (for ex. getArrayOption()). 
73
+     * 
74
+     * @param string $name
75
+     * @param mixed $default The default value to return if the option does not exist.
76
+     * @return mixed
77
+     */
78 78
     public function getOption(string $name, $default=null)
79 79
     {
80 80
         if(!isset($this->options)) {
@@ -88,16 +88,16 @@  discard block
 block discarded – undo
88 88
         return $default;
89 89
     }
90 90
     
91
-   /**
92
-    * Enforces that the option value is a string. Numbers are converted
93
-    * to string, strings are passed through, and all other types will 
94
-    * return the default value. The default value is also returned if
95
-    * the string is empty.
96
-    * 
97
-    * @param string $name
98
-    * @param string $default Used if the option does not exist, is invalid, or empty.
99
-    * @return string
100
-    */
91
+    /**
92
+     * Enforces that the option value is a string. Numbers are converted
93
+     * to string, strings are passed through, and all other types will 
94
+     * return the default value. The default value is also returned if
95
+     * the string is empty.
96
+     * 
97
+     * @param string $name
98
+     * @param string $default Used if the option does not exist, is invalid, or empty.
99
+     * @return string
100
+     */
101 101
     public function getStringOption(string $name, string $default='') : string
102 102
     {
103 103
         $value = $this->getOption($name, false);
@@ -109,15 +109,15 @@  discard block
 block discarded – undo
109 109
         return $default;
110 110
     }
111 111
     
112
-   /**
113
-    * Treats the option value as a boolean value: will return
114
-    * true if the value actually is a boolean true.
115
-    * 
116
-    * NOTE: boolean string representations are not accepted.
117
-    * 
118
-    * @param string $name
119
-    * @return bool
120
-    */
112
+    /**
113
+     * Treats the option value as a boolean value: will return
114
+     * true if the value actually is a boolean true.
115
+     * 
116
+     * NOTE: boolean string representations are not accepted.
117
+     * 
118
+     * @param string $name
119
+     * @return bool
120
+     */
121 121
     public function getBoolOption(string $name, bool $default=false) : bool
122 122
     {
123 123
         if($this->getOption($name) === true) {
@@ -127,15 +127,15 @@  discard block
 block discarded – undo
127 127
         return $default;
128 128
     }
129 129
     
130
-   /**
131
-    * Treats the option value as an integer value: will return
132
-    * valid integer values (also from integer strings), or the
133
-    * default value otherwise.
134
-    * 
135
-    * @param string $name
136
-    * @param int $default
137
-    * @return int
138
-    */
130
+    /**
131
+     * Treats the option value as an integer value: will return
132
+     * valid integer values (also from integer strings), or the
133
+     * default value otherwise.
134
+     * 
135
+     * @param string $name
136
+     * @param int $default
137
+     * @return int
138
+     */
139 139
     public function getIntOption(string $name, int $default=0) : int
140 140
     {
141 141
         $value = $this->getOption($name);
@@ -146,14 +146,14 @@  discard block
 block discarded – undo
146 146
         return $default;
147 147
     }
148 148
     
149
-   /**
150
-    * Treats an option as an array, and returns its value
151
-    * only if it contains an array - otherwise, an empty
152
-    * array is returned.
153
-    * 
154
-    * @param string $name
155
-    * @return array
156
-    */
149
+    /**
150
+     * Treats an option as an array, and returns its value
151
+     * only if it contains an array - otherwise, an empty
152
+     * array is returned.
153
+     * 
154
+     * @param string $name
155
+     * @return array
156
+     */
157 157
     public function getArrayOption(string $name) : array
158 158
     {
159 159
         $val = $this->getOption($name);
@@ -164,13 +164,13 @@  discard block
 block discarded – undo
164 164
         return array();
165 165
     }
166 166
     
167
-   /**
168
-    * Checks whether the specified option exists - even
169
-    * if it has a NULL value.
170
-    * 
171
-    * @param string $name
172
-    * @return bool
173
-    */
167
+    /**
168
+     * Checks whether the specified option exists - even
169
+     * if it has a NULL value.
170
+     * 
171
+     * @param string $name
172
+     * @return bool
173
+     */
174 174
     public function hasOption(string $name) : bool
175 175
     {
176 176
         if(!isset($this->options)) {
@@ -180,10 +180,10 @@  discard block
 block discarded – undo
180 180
         return array_key_exists($name, $this->options);
181 181
     }
182 182
     
183
-   /**
184
-    * Returns all options in one associative array.
185
-    * @return array
186
-    */
183
+    /**
184
+     * Returns all options in one associative array.
185
+     * @return array
186
+     */
187 187
     public function getOptions() : array
188 188
     {
189 189
         if(!isset($this->options)) {
@@ -193,24 +193,24 @@  discard block
 block discarded – undo
193 193
         return $this->options;
194 194
     }
195 195
     
196
-   /**
197
-    * Checks whether the option's value is the one specified.
198
-    * 
199
-    * @param string $name
200
-    * @param mixed $value
201
-    * @return bool
202
-    */
196
+    /**
197
+     * Checks whether the option's value is the one specified.
198
+     * 
199
+     * @param string $name
200
+     * @param mixed $value
201
+     * @return bool
202
+     */
203 203
     public function isOption(string $name, $value) : bool
204 204
     {
205 205
         return $this->getOption($name) === $value;
206 206
     }
207 207
     
208
-   /**
209
-    * Retrieves the default available options as an 
210
-    * associative array with option name => value pairs.
211
-    * 
212
-    * @return array
213
-    */
208
+    /**
209
+     * Retrieves the default available options as an 
210
+     * associative array with option name => value pairs.
211
+     * 
212
+     * @return array
213
+     */
214 214
     abstract public function getDefaultOptions() : array;
215 215
 }
216 216
 
@@ -228,24 +228,24 @@  discard block
 block discarded – undo
228 228
  */
229 229
 interface Interface_Optionable
230 230
 {
231
-   /**
232
-    * @param string $name
233
-    * @param mixed $value
234
-    * @return Interface_Optionable
235
-    */
231
+    /**
232
+     * @param string $name
233
+     * @param mixed $value
234
+     * @return Interface_Optionable
235
+     */
236 236
     function setOption(string $name, $value);
237 237
     
238
-   /**
239
-    * @param string $name
240
-    * @param mixed $default
241
-    * @return Interface_Optionable
242
-    */
238
+    /**
239
+     * @param string $name
240
+     * @param mixed $default
241
+     * @return Interface_Optionable
242
+     */
243 243
     function getOption(string $name, $default=null);
244 244
     
245
-   /**
246
-    * @param array $options
247
-    * @return Interface_Optionable    
248
-    */
245
+    /**
246
+     * @param array $options
247
+     * @return Interface_Optionable    
248
+     */
249 249
     function setOptions(array $options);
250 250
     function getOptions() : array;
251 251
     function isOption(string $name, $value) : bool;
Please login to merge, or discard this patch.
src/ImageHelper.php 1 patch
Indentation   +394 added lines, -394 removed lines patch added patch discarded remove patch
@@ -66,54 +66,54 @@  discard block
 block discarded – undo
66 66
     
67 67
     const ERROR_GD_LIBRARY_NOT_INSTALLED = 513024;
68 68
 
69
-   /**
70
-    * @var string
71
-    */
69
+    /**
70
+     * @var string
71
+     */
72 72
     protected $file;
73 73
 
74
-   /**
75
-    * @var ImageHelper_Size
76
-    */
74
+    /**
75
+     * @var ImageHelper_Size
76
+     */
77 77
     protected $info;
78 78
 
79
-   /**
80
-    * @var string
81
-    */
79
+    /**
80
+     * @var string
81
+     */
82 82
     protected $type;
83 83
 
84
-   /**
85
-    * @var resource|NULL
86
-    */
84
+    /**
85
+     * @var resource|NULL
86
+     */
87 87
     protected $newImage;
88 88
 
89
-   /**
90
-    * @var resource
91
-    */
89
+    /**
90
+     * @var resource
91
+     */
92 92
     protected $sourceImage;
93 93
 
94
-   /**
95
-    * @var int
96
-    */
94
+    /**
95
+     * @var int
96
+     */
97 97
     protected $width;
98 98
 
99
-   /**
100
-    * @var int
101
-    */
99
+    /**
100
+     * @var int
101
+     */
102 102
     protected $height;
103 103
 
104
-   /**
105
-    * @var int
106
-    */
104
+    /**
105
+     * @var int
106
+     */
107 107
     protected $newWidth = 0;
108 108
 
109
-   /**
110
-    * @var int
111
-    */
109
+    /**
110
+     * @var int
111
+     */
112 112
     protected $newHeight = 0;
113 113
 
114
-   /**
115
-    * @var int
116
-    */
114
+    /**
115
+     * @var int
116
+     */
117 117
     protected $quality = 85;
118 118
     
119 119
     protected static $imageTypes = array(
@@ -201,17 +201,17 @@  discard block
 block discarded – undo
201 201
         }
202 202
     }
203 203
 
204
-   /**
205
-    * Factory method: creates a new helper with a blank image.
206
-    * 
207
-    * @param integer $width
208
-    * @param integer $height
209
-    * @param string $type The target file type when saving
210
-    * @return ImageHelper
211
-    * @throws ImageHelper_Exception
212
-    *
213
-    * @see ImageHelper::ERROR_CANNOT_CREATE_IMAGE_OBJECT
214
-    */
204
+    /**
205
+     * Factory method: creates a new helper with a blank image.
206
+     * 
207
+     * @param integer $width
208
+     * @param integer $height
209
+     * @param string $type The target file type when saving
210
+     * @return ImageHelper
211
+     * @throws ImageHelper_Exception
212
+     *
213
+     * @see ImageHelper::ERROR_CANNOT_CREATE_IMAGE_OBJECT
214
+     */
215 215
     public static function createNew($width, $height, $type='png')
216 216
     {
217 217
         $img = imagecreatetruecolor($width, $height);
@@ -226,18 +226,18 @@  discard block
 block discarded – undo
226 226
         );
227 227
     }
228 228
     
229
-   /**
230
-    * Factory method: creates an image helper from an
231
-    * existing image resource.
232
-    *
233
-    * Note: while the resource is type independent, the
234
-    * type parameter is required for some methods, as well
235
-    * as to be able to save the image.
236
-    *
237
-    * @param resource $resource
238
-    * @param string $type The target image type, e.g. "jpeg", "png", etc.
239
-    * @return ImageHelper
240
-    */
229
+    /**
230
+     * Factory method: creates an image helper from an
231
+     * existing image resource.
232
+     *
233
+     * Note: while the resource is type independent, the
234
+     * type parameter is required for some methods, as well
235
+     * as to be able to save the image.
236
+     *
237
+     * @param resource $resource
238
+     * @param string $type The target image type, e.g. "jpeg", "png", etc.
239
+     * @return ImageHelper
240
+     */
241 241
     public static function createFromResource($resource, ?string $type=null)
242 242
     {
243 243
         self::requireResource($resource);
@@ -245,29 +245,29 @@  discard block
 block discarded – undo
245 245
         return new ImageHelper(null, $resource, $type);
246 246
     }
247 247
     
248
-   /**
249
-    * Factory method: creates an image helper from an
250
-    * image file on disk.
251
-    *
252
-    * @param string $path
253
-    * @return ImageHelper
254
-    */
248
+    /**
249
+     * Factory method: creates an image helper from an
250
+     * image file on disk.
251
+     *
252
+     * @param string $path
253
+     * @return ImageHelper
254
+     */
255 255
     public static function createFromFile($file)
256 256
     {
257 257
         return new ImageHelper($file);
258 258
     }
259 259
     
260
-   /**
261
-    * Sets a global image helper configuration value. Available
262
-    * configuration settings are:
263
-    * 
264
-    * <ul>
265
-    * <li><code>auto-memory-adjustment</code> <i>boolean</i> Whether totry and adjust the memory limit automatically so there will be enough to load/process the target image.</li>
266
-    * </ul>
267
-    * 
268
-    * @param string $name
269
-    * @param mixed $value
270
-    */
260
+    /**
261
+     * Sets a global image helper configuration value. Available
262
+     * configuration settings are:
263
+     * 
264
+     * <ul>
265
+     * <li><code>auto-memory-adjustment</code> <i>boolean</i> Whether totry and adjust the memory limit automatically so there will be enough to load/process the target image.</li>
266
+     * </ul>
267
+     * 
268
+     * @param string $name
269
+     * @param mixed $value
270
+     */
271 271
     public static function setConfig($name, $value)
272 272
     {
273 273
         if(isset(self::$config[$name])) {
@@ -275,22 +275,22 @@  discard block
 block discarded – undo
275 275
         }
276 276
     }
277 277
     
278
-   /**
279
-    * Shorthand for setting the automatic memory adjustment
280
-    * global configuration setting.
281
-    * 
282
-    * @param bool $enabled
283
-    */
278
+    /**
279
+     * Shorthand for setting the automatic memory adjustment
280
+     * global configuration setting.
281
+     * 
282
+     * @param bool $enabled
283
+     */
284 284
     public static function setAutoMemoryAdjustment($enabled=true)
285 285
     {
286 286
         self::setConfig('auto-memory-adjustment', $enabled);
287 287
     }
288 288
     
289
-   /**
290
-    * Duplicates an image resource.
291
-    * @param resource $img
292
-    * @return resource
293
-    */
289
+    /**
290
+     * Duplicates an image resource.
291
+     * @param resource $img
292
+     * @return resource
293
+     */
294 294
     protected function duplicateImage($img)
295 295
     {
296 296
         self::requireResource($img);
@@ -302,12 +302,12 @@  discard block
 block discarded – undo
302 302
         return $duplicate;
303 303
     }
304 304
     
305
-   /**
306
-    * Duplicates the current state of the image into a new
307
-    * image helper instance.
308
-    * 
309
-    * @return ImageHelper
310
-    */
305
+    /**
306
+     * Duplicates the current state of the image into a new
307
+     * image helper instance.
308
+     * 
309
+     * @return ImageHelper
310
+     */
311 311
     public function duplicate()
312 312
     {
313 313
         return ImageHelper::createFromResource($this->duplicateImage($this->newImage));
@@ -495,13 +495,13 @@  discard block
 block discarded – undo
495 495
         ));
496 496
     }
497 497
     
498
-   /**
499
-    * Resamples the image to a new width, maintaining
500
-    * aspect ratio.
501
-    * 
502
-    * @param int $width
503
-    * @return ImageHelper
504
-    */
498
+    /**
499
+     * Resamples the image to a new width, maintaining
500
+     * aspect ratio.
501
+     * 
502
+     * @param int $width
503
+     * @return ImageHelper
504
+     */
505 505
     public function resampleByWidth(int $width) : ImageHelper
506 506
     {
507 507
         $size = $this->getSizeByWidth($width);
@@ -511,12 +511,12 @@  discard block
 block discarded – undo
511 511
         return $this;
512 512
     }
513 513
 
514
-   /**
515
-    * Resamples the image by height, and creates a new image file on disk.
516
-    * 
517
-    * @param int $height
518
-    * @return ImageHelper
519
-    */
514
+    /**
515
+     * Resamples the image by height, and creates a new image file on disk.
516
+     * 
517
+     * @param int $height
518
+     * @return ImageHelper
519
+     */
520 520
     public function resampleByHeight($height) : ImageHelper
521 521
     {
522 522
         $size = $this->getSizeByHeight($height);
@@ -524,13 +524,13 @@  discard block
 block discarded – undo
524 524
         return $this->resampleImage($size->getWidth(), $size->getHeight());
525 525
     }
526 526
 
527
-   /**
528
-    * Resamples the image without keeping the aspect ratio.
529
-    * 
530
-    * @param int $width
531
-    * @param int $height
532
-    * @return ImageHelper
533
-    */
527
+    /**
528
+     * Resamples the image without keeping the aspect ratio.
529
+     * 
530
+     * @param int $width
531
+     * @param int $height
532
+     * @return ImageHelper
533
+     */
534 534
     public function resample(?int $width = null, ?int $height = null) : ImageHelper
535 535
     {
536 536
         if($this->isVector()) {
@@ -595,12 +595,12 @@  discard block
 block discarded – undo
595 595
     
596 596
     protected $alpha = false;
597 597
 
598
-   /**
599
-    * Configures the specified image resource to make it alpha compatible.
600
-    * 
601
-    * @param resource $canvas
602
-    * @param bool $fill Whether to fill the whole canvas with the transparency
603
-    */
598
+    /**
599
+     * Configures the specified image resource to make it alpha compatible.
600
+     * 
601
+     * @param resource $canvas
602
+     * @param bool $fill Whether to fill the whole canvas with the transparency
603
+     */
604 604
     public static function addAlphaSupport($canvas, $fill=true)
605 605
     {
606 606
         self::requireResource($canvas);
@@ -715,12 +715,12 @@  discard block
 block discarded – undo
715 715
         $this->quality = $quality * 1;
716 716
     }
717 717
 
718
-   /**
719
-    * Attempts to adjust the memory to the required size
720
-    * to work with the current image.
721
-    * 
722
-    * @return boolean
723
-    */
718
+    /**
719
+     * Attempts to adjust the memory to the required size
720
+     * to work with the current image.
721
+     * 
722
+     * @return boolean
723
+     */
724 724
     protected function adjustMemory() : bool
725 725
     {
726 726
         if(!self::$config['auto-memory-adjustment']) {
@@ -760,27 +760,27 @@  discard block
 block discarded – undo
760 760
         return false;
761 761
     }
762 762
 
763
-   /**
764
-    * Stretches the image to the specified dimensions.
765
-    * 
766
-    * @param int $width
767
-    * @param int $height
768
-    * @return ImageHelper
769
-    */
763
+    /**
764
+     * Stretches the image to the specified dimensions.
765
+     * 
766
+     * @param int $width
767
+     * @param int $height
768
+     * @return ImageHelper
769
+     */
770 770
     public function stretch(int $width, int $height) : ImageHelper
771 771
     {
772 772
         return $this->resampleImage($width, $height);
773 773
     }
774 774
 
775
-   /**
776
-    * Creates a new image from the current image,
777
-    * resampling it to the new size.
778
-    * 
779
-    * @param int $newWidth
780
-    * @param int $newHeight   
781
-    * @throws ImageHelper_Exception
782
-    * @return ImageHelper
783
-    */
775
+    /**
776
+     * Creates a new image from the current image,
777
+     * resampling it to the new size.
778
+     * 
779
+     * @param int $newWidth
780
+     * @param int $newHeight   
781
+     * @throws ImageHelper_Exception
782
+     * @return ImageHelper
783
+     */
784 784
     protected function resampleImage(int $newWidth, int $newHeight) : ImageHelper
785 785
     {
786 786
         if($this->isVector()) {
@@ -920,31 +920,31 @@  discard block
 block discarded – undo
920 920
         readfile($imageFile);
921 921
     }
922 922
     
923
-   /**
924
-    * Displays the current image.
925
-    */
923
+    /**
924
+     * Displays the current image.
925
+     */
926 926
     public function display()
927 927
     {
928 928
         $this->displayImageStream($this->newImage, $this->getType(), $this->resolveQuality());
929 929
     }
930 930
     
931
-   /**
932
-    * Trims the current loaded image.
933
-    * 
934
-    * @param array $color A color definition, as an associative array with red, green, and blue keys. If not specified, the color at pixel position 0,0 will be used.
935
-    */
931
+    /**
932
+     * Trims the current loaded image.
933
+     * 
934
+     * @param array $color A color definition, as an associative array with red, green, and blue keys. If not specified, the color at pixel position 0,0 will be used.
935
+     */
936 936
     public function trim($color=null)
937 937
     {
938 938
         return $this->trimImage($this->newImage, $color);
939 939
     }
940 940
     
941
-   /**
942
-    * Retrieves a color definition by its index.
943
-    * 
944
-    * @param resource $img A valid image resource.
945
-    * @param int $colorIndex The color index, as returned by imagecolorat for example.
946
-    * @return array An array with red, green, blue and alpha keys.
947
-    */
941
+    /**
942
+     * Retrieves a color definition by its index.
943
+     * 
944
+     * @param resource $img A valid image resource.
945
+     * @param int $colorIndex The color index, as returned by imagecolorat for example.
946
+     * @return array An array with red, green, blue and alpha keys.
947
+     */
948 948
     public function getIndexedColors($img, int $colorIndex) : array
949 949
     {
950 950
         $color = imagecolorsforindex($img, $colorIndex);
@@ -962,14 +962,14 @@  discard block
 block discarded – undo
962 962
         );
963 963
     }
964 964
         
965
-   /**
966
-    * Trims the specified image resource by removing the specified color.
967
-    * Also works with transparency.
968
-    * 
969
-    * @param resource $img
970
-    * @param array $color A color definition, as an associative array with red, green, blue and alpha keys. If not specified, the color at pixel position 0,0 will be used.
971
-    * @return ImageHelper
972
-    */
965
+    /**
966
+     * Trims the specified image resource by removing the specified color.
967
+     * Also works with transparency.
968
+     * 
969
+     * @param resource $img
970
+     * @param array $color A color definition, as an associative array with red, green, blue and alpha keys. If not specified, the color at pixel position 0,0 will be used.
971
+     * @return ImageHelper
972
+     */
973 973
     protected function trimImage($img, ?array $color=null) : ImageHelper
974 974
     {
975 975
         if($this->isVector()) {
@@ -1057,12 +1057,12 @@  discard block
 block discarded – undo
1057 1057
         return $this;
1058 1058
     }
1059 1059
     
1060
-   /**
1061
-    * Sets the new image after a transformation operation:
1062
-    * automatically adjusts the new size information.
1063
-    * 
1064
-    * @param resource $image
1065
-    */
1060
+    /**
1061
+     * Sets the new image after a transformation operation:
1062
+     * automatically adjusts the new size information.
1063
+     * 
1064
+     * @param resource $image
1065
+     */
1066 1066
     protected function setNewImage($image)
1067 1067
     {
1068 1068
         self::requireResource($image);
@@ -1072,12 +1072,12 @@  discard block
 block discarded – undo
1072 1072
         $this->newHeight= imagesy($image);
1073 1073
     }
1074 1074
     
1075
-   /**
1076
-    * Requires the subject to be a resource.
1077
-    * 
1078
-    * @param resource $subject
1079
-    * @throws ImageHelper_Exception
1080
-    */
1075
+    /**
1076
+     * Requires the subject to be a resource.
1077
+     * 
1078
+     * @param resource $subject
1079
+     * @throws ImageHelper_Exception
1080
+     */
1081 1081
     protected static function requireResource($subject)
1082 1082
     {
1083 1083
         if(is_resource($subject)) {
@@ -1094,14 +1094,14 @@  discard block
 block discarded – undo
1094 1094
         );
1095 1095
     }
1096 1096
     
1097
-   /**
1098
-    * Creates a new image resource, with transparent background.
1099
-    * 
1100
-    * @param int $width
1101
-    * @param int $height
1102
-    * @throws ImageHelper_Exception
1103
-    * @return resource
1104
-    */
1097
+    /**
1098
+     * Creates a new image resource, with transparent background.
1099
+     * 
1100
+     * @param int $width
1101
+     * @param int $height
1102
+     * @throws ImageHelper_Exception
1103
+     * @return resource
1104
+     */
1105 1105
     protected function createNewImage(int $width, int $height)
1106 1106
     {
1107 1107
         $img = imagecreatetruecolor($width, $height);
@@ -1120,54 +1120,54 @@  discard block
 block discarded – undo
1120 1120
         return $img;
1121 1121
     }
1122 1122
     
1123
-   /**
1124
-    * Whether the two specified colors are the same.
1125
-    * 
1126
-    * @param array $a
1127
-    * @param array $b
1128
-    * @return boolean
1129
-    */
1130
-	protected function colorsMatch($a, $b) : bool
1131
-	{
1132
-		$parts = array('red', 'green', 'blue');
1133
-		foreach($parts as $part) {
1134
-			if($a[$part] != $b[$part]) {
1135
-				return false;
1136
-			}
1137
-		} 
1123
+    /**
1124
+     * Whether the two specified colors are the same.
1125
+     * 
1126
+     * @param array $a
1127
+     * @param array $b
1128
+     * @return boolean
1129
+     */
1130
+    protected function colorsMatch($a, $b) : bool
1131
+    {
1132
+        $parts = array('red', 'green', 'blue');
1133
+        foreach($parts as $part) {
1134
+            if($a[$part] != $b[$part]) {
1135
+                return false;
1136
+            }
1137
+        } 
1138 1138
 		
1139
-		return true;
1140
-	}
1139
+        return true;
1140
+    }
1141 1141
 	
1142
-	public function fillWhite($x=0, $y=0)
1143
-	{
1144
-	    $this->addRGBColor('white', 255, 255, 255);
1142
+    public function fillWhite($x=0, $y=0)
1143
+    {
1144
+        $this->addRGBColor('white', 255, 255, 255);
1145 1145
         return $this->fill('white', $x, $y);
1146
-	}
1146
+    }
1147 1147
 	
1148
-	public function fillTransparent() : ImageHelper
1149
-	{
1148
+    public function fillTransparent() : ImageHelper
1149
+    {
1150 1150
         $this->enableAlpha();
1151 1151
 	    
1152
-	    self::fillImageTransparent($this->newImage);
1152
+        self::fillImageTransparent($this->newImage);
1153 1153
 	    
1154
-	    return $this;
1155
-	}
1154
+        return $this;
1155
+    }
1156 1156
 	
1157
-	public static function fillImageTransparent($resource)
1158
-	{
1159
-	    self::requireResource($resource);
1157
+    public static function fillImageTransparent($resource)
1158
+    {
1159
+        self::requireResource($resource);
1160 1160
 	    
1161
-	    $transparent = imagecolorallocatealpha($resource, 89, 14, 207, 127);
1162
-	    imagecolortransparent ($resource, $transparent);
1163
-	    imagefill($resource, 0, 0, $transparent);
1164
-	}
1161
+        $transparent = imagecolorallocatealpha($resource, 89, 14, 207, 127);
1162
+        imagecolortransparent ($resource, $transparent);
1163
+        imagefill($resource, 0, 0, $transparent);
1164
+    }
1165 1165
 	
1166
-	public function fill($colorName, $x=0, $y=0)
1167
-	{
1168
-	    imagefill($this->newImage, $x, $y, $this->colors[$colorName]);
1169
-	    return $this;
1170
-	}
1166
+    public function fill($colorName, $x=0, $y=0)
1167
+    {
1168
+        imagefill($this->newImage, $x, $y, $this->colors[$colorName]);
1169
+        return $this;
1170
+    }
1171 1171
 	
1172 1172
     protected $colors = array();
1173 1173
 
@@ -1188,9 +1188,9 @@  discard block
 block discarded – undo
1188 1188
         return $this;
1189 1189
     }
1190 1190
     
1191
-   /**
1192
-    * @return resource
1193
-    */
1191
+    /**
1192
+     * @return resource
1193
+     */
1194 1194
     public function getImage()
1195 1195
     {
1196 1196
         return $this->newImage;
@@ -1208,27 +1208,27 @@  discard block
 block discarded – undo
1208 1208
         return $this;
1209 1209
     }
1210 1210
     
1211
-   /**
1212
-    * Retrieves the size of the image.
1213
-    * 
1214
-    * @param bool $exception Whether to trigger an exception when the image does not exist
1215
-    * @return ImageHelper_Size
1216
-    * @throws ImageHelper_Exception
1217
-    * @see ImageHelper::ERROR_CANNOT_GET_IMAGE_SIZE
1218
-    */
1219
-	public function getSize() : ImageHelper_Size
1211
+    /**
1212
+     * Retrieves the size of the image.
1213
+     * 
1214
+     * @param bool $exception Whether to trigger an exception when the image does not exist
1215
+     * @return ImageHelper_Size
1216
+     * @throws ImageHelper_Exception
1217
+     * @see ImageHelper::ERROR_CANNOT_GET_IMAGE_SIZE
1218
+     */
1219
+    public function getSize() : ImageHelper_Size
1220 1220
     {
1221
-	    return self::getImageSize($this->newImage);
1221
+        return self::getImageSize($this->newImage);
1222 1222
     }
1223 1223
     
1224 1224
     protected $TTFFile;
1225 1225
     
1226
-   /**
1227
-    * Sets the TTF font file to use for text operations.
1228
-    * 
1229
-    * @param string $filePath
1230
-    * @return ImageHelper
1231
-    */
1226
+    /**
1227
+     * Sets the TTF font file to use for text operations.
1228
+     * 
1229
+     * @param string $filePath
1230
+     * @return ImageHelper
1231
+     */
1232 1232
     public function setFontTTF($filePath)
1233 1233
     {
1234 1234
         $this->TTFFile = $filePath;
@@ -1300,63 +1300,63 @@  discard block
 block discarded – undo
1300 1300
             return;
1301 1301
         }
1302 1302
         
1303
-	    throw new ImageHelper_Exception(
1303
+        throw new ImageHelper_Exception(
1304 1304
             'No true type font specified',
1305 1305
             'This functionality requires a TTF font file to be specified with the [setFontTTF] method.',
1306 1306
             self::ERROR_NO_TRUE_TYPE_FONT_SET    
1307 1307
         );
1308 1308
     }
1309 1309
     
1310
-   /**
1311
-	 * Retrieves the size of an image file on disk, or
1312
-	 * an existing image resource.
1313
-	 *
1314
-	 * <pre>
1315
-	 * array(
1316
-	 *     0: (width),
1317
-	 *     1: (height),
1318
-	 *     "channels": the amount of channels
1319
-	 *     "bits": bits per channel
1310
+    /**
1311
+     * Retrieves the size of an image file on disk, or
1312
+     * an existing image resource.
1313
+     *
1314
+     * <pre>
1315
+     * array(
1316
+     *     0: (width),
1317
+     *     1: (height),
1318
+     *     "channels": the amount of channels
1319
+     *     "bits": bits per channel
1320 1320
      * )     
1321
-	 * </pre>
1322
-	 *
1323
-	 * @param string|resource $pathOrResource
1324
-	 * @return ImageHelper_Size Size object, can also be accessed like the traditional array from getimagesize
1325
-	 * @see ImageHelper_Size
1326
-	 * @throws ImageHelper_Exception
1327
-	 * @see ImageHelper::ERROR_CANNOT_GET_IMAGE_SIZE
1328
-	 * @see ImageHelper::ERROR_CANNOT_READ_SVG_IMAGE
1329
-	 * @see ImageHelper::ERROR_SVG_SOURCE_VIEWBOX_MISSING
1330
-	 * @see ImageHelper::ERROR_SVG_VIEWBOX_INVALID
1331
-	 */
1332
-	public static function getImageSize($pathOrResource) : ImageHelper_Size
1333
-	{
1334
-	    if(is_resource($pathOrResource)) 
1335
-	    {
1336
-	        return new ImageHelper_Size(array(
1337
-	            'width' => imagesx($pathOrResource),
1338
-	            'height' => imagesy($pathOrResource),
1339
-	            'channels' => 1,
1340
-	            'bits' => 8
1341
-	        ));
1342
-	    }
1321
+     * </pre>
1322
+     *
1323
+     * @param string|resource $pathOrResource
1324
+     * @return ImageHelper_Size Size object, can also be accessed like the traditional array from getimagesize
1325
+     * @see ImageHelper_Size
1326
+     * @throws ImageHelper_Exception
1327
+     * @see ImageHelper::ERROR_CANNOT_GET_IMAGE_SIZE
1328
+     * @see ImageHelper::ERROR_CANNOT_READ_SVG_IMAGE
1329
+     * @see ImageHelper::ERROR_SVG_SOURCE_VIEWBOX_MISSING
1330
+     * @see ImageHelper::ERROR_SVG_VIEWBOX_INVALID
1331
+     */
1332
+    public static function getImageSize($pathOrResource) : ImageHelper_Size
1333
+    {
1334
+        if(is_resource($pathOrResource)) 
1335
+        {
1336
+            return new ImageHelper_Size(array(
1337
+                'width' => imagesx($pathOrResource),
1338
+                'height' => imagesy($pathOrResource),
1339
+                'channels' => 1,
1340
+                'bits' => 8
1341
+            ));
1342
+        }
1343 1343
 	    
1344
-	    $type = self::getFileImageType($pathOrResource);
1344
+        $type = self::getFileImageType($pathOrResource);
1345 1345
 	    
1346
-	    $info = false;
1347
-	    $method = 'getImageSize_'.$type;
1348
-	    if(method_exists(__CLASS__, $method)) 
1349
-	    {
1350
-	        $info = call_user_func(array(__CLASS__, $method), $pathOrResource);
1351
-	    } 
1352
-	    else 
1353
-	    {
1354
-	        $info = getimagesize($pathOrResource);
1355
-	    }
1346
+        $info = false;
1347
+        $method = 'getImageSize_'.$type;
1348
+        if(method_exists(__CLASS__, $method)) 
1349
+        {
1350
+            $info = call_user_func(array(__CLASS__, $method), $pathOrResource);
1351
+        } 
1352
+        else 
1353
+        {
1354
+            $info = getimagesize($pathOrResource);
1355
+        }
1356 1356
 	    
1357
-	    if($info !== false) {
1358
-	        return new ImageHelper_Size($info);
1359
-	    }
1357
+        if($info !== false) {
1358
+            return new ImageHelper_Size($info);
1359
+        }
1360 1360
 	    
1361 1361
         throw new ImageHelper_Exception(
1362 1362
             'Error opening image file',
@@ -1366,96 +1366,96 @@  discard block
 block discarded – undo
1366 1366
             ),
1367 1367
             self::ERROR_CANNOT_GET_IMAGE_SIZE
1368 1368
         );
1369
-	}
1369
+    }
1370 1370
 	
1371
-   /**
1372
-    * @param string $imagePath
1373
-    * @throws ImageHelper_Exception
1374
-    * @return array
1375
-    * 
1376
-    * @todo This should return a ImageHelper_Size instance.
1377
-    */
1378
-	protected static function getImageSize_svg(string $imagePath) : array
1379
-	{
1380
-	    $xml = XMLHelper::createSimplexml();
1381
-	    $xml->loadFile($imagePath);
1371
+    /**
1372
+     * @param string $imagePath
1373
+     * @throws ImageHelper_Exception
1374
+     * @return array
1375
+     * 
1376
+     * @todo This should return a ImageHelper_Size instance.
1377
+     */
1378
+    protected static function getImageSize_svg(string $imagePath) : array
1379
+    {
1380
+        $xml = XMLHelper::createSimplexml();
1381
+        $xml->loadFile($imagePath);
1382 1382
 	    
1383
-	    if($xml->hasErrors()) {
1384
-	        throw new ImageHelper_Exception(
1385
-	            'Error opening SVG image',
1386
-	            sprintf(
1387
-	                'The XML content of the image [%s] could not be parsed.',
1388
-	                $imagePath
1383
+        if($xml->hasErrors()) {
1384
+            throw new ImageHelper_Exception(
1385
+                'Error opening SVG image',
1386
+                sprintf(
1387
+                    'The XML content of the image [%s] could not be parsed.',
1388
+                    $imagePath
1389 1389
                 ),
1390
-	            self::ERROR_CANNOT_READ_SVG_IMAGE
1390
+                self::ERROR_CANNOT_READ_SVG_IMAGE
1391 1391
             );
1392
-	    }
1392
+        }
1393 1393
 	    
1394
-	    $data = $xml->toArray();
1395
-	    $xml->dispose();
1396
-	    unset($xml);
1394
+        $data = $xml->toArray();
1395
+        $xml->dispose();
1396
+        unset($xml);
1397 1397
 	    
1398
-	    if(!isset($data['@attributes']) || !isset($data['@attributes']['viewBox'])) {
1399
-	        throw new ImageHelper_Exception(
1400
-	            'SVG Image is corrupted',
1401
-	            sprintf(
1402
-	                'The [viewBox] attribute is missing in the XML of the image at path [%s].',
1403
-	                $imagePath
1398
+        if(!isset($data['@attributes']) || !isset($data['@attributes']['viewBox'])) {
1399
+            throw new ImageHelper_Exception(
1400
+                'SVG Image is corrupted',
1401
+                sprintf(
1402
+                    'The [viewBox] attribute is missing in the XML of the image at path [%s].',
1403
+                    $imagePath
1404 1404
                 ),
1405
-	            self::ERROR_SVG_SOURCE_VIEWBOX_MISSING
1405
+                self::ERROR_SVG_SOURCE_VIEWBOX_MISSING
1406 1406
             );
1407
-	    }
1407
+        }
1408 1408
 	    
1409
-	    $svgWidth = parseNumber($data['@attributes']['width'])->getNumber();
1410
-	    $svgHeight = parseNumber($data['@attributes']['height'])->getNumber();
1409
+        $svgWidth = parseNumber($data['@attributes']['width'])->getNumber();
1410
+        $svgHeight = parseNumber($data['@attributes']['height'])->getNumber();
1411 1411
 	    
1412
-	    $viewBox = str_replace(' ', ',', $data['@attributes']['viewBox']);
1413
-	    $viewBox = explode(',', $viewBox);
1414
-	    if(count($viewBox) != 4) {
1415
-	        throw new ImageHelper_Exception(
1416
-	            'SVG image has an invalid viewBox attribute',
1417
-	            sprintf(
1418
-	               'The [viewBox] attribute does not have an expected value: [%s] in path [%s].',
1419
-	                $viewBox,
1420
-	                $imagePath
1412
+        $viewBox = str_replace(' ', ',', $data['@attributes']['viewBox']);
1413
+        $viewBox = explode(',', $viewBox);
1414
+        if(count($viewBox) != 4) {
1415
+            throw new ImageHelper_Exception(
1416
+                'SVG image has an invalid viewBox attribute',
1417
+                sprintf(
1418
+                    'The [viewBox] attribute does not have an expected value: [%s] in path [%s].',
1419
+                    $viewBox,
1420
+                    $imagePath
1421 1421
                 ),
1422
-	            self::ERROR_SVG_VIEWBOX_INVALID
1422
+                self::ERROR_SVG_VIEWBOX_INVALID
1423 1423
             );
1424
-	    }
1424
+        }
1425 1425
 	    
1426
-	    $boxWidth = $viewBox[2];
1427
-	    $boxHeight = $viewBox[3];
1426
+        $boxWidth = $viewBox[2];
1427
+        $boxHeight = $viewBox[3];
1428 1428
 	    
1429
-	    // calculate the x and y units of the document: 
1430
-	    // @see http://tutorials.jenkov.com/svg/svg-viewport-view-box.html#viewbox
1431
-	    //
1432
-	    // The viewbox combined with the width and heigt of the svg
1433
-	    // allow calculating how many pixels are in one unit of the 
1434
-	    // width and height of the document.
1429
+        // calculate the x and y units of the document: 
1430
+        // @see http://tutorials.jenkov.com/svg/svg-viewport-view-box.html#viewbox
1431
+        //
1432
+        // The viewbox combined with the width and heigt of the svg
1433
+        // allow calculating how many pixels are in one unit of the 
1434
+        // width and height of the document.
1435 1435
         //
1436
-	    $xUnits = $svgWidth / $boxWidth;
1437
-	    $yUnits = $svgHeight / $boxHeight;
1436
+        $xUnits = $svgWidth / $boxWidth;
1437
+        $yUnits = $svgHeight / $boxHeight;
1438 1438
 	    
1439
-	    $pxWidth = $xUnits * $svgWidth;
1440
-	    $pxHeight = $yUnits * $svgHeight;
1439
+        $pxWidth = $xUnits * $svgWidth;
1440
+        $pxHeight = $yUnits * $svgHeight;
1441 1441
 	    
1442
-	    return array(
1443
-	        $pxWidth,
1444
-	        $pxHeight,
1445
-	        'bits' => 8
1446
-	    );
1447
-	}
1442
+        return array(
1443
+            $pxWidth,
1444
+            $pxHeight,
1445
+            'bits' => 8
1446
+        );
1447
+    }
1448 1448
 	
1449
-	/**
1450
-    * Crops the image to the specified width and height, optionally
1451
-    * specifying the origin position to crop from.
1452
-    * 
1453
-    * @param integer $width
1454
-    * @param integer $height
1455
-    * @param integer $x
1456
-    * @param integer $y
1457
-    * @return ImageHelper
1458
-    */
1449
+    /**
1450
+     * Crops the image to the specified width and height, optionally
1451
+     * specifying the origin position to crop from.
1452
+     * 
1453
+     * @param integer $width
1454
+     * @param integer $height
1455
+     * @param integer $x
1456
+     * @param integer $y
1457
+     * @return ImageHelper
1458
+     */
1459 1459
     public function crop(int $width, int $height, int $x=0, int $y=0) : ImageHelper
1460 1460
     {
1461 1461
         $new = $this->createNewImage($width, $height);
@@ -1477,14 +1477,14 @@  discard block
 block discarded – undo
1477 1477
         return $this->newHeight;
1478 1478
     }
1479 1479
 
1480
-   /**
1481
-    * Calculates the average color value used in 
1482
-    * the image. Returns an associative array
1483
-    * with the red, green, blue and alpha components.
1484
-    * 
1485
-    * @param int $format The format in which to return the color value.
1486
-    * @return array|string
1487
-    */
1480
+    /**
1481
+     * Calculates the average color value used in 
1482
+     * the image. Returns an associative array
1483
+     * with the red, green, blue and alpha components.
1484
+     * 
1485
+     * @param int $format The format in which to return the color value.
1486
+     * @return array|string
1487
+     */
1488 1488
     public function calcAverageColor(int $format=self::COLORFORMAT_RGB)
1489 1489
     {
1490 1490
         $image = $this->duplicate();
@@ -1507,18 +1507,18 @@  discard block
 block discarded – undo
1507 1507
     
1508 1508
     const COLORFORMAT_HEX = 2;
1509 1509
     
1510
-   /**
1511
-    * Retrieves the color value at the specified pixel
1512
-    * coordinates in the image.
1513
-    * 
1514
-    * @param int $x
1515
-    * @param int $y
1516
-    * @param int $format The format in which to return the color value.
1517
-    * @return array|string
1518
-    * 
1519
-    * @see ImageHelper::COLORFORMAT_RGB
1520
-    * @see ImageHelper::COLORFORMAT_HEX
1521
-    */
1510
+    /**
1511
+     * Retrieves the color value at the specified pixel
1512
+     * coordinates in the image.
1513
+     * 
1514
+     * @param int $x
1515
+     * @param int $y
1516
+     * @param int $format The format in which to return the color value.
1517
+     * @return array|string
1518
+     * 
1519
+     * @see ImageHelper::COLORFORMAT_RGB
1520
+     * @see ImageHelper::COLORFORMAT_HEX
1521
+     */
1522 1522
     public function getColorAt(int $x, int $y, int $format=self::COLORFORMAT_RGB)
1523 1523
     {
1524 1524
         if($x > $this->getWidth() || $y > $this->getHeight()) 
@@ -1546,21 +1546,21 @@  discard block
 block discarded – undo
1546 1546
         return $rgb;
1547 1547
     }
1548 1548
     
1549
-   /**
1550
-    * Converts an RGB value to its luminance equivalent.
1551
-    * 
1552
-    * @param array $rgb
1553
-    * @return integer Integer, from 0 to 255 (0=black, 255=white)
1554
-    */
1549
+    /**
1550
+     * Converts an RGB value to its luminance equivalent.
1551
+     * 
1552
+     * @param array $rgb
1553
+     * @return integer Integer, from 0 to 255 (0=black, 255=white)
1554
+     */
1555 1555
     public static function rgb2luma($rgb)
1556 1556
     {
1557 1557
         return (($rgb['red']*2)+$rgb['blue']+($rgb['green']*3))/6;
1558 1558
     }
1559 1559
     
1560
-   /**
1561
-    * Retrieves the brightness of the image, in percent.
1562
-    * @return number
1563
-    */
1560
+    /**
1561
+     * Retrieves the brightness of the image, in percent.
1562
+     * @return number
1563
+     */
1564 1564
     public function getBrightness()
1565 1565
     {
1566 1566
         $luma = self::rgb2luma($this->calcAverageColor());
@@ -1568,15 +1568,15 @@  discard block
 block discarded – undo
1568 1568
         return $percent;
1569 1569
     }
1570 1570
     
1571
-   /**
1572
-    * Retrieves an md5 hash of the source image file.
1573
-    * 
1574
-    * NOTE: Only works when the helper has been created
1575
-    * from a file. Otherwise an exception is thrown.
1576
-    * 
1577
-    * @return string
1578
-    * @throws ImageHelper_Exception
1579
-    */
1571
+    /**
1572
+     * Retrieves an md5 hash of the source image file.
1573
+     * 
1574
+     * NOTE: Only works when the helper has been created
1575
+     * from a file. Otherwise an exception is thrown.
1576
+     * 
1577
+     * @return string
1578
+     * @throws ImageHelper_Exception
1579
+     */
1580 1580
     public function getHash()
1581 1581
     {
1582 1582
         ob_start();
Please login to merge, or discard this patch.
src/ConvertHelper/DurationConverter.php 1 patch
Indentation   +32 added lines, -32 removed lines patch added patch discarded remove patch
@@ -26,31 +26,31 @@  discard block
 block discarded – undo
26 26
     const ERROR_NO_DATE_FROM_SET = 43401;
27 27
     
28 28
     
29
-   /**
30
-    * @var int
31
-    */
29
+    /**
30
+     * @var int
31
+     */
32 32
     protected $dateFrom;
33 33
     
34
-   /**
35
-    * @var int
36
-    */
34
+    /**
35
+     * @var int
36
+     */
37 37
     protected $dateTo;
38 38
     
39 39
     public function __construct()
40 40
     {
41 41
     }
42 42
     
43
-   /**
44
-    * Sets the origin date to calculate from.
45
-    * 
46
-    * NOTE: if this is further in the future than
47
-    * the to: date, it will be considered as a 
48
-    * calculation for something to come, i.e. 
49
-    * "In two days".
50
-    *  
51
-    * @param \DateTime $date
52
-    * @return ConvertHelper_DurationConverter
53
-    */
43
+    /**
44
+     * Sets the origin date to calculate from.
45
+     * 
46
+     * NOTE: if this is further in the future than
47
+     * the to: date, it will be considered as a 
48
+     * calculation for something to come, i.e. 
49
+     * "In two days".
50
+     *  
51
+     * @param \DateTime $date
52
+     * @return ConvertHelper_DurationConverter
53
+     */
54 54
     public function setDateFrom(\DateTime $date) : ConvertHelper_DurationConverter
55 55
     {
56 56
         $this->dateFrom = ConvertHelper::date2timestamp($date);
@@ -58,13 +58,13 @@  discard block
 block discarded – undo
58 58
         return $this;
59 59
     }
60 60
     
61
-   /**
62
-    * Sets the date to calculate to. Defaults to 
63
-    * the current time if not set.
64
-    * 
65
-    * @param \DateTime $date
66
-    * @return ConvertHelper_DurationConverter
67
-    */
61
+    /**
62
+     * Sets the date to calculate to. Defaults to 
63
+     * the current time if not set.
64
+     * 
65
+     * @param \DateTime $date
66
+     * @return ConvertHelper_DurationConverter
67
+     */
68 68
     public function setDateTo(\DateTime $date) : ConvertHelper_DurationConverter
69 69
     {
70 70
         $this->dateTo = ConvertHelper::date2timestamp($date);
@@ -72,14 +72,14 @@  discard block
 block discarded – undo
72 72
         return $this;
73 73
     }
74 74
     
75
-   /**
76
-    * Converts the specified dates to a human readable string.
77
-    * 
78
-    * @throws ConvertHelper_Exception
79
-    * @return string
80
-    * 
81
-    * @see ConvertHelper_DurationConverter::ERROR_NO_DATE_FROM_SET
82
-    */
75
+    /**
76
+     * Converts the specified dates to a human readable string.
77
+     * 
78
+     * @throws ConvertHelper_Exception
79
+     * @return string
80
+     * 
81
+     * @see ConvertHelper_DurationConverter::ERROR_NO_DATE_FROM_SET
82
+     */
83 83
     public function convert() : string
84 84
     {
85 85
         if(!isset($this->dateFrom)) 
Please login to merge, or discard this patch.
src/ConvertHelper.php 1 patch
Indentation   +406 added lines, -406 removed lines patch added patch discarded remove patch
@@ -162,41 +162,41 @@  discard block
 block discarded – undo
162 162
         return implode(', ', $tokens) . ' ' . t('and') . ' ' . $last;
163 163
     }
164 164
 
165
-   /**
166
-    * Converts a timestamp into an easily understandable
167
-    * format, e.g. "2 hours", "1 day", "3 months"
168
-    *
169
-    * If you set the date to parameter, the difference
170
-    * will be calculated between the two dates and not
171
-    * the current time.
172
-    *
173
-    * @param integer|\DateTime $datefrom
174
-    * @param integer|\DateTime $dateto
175
-    * @return string
176
-    */
165
+    /**
166
+     * Converts a timestamp into an easily understandable
167
+     * format, e.g. "2 hours", "1 day", "3 months"
168
+     *
169
+     * If you set the date to parameter, the difference
170
+     * will be calculated between the two dates and not
171
+     * the current time.
172
+     *
173
+     * @param integer|\DateTime $datefrom
174
+     * @param integer|\DateTime $dateto
175
+     * @return string
176
+     */
177 177
     public static function duration2string($datefrom, $dateto = -1) : string
178 178
     {
179
-         $converter = new ConvertHelper_DurationConverter();
179
+            $converter = new ConvertHelper_DurationConverter();
180 180
          
181
-         if($datefrom instanceof \DateTime)
182
-         {
183
-             $converter->setDateFrom($datefrom);
184
-         }
185
-         else
186
-         {
187
-             $converter->setDateFrom(self::timestamp2date($datefrom)); 
188
-         }
189
-
190
-         if($dateto instanceof \DateTime)
191
-         {
192
-             $converter->setDateTo($dateto);
193
-         }
194
-         else if($dateto > 0)
195
-         {
196
-             $converter->setDateTo(self::timestamp2date($dateto));
197
-         }
198
-
199
-         return $converter->convert();
181
+            if($datefrom instanceof \DateTime)
182
+            {
183
+                $converter->setDateFrom($datefrom);
184
+            }
185
+            else
186
+            {
187
+                $converter->setDateFrom(self::timestamp2date($datefrom)); 
188
+            }
189
+
190
+            if($dateto instanceof \DateTime)
191
+            {
192
+                $converter->setDateTo($dateto);
193
+            }
194
+            else if($dateto > 0)
195
+            {
196
+                $converter->setDateTo(self::timestamp2date($dateto));
197
+            }
198
+
199
+            return $converter->convert();
200 200
     }
201 201
 
202 202
     /**
@@ -269,16 +269,16 @@  discard block
 block discarded – undo
269 269
         return $bytes . ' ' . t('B');
270 270
     }
271 271
 
272
-   /**
273
-    * Cuts a text to the specified length if it is longer than the
274
-    * target length. Appends a text to signify it has been cut at 
275
-    * the end of the string.
276
-    * 
277
-    * @param string $text
278
-    * @param int $targetLength
279
-    * @param string $append
280
-    * @return string
281
-    */
272
+    /**
273
+     * Cuts a text to the specified length if it is longer than the
274
+     * target length. Appends a text to signify it has been cut at 
275
+     * the end of the string.
276
+     * 
277
+     * @param string $text
278
+     * @param int $targetLength
279
+     * @param string $append
280
+     * @return string
281
+     */
282 282
     public static function text_cut(string $text, int $targetLength, string $append = '...') : string
283 283
     {
284 284
         $length = mb_strlen($text);
@@ -348,27 +348,27 @@  discard block
 block discarded – undo
348 348
         return self::$booleanStrings[$string];
349 349
     }
350 350
     
351
-   /**
352
-    * Whether the specified string is a boolean string or boolean value.
353
-    * Alias for {@link ConvertHelper::isBoolean()}.
354
-    * 
355
-    * @param mixed $string
356
-    * @return bool
357
-    * @deprecated
358
-    * @see ConvertHelper::isBoolean()
359
-    */
351
+    /**
352
+     * Whether the specified string is a boolean string or boolean value.
353
+     * Alias for {@link ConvertHelper::isBoolean()}.
354
+     * 
355
+     * @param mixed $string
356
+     * @return bool
357
+     * @deprecated
358
+     * @see ConvertHelper::isBoolean()
359
+     */
360 360
     public static function isBooleanString($string) : bool
361 361
     {
362 362
         return self::isBoolean($string);
363 363
     }
364 364
 
365
-   /**
366
-    * Alias for the {@\AppUtils\XMLHelper::string2xml()} method.
367
-    * 
368
-    * @param string $text
369
-    * @return string
370
-    * @deprecated
371
-    */
365
+    /**
366
+     * Alias for the {@\AppUtils\XMLHelper::string2xml()} method.
367
+     * 
368
+     * @param string $text
369
+     * @return string
370
+     * @deprecated
371
+     */
372 372
     public static function text_makeXMLCompliant($text)
373 373
     {
374 374
         return XMLHelper::string2xml($text);
@@ -470,13 +470,13 @@  discard block
 block discarded – undo
470 470
         return $translit->convert($string);
471 471
     }
472 472
     
473
-   /**
474
-    * Retrieves the HEX character codes for all control
475
-    * characters that the {@link stripControlCharacters()} 
476
-    * method will remove.
477
-    * 
478
-    * @return string[]
479
-    */
473
+    /**
474
+     * Retrieves the HEX character codes for all control
475
+     * characters that the {@link stripControlCharacters()} 
476
+     * method will remove.
477
+     * 
478
+     * @return string[]
479
+     */
480 480
     public static function getControlCharactersAsHex()
481 481
     {
482 482
         $hexAlphabet = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');
@@ -512,13 +512,13 @@  discard block
 block discarded – undo
512 512
         return $stack;
513 513
     }
514 514
     
515
-   /**
516
-    * Retrieves an array of all control characters that
517
-    * the {@link stripControlCharacters()} method will 
518
-    * remove, as the actual UTF-8 characters.
519
-    * 
520
-    * @return string[]
521
-    */
515
+    /**
516
+     * Retrieves an array of all control characters that
517
+     * the {@link stripControlCharacters()} method will 
518
+     * remove, as the actual UTF-8 characters.
519
+     * 
520
+     * @return string[]
521
+     */
522 522
     public static function getControlCharactersAsUTF8()
523 523
     {
524 524
         $chars = self::getControlCharactersAsHex();
@@ -531,12 +531,12 @@  discard block
 block discarded – undo
531 531
         return $result;
532 532
     }
533 533
     
534
-   /**
535
-    * Retrieves all control characters as JSON encoded
536
-    * characters, e.g. "\u200b".
537
-    * 
538
-    * @return string[]
539
-    */
534
+    /**
535
+     * Retrieves all control characters as JSON encoded
536
+     * characters, e.g. "\u200b".
537
+     * 
538
+     * @return string[]
539
+     */
540 540
     public static function getControlCharactersAsJSON()
541 541
     {
542 542
         $chars = self::getControlCharactersAsHex();
@@ -593,20 +593,20 @@  discard block
 block discarded – undo
593 593
         return preg_replace(self::$controlCharsRegex, '', $string);
594 594
     }
595 595
 
596
-   /**
597
-    * Converts a unicode character to the PHPO notation.
598
-    * 
599
-    * Example:
600
-    * 
601
-    * <pre>unicodeChar2php('"\u0000"')</pre>
602
-    * 
603
-    * Returns
604
-    * 
605
-    * <pre>\x0</pre>
606
-    * 
607
-    * @param string $unicodeChar
608
-    * @return string
609
-    */
596
+    /**
597
+     * Converts a unicode character to the PHPO notation.
598
+     * 
599
+     * Example:
600
+     * 
601
+     * <pre>unicodeChar2php('"\u0000"')</pre>
602
+     * 
603
+     * Returns
604
+     * 
605
+     * <pre>\x0</pre>
606
+     * 
607
+     * @param string $unicodeChar
608
+     * @return string
609
+     */
610 610
     public static function unicodeChar2php($unicodeChar) 
611 611
     {
612 612
         $unicodeChar = json_decode($unicodeChar);
@@ -729,25 +729,25 @@  discard block
 block discarded – undo
729 729
         return 'false';
730 730
     }
731 731
     
732
-   /**
733
-    * Converts an associative array with attribute name > value pairs
734
-    * to an attribute string that can be used in an HTML tag. Empty 
735
-    * attribute values are ignored.
736
-    * 
737
-    * Example:
738
-    * 
739
-    * array2attributeString(array(
740
-    *     'id' => 45,
741
-    *     'href' => 'http://www.mistralys.com'
742
-    * ));
743
-    * 
744
-    * Result:
745
-    * 
746
-    * id="45" href="http://www.mistralys.com"
747
-    * 
748
-    * @param array $array
749
-    * @return string
750
-    */
732
+    /**
733
+     * Converts an associative array with attribute name > value pairs
734
+     * to an attribute string that can be used in an HTML tag. Empty 
735
+     * attribute values are ignored.
736
+     * 
737
+     * Example:
738
+     * 
739
+     * array2attributeString(array(
740
+     *     'id' => 45,
741
+     *     'href' => 'http://www.mistralys.com'
742
+     * ));
743
+     * 
744
+     * Result:
745
+     * 
746
+     * id="45" href="http://www.mistralys.com"
747
+     * 
748
+     * @param array $array
749
+     * @return string
750
+     */
751 751
     public static function array2attributeString($array)
752 752
     {
753 753
         $tokens = array();
@@ -766,14 +766,14 @@  discard block
 block discarded – undo
766 766
         return ' '.implode(' ', $tokens);
767 767
     }
768 768
     
769
-   /**
770
-    * Converts a string so it can safely be used in a javascript
771
-    * statement in an HTML tag: uses single quotes around the string
772
-    * and encodes all special characters as needed.
773
-    * 
774
-    * @param string $string
775
-    * @return string
776
-    */
769
+    /**
770
+     * Converts a string so it can safely be used in a javascript
771
+     * statement in an HTML tag: uses single quotes around the string
772
+     * and encodes all special characters as needed.
773
+     * 
774
+     * @param string $string
775
+     * @return string
776
+     */
777 777
     public static function string2attributeJS($string, $quoted=true)
778 778
     {
779 779
         $converted = addslashes(htmlspecialchars(strip_tags($string), ENT_QUOTES, 'UTF-8'));
@@ -784,15 +784,15 @@  discard block
 block discarded – undo
784 784
         return $converted;
785 785
     }
786 786
     
787
-   /**
788
-    * Checks if the specified string is a boolean value, which
789
-    * includes string representations of boolean values, like 
790
-    * <code>yes</code> or <code>no</code>, and <code>true</code>
791
-    * or <code>false</code>.
792
-    * 
793
-    * @param mixed $value
794
-    * @return boolean
795
-    */
787
+    /**
788
+     * Checks if the specified string is a boolean value, which
789
+     * includes string representations of boolean values, like 
790
+     * <code>yes</code> or <code>no</code>, and <code>true</code>
791
+     * or <code>false</code>.
792
+     * 
793
+     * @param mixed $value
794
+     * @return boolean
795
+     */
796 796
     public static function isBoolean($value) : bool
797 797
     {
798 798
         if(is_bool($value)) {
@@ -806,12 +806,12 @@  discard block
 block discarded – undo
806 806
         return array_key_exists($value, self::$booleanStrings);
807 807
     }
808 808
     
809
-   /**
810
-    * Converts an associative array to an HTML style attribute value string.
811
-    * 
812
-    * @param array $subject
813
-    * @return string
814
-    */
809
+    /**
810
+     * Converts an associative array to an HTML style attribute value string.
811
+     * 
812
+     * @param array $subject
813
+     * @return string
814
+     */
815 815
     public static function array2styleString(array $subject) : string
816 816
     {
817 817
         $tokens = array();
@@ -822,23 +822,23 @@  discard block
 block discarded – undo
822 822
         return implode(';', $tokens);
823 823
     }
824 824
     
825
-   /**
826
-    * Converts a DateTime object to a timestamp, which
827
-    * is PHP 5.2 compatible.
828
-    * 
829
-    * @param \DateTime $date
830
-    * @return integer
831
-    */
825
+    /**
826
+     * Converts a DateTime object to a timestamp, which
827
+     * is PHP 5.2 compatible.
828
+     * 
829
+     * @param \DateTime $date
830
+     * @return integer
831
+     */
832 832
     public static function date2timestamp(\DateTime $date) : int
833 833
     {
834 834
         return (int)$date->format('U');
835 835
     }
836 836
     
837
-   /**
838
-    * Converts a timestamp into a DateTime instance.
839
-    * @param int $timestamp
840
-    * @return \DateTime
841
-    */
837
+    /**
838
+     * Converts a timestamp into a DateTime instance.
839
+     * @param int $timestamp
840
+     * @return \DateTime
841
+     */
842 842
     public static function timestamp2date(int $timestamp) : \DateTime
843 843
     {
844 844
         $date = new \DateTime();
@@ -846,50 +846,50 @@  discard block
 block discarded – undo
846 846
         return $date;
847 847
     }
848 848
     
849
-   /**
850
-    * Strips an absolute path to a file within the application
851
-    * to make the path relative to the application root path.
852
-    * 
853
-    * @param string $path
854
-    * @return string
855
-    * 
856
-    * @see FileHelper::relativizePath()
857
-    * @see FileHelper::relativizePathByDepth()
858
-    */
849
+    /**
850
+     * Strips an absolute path to a file within the application
851
+     * to make the path relative to the application root path.
852
+     * 
853
+     * @param string $path
854
+     * @return string
855
+     * 
856
+     * @see FileHelper::relativizePath()
857
+     * @see FileHelper::relativizePathByDepth()
858
+     */
859 859
     public static function fileRelativize(string $path) : string
860 860
     {
861 861
         return FileHelper::relativizePathByDepth($path);
862 862
     }
863 863
     
864 864
     /**
865
-    * Converts a PHP regex to a javascript RegExp object statement.
866
-    * 
867
-    * NOTE: This is an alias for the JSHelper's `convertRegex` method. 
868
-    * More details are available on its usage there.
869
-    *
870
-    * @param string $regex A PHP preg regex
871
-    * @param string $statementType The type of statement to return: Defaults to a statement to create a RegExp object.
872
-    * @return array|string Depending on the specified return type.
873
-    * 
874
-    * @see JSHelper::buildRegexStatement()
875
-    */
865
+     * Converts a PHP regex to a javascript RegExp object statement.
866
+     * 
867
+     * NOTE: This is an alias for the JSHelper's `convertRegex` method. 
868
+     * More details are available on its usage there.
869
+     *
870
+     * @param string $regex A PHP preg regex
871
+     * @param string $statementType The type of statement to return: Defaults to a statement to create a RegExp object.
872
+     * @return array|string Depending on the specified return type.
873
+     * 
874
+     * @see JSHelper::buildRegexStatement()
875
+     */
876 876
     public static function regex2js(string $regex, string $statementType=JSHelper::JS_REGEX_OBJECT)
877 877
     {
878 878
         return JSHelper::buildRegexStatement($regex, $statementType);
879 879
     }
880 880
     
881
-   /**
882
-    * Converts the specified variable to JSON. Works just
883
-    * like the native `json_encode` method, except that it
884
-    * will trigger an exception on failure, which has the 
885
-    * json error details included in its developer details.
886
-    * 
887
-    * @param mixed $variable
888
-    * @param int|NULL $options JSON encode options.
889
-    * @param int|NULL $depth 
890
-    * @throws ConvertHelper_Exception
891
-    * @return string
892
-    */
881
+    /**
882
+     * Converts the specified variable to JSON. Works just
883
+     * like the native `json_encode` method, except that it
884
+     * will trigger an exception on failure, which has the 
885
+     * json error details included in its developer details.
886
+     * 
887
+     * @param mixed $variable
888
+     * @param int|NULL $options JSON encode options.
889
+     * @param int|NULL $depth 
890
+     * @throws ConvertHelper_Exception
891
+     * @return string
892
+     */
893 893
     public static function var2json($variable, int $options=0, int $depth=512) : string
894 894
     {
895 895
         $result = json_encode($variable, $options, $depth);
@@ -910,12 +910,12 @@  discard block
 block discarded – undo
910 910
         );
911 911
     }
912 912
     
913
-   /**
914
-    * Strips all known UTF byte order marks from the specified string.
915
-    * 
916
-    * @param string $string
917
-    * @return string
918
-    */
913
+    /**
914
+     * Strips all known UTF byte order marks from the specified string.
915
+     * 
916
+     * @param string $string
917
+     * @return string
918
+     */
919 919
     public static function stripUTFBom($string)
920 920
     {
921 921
         $boms = FileHelper::getUTFBOMs();
@@ -930,13 +930,13 @@  discard block
 block discarded – undo
930 930
         return $string;
931 931
     }
932 932
 
933
-   /**
934
-    * Converts a string to valid utf8, regardless
935
-    * of the string's encoding(s).
936
-    * 
937
-    * @param string $string
938
-    * @return string
939
-    */
933
+    /**
934
+     * Converts a string to valid utf8, regardless
935
+     * of the string's encoding(s).
936
+     * 
937
+     * @param string $string
938
+     * @return string
939
+     */
940 940
     public static function string2utf8($string)
941 941
     {
942 942
         if(!self::isStringASCII($string)) {
@@ -946,15 +946,15 @@  discard block
 block discarded – undo
946 946
         return $string;
947 947
     }
948 948
     
949
-   /**
950
-    * Checks whether the specified string is an ASCII
951
-    * string, without any special or UTF8 characters.
952
-    * Note: empty strings and NULL are considered ASCII.
953
-    * Any variable types other than strings are not.
954
-    * 
955
-    * @param mixed $string
956
-    * @return boolean
957
-    */
949
+    /**
950
+     * Checks whether the specified string is an ASCII
951
+     * string, without any special or UTF8 characters.
952
+     * Note: empty strings and NULL are considered ASCII.
953
+     * Any variable types other than strings are not.
954
+     * 
955
+     * @param mixed $string
956
+     * @return boolean
957
+     */
958 958
     public static function isStringASCII($string) : bool
959 959
     {
960 960
         if($string === '' || $string === NULL) {
@@ -979,22 +979,22 @@  discard block
 block discarded – undo
979 979
         return $url;
980 980
     }
981 981
 
982
-   /**
983
-    * Calculates a percentage match of the source string with the target string.
984
-    * 
985
-    * Options are:
986
-    * 
987
-    * - maxLevenshtein, default: 10
988
-    *   Any levenshtein results above this value are ignored.
989
-    *   
990
-    * - precision, default: 1
991
-    *   The precision of the percentage float value
992
-    * 
993
-    * @param string $source
994
-    * @param string $target
995
-    * @param array $options
996
-    * @return float
997
-    */
982
+    /**
983
+     * Calculates a percentage match of the source string with the target string.
984
+     * 
985
+     * Options are:
986
+     * 
987
+     * - maxLevenshtein, default: 10
988
+     *   Any levenshtein results above this value are ignored.
989
+     *   
990
+     * - precision, default: 1
991
+     *   The precision of the percentage float value
992
+     * 
993
+     * @param string $source
994
+     * @param string $target
995
+     * @param array $options
996
+     * @return float
997
+     */
998 998
     public static function matchString($source, $target, $options=array())
999 999
     {
1000 1000
         $defaults = array(
@@ -1078,60 +1078,60 @@  discard block
 block discarded – undo
1078 1078
     
1079 1079
     const INTERVAL_SECONDS = 'seconds';
1080 1080
     
1081
-   /**
1082
-    * Converts an interval to its total amount of days.
1083
-    * @param \DateInterval $interval
1084
-    * @return int
1085
-    */
1081
+    /**
1082
+     * Converts an interval to its total amount of days.
1083
+     * @param \DateInterval $interval
1084
+     * @return int
1085
+     */
1086 1086
     public static function interval2days(\DateInterval $interval) : int
1087 1087
     {
1088 1088
         return self::interval2total($interval, self::INTERVAL_DAYS);
1089 1089
     }
1090 1090
 
1091
-   /**
1092
-    * Converts an interval to its total amount of hours.
1093
-    * @param \DateInterval $interval
1094
-    * @return int
1095
-    */
1091
+    /**
1092
+     * Converts an interval to its total amount of hours.
1093
+     * @param \DateInterval $interval
1094
+     * @return int
1095
+     */
1096 1096
     public static function interval2hours(\DateInterval $interval) : int
1097 1097
     {
1098 1098
         return self::interval2total($interval, self::INTERVAL_HOURS);
1099 1099
     }
1100 1100
     
1101
-   /**
1102
-    * Converts an interval to its total amount of minutes. 
1103
-    * @param \DateInterval $interval
1104
-    * @return int
1105
-    */
1101
+    /**
1102
+     * Converts an interval to its total amount of minutes. 
1103
+     * @param \DateInterval $interval
1104
+     * @return int
1105
+     */
1106 1106
     public static function interval2minutes(\DateInterval $interval) : int
1107 1107
     {
1108 1108
         return self::interval2total($interval, self::INTERVAL_MINUTES);
1109 1109
     }
1110 1110
     
1111
-   /**
1112
-    * Converts an interval to its total amount of seconds.
1113
-    * @param \DateInterval $interval
1114
-    * @return int
1115
-    */    
1111
+    /**
1112
+     * Converts an interval to its total amount of seconds.
1113
+     * @param \DateInterval $interval
1114
+     * @return int
1115
+     */    
1116 1116
     public static function interval2seconds(\DateInterval $interval) : int
1117 1117
     {
1118 1118
         return self::interval2total($interval, self::INTERVAL_SECONDS);
1119 1119
     }
1120 1120
     
1121
-   /**
1122
-    * Calculates the total amount of days / hours / minutes or seconds
1123
-    * of a date interval object (depending in the specified units), and 
1124
-    * returns the total amount.
1125
-    * 
1126
-    * @param \DateInterval $interval
1127
-    * @param string $unit What total value to calculate.
1128
-    * @return integer
1129
-    * 
1130
-    * @see ConvertHelper::INTERVAL_SECONDS
1131
-    * @see ConvertHelper::INTERVAL_MINUTES
1132
-    * @see ConvertHelper::INTERVAL_HOURS
1133
-    * @see ConvertHelper::INTERVAL_DAYS
1134
-    */
1121
+    /**
1122
+     * Calculates the total amount of days / hours / minutes or seconds
1123
+     * of a date interval object (depending in the specified units), and 
1124
+     * returns the total amount.
1125
+     * 
1126
+     * @param \DateInterval $interval
1127
+     * @param string $unit What total value to calculate.
1128
+     * @return integer
1129
+     * 
1130
+     * @see ConvertHelper::INTERVAL_SECONDS
1131
+     * @see ConvertHelper::INTERVAL_MINUTES
1132
+     * @see ConvertHelper::INTERVAL_HOURS
1133
+     * @see ConvertHelper::INTERVAL_DAYS
1134
+     */
1135 1135
     public static function interval2total(\DateInterval $interval, $unit=self::INTERVAL_SECONDS) : int
1136 1136
     {
1137 1137
         $total = $interval->format('%a');
@@ -1171,13 +1171,13 @@  discard block
 block discarded – undo
1171 1171
         'Sunday'
1172 1172
     );
1173 1173
     
1174
-   /**
1175
-    * Converts a date to the corresponding day name.
1176
-    * 
1177
-    * @param \DateTime $date
1178
-    * @param string $short
1179
-    * @return string|NULL
1180
-    */
1174
+    /**
1175
+     * Converts a date to the corresponding day name.
1176
+     * 
1177
+     * @param \DateTime $date
1178
+     * @param string $short
1179
+     * @return string|NULL
1180
+     */
1181 1181
     public static function date2dayName(\DateTime $date, $short=false)
1182 1182
     {
1183 1183
         $day = $date->format('l');
@@ -1192,21 +1192,21 @@  discard block
 block discarded – undo
1192 1192
         return null;
1193 1193
     }
1194 1194
     
1195
-   /**
1196
-    * Retrieves a list of english day names.
1197
-    * @return string[]
1198
-    */
1195
+    /**
1196
+     * Retrieves a list of english day names.
1197
+     * @return string[]
1198
+     */
1199 1199
     public static function getDayNamesInvariant()
1200 1200
     {
1201 1201
         return self::$daysInvariant;
1202 1202
     }
1203 1203
     
1204
-   /**
1205
-    * Retrieves the day names list for the current locale.
1206
-    * 
1207
-    * @param string $short
1208
-    * @return string[]
1209
-    */
1204
+    /**
1205
+     * Retrieves the day names list for the current locale.
1206
+     * 
1207
+     * @param string $short
1208
+     * @return string[]
1209
+     */
1210 1210
     public static function getDayNames($short=false)
1211 1211
     {
1212 1212
         if($short) {
@@ -1266,16 +1266,16 @@  discard block
 block discarded – undo
1266 1266
         return $last;
1267 1267
     }
1268 1268
     
1269
-   /**
1270
-    * Splits a string into an array of all characters it is composed of.
1271
-    * Unicode character safe.
1272
-    * 
1273
-    * NOTE: Spaces and newlines (both \r and \n) are also considered single
1274
-    * characters.
1275
-    * 
1276
-    * @param string $string
1277
-    * @return array
1278
-    */
1269
+    /**
1270
+     * Splits a string into an array of all characters it is composed of.
1271
+     * Unicode character safe.
1272
+     * 
1273
+     * NOTE: Spaces and newlines (both \r and \n) are also considered single
1274
+     * characters.
1275
+     * 
1276
+     * @param string $string
1277
+     * @return array
1278
+     */
1279 1279
     public static function string2array(string $string) : array
1280 1280
     {
1281 1281
         $result = preg_split('//u', $string, null, PREG_SPLIT_NO_EMPTY);
@@ -1286,12 +1286,12 @@  discard block
 block discarded – undo
1286 1286
         return array();
1287 1287
     }
1288 1288
     
1289
-   /**
1290
-    * Checks whether the specified string contains HTML code.
1291
-    * 
1292
-    * @param string $string
1293
-    * @return boolean
1294
-    */
1289
+    /**
1290
+     * Checks whether the specified string contains HTML code.
1291
+     * 
1292
+     * @param string $string
1293
+     * @return boolean
1294
+     */
1295 1295
     public static function isStringHTML(string $string) : bool
1296 1296
     {
1297 1297
         if(preg_match('%<[a-z/][\s\S]*>%siU', $string)) {
@@ -1306,18 +1306,18 @@  discard block
 block discarded – undo
1306 1306
         return false;
1307 1307
     }
1308 1308
     
1309
-   /**
1310
-    * UTF8-safe wordwrap method: works like the regular wordwrap
1311
-    * PHP function but compatible with UTF8. Otherwise the lengths
1312
-    * are no calculated correctly.
1313
-    * 
1314
-    * @param string $str
1315
-    * @param int $width
1316
-    * @param string $break
1317
-    * @param bool $cut
1318
-    * @return string
1319
-    * @see https://stackoverflow.com/a/4988494/2298192
1320
-    */
1309
+    /**
1310
+     * UTF8-safe wordwrap method: works like the regular wordwrap
1311
+     * PHP function but compatible with UTF8. Otherwise the lengths
1312
+     * are no calculated correctly.
1313
+     * 
1314
+     * @param string $str
1315
+     * @param int $width
1316
+     * @param string $break
1317
+     * @param bool $cut
1318
+     * @return string
1319
+     * @see https://stackoverflow.com/a/4988494/2298192
1320
+     */
1321 1321
     public static function wordwrap($str, $width = 75, $break = "\n", $cut = false) 
1322 1322
     {
1323 1323
         $lines = explode($break, $str);
@@ -1363,27 +1363,27 @@  discard block
 block discarded – undo
1363 1363
         return implode($break, $lines);
1364 1364
     }
1365 1365
     
1366
-   /**
1367
-    * Calculates the byte length of a string, taking into 
1368
-    * account any unicode characters.
1369
-    * 
1370
-    * @param string $string
1371
-    * @return int
1372
-    * @see https://stackoverflow.com/a/9718273/2298192
1373
-    */
1366
+    /**
1367
+     * Calculates the byte length of a string, taking into 
1368
+     * account any unicode characters.
1369
+     * 
1370
+     * @param string $string
1371
+     * @return int
1372
+     * @see https://stackoverflow.com/a/9718273/2298192
1373
+     */
1374 1374
     public static function string2bytes($string)
1375 1375
     {
1376 1376
         return mb_strlen($string, '8bit');
1377 1377
     }
1378 1378
     
1379
-   /**
1380
-    * Creates a short, 8-character long hash for the specified string.
1381
-    * 
1382
-    * WARNING: Not cryptographically safe.
1383
-    * 
1384
-    * @param string $string
1385
-    * @return string
1386
-    */
1379
+    /**
1380
+     * Creates a short, 8-character long hash for the specified string.
1381
+     * 
1382
+     * WARNING: Not cryptographically safe.
1383
+     * 
1384
+     * @param string $string
1385
+     * @return string
1386
+     */
1387 1387
     public static function string2shortHash($string)
1388 1388
     {
1389 1389
         return hash('crc32', $string, false);
@@ -1409,23 +1409,23 @@  discard block
 block discarded – undo
1409 1409
         return ConvertHelper_ThrowableInfo::fromThrowable($e);
1410 1410
     }
1411 1411
     
1412
-   /**
1413
-    * Parses the specified query string like the native 
1414
-    * function <code>parse_str</code>, without the key
1415
-    * naming limitations.
1416
-    * 
1417
-    * Using parse_str, dots or spaces in key names are 
1418
-    * replaced by underscores. This method keeps all names
1419
-    * intact.
1420
-    * 
1421
-    * It still uses the parse_str implementation as it 
1422
-    * is tested and tried, but fixes the parameter names
1423
-    * after parsing, as needed.
1424
-    * 
1425
-    * @param string $queryString
1426
-    * @return array
1427
-    * @see https://www.php.net/manual/en/function.parse-str.php
1428
-    */
1412
+    /**
1413
+     * Parses the specified query string like the native 
1414
+     * function <code>parse_str</code>, without the key
1415
+     * naming limitations.
1416
+     * 
1417
+     * Using parse_str, dots or spaces in key names are 
1418
+     * replaced by underscores. This method keeps all names
1419
+     * intact.
1420
+     * 
1421
+     * It still uses the parse_str implementation as it 
1422
+     * is tested and tried, but fixes the parameter names
1423
+     * after parsing, as needed.
1424
+     * 
1425
+     * @param string $queryString
1426
+     * @return array
1427
+     * @see https://www.php.net/manual/en/function.parse-str.php
1428
+     */
1429 1429
     public static function parseQueryString(string $queryString) : array
1430 1430
     {
1431 1431
         // allow HTML entities notation
@@ -1465,16 +1465,16 @@  discard block
 block discarded – undo
1465 1465
             $placeholders = array();
1466 1466
             foreach($paramNames as $paramName)
1467 1467
             {
1468
-                 // create a unique placeholder name
1469
-                 $placeholder = '__PLACEHOLDER'.$counter.'__';
1468
+                    // create a unique placeholder name
1469
+                    $placeholder = '__PLACEHOLDER'.$counter.'__';
1470 1470
                  
1471
-                 // store the placeholder name to replace later
1472
-                 $table[$placeholder] = $paramName;
1471
+                    // store the placeholder name to replace later
1472
+                    $table[$placeholder] = $paramName;
1473 1473
                  
1474
-                 // add the placeholder to replace in the query string before parsing
1475
-                 $placeholders[$paramName.'='] = $placeholder.'=';
1474
+                    // add the placeholder to replace in the query string before parsing
1475
+                    $placeholders[$paramName.'='] = $placeholder.'=';
1476 1476
                  
1477
-                 $counter++;
1477
+                    $counter++;
1478 1478
             }
1479 1479
             
1480 1480
             // next challenge: replacing the parameter names by placeholders
@@ -1501,23 +1501,23 @@  discard block
 block discarded – undo
1501 1501
         
1502 1502
         foreach($parsed as $name => $value)
1503 1503
         {
1504
-             $keep[$table[$name]] = $value;
1504
+                $keep[$table[$name]] = $value;
1505 1505
         }
1506 1506
         
1507 1507
         return $keep;
1508 1508
     }
1509 1509
 
1510
-   /**
1511
-    * Searches for needle in the specified string, and returns a list
1512
-    * of all occurrences, including the matched string. The matched 
1513
-    * string is useful when doing a case insensitive search, as it 
1514
-    * shows the exact matched case of needle.
1515
-    *   
1516
-    * @param string $needle
1517
-    * @param string $haystack
1518
-    * @param bool $caseInsensitive
1519
-    * @return ConvertHelper_StringMatch[]
1520
-    */
1510
+    /**
1511
+     * Searches for needle in the specified string, and returns a list
1512
+     * of all occurrences, including the matched string. The matched 
1513
+     * string is useful when doing a case insensitive search, as it 
1514
+     * shows the exact matched case of needle.
1515
+     *   
1516
+     * @param string $needle
1517
+     * @param string $haystack
1518
+     * @param bool $caseInsensitive
1519
+     * @return ConvertHelper_StringMatch[]
1520
+     */
1521 1521
     public static function findString(string $needle, string $haystack, bool $caseInsensitive=false)
1522 1522
     {
1523 1523
         if($needle === '') {
@@ -1543,14 +1543,14 @@  discard block
 block discarded – undo
1543 1543
         return $positions;
1544 1544
     }
1545 1545
     
1546
-   /**
1547
-    * Like explode, but trims all entries, and removes 
1548
-    * empty entries from the resulting array.
1549
-    * 
1550
-    * @param string $delimiter
1551
-    * @param string $string
1552
-    * @return string[]
1553
-    */
1546
+    /**
1547
+     * Like explode, but trims all entries, and removes 
1548
+     * empty entries from the resulting array.
1549
+     * 
1550
+     * @param string $delimiter
1551
+     * @param string $string
1552
+     * @return string[]
1553
+     */
1554 1554
     public static function explodeTrim(string $delimiter, string $string) : array
1555 1555
     {
1556 1556
         if(empty($string) || empty($delimiter)) {
@@ -1572,12 +1572,12 @@  discard block
 block discarded – undo
1572 1572
     
1573 1573
     protected static $eolChars;
1574 1574
 
1575
-   /**
1576
-    * Detects the most used end-of-line character in the subject string.
1577
-    * 
1578
-    * @param string $str The string to check.
1579
-    * @return NULL|ConvertHelper_EOL The detected EOL instance, or NULL if none has been detected.
1580
-    */
1575
+    /**
1576
+     * Detects the most used end-of-line character in the subject string.
1577
+     * 
1578
+     * @param string $str The string to check.
1579
+     * @return NULL|ConvertHelper_EOL The detected EOL instance, or NULL if none has been detected.
1580
+     */
1581 1581
     public static function detectEOLCharacter(string $subjectString) : ?ConvertHelper_EOL
1582 1582
     {
1583 1583
         if(empty($subjectString)) {
@@ -1589,27 +1589,27 @@  discard block
 block discarded – undo
1589 1589
             $cr = chr((int)hexdec('0d'));
1590 1590
             $lf = chr((int)hexdec('0a'));
1591 1591
             
1592
-           self::$eolChars = array(
1593
-               array(
1594
-                   'char' => $cr.$lf,
1595
-                   'type' => ConvertHelper_EOL::TYPE_CRLF,
1596
-                   'description' => t('Carriage return followed by a line feed'),
1597
-               ),
1598
-               array(
1599
-                   'char' => $lf.$cr,
1600
-                   'type' => ConvertHelper_EOL::TYPE_LFCR,
1601
-                   'description' => t('Line feed followed by a carriage return'),
1602
-               ),
1603
-               array(
1604
-                  'char' => $lf,
1605
-                  'type' => ConvertHelper_EOL::TYPE_LF,
1606
-                  'description' => t('Line feed'),
1607
-               ),
1608
-               array(
1609
-                  'char' => $cr,
1610
-                  'type' => ConvertHelper_EOL::TYPE_CR,
1611
-                  'description' => t('Carriage Return'),
1612
-               ),
1592
+            self::$eolChars = array(
1593
+                array(
1594
+                    'char' => $cr.$lf,
1595
+                    'type' => ConvertHelper_EOL::TYPE_CRLF,
1596
+                    'description' => t('Carriage return followed by a line feed'),
1597
+                ),
1598
+                array(
1599
+                    'char' => $lf.$cr,
1600
+                    'type' => ConvertHelper_EOL::TYPE_LFCR,
1601
+                    'description' => t('Line feed followed by a carriage return'),
1602
+                ),
1603
+                array(
1604
+                    'char' => $lf,
1605
+                    'type' => ConvertHelper_EOL::TYPE_LF,
1606
+                    'description' => t('Line feed'),
1607
+                ),
1608
+                array(
1609
+                    'char' => $cr,
1610
+                    'type' => ConvertHelper_EOL::TYPE_CR,
1611
+                    'description' => t('Carriage Return'),
1612
+                ),
1613 1613
             );
1614 1614
         }
1615 1615
         
@@ -1637,13 +1637,13 @@  discard block
 block discarded – undo
1637 1637
         );
1638 1638
     }
1639 1639
 
1640
-   /**
1641
-    * Removes the specified keys from the target array,
1642
-    * if they exist.
1643
-    * 
1644
-    * @param array $array
1645
-    * @param array $keys
1646
-    */
1640
+    /**
1641
+     * Removes the specified keys from the target array,
1642
+     * if they exist.
1643
+     * 
1644
+     * @param array $array
1645
+     * @param array $keys
1646
+     */
1647 1647
     public static function arrayRemoveKeys(array &$array, array $keys) : void
1648 1648
     {
1649 1649
         foreach($keys as $key) 
@@ -1654,13 +1654,13 @@  discard block
 block discarded – undo
1654 1654
         }
1655 1655
     }
1656 1656
     
1657
-   /**
1658
-    * Checks if the specified variable is an integer or a string containing an integer.
1659
-    * Accepts both positive and negative integers.
1660
-    * 
1661
-    * @param mixed $value
1662
-    * @return bool
1663
-    */
1657
+    /**
1658
+     * Checks if the specified variable is an integer or a string containing an integer.
1659
+     * Accepts both positive and negative integers.
1660
+     * 
1661
+     * @param mixed $value
1662
+     * @return bool
1663
+     */
1664 1664
     public static function isInteger($value) : bool
1665 1665
     {
1666 1666
         if(is_int($value)) {
@@ -1680,15 +1680,15 @@  discard block
 block discarded – undo
1680 1680
         return false;    
1681 1681
     }
1682 1682
     
1683
-   /**
1684
-    * Converts an amount of seconds to a DateInterval object.
1685
-    * 
1686
-    * @param int $seconds
1687
-    * @return \DateInterval
1688
-    * @throws ConvertHelper_Exception If the date interval cannot be created.
1689
-    * 
1690
-    * @see ConvertHelper::ERROR_CANNOT_GET_DATE_DIFF
1691
-    */
1683
+    /**
1684
+     * Converts an amount of seconds to a DateInterval object.
1685
+     * 
1686
+     * @param int $seconds
1687
+     * @return \DateInterval
1688
+     * @throws ConvertHelper_Exception If the date interval cannot be created.
1689
+     * 
1690
+     * @see ConvertHelper::ERROR_CANNOT_GET_DATE_DIFF
1691
+     */
1692 1692
     public static function seconds2interval(int $seconds) : \DateInterval
1693 1693
     {
1694 1694
         // The DateInterval::format() method does not recalculate carry 
Please login to merge, or discard this patch.
src/FileHelper.php 1 patch
Indentation   +387 added lines, -387 removed lines patch added patch discarded remove patch
@@ -80,32 +80,32 @@  discard block
 block discarded – undo
80 80
     
81 81
     const ERROR_CANNOT_OPEN_FILE_TO_DETECT_BOM = 340032;
82 82
     
83
-   /**
84
-    * Opens a serialized file and returns the unserialized data.
85
-    * 
86
-    * @param string $file
87
-    * @throws FileHelper_Exception
88
-    * @return array
89
-    * @deprecated Use parseSerializedFile() instead.
90
-    * @see FileHelper::parseSerializedFile()
91
-    */
83
+    /**
84
+     * Opens a serialized file and returns the unserialized data.
85
+     * 
86
+     * @param string $file
87
+     * @throws FileHelper_Exception
88
+     * @return array
89
+     * @deprecated Use parseSerializedFile() instead.
90
+     * @see FileHelper::parseSerializedFile()
91
+     */
92 92
     public static function openUnserialized(string $file) : array
93 93
     {
94 94
         return self::parseSerializedFile($file);
95 95
     }
96 96
 
97
-   /**
98
-    * Opens a serialized file and returns the unserialized data.
99
-    *
100
-    * @param string $file
101
-    * @throws FileHelper_Exception
102
-    * @return array
103
-    * @see FileHelper::parseSerializedFile()
104
-    * 
105
-    * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
106
-    * @see FileHelper::ERROR_SERIALIZED_FILE_CANNOT_BE_READ
107
-    * @see FileHelper::ERROR_SERIALIZED_FILE_UNSERIALZE_FAILED
108
-    */
97
+    /**
98
+     * Opens a serialized file and returns the unserialized data.
99
+     *
100
+     * @param string $file
101
+     * @throws FileHelper_Exception
102
+     * @return array
103
+     * @see FileHelper::parseSerializedFile()
104
+     * 
105
+     * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
106
+     * @see FileHelper::ERROR_SERIALIZED_FILE_CANNOT_BE_READ
107
+     * @see FileHelper::ERROR_SERIALIZED_FILE_UNSERIALZE_FAILED
108
+     */
109 109
     public static function parseSerializedFile(string $file)
110 110
     {
111 111
         self::requireFileExists($file);
@@ -174,13 +174,13 @@  discard block
 block discarded – undo
174 174
         return rmdir($rootFolder);
175 175
     }
176 176
     
177
-   /**
178
-    * Create a folder, if it does not exist yet.
179
-    *  
180
-    * @param string $path
181
-    * @throws FileHelper_Exception
182
-    * @see FileHelper::ERROR_CANNOT_CREATE_FOLDER
183
-    */
177
+    /**
178
+     * Create a folder, if it does not exist yet.
179
+     *  
180
+     * @param string $path
181
+     * @throws FileHelper_Exception
182
+     * @see FileHelper::ERROR_CANNOT_CREATE_FOLDER
183
+     */
184 184
     public static function createFolder($path)
185 185
     {
186 186
         if(is_dir($path) || mkdir($path, 0777, true)) {
@@ -227,22 +227,22 @@  discard block
 block discarded – undo
227 227
         }
228 228
     }
229 229
     
230
-   /**
231
-    * Copies a file to the target location. Includes checks
232
-    * for most error sources, like the source file not being
233
-    * readable. Automatically creates the target folder if it
234
-    * does not exist yet.
235
-    * 
236
-    * @param string $sourcePath
237
-    * @param string $targetPath
238
-    * @throws FileHelper_Exception
239
-    * 
240
-    * @see FileHelper::ERROR_CANNOT_CREATE_FOLDER
241
-    * @see FileHelper::ERROR_SOURCE_FILE_NOT_FOUND
242
-    * @see FileHelper::ERROR_SOURCE_FILE_NOT_READABLE
243
-    * @see FileHelper::ERROR_TARGET_COPY_FOLDER_NOT_WRITABLE
244
-    * @see FileHelper::ERROR_CANNOT_COPY_FILE
245
-    */
230
+    /**
231
+     * Copies a file to the target location. Includes checks
232
+     * for most error sources, like the source file not being
233
+     * readable. Automatically creates the target folder if it
234
+     * does not exist yet.
235
+     * 
236
+     * @param string $sourcePath
237
+     * @param string $targetPath
238
+     * @throws FileHelper_Exception
239
+     * 
240
+     * @see FileHelper::ERROR_CANNOT_CREATE_FOLDER
241
+     * @see FileHelper::ERROR_SOURCE_FILE_NOT_FOUND
242
+     * @see FileHelper::ERROR_SOURCE_FILE_NOT_READABLE
243
+     * @see FileHelper::ERROR_TARGET_COPY_FOLDER_NOT_WRITABLE
244
+     * @see FileHelper::ERROR_CANNOT_COPY_FILE
245
+     */
246 246
     public static function copyFile($sourcePath, $targetPath)
247 247
     {
248 248
         self::requireFileExists($sourcePath, self::ERROR_SOURCE_FILE_NOT_FOUND);
@@ -293,15 +293,15 @@  discard block
 block discarded – undo
293 293
         );
294 294
     }
295 295
     
296
-   /**
297
-    * Deletes the target file. Ignored if it cannot be found,
298
-    * and throws an exception if it fails.
299
-    * 
300
-    * @param string $filePath
301
-    * @throws FileHelper_Exception
302
-    * 
303
-    * @see FileHelper::ERROR_CANNOT_DELETE_FILE
304
-    */
296
+    /**
297
+     * Deletes the target file. Ignored if it cannot be found,
298
+     * and throws an exception if it fails.
299
+     * 
300
+     * @param string $filePath
301
+     * @throws FileHelper_Exception
302
+     * 
303
+     * @see FileHelper::ERROR_CANNOT_DELETE_FILE
304
+     */
305 305
     public static function deleteFile(string $filePath) : void
306 306
     {
307 307
         if(!file_exists($filePath)) {
@@ -323,15 +323,15 @@  discard block
 block discarded – undo
323 323
     }
324 324
 
325 325
     /**
326
-    * Creates a new CSV parser instance and returns it.
327
-    * 
328
-    * @param string $delimiter
329
-    * @param string $enclosure
330
-    * @param string $escape
331
-    * @param bool $heading
332
-    * @return \parseCSV
333
-    * @todo Move this to the CSV helper.
334
-    */
326
+     * Creates a new CSV parser instance and returns it.
327
+     * 
328
+     * @param string $delimiter
329
+     * @param string $enclosure
330
+     * @param string $escape
331
+     * @param bool $heading
332
+     * @return \parseCSV
333
+     * @todo Move this to the CSV helper.
334
+     */
335 335
     public static function createCSVParser(string $delimiter = ';', string $enclosure = '"', string $escape = '\\', bool $heading=false) : \parseCSV
336 336
     {
337 337
         if($delimiter==='') { $delimiter = ';'; }
@@ -346,23 +346,23 @@  discard block
 block discarded – undo
346 346
         return $parser;
347 347
     }
348 348
 
349
-   /**
350
-    * Parses all lines in the specified string and returns an
351
-    * indexed array with all csv values in each line.
352
-    *
353
-    * @param string $csv
354
-    * @param string $delimiter
355
-    * @param string $enclosure
356
-    * @param string $escape
357
-    * @param bool $heading
358
-    * @return array
359
-    * @throws FileHelper_Exception
360
-    * 
361
-    * @todo Move this to the CSVHelper.
362
-    *
363
-    * @see parseCSVFile()
364
-    * @see FileHelper::ERROR_PARSING_CSV
365
-    */
349
+    /**
350
+     * Parses all lines in the specified string and returns an
351
+     * indexed array with all csv values in each line.
352
+     *
353
+     * @param string $csv
354
+     * @param string $delimiter
355
+     * @param string $enclosure
356
+     * @param string $escape
357
+     * @param bool $heading
358
+     * @return array
359
+     * @throws FileHelper_Exception
360
+     * 
361
+     * @todo Move this to the CSVHelper.
362
+     *
363
+     * @see parseCSVFile()
364
+     * @see FileHelper::ERROR_PARSING_CSV
365
+     */
366 366
     public static function parseCSVString(string $csv, string $delimiter = ';', string $enclosure = '"', string $escape = '\\', bool $heading=false) : array
367 367
     {
368 368
         $parser = self::createCSVParser($delimiter, $enclosure, $escape, $heading);
@@ -541,31 +541,31 @@  discard block
 block discarded – undo
541 541
         );
542 542
     }
543 543
     
544
-   /**
545
-    * Verifies whether the target file is a PHP file. The path
546
-    * to the file can be a path to a file as a string, or a 
547
-    * DirectoryIterator object instance.
548
-    * 
549
-    * @param string|\DirectoryIterator $pathOrDirIterator
550
-    * @return boolean
551
-    */
544
+    /**
545
+     * Verifies whether the target file is a PHP file. The path
546
+     * to the file can be a path to a file as a string, or a 
547
+     * DirectoryIterator object instance.
548
+     * 
549
+     * @param string|\DirectoryIterator $pathOrDirIterator
550
+     * @return boolean
551
+     */
552 552
     public static function isPHPFile($pathOrDirIterator)
553 553
     {
554
-    	if(self::getExtension($pathOrDirIterator) == 'php') {
555
-    		return true;
556
-    	}
554
+        if(self::getExtension($pathOrDirIterator) == 'php') {
555
+            return true;
556
+        }
557 557
     	
558
-    	return false;
558
+        return false;
559 559
     }
560 560
     
561
-   /**
562
-    * Retrieves the extension of the specified file. Can be a path
563
-    * to a file as a string, or a DirectoryIterator object instance.
564
-    * 
565
-    * @param string|\DirectoryIterator $pathOrDirIterator
566
-    * @param bool $lowercase
567
-    * @return string
568
-    */
561
+    /**
562
+     * Retrieves the extension of the specified file. Can be a path
563
+     * to a file as a string, or a DirectoryIterator object instance.
564
+     * 
565
+     * @param string|\DirectoryIterator $pathOrDirIterator
566
+     * @param bool $lowercase
567
+     * @return string
568
+     */
569 569
     public static function getExtension($pathOrDirIterator, bool $lowercase = true) : string
570 570
     {
571 571
         if($pathOrDirIterator instanceof \DirectoryIterator) {
@@ -576,51 +576,51 @@  discard block
 block discarded – undo
576 576
          
577 577
         $ext = pathinfo($filename, PATHINFO_EXTENSION);
578 578
         if($lowercase) {
579
-        	$ext = mb_strtolower($ext);
579
+            $ext = mb_strtolower($ext);
580 580
         }
581 581
         
582 582
         return $ext;
583 583
     }
584 584
     
585
-   /**
586
-    * Retrieves the file name from a path, with or without extension.
587
-    * The path to the file can be a string, or a DirectoryIterator object
588
-    * instance.
589
-    * 
590
-    * In case of folders, behaves like the pathinfo function: returns
591
-    * the name of the folder.
592
-    * 
593
-    * @param string|\DirectoryIterator $pathOrDirIterator
594
-    * @param bool $extension
595
-    * @return string
596
-    */
585
+    /**
586
+     * Retrieves the file name from a path, with or without extension.
587
+     * The path to the file can be a string, or a DirectoryIterator object
588
+     * instance.
589
+     * 
590
+     * In case of folders, behaves like the pathinfo function: returns
591
+     * the name of the folder.
592
+     * 
593
+     * @param string|\DirectoryIterator $pathOrDirIterator
594
+     * @param bool $extension
595
+     * @return string
596
+     */
597 597
     public static function getFilename($pathOrDirIterator, $extension = true)
598 598
     {
599 599
         $path = $pathOrDirIterator;
600
-    	if($pathOrDirIterator instanceof \DirectoryIterator) {
601
-    		$path = $pathOrDirIterator->getFilename();
602
-    	}
600
+        if($pathOrDirIterator instanceof \DirectoryIterator) {
601
+            $path = $pathOrDirIterator->getFilename();
602
+        }
603 603
     	
604
-    	$path = self::normalizePath($path);
604
+        $path = self::normalizePath($path);
605 605
     	
606
-    	if(!$extension) {
607
-    	    return pathinfo($path, PATHINFO_FILENAME);
608
-    	}
606
+        if(!$extension) {
607
+            return pathinfo($path, PATHINFO_FILENAME);
608
+        }
609 609
     	
610
-    	return pathinfo($path, PATHINFO_BASENAME); 
610
+        return pathinfo($path, PATHINFO_BASENAME); 
611 611
     }
612 612
    
613
-   /**
614
-    * Tries to read the contents of the target file and
615
-    * treat it as JSON to return the decoded JSON data.
616
-    * 
617
-    * @param string $file
618
-    * @throws FileHelper_Exception
619
-    * @return array
620
-    * 
621
-    * @see FileHelper::ERROR_CANNOT_FIND_JSON_FILE
622
-    * @see FileHelper::ERROR_CANNOT_DECODE_JSON_FILE
623
-    */ 
613
+    /**
614
+     * Tries to read the contents of the target file and
615
+     * treat it as JSON to return the decoded JSON data.
616
+     * 
617
+     * @param string $file
618
+     * @throws FileHelper_Exception
619
+     * @return array
620
+     * 
621
+     * @see FileHelper::ERROR_CANNOT_FIND_JSON_FILE
622
+     * @see FileHelper::ERROR_CANNOT_DECODE_JSON_FILE
623
+     */ 
624 624
     public static function parseJSONFile(string $file, $targetEncoding=null, $sourceEncoding=null)
625 625
     {
626 626
         self::requireFileExists($file, self::ERROR_CANNOT_FIND_JSON_FILE);
@@ -656,16 +656,16 @@  discard block
 block discarded – undo
656 656
         return $json;
657 657
     }
658 658
     
659
-   /**
660
-    * Corrects common formatting mistakes when users enter
661
-    * file names, like too many spaces, dots and the like.
662
-    * 
663
-    * NOTE: if the file name contains a path, the path is
664
-    * stripped, leaving only the file name.
665
-    * 
666
-    * @param string $name
667
-    * @return string
668
-    */
659
+    /**
660
+     * Corrects common formatting mistakes when users enter
661
+     * file names, like too many spaces, dots and the like.
662
+     * 
663
+     * NOTE: if the file name contains a path, the path is
664
+     * stripped, leaving only the file name.
665
+     * 
666
+     * @param string $name
667
+     * @return string
668
+     */
669 669
     public static function fixFileName(string $name) : string
670 670
     {
671 671
         $name = trim($name);
@@ -695,60 +695,60 @@  discard block
 block discarded – undo
695 695
         return $name;
696 696
     }
697 697
     
698
-   /**
699
-    * Creates an instance of the file finder, which is an easier
700
-    * alternative to the other manual findFile methods, since all
701
-    * options can be set by chaining.
702
-    * 
703
-    * @param string $path
704
-    * @return FileHelper_FileFinder
705
-    */
698
+    /**
699
+     * Creates an instance of the file finder, which is an easier
700
+     * alternative to the other manual findFile methods, since all
701
+     * options can be set by chaining.
702
+     * 
703
+     * @param string $path
704
+     * @return FileHelper_FileFinder
705
+     */
706 706
     public static function createFileFinder(string $path) : FileHelper_FileFinder
707 707
     {
708 708
         return new FileHelper_FileFinder($path);
709 709
     }
710 710
     
711
-   /**
712
-    * Searches for all HTML files in the target folder.
713
-    * 
714
-    * @param string $targetFolder
715
-    * @param array $options
716
-    * @return array An indexed array with files.
717
-    * @see FileHelper::createFileFinder()
718
-    * 
719
-    * @todo Convert this to use the file finder.
720
-    */
711
+    /**
712
+     * Searches for all HTML files in the target folder.
713
+     * 
714
+     * @param string $targetFolder
715
+     * @param array $options
716
+     * @return array An indexed array with files.
717
+     * @see FileHelper::createFileFinder()
718
+     * 
719
+     * @todo Convert this to use the file finder.
720
+     */
721 721
     public static function findHTMLFiles(string $targetFolder, array $options=array()) : array
722 722
     {
723 723
         return self::findFiles($targetFolder, array('html'), $options);
724 724
     }
725 725
 
726
-   /**
727
-    * Searches for all PHP files in the target folder.
728
-    * 
729
-    * @param string $targetFolder
730
-    * @param array $options
731
-    * @return array An indexed array of PHP files.
732
-    * @see FileHelper::createFileFinder()
733
-    * 
734
-    * @todo Convert this to use the file finder.
735
-    */
726
+    /**
727
+     * Searches for all PHP files in the target folder.
728
+     * 
729
+     * @param string $targetFolder
730
+     * @param array $options
731
+     * @return array An indexed array of PHP files.
732
+     * @see FileHelper::createFileFinder()
733
+     * 
734
+     * @todo Convert this to use the file finder.
735
+     */
736 736
     public static function findPHPFiles(string $targetFolder, array $options=array()) : array
737 737
     {
738 738
         return self::findFiles($targetFolder, array('php'), $options);
739 739
     }
740 740
     
741
-   /**
742
-    * 
743
-    * @param string $targetFolder
744
-    * @param array $extensions
745
-    * @param array $options
746
-    * @param array $files
747
-    * @throws FileHelper_Exception
748
-    * @return array
749
-    * @see FileHelper::createFileFinder()
750
-    * @todo Convert this to use the file finder. 
751
-    */
741
+    /**
742
+     * 
743
+     * @param string $targetFolder
744
+     * @param array $extensions
745
+     * @param array $options
746
+     * @param array $files
747
+     * @throws FileHelper_Exception
748
+     * @return array
749
+     * @see FileHelper::createFileFinder()
750
+     * @todo Convert this to use the file finder. 
751
+     */
752 752
     public static function findFiles(string $targetFolder, array $extensions=array(), array $options=array(), array $files=array()) : array
753 753
     {
754 754
         if(!isset($options['strip-extension'])) {
@@ -829,13 +829,13 @@  discard block
 block discarded – undo
829 829
         return $files;
830 830
     }
831 831
 
832
-   /**
833
-    * Removes the extension from the specified path or file name,
834
-    * if any, and returns the name without the extension.
835
-    * 
836
-    * @param string $filename
837
-    * @return sTring
838
-    */
832
+    /**
833
+     * Removes the extension from the specified path or file name,
834
+     * if any, and returns the name without the extension.
835
+     * 
836
+     * @param string $filename
837
+     * @return sTring
838
+     */
839 839
     public static function removeExtension(string $filename) : string
840 840
     {
841 841
         // normalize paths to allow windows style slashes even on nix servers
@@ -844,22 +844,22 @@  discard block
 block discarded – undo
844 844
         return pathinfo($filename, PATHINFO_FILENAME);
845 845
     }
846 846
     
847
-   /**
848
-    * Detects the UTF BOM in the target file, if any. Returns
849
-    * the encoding matching the BOM, which can be any of the
850
-    * following:
851
-    * 
852
-    * <ul>
853
-    * <li>UTF32-BE</li>
854
-    * <li>UTF32-LE</li>
855
-    * <li>UTF16-BE</li>
856
-    * <li>UTF16-LE</li>
857
-    * <li>UTF8</li>
858
-    * </ul>
859
-    * 
860
-    * @param string $filename
861
-    * @return string|NULL
862
-    */
847
+    /**
848
+     * Detects the UTF BOM in the target file, if any. Returns
849
+     * the encoding matching the BOM, which can be any of the
850
+     * following:
851
+     * 
852
+     * <ul>
853
+     * <li>UTF32-BE</li>
854
+     * <li>UTF32-LE</li>
855
+     * <li>UTF16-BE</li>
856
+     * <li>UTF16-LE</li>
857
+     * <li>UTF8</li>
858
+     * </ul>
859
+     * 
860
+     * @param string $filename
861
+     * @return string|NULL
862
+     */
863 863
     public static function detectUTFBom(string $filename) : ?string
864 864
     {
865 865
         $fp = fopen($filename, 'r');
@@ -891,13 +891,13 @@  discard block
 block discarded – undo
891 891
     
892 892
     protected static $utfBoms;
893 893
     
894
-   /**
895
-    * Retrieves a list of all UTF byte order mark character
896
-    * sequences, as an assocative array with UTF encoding => bom sequence
897
-    * pairs.
898
-    * 
899
-    * @return array
900
-    */
894
+    /**
895
+     * Retrieves a list of all UTF byte order mark character
896
+     * sequences, as an assocative array with UTF encoding => bom sequence
897
+     * pairs.
898
+     * 
899
+     * @return array
900
+     */
901 901
     public static function getUTFBOMs()
902 902
     {
903 903
         if(!isset(self::$utfBoms)) {
@@ -913,15 +913,15 @@  discard block
 block discarded – undo
913 913
         return self::$utfBoms;
914 914
     }
915 915
     
916
-   /**
917
-    * Checks whether the specified encoding is a valid
918
-    * unicode encoding, for example "UTF16-LE" or "UTF8".
919
-    * Also accounts for alternate way to write the, like
920
-    * "UTF-8", and omitting little/big endian suffixes.
921
-    * 
922
-    * @param string $encoding
923
-    * @return boolean
924
-    */
916
+    /**
917
+     * Checks whether the specified encoding is a valid
918
+     * unicode encoding, for example "UTF16-LE" or "UTF8".
919
+     * Also accounts for alternate way to write the, like
920
+     * "UTF-8", and omitting little/big endian suffixes.
921
+     * 
922
+     * @param string $encoding
923
+     * @return boolean
924
+     */
925 925
     public static function isValidUnicodeEncoding(string $encoding) : bool
926 926
     {
927 927
         $encodings = self::getKnownUnicodeEncodings();
@@ -940,22 +940,22 @@  discard block
 block discarded – undo
940 940
         return in_array($encoding, $keep);
941 941
     }
942 942
     
943
-   /**
944
-    * Retrieves a list of all known unicode file encodings.
945
-    * @return array
946
-    */
943
+    /**
944
+     * Retrieves a list of all known unicode file encodings.
945
+     * @return array
946
+     */
947 947
     public static function getKnownUnicodeEncodings()
948 948
     {
949 949
         return array_keys(self::getUTFBOMs());
950 950
     }
951 951
     
952
-   /**
953
-    * Normalizes the slash style in a file or folder path,
954
-    * by replacing any antislashes with forward slashes.
955
-    * 
956
-    * @param string $path
957
-    * @return string
958
-    */
952
+    /**
953
+     * Normalizes the slash style in a file or folder path,
954
+     * by replacing any antislashes with forward slashes.
955
+     * 
956
+     * @param string $path
957
+     * @return string
958
+     */
959 959
     public static function normalizePath(string $path) : string
960 960
     {
961 961
         return str_replace(array('\\', '//'), array('/', '/'), $path);
@@ -988,18 +988,18 @@  discard block
 block discarded – undo
988 988
         }
989 989
     }
990 990
    
991
-   /**
992
-    * Saves the specified content to the target file, creating
993
-    * the file and the folder as necessary.
994
-    * 
995
-    * @param string $filePath
996
-    * @param string $content
997
-    * @throws FileHelper_Exception
998
-    * 
999
-    * @see FileHelper::ERROR_SAVE_FOLDER_NOT_WRITABLE
1000
-    * @see FileHelper::ERROR_SAVE_FILE_NOT_WRITABLE
1001
-    * @see FileHelper::ERROR_SAVE_FILE_WRITE_FAILED
1002
-    */
991
+    /**
992
+     * Saves the specified content to the target file, creating
993
+     * the file and the folder as necessary.
994
+     * 
995
+     * @param string $filePath
996
+     * @param string $content
997
+     * @throws FileHelper_Exception
998
+     * 
999
+     * @see FileHelper::ERROR_SAVE_FOLDER_NOT_WRITABLE
1000
+     * @see FileHelper::ERROR_SAVE_FILE_NOT_WRITABLE
1001
+     * @see FileHelper::ERROR_SAVE_FILE_WRITE_FAILED
1002
+     */
1003 1003
     public static function saveFile(string $filePath, string $content='') : void
1004 1004
     {
1005 1005
         // target file already exists
@@ -1052,12 +1052,12 @@  discard block
 block discarded – undo
1052 1052
         );
1053 1053
     }
1054 1054
     
1055
-   /**
1056
-    * Checks whether it is possible to run PHP command 
1057
-    * line commands.
1058
-    * 
1059
-    * @return boolean
1060
-    */
1055
+    /**
1056
+     * Checks whether it is possible to run PHP command 
1057
+     * line commands.
1058
+     * 
1059
+     * @return boolean
1060
+     */
1061 1061
     public static function canMakePHPCalls() : bool
1062 1062
     {
1063 1063
         return self::cliCommandExists('php');
@@ -1132,16 +1132,16 @@  discard block
 block discarded – undo
1132 1132
         return $result;
1133 1133
     }
1134 1134
     
1135
-   /**
1136
-    * Validates a PHP file's syntax.
1137
-    * 
1138
-    * NOTE: This will fail silently if the PHP command line
1139
-    * is not available. Use {@link FileHelper::canMakePHPCalls()}
1140
-    * to check this beforehand as needed.
1141
-    * 
1142
-    * @param string $path
1143
-    * @return boolean|array A boolean true if the file is valid, an array with validation messages otherwise.
1144
-    */
1135
+    /**
1136
+     * Validates a PHP file's syntax.
1137
+     * 
1138
+     * NOTE: This will fail silently if the PHP command line
1139
+     * is not available. Use {@link FileHelper::canMakePHPCalls()}
1140
+     * to check this beforehand as needed.
1141
+     * 
1142
+     * @param string $path
1143
+     * @return boolean|array A boolean true if the file is valid, an array with validation messages otherwise.
1144
+     */
1145 1145
     public static function checkPHPFileSyntax($path)
1146 1146
     {
1147 1147
         if(!self::canMakePHPCalls()) {
@@ -1165,14 +1165,14 @@  discard block
 block discarded – undo
1165 1165
         return $output;
1166 1166
     }
1167 1167
     
1168
-   /**
1169
-    * Retrieves the last modified date for the specified file or folder.
1170
-    * 
1171
-    * Note: If the target does not exist, returns null. 
1172
-    * 
1173
-    * @param string $path
1174
-    * @return \DateTime|NULL
1175
-    */
1168
+    /**
1169
+     * Retrieves the last modified date for the specified file or folder.
1170
+     * 
1171
+     * Note: If the target does not exist, returns null. 
1172
+     * 
1173
+     * @param string $path
1174
+     * @return \DateTime|NULL
1175
+     */
1176 1176
     public static function getModifiedDate($path)
1177 1177
     {
1178 1178
         $time = filemtime($path);
@@ -1185,22 +1185,22 @@  discard block
 block discarded – undo
1185 1185
         return null; 
1186 1186
     }
1187 1187
     
1188
-   /**
1189
-    * Retrieves the names of all subfolders in the specified path.
1190
-    * 
1191
-    * Available options:
1192
-    * 
1193
-    * - recursive: true/false
1194
-    *   Whether to search for subfolders recursively. 
1195
-    *   
1196
-    * - absolute-paths: true/false
1197
-    *   Whether to return a list of absolute paths.
1198
-    * 
1199
-    * @param string $targetFolder
1200
-    * @param array $options
1201
-    * @throws FileHelper_Exception
1202
-    * @return string[]
1203
-    */
1188
+    /**
1189
+     * Retrieves the names of all subfolders in the specified path.
1190
+     * 
1191
+     * Available options:
1192
+     * 
1193
+     * - recursive: true/false
1194
+     *   Whether to search for subfolders recursively. 
1195
+     *   
1196
+     * - absolute-paths: true/false
1197
+     *   Whether to return a list of absolute paths.
1198
+     * 
1199
+     * @param string $targetFolder
1200
+     * @param array $options
1201
+     * @throws FileHelper_Exception
1202
+     * @return string[]
1203
+     */
1204 1204
     public static function getSubfolders($targetFolder, $options = array())
1205 1205
     {
1206 1206
         if(!is_dir($targetFolder)) 
@@ -1261,16 +1261,16 @@  discard block
 block discarded – undo
1261 1261
         return $result;
1262 1262
     }
1263 1263
 
1264
-   /**
1265
-    * Retrieves the maximum allowed upload file size, in bytes.
1266
-    * Takes into account the PHP ini settings <code>post_max_size</code>
1267
-    * and <code>upload_max_filesize</code>. Since these cannot
1268
-    * be modified at runtime, they are the hard limits for uploads.
1269
-    * 
1270
-    * NOTE: Based on binary values, where 1KB = 1024 Bytes.
1271
-    * 
1272
-    * @return int Will return <code>-1</code> if no limit.
1273
-    */
1264
+    /**
1265
+     * Retrieves the maximum allowed upload file size, in bytes.
1266
+     * Takes into account the PHP ini settings <code>post_max_size</code>
1267
+     * and <code>upload_max_filesize</code>. Since these cannot
1268
+     * be modified at runtime, they are the hard limits for uploads.
1269
+     * 
1270
+     * NOTE: Based on binary values, where 1KB = 1024 Bytes.
1271
+     * 
1272
+     * @return int Will return <code>-1</code> if no limit.
1273
+     */
1274 1274
     public static function getMaxUploadFilesize() : int
1275 1275
     {
1276 1276
         static $max_size = -1;
@@ -1307,16 +1307,16 @@  discard block
 block discarded – undo
1307 1307
         return round($size);
1308 1308
     }
1309 1309
    
1310
-   /**
1311
-    * Makes a path relative using a folder depth: will reduce the
1312
-    * length of the path so that only the amount of folders defined
1313
-    * in the <code>$depth</code> attribute are shown below the actual
1314
-    * folder or file in the path.
1315
-    *  
1316
-    * @param string  $path The absolute or relative path
1317
-    * @param int $depth The folder depth to reduce the path to
1318
-    * @return string
1319
-    */
1310
+    /**
1311
+     * Makes a path relative using a folder depth: will reduce the
1312
+     * length of the path so that only the amount of folders defined
1313
+     * in the <code>$depth</code> attribute are shown below the actual
1314
+     * folder or file in the path.
1315
+     *  
1316
+     * @param string  $path The absolute or relative path
1317
+     * @param int $depth The folder depth to reduce the path to
1318
+     * @return string
1319
+     */
1320 1320
     public static function relativizePathByDepth(string $path, int $depth=2) : string
1321 1321
     {
1322 1322
         $path = self::normalizePath($path);
@@ -1354,23 +1354,23 @@  discard block
 block discarded – undo
1354 1354
         return trim(implode('/', $tokens), '/');
1355 1355
     }
1356 1356
     
1357
-   /**
1358
-    * Makes the specified path relative to another path,
1359
-    * by removing one from the other if found. Also 
1360
-    * normalizes the path to use forward slashes. 
1361
-    * 
1362
-    * Example:
1363
-    * 
1364
-    * <pre>
1365
-    * relativizePath('c:\some\folder\to\file.txt', 'c:\some\folder');
1366
-    * </pre>
1367
-    * 
1368
-    * Result: <code>to/file.txt</code>
1369
-    * 
1370
-    * @param string $path
1371
-    * @param string $relativeTo
1372
-    * @return string
1373
-    */
1357
+    /**
1358
+     * Makes the specified path relative to another path,
1359
+     * by removing one from the other if found. Also 
1360
+     * normalizes the path to use forward slashes. 
1361
+     * 
1362
+     * Example:
1363
+     * 
1364
+     * <pre>
1365
+     * relativizePath('c:\some\folder\to\file.txt', 'c:\some\folder');
1366
+     * </pre>
1367
+     * 
1368
+     * Result: <code>to/file.txt</code>
1369
+     * 
1370
+     * @param string $path
1371
+     * @param string $relativeTo
1372
+     * @return string
1373
+     */
1374 1374
     public static function relativizePath(string $path, string $relativeTo) : string
1375 1375
     {
1376 1376
         $path = self::normalizePath($path);
@@ -1382,17 +1382,17 @@  discard block
 block discarded – undo
1382 1382
         return $relative;
1383 1383
     }
1384 1384
     
1385
-   /**
1386
-    * Checks that the target file exists, and throws an exception
1387
-    * if it does not. 
1388
-    * 
1389
-    * @param string $path
1390
-    * @param int|NULL $errorCode Optional custom error code
1391
-    * @throws FileHelper_Exception
1392
-    * @return string The real path to the file
1393
-    * 
1394
-    * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
1395
-    */
1385
+    /**
1386
+     * Checks that the target file exists, and throws an exception
1387
+     * if it does not. 
1388
+     * 
1389
+     * @param string $path
1390
+     * @param int|NULL $errorCode Optional custom error code
1391
+     * @throws FileHelper_Exception
1392
+     * @return string The real path to the file
1393
+     * 
1394
+     * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
1395
+     */
1396 1396
     public static function requireFileExists(string $path, $errorCode=null) : string
1397 1397
     {
1398 1398
         $result = realpath($path);
@@ -1411,18 +1411,18 @@  discard block
 block discarded – undo
1411 1411
         );
1412 1412
     }
1413 1413
     
1414
-   /**
1415
-    * Reads a specific line number from the target file and returns its
1416
-    * contents, if the file has such a line. Does so with little memory
1417
-    * usage, as the file is not read entirely into memory.
1418
-    * 
1419
-    * @param string $path
1420
-    * @param int $lineNumber Note: 1-based; the first line is number 1.
1421
-    * @return string|NULL Will return null if the requested line does not exist.
1422
-    * @throws FileHelper_Exception
1423
-    * 
1424
-    * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
1425
-    */
1414
+    /**
1415
+     * Reads a specific line number from the target file and returns its
1416
+     * contents, if the file has such a line. Does so with little memory
1417
+     * usage, as the file is not read entirely into memory.
1418
+     * 
1419
+     * @param string $path
1420
+     * @param int $lineNumber Note: 1-based; the first line is number 1.
1421
+     * @return string|NULL Will return null if the requested line does not exist.
1422
+     * @throws FileHelper_Exception
1423
+     * 
1424
+     * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
1425
+     */
1426 1426
     public static function getLineFromFile(string $path, int $lineNumber) : ?string
1427 1427
     {
1428 1428
         self::requireFileExists($path);
@@ -1438,19 +1438,19 @@  discard block
 block discarded – undo
1438 1438
         $file->seek($targetLine);
1439 1439
         
1440 1440
         if($file->key() !== $targetLine) {
1441
-             return null;
1441
+                return null;
1442 1442
         }
1443 1443
         
1444 1444
         return $file->current(); 
1445 1445
     }
1446 1446
     
1447
-   /**
1448
-    * Retrieves the total amount of lines in the file, without 
1449
-    * reading the whole file into memory.
1450
-    * 
1451
-    * @param string $path
1452
-    * @return int
1453
-    */
1447
+    /**
1448
+     * Retrieves the total amount of lines in the file, without 
1449
+     * reading the whole file into memory.
1450
+     * 
1451
+     * @param string $path
1452
+     * @return int
1453
+     */
1454 1454
     public static function countFileLines(string $path) : int
1455 1455
     {
1456 1456
         self::requireFileExists($path);
@@ -1480,26 +1480,26 @@  discard block
 block discarded – undo
1480 1480
         return $number+1;
1481 1481
     }
1482 1482
     
1483
-   /**
1484
-    * Parses the target file to detect any PHP classes contained
1485
-    * within, and retrieve information on them. Does not use the 
1486
-    * PHP reflection API.
1487
-    * 
1488
-    * @param string $filePath
1489
-    * @return FileHelper_PHPClassInfo
1490
-    */
1483
+    /**
1484
+     * Parses the target file to detect any PHP classes contained
1485
+     * within, and retrieve information on them. Does not use the 
1486
+     * PHP reflection API.
1487
+     * 
1488
+     * @param string $filePath
1489
+     * @return FileHelper_PHPClassInfo
1490
+     */
1491 1491
     public static function findPHPClasses(string $filePath) : FileHelper_PHPClassInfo
1492 1492
     {
1493 1493
         return new FileHelper_PHPClassInfo($filePath);
1494 1494
     }
1495 1495
     
1496
-   /**
1497
-    * Detects the end of line style used in the target file, if any.
1498
-    * Can be used with large files, because it only reads part of it.
1499
-    * 
1500
-    * @param string $filePath The path to the file.
1501
-    * @return NULL|ConvertHelper_EOL The end of line character information, or NULL if none is found.
1502
-    */
1496
+    /**
1497
+     * Detects the end of line style used in the target file, if any.
1498
+     * Can be used with large files, because it only reads part of it.
1499
+     * 
1500
+     * @param string $filePath The path to the file.
1501
+     * @return NULL|ConvertHelper_EOL The end of line character information, or NULL if none is found.
1502
+     */
1503 1503
     public static function detectEOLCharacter(string $filePath) : ?ConvertHelper_EOL
1504 1504
     {
1505 1505
         // 20 lines is enough to get a good picture of the newline style in the file.
@@ -1512,18 +1512,18 @@  discard block
 block discarded – undo
1512 1512
         return ConvertHelper::detectEOLCharacter($string);
1513 1513
     }
1514 1514
     
1515
-   /**
1516
-    * Reads the specified amount of lines from the target file.
1517
-    * Unicode BOM compatible: any byte order marker is stripped
1518
-    * from the resulting lines.
1519
-    * 
1520
-    * @param string $filePath
1521
-    * @param int $amount Set to 0 to read all lines.
1522
-    * @return array
1523
-    * 
1524
-    * @see FileHelper::ERROR_CANNOT_OPEN_FILE_TO_READ_LINES
1525
-    * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
1526
-    */
1515
+    /**
1516
+     * Reads the specified amount of lines from the target file.
1517
+     * Unicode BOM compatible: any byte order marker is stripped
1518
+     * from the resulting lines.
1519
+     * 
1520
+     * @param string $filePath
1521
+     * @param int $amount Set to 0 to read all lines.
1522
+     * @return array
1523
+     * 
1524
+     * @see FileHelper::ERROR_CANNOT_OPEN_FILE_TO_READ_LINES
1525
+     * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
1526
+     */
1527 1527
     public static function readLines(string $filePath, int $amount=0) : array
1528 1528
     {
1529 1529
         self::requireFileExists($filePath);
@@ -1574,16 +1574,16 @@  discard block
 block discarded – undo
1574 1574
         return $result;
1575 1575
     }
1576 1576
     
1577
-   /**
1578
-    * Reads all content from a file.
1579
-    * 
1580
-    * @param string $filePath
1581
-    * @throws FileHelper_Exception
1582
-    * @return string
1583
-    * 
1584
-    * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
1585
-    * @see FileHelper::ERROR_CANNOT_READ_FILE_CONTENTS
1586
-    */
1577
+    /**
1578
+     * Reads all content from a file.
1579
+     * 
1580
+     * @param string $filePath
1581
+     * @throws FileHelper_Exception
1582
+     * @return string
1583
+     * 
1584
+     * @see FileHelper::ERROR_FILE_DOES_NOT_EXIST
1585
+     * @see FileHelper::ERROR_CANNOT_READ_FILE_CONTENTS
1586
+     */
1587 1587
     public static function readContents(string $filePath) : string
1588 1588
     {
1589 1589
         self::requireFileExists($filePath);
Please login to merge, or discard this patch.