Passed
Push — master ( 22e18b...1f3053 )
by Sebastian
02:18
created
src/VariableInfo.php 1 patch
Indentation   +47 added lines, -47 removed lines patch added patch discarded remove patch
@@ -32,25 +32,25 @@  discard block
 block discarded – undo
32 32
         self::TYPE_CALLABLE => 'cf5e20'
33 33
     );
34 34
     
35
-   /**
36
-    * @var string
37
-    */
35
+    /**
36
+     * @var string
37
+     */
38 38
     protected $string;
39 39
     
40
-   /**
41
-    * @var mixed
42
-    */
40
+    /**
41
+     * @var mixed
42
+     */
43 43
     protected $value;
44 44
     
45
-   /**
46
-    * @var string
47
-    */
45
+    /**
46
+     * @var string
47
+     */
48 48
     protected $type;
49 49
     
50
-   /**
51
-    * @param mixed $value
52
-    * @param array|null $serialized
53
-    */
50
+    /**
51
+     * @param mixed $value
52
+     * @param array|null $serialized
53
+     */
54 54
     public function __construct($value, $serialized=null)
55 55
     {
56 56
         if(is_array($serialized))
@@ -63,26 +63,26 @@  discard block
 block discarded – undo
63 63
         }
64 64
     }
65 65
     
66
-   /**
67
-    * Creates a new variable info instance from a PHP variable
68
-    * of any type.
69
-    * 
70
-    * @param mixed $variable
71
-    * @return VariableInfo
72
-    */
66
+    /**
67
+     * Creates a new variable info instance from a PHP variable
68
+     * of any type.
69
+     * 
70
+     * @param mixed $variable
71
+     * @return VariableInfo
72
+     */
73 73
     public static function fromVariable($variable) : VariableInfo
74 74
     {
75 75
         return new VariableInfo($variable);
76 76
     }
77 77
     
78
-   /**
79
-    * Restores a variable info instance using a previously serialized
80
-    * array using the serialize() method.
81
-    * 
82
-    * @param array $serialized
83
-    * @return VariableInfo
84
-    * @see VariableInfo::serialize()
85
-    */
78
+    /**
79
+     * Restores a variable info instance using a previously serialized
80
+     * array using the serialize() method.
81
+     * 
82
+     * @param array $serialized
83
+     * @return VariableInfo
84
+     * @see VariableInfo::serialize()
85
+     */
86 86
     public static function fromSerialized(array $serialized) : VariableInfo
87 87
     {
88 88
         return new VariableInfo(null, $serialized);
@@ -108,12 +108,12 @@  discard block
 block discarded – undo
108 108
         $this->string = $this->_toString();
109 109
     }
110 110
     
111
-   /**
112
-    * The variable type - this is the same string that
113
-    * is returned by the PHP function `gettype`.
114
-    * 
115
-    * @return string
116
-    */
111
+    /**
112
+     * The variable type - this is the same string that
113
+     * is returned by the PHP function `gettype`.
114
+     * 
115
+     * @return string
116
+     */
117 117
     public function getType() : string
118 118
     {
119 119
         return $this->type;
@@ -127,13 +127,13 @@  discard block
 block discarded – undo
127 127
         );
128 128
     }
129 129
     
130
-   /**
131
-    * Whether to prepend the variable type before the value, 
132
-    * like the var_dump function. Example: <code>string "Some text"</code>.
133
-    * 
134
-    * @param bool $enable
135
-    * @return VariableInfo
136
-    */
130
+    /**
131
+     * Whether to prepend the variable type before the value, 
132
+     * like the var_dump function. Example: <code>string "Some text"</code>.
133
+     * 
134
+     * @param bool $enable
135
+     * @return VariableInfo
136
+     */
137 137
     public function enableType(bool $enable=true) : VariableInfo
138 138
     {
139 139
         return $this->setOption('prepend-type', $enable);
@@ -203,12 +203,12 @@  discard block
 block discarded – undo
203 203
         return $converted;
204 204
     }
205 205
     
206
-   /**
207
-    * Converts an array to a string.
208
-    * @return string
209
-    * 
210
-    * @todo Create custom dump implementation, using VariableInfo instances.
211
-    */
206
+    /**
207
+     * Converts an array to a string.
208
+     * @return string
209
+     * 
210
+     * @todo Create custom dump implementation, using VariableInfo instances.
211
+     */
212 212
     protected function toString_array() : string
213 213
     {
214 214
         $result = json_encode($this->value, JSON_PRETTY_PRINT);
Please login to merge, or discard this patch.
src/NumberInfo.php 1 patch
Indentation   +59 added lines, -59 removed lines patch added patch discarded remove patch
@@ -38,24 +38,24 @@  discard block
 block discarded – undo
38 38
  */
39 39
 class NumberInfo
40 40
 {
41
-   /**
42
-    * @var mixed
43
-    */
41
+    /**
42
+     * @var mixed
43
+     */
44 44
     protected $rawValue;
45 45
     
46
-   /**
47
-    * @var array
48
-    */
46
+    /**
47
+     * @var array
48
+     */
49 49
     protected $info;
50 50
     
51
-   /**
52
-    * @var bool
53
-    */
51
+    /**
52
+     * @var bool
53
+     */
54 54
     protected $empty = false;
55 55
     
56
-   /**
57
-    * @var array
58
-    */
56
+    /**
57
+     * @var array
58
+     */
59 59
     protected $knownUnits = array(
60 60
         '%' => true,
61 61
         'rem' => true,
@@ -95,21 +95,21 @@  discard block
 block discarded – undo
95 95
         return $this;
96 96
     }
97 97
     
98
-   /**
99
-    * Retrieves the raw, internal information array resulting
100
-    * from the parsing of the number.
101
-    *  
102
-    * @return array
103
-    */
98
+    /**
99
+     * Retrieves the raw, internal information array resulting
100
+     * from the parsing of the number.
101
+     *  
102
+     * @return array
103
+     */
104 104
     public function getRawInfo() : array
105 105
     {
106 106
         return $this->info;
107 107
     }
108 108
     
109
-   /**
110
-    * Whether the number was empty (null or empty string).
111
-    * @return boolean
112
-    */
109
+    /**
110
+     * Whether the number was empty (null or empty string).
111
+     * @return boolean
112
+     */
113 113
     public function isEmpty() : bool
114 114
     {
115 115
         return $this->empty;
@@ -590,59 +590,59 @@  discard block
 block discarded – undo
590 590
     
591 591
     protected $postProcess = false;
592 592
     
593
-   /**
594
-    * Called if explicitly enabled: allows filtering the 
595
-    * number after the detection process has completed.
596
-    * 
597
-    * @param string|NULL $number The adjusted number
598
-    * @param string $originalString The original value before it was parsed
599
-    * @return mixed
600
-    */
593
+    /**
594
+     * Called if explicitly enabled: allows filtering the 
595
+     * number after the detection process has completed.
596
+     * 
597
+     * @param string|NULL $number The adjusted number
598
+     * @param string $originalString The original value before it was parsed
599
+     * @return mixed
600
+     */
601 601
     protected function postProcess(?string $number, /** @scrutinizer ignore-unused */ string $originalString)
602 602
     {
603 603
         return $number;
604 604
     }
605 605
     
606
-   /**
607
-    * Filters the value before it is parsed, but only if it is a string.
608
-    * 
609
-    * NOTE: This may be overwritten in a subclass, to allow custom filtering
610
-    * the the values. An example of a use case would be a preprocessor for
611
-    * variables in a templating system.
612
-    * 
613
-    * @param string $trimmedString The trimmed value.
614
-    * @param array $cache The internal values cache array.
615
-    * @param string $originalValue The original value that the NumberInfo was created for.
616
-    * @return string
617
-    * 
618
-    * @see NumberInfo::enablePostProcess()
619
-    */
606
+    /**
607
+     * Filters the value before it is parsed, but only if it is a string.
608
+     * 
609
+     * NOTE: This may be overwritten in a subclass, to allow custom filtering
610
+     * the the values. An example of a use case would be a preprocessor for
611
+     * variables in a templating system.
612
+     * 
613
+     * @param string $trimmedString The trimmed value.
614
+     * @param array $cache The internal values cache array.
615
+     * @param string $originalValue The original value that the NumberInfo was created for.
616
+     * @return string
617
+     * 
618
+     * @see NumberInfo::enablePostProcess()
619
+     */
620 620
     protected function preProcess(string $trimmedString, /** @scrutinizer ignore-unused */ array &$cache, /** @scrutinizer ignore-unused */ string $originalValue) : string
621 621
     {
622 622
         return str_replace(',', '.', $trimmedString);
623 623
     }
624 624
     
625
-   /**
626
-    * Enables the post processing so the postProcess method gets called.
627
-    * This should be called in the {@link NumberInfo::preProcess()}
628
-    * method as needed.
629
-    * 
630
-    * @return NumberInfo
631
-    * @see NumberInfo::postProcess()
632
-    */
625
+    /**
626
+     * Enables the post processing so the postProcess method gets called.
627
+     * This should be called in the {@link NumberInfo::preProcess()}
628
+     * method as needed.
629
+     * 
630
+     * @return NumberInfo
631
+     * @see NumberInfo::postProcess()
632
+     */
633 633
     private function enablePostProcess() : NumberInfo
634 634
     {
635 635
         $this->postProcess = true;
636 636
         return $this;
637 637
     }
638 638
     
639
-   /**
640
-    * Filters the number info array to adjust the units
641
-    * and number according to the required rules.
642
-    * 
643
-    * @param array $info
644
-    * @return array
645
-    */
639
+    /**
640
+     * Filters the number info array to adjust the units
641
+     * and number according to the required rules.
642
+     * 
643
+     * @param array $info
644
+     * @return array
645
+     */
646 646
     protected function filterInfo(array $info) : array
647 647
     {
648 648
         $useUnits = 'px';
Please login to merge, or discard this patch.
src/ConvertHelper.php 1 patch
Indentation   +374 added lines, -374 removed lines patch added patch discarded remove patch
@@ -426,16 +426,16 @@  discard block
 block discarded – undo
426 426
         return $bytes . ' ' . t('B');
427 427
     }
428 428
 
429
-   /**
430
-    * Cuts a text to the specified length if it is longer than the
431
-    * target length. Appends a text to signify it has been cut at 
432
-    * the end of the string.
433
-    * 
434
-    * @param string $text
435
-    * @param int $targetLength
436
-    * @param string $append
437
-    * @return string
438
-    */
429
+    /**
430
+     * Cuts a text to the specified length if it is longer than the
431
+     * target length. Appends a text to signify it has been cut at 
432
+     * the end of the string.
433
+     * 
434
+     * @param string $text
435
+     * @param int $targetLength
436
+     * @param string $append
437
+     * @return string
438
+     */
439 439
     public static function text_cut(string $text, int $targetLength, string $append = '...') : string
440 440
     {
441 441
         $length = mb_strlen($text);
@@ -505,27 +505,27 @@  discard block
 block discarded – undo
505 505
         return self::$booleanStrings[$string];
506 506
     }
507 507
     
508
-   /**
509
-    * Whether the specified string is a boolean string or boolean value.
510
-    * Alias for {@link ConvertHelper::isBoolean()}.
511
-    * 
512
-    * @param mixed $string
513
-    * @return bool
514
-    * @deprecated
515
-    * @see ConvertHelper::isBoolean()
516
-    */
508
+    /**
509
+     * Whether the specified string is a boolean string or boolean value.
510
+     * Alias for {@link ConvertHelper::isBoolean()}.
511
+     * 
512
+     * @param mixed $string
513
+     * @return bool
514
+     * @deprecated
515
+     * @see ConvertHelper::isBoolean()
516
+     */
517 517
     public static function isBooleanString($string) : bool
518 518
     {
519 519
         return self::isBoolean($string);
520 520
     }
521 521
 
522
-   /**
523
-    * Alias for the {@\AppUtils\XMLHelper::string2xml()} method.
524
-    * 
525
-    * @param string $text
526
-    * @return string
527
-    * @deprecated
528
-    */
522
+    /**
523
+     * Alias for the {@\AppUtils\XMLHelper::string2xml()} method.
524
+     * 
525
+     * @param string $text
526
+     * @return string
527
+     * @deprecated
528
+     */
529 529
     public static function text_makeXMLCompliant($text)
530 530
     {
531 531
         return XMLHelper::string2xml($text);
@@ -627,13 +627,13 @@  discard block
 block discarded – undo
627 627
         return $translit->convert($string);
628 628
     }
629 629
     
630
-   /**
631
-    * Retrieves the HEX character codes for all control
632
-    * characters that the {@link stripControlCharacters()} 
633
-    * method will remove.
634
-    * 
635
-    * @return string[]
636
-    */
630
+    /**
631
+     * Retrieves the HEX character codes for all control
632
+     * characters that the {@link stripControlCharacters()} 
633
+     * method will remove.
634
+     * 
635
+     * @return string[]
636
+     */
637 637
     public static function getControlCharactersAsHex()
638 638
     {
639 639
         $hexAlphabet = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F');
@@ -669,13 +669,13 @@  discard block
 block discarded – undo
669 669
         return $stack;
670 670
     }
671 671
     
672
-   /**
673
-    * Retrieves an array of all control characters that
674
-    * the {@link stripControlCharacters()} method will 
675
-    * remove, as the actual UTF-8 characters.
676
-    * 
677
-    * @return string[]
678
-    */
672
+    /**
673
+     * Retrieves an array of all control characters that
674
+     * the {@link stripControlCharacters()} method will 
675
+     * remove, as the actual UTF-8 characters.
676
+     * 
677
+     * @return string[]
678
+     */
679 679
     public static function getControlCharactersAsUTF8()
680 680
     {
681 681
         $chars = self::getControlCharactersAsHex();
@@ -688,12 +688,12 @@  discard block
 block discarded – undo
688 688
         return $result;
689 689
     }
690 690
     
691
-   /**
692
-    * Retrieves all control characters as JSON encoded
693
-    * characters, e.g. "\u200b".
694
-    * 
695
-    * @return string[]
696
-    */
691
+    /**
692
+     * Retrieves all control characters as JSON encoded
693
+     * characters, e.g. "\u200b".
694
+     * 
695
+     * @return string[]
696
+     */
697 697
     public static function getControlCharactersAsJSON()
698 698
     {
699 699
         $chars = self::getControlCharactersAsHex();
@@ -750,20 +750,20 @@  discard block
 block discarded – undo
750 750
         return preg_replace(self::$controlCharsRegex, '', $string);
751 751
     }
752 752
 
753
-   /**
754
-    * Converts a unicode character to the PHPO notation.
755
-    * 
756
-    * Example:
757
-    * 
758
-    * <pre>unicodeChar2php('"\u0000"')</pre>
759
-    * 
760
-    * Returns
761
-    * 
762
-    * <pre>\x0</pre>
763
-    * 
764
-    * @param string $unicodeChar
765
-    * @return string
766
-    */
753
+    /**
754
+     * Converts a unicode character to the PHPO notation.
755
+     * 
756
+     * Example:
757
+     * 
758
+     * <pre>unicodeChar2php('"\u0000"')</pre>
759
+     * 
760
+     * Returns
761
+     * 
762
+     * <pre>\x0</pre>
763
+     * 
764
+     * @param string $unicodeChar
765
+     * @return string
766
+     */
767 767
     public static function unicodeChar2php($unicodeChar) 
768 768
     {
769 769
         $unicodeChar = json_decode($unicodeChar);
@@ -886,25 +886,25 @@  discard block
 block discarded – undo
886 886
         return 'false';
887 887
     }
888 888
     
889
-   /**
890
-    * Converts an associative array with attribute name > value pairs
891
-    * to an attribute string that can be used in an HTML tag. Empty 
892
-    * attribute values are ignored.
893
-    * 
894
-    * Example:
895
-    * 
896
-    * array2attributeString(array(
897
-    *     'id' => 45,
898
-    *     'href' => 'http://www.mistralys.com'
899
-    * ));
900
-    * 
901
-    * Result:
902
-    * 
903
-    * id="45" href="http://www.mistralys.com"
904
-    * 
905
-    * @param array $array
906
-    * @return string
907
-    */
889
+    /**
890
+     * Converts an associative array with attribute name > value pairs
891
+     * to an attribute string that can be used in an HTML tag. Empty 
892
+     * attribute values are ignored.
893
+     * 
894
+     * Example:
895
+     * 
896
+     * array2attributeString(array(
897
+     *     'id' => 45,
898
+     *     'href' => 'http://www.mistralys.com'
899
+     * ));
900
+     * 
901
+     * Result:
902
+     * 
903
+     * id="45" href="http://www.mistralys.com"
904
+     * 
905
+     * @param array $array
906
+     * @return string
907
+     */
908 908
     public static function array2attributeString($array)
909 909
     {
910 910
         $tokens = array();
@@ -923,14 +923,14 @@  discard block
 block discarded – undo
923 923
         return ' '.implode(' ', $tokens);
924 924
     }
925 925
     
926
-   /**
927
-    * Converts a string so it can safely be used in a javascript
928
-    * statement in an HTML tag: uses single quotes around the string
929
-    * and encodes all special characters as needed.
930
-    * 
931
-    * @param string $string
932
-    * @return string
933
-    */
926
+    /**
927
+     * Converts a string so it can safely be used in a javascript
928
+     * statement in an HTML tag: uses single quotes around the string
929
+     * and encodes all special characters as needed.
930
+     * 
931
+     * @param string $string
932
+     * @return string
933
+     */
934 934
     public static function string2attributeJS($string, $quoted=true)
935 935
     {
936 936
         $converted = addslashes(htmlspecialchars(strip_tags($string), ENT_QUOTES, 'UTF-8'));
@@ -941,15 +941,15 @@  discard block
 block discarded – undo
941 941
         return $converted;
942 942
     }
943 943
     
944
-   /**
945
-    * Checks if the specified string is a boolean value, which
946
-    * includes string representations of boolean values, like 
947
-    * <code>yes</code> or <code>no</code>, and <code>true</code>
948
-    * or <code>false</code>.
949
-    * 
950
-    * @param mixed $value
951
-    * @return boolean
952
-    */
944
+    /**
945
+     * Checks if the specified string is a boolean value, which
946
+     * includes string representations of boolean values, like 
947
+     * <code>yes</code> or <code>no</code>, and <code>true</code>
948
+     * or <code>false</code>.
949
+     * 
950
+     * @param mixed $value
951
+     * @return boolean
952
+     */
953 953
     public static function isBoolean($value) : bool
954 954
     {
955 955
         if(is_bool($value)) {
@@ -963,12 +963,12 @@  discard block
 block discarded – undo
963 963
         return array_key_exists($value, self::$booleanStrings);
964 964
     }
965 965
     
966
-   /**
967
-    * Converts an associative array to an HTML style attribute value string.
968
-    * 
969
-    * @param array $subject
970
-    * @return string
971
-    */
966
+    /**
967
+     * Converts an associative array to an HTML style attribute value string.
968
+     * 
969
+     * @param array $subject
970
+     * @return string
971
+     */
972 972
     public static function array2styleString(array $subject) : string
973 973
     {
974 974
         $tokens = array();
@@ -979,23 +979,23 @@  discard block
 block discarded – undo
979 979
         return implode(';', $tokens);
980 980
     }
981 981
     
982
-   /**
983
-    * Converts a DateTime object to a timestamp, which
984
-    * is PHP 5.2 compatible.
985
-    * 
986
-    * @param \DateTime $date
987
-    * @return integer
988
-    */
982
+    /**
983
+     * Converts a DateTime object to a timestamp, which
984
+     * is PHP 5.2 compatible.
985
+     * 
986
+     * @param \DateTime $date
987
+     * @return integer
988
+     */
989 989
     public static function date2timestamp(\DateTime $date) : int
990 990
     {
991 991
         return (int)$date->format('U');
992 992
     }
993 993
     
994
-   /**
995
-    * Converts a timestamp into a DateTime instance.
996
-    * @param int $timestamp
997
-    * @return \DateTime
998
-    */
994
+    /**
995
+     * Converts a timestamp into a DateTime instance.
996
+     * @param int $timestamp
997
+     * @return \DateTime
998
+     */
999 999
     public static function timestamp2date(int $timestamp) : \DateTime
1000 1000
     {
1001 1001
         $date = new \DateTime();
@@ -1003,50 +1003,50 @@  discard block
 block discarded – undo
1003 1003
         return $date;
1004 1004
     }
1005 1005
     
1006
-   /**
1007
-    * Strips an absolute path to a file within the application
1008
-    * to make the path relative to the application root path.
1009
-    * 
1010
-    * @param string $path
1011
-    * @return string
1012
-    * 
1013
-    * @see FileHelper::relativizePath()
1014
-    * @see FileHelper::relativizePathByDepth()
1015
-    */
1006
+    /**
1007
+     * Strips an absolute path to a file within the application
1008
+     * to make the path relative to the application root path.
1009
+     * 
1010
+     * @param string $path
1011
+     * @return string
1012
+     * 
1013
+     * @see FileHelper::relativizePath()
1014
+     * @see FileHelper::relativizePathByDepth()
1015
+     */
1016 1016
     public static function fileRelativize(string $path) : string
1017 1017
     {
1018 1018
         return FileHelper::relativizePathByDepth($path);
1019 1019
     }
1020 1020
     
1021 1021
     /**
1022
-    * Converts a PHP regex to a javascript RegExp object statement.
1023
-    * 
1024
-    * NOTE: This is an alias for the JSHelper's `convertRegex` method. 
1025
-    * More details are available on its usage there.
1026
-    *
1027
-    * @param string $regex A PHP preg regex
1028
-    * @param string $statementType The type of statement to return: Defaults to a statement to create a RegExp object.
1029
-    * @return array|string Depending on the specified return type.
1030
-    * 
1031
-    * @see JSHelper::buildRegexStatement()
1032
-    */
1022
+     * Converts a PHP regex to a javascript RegExp object statement.
1023
+     * 
1024
+     * NOTE: This is an alias for the JSHelper's `convertRegex` method. 
1025
+     * More details are available on its usage there.
1026
+     *
1027
+     * @param string $regex A PHP preg regex
1028
+     * @param string $statementType The type of statement to return: Defaults to a statement to create a RegExp object.
1029
+     * @return array|string Depending on the specified return type.
1030
+     * 
1031
+     * @see JSHelper::buildRegexStatement()
1032
+     */
1033 1033
     public static function regex2js(string $regex, string $statementType=JSHelper::JS_REGEX_OBJECT)
1034 1034
     {
1035 1035
         return JSHelper::buildRegexStatement($regex, $statementType);
1036 1036
     }
1037 1037
     
1038
-   /**
1039
-    * Converts the specified variable to JSON. Works just
1040
-    * like the native `json_encode` method, except that it
1041
-    * will trigger an exception on failure, which has the 
1042
-    * json error details included in its developer details.
1043
-    * 
1044
-    * @param mixed $variable
1045
-    * @param int|NULL $options JSON encode options.
1046
-    * @param int|NULL $depth 
1047
-    * @throws ConvertHelper_Exception
1048
-    * @return string
1049
-    */
1038
+    /**
1039
+     * Converts the specified variable to JSON. Works just
1040
+     * like the native `json_encode` method, except that it
1041
+     * will trigger an exception on failure, which has the 
1042
+     * json error details included in its developer details.
1043
+     * 
1044
+     * @param mixed $variable
1045
+     * @param int|NULL $options JSON encode options.
1046
+     * @param int|NULL $depth 
1047
+     * @throws ConvertHelper_Exception
1048
+     * @return string
1049
+     */
1050 1050
     public static function var2json($variable, int $options=0, int $depth=512) : string
1051 1051
     {
1052 1052
         $result = json_encode($variable, $options, $depth);
@@ -1067,12 +1067,12 @@  discard block
 block discarded – undo
1067 1067
         );
1068 1068
     }
1069 1069
     
1070
-   /**
1071
-    * Strips all known UTF byte order marks from the specified string.
1072
-    * 
1073
-    * @param string $string
1074
-    * @return string
1075
-    */
1070
+    /**
1071
+     * Strips all known UTF byte order marks from the specified string.
1072
+     * 
1073
+     * @param string $string
1074
+     * @return string
1075
+     */
1076 1076
     public static function stripUTFBom($string)
1077 1077
     {
1078 1078
         $boms = FileHelper::getUTFBOMs();
@@ -1087,13 +1087,13 @@  discard block
 block discarded – undo
1087 1087
         return $string;
1088 1088
     }
1089 1089
 
1090
-   /**
1091
-    * Converts a string to valid utf8, regardless
1092
-    * of the string's encoding(s).
1093
-    * 
1094
-    * @param string $string
1095
-    * @return string
1096
-    */
1090
+    /**
1091
+     * Converts a string to valid utf8, regardless
1092
+     * of the string's encoding(s).
1093
+     * 
1094
+     * @param string $string
1095
+     * @return string
1096
+     */
1097 1097
     public static function string2utf8($string)
1098 1098
     {
1099 1099
         if(!self::isStringASCII($string)) {
@@ -1103,15 +1103,15 @@  discard block
 block discarded – undo
1103 1103
         return $string;
1104 1104
     }
1105 1105
     
1106
-   /**
1107
-    * Checks whether the specified string is an ASCII
1108
-    * string, without any special or UTF8 characters.
1109
-    * Note: empty strings and NULL are considered ASCII.
1110
-    * Any variable types other than strings are not.
1111
-    * 
1112
-    * @param string $string
1113
-    * @return boolean
1114
-    */
1106
+    /**
1107
+     * Checks whether the specified string is an ASCII
1108
+     * string, without any special or UTF8 characters.
1109
+     * Note: empty strings and NULL are considered ASCII.
1110
+     * Any variable types other than strings are not.
1111
+     * 
1112
+     * @param string $string
1113
+     * @return boolean
1114
+     */
1115 1115
     public static function isStringASCII($string)
1116 1116
     {
1117 1117
         if($string === '' || $string === NULL) {
@@ -1136,22 +1136,22 @@  discard block
 block discarded – undo
1136 1136
         return $url;
1137 1137
     }
1138 1138
 
1139
-   /**
1140
-    * Calculates a percentage match of the source string with the target string.
1141
-    * 
1142
-    * Options are:
1143
-    * 
1144
-    * - maxLevenshtein, default: 10
1145
-    *   Any levenshtein results above this value are ignored.
1146
-    *   
1147
-    * - precision, default: 1
1148
-    *   The precision of the percentage float value
1149
-    * 
1150
-    * @param string $source
1151
-    * @param string $target
1152
-    * @param array $options
1153
-    * @return float
1154
-    */
1139
+    /**
1140
+     * Calculates a percentage match of the source string with the target string.
1141
+     * 
1142
+     * Options are:
1143
+     * 
1144
+     * - maxLevenshtein, default: 10
1145
+     *   Any levenshtein results above this value are ignored.
1146
+     *   
1147
+     * - precision, default: 1
1148
+     *   The precision of the percentage float value
1149
+     * 
1150
+     * @param string $source
1151
+     * @param string $target
1152
+     * @param array $options
1153
+     * @return float
1154
+     */
1155 1155
     public static function matchString($source, $target, $options=array())
1156 1156
     {
1157 1157
         $defaults = array(
@@ -1235,60 +1235,60 @@  discard block
 block discarded – undo
1235 1235
     
1236 1236
     const INTERVAL_SECONDS = 'seconds';
1237 1237
     
1238
-   /**
1239
-    * Converts an interval to its total amount of days.
1240
-    * @param \DateInterval $interval
1241
-    * @return int
1242
-    */
1238
+    /**
1239
+     * Converts an interval to its total amount of days.
1240
+     * @param \DateInterval $interval
1241
+     * @return int
1242
+     */
1243 1243
     public static function interval2days(\DateInterval $interval) : int
1244 1244
     {
1245 1245
         return self::interval2total($interval, self::INTERVAL_DAYS);
1246 1246
     }
1247 1247
 
1248
-   /**
1249
-    * Converts an interval to its total amount of hours.
1250
-    * @param \DateInterval $interval
1251
-    * @return int
1252
-    */
1248
+    /**
1249
+     * Converts an interval to its total amount of hours.
1250
+     * @param \DateInterval $interval
1251
+     * @return int
1252
+     */
1253 1253
     public static function interval2hours(\DateInterval $interval) : int
1254 1254
     {
1255 1255
         return self::interval2total($interval, self::INTERVAL_HOURS);
1256 1256
     }
1257 1257
     
1258
-   /**
1259
-    * Converts an interval to its total amount of minutes. 
1260
-    * @param \DateInterval $interval
1261
-    * @return int
1262
-    */
1258
+    /**
1259
+     * Converts an interval to its total amount of minutes. 
1260
+     * @param \DateInterval $interval
1261
+     * @return int
1262
+     */
1263 1263
     public static function interval2minutes(\DateInterval $interval) : int
1264 1264
     {
1265 1265
         return self::interval2total($interval, self::INTERVAL_MINUTES);
1266 1266
     }
1267 1267
     
1268
-   /**
1269
-    * Converts an interval to its total amount of seconds.
1270
-    * @param \DateInterval $interval
1271
-    * @return int
1272
-    */    
1268
+    /**
1269
+     * Converts an interval to its total amount of seconds.
1270
+     * @param \DateInterval $interval
1271
+     * @return int
1272
+     */    
1273 1273
     public static function interval2seconds(\DateInterval $interval) : int
1274 1274
     {
1275 1275
         return self::interval2total($interval, self::INTERVAL_SECONDS);
1276 1276
     }
1277 1277
     
1278
-   /**
1279
-    * Calculates the total amount of days / hours / minutes or seconds
1280
-    * of a date interval object (depending in the specified units), and 
1281
-    * returns the total amount.
1282
-    * 
1283
-    * @param \DateInterval $interval
1284
-    * @param string $unit What total value to calculate.
1285
-    * @return integer
1286
-    * 
1287
-    * @see ConvertHelper::INTERVAL_SECONDS
1288
-    * @see ConvertHelper::INTERVAL_MINUTES
1289
-    * @see ConvertHelper::INTERVAL_HOURS
1290
-    * @see ConvertHelper::INTERVAL_DAYS
1291
-    */
1278
+    /**
1279
+     * Calculates the total amount of days / hours / minutes or seconds
1280
+     * of a date interval object (depending in the specified units), and 
1281
+     * returns the total amount.
1282
+     * 
1283
+     * @param \DateInterval $interval
1284
+     * @param string $unit What total value to calculate.
1285
+     * @return integer
1286
+     * 
1287
+     * @see ConvertHelper::INTERVAL_SECONDS
1288
+     * @see ConvertHelper::INTERVAL_MINUTES
1289
+     * @see ConvertHelper::INTERVAL_HOURS
1290
+     * @see ConvertHelper::INTERVAL_DAYS
1291
+     */
1292 1292
     public static function interval2total(\DateInterval $interval, $unit=self::INTERVAL_SECONDS) : int
1293 1293
     {
1294 1294
         $total = $interval->format('%a');
@@ -1328,13 +1328,13 @@  discard block
 block discarded – undo
1328 1328
         'Sunday'
1329 1329
     );
1330 1330
     
1331
-   /**
1332
-    * Converts a date to the corresponding day name.
1333
-    * 
1334
-    * @param \DateTime $date
1335
-    * @param string $short
1336
-    * @return string|NULL
1337
-    */
1331
+    /**
1332
+     * Converts a date to the corresponding day name.
1333
+     * 
1334
+     * @param \DateTime $date
1335
+     * @param string $short
1336
+     * @return string|NULL
1337
+     */
1338 1338
     public static function date2dayName(\DateTime $date, $short=false)
1339 1339
     {
1340 1340
         $day = $date->format('l');
@@ -1349,21 +1349,21 @@  discard block
 block discarded – undo
1349 1349
         return null;
1350 1350
     }
1351 1351
     
1352
-   /**
1353
-    * Retrieves a list of english day names.
1354
-    * @return string[]
1355
-    */
1352
+    /**
1353
+     * Retrieves a list of english day names.
1354
+     * @return string[]
1355
+     */
1356 1356
     public static function getDayNamesInvariant()
1357 1357
     {
1358 1358
         return self::$daysInvariant;
1359 1359
     }
1360 1360
     
1361
-   /**
1362
-    * Retrieves the day names list for the current locale.
1363
-    * 
1364
-    * @param string $short
1365
-    * @return string[]
1366
-    */
1361
+    /**
1362
+     * Retrieves the day names list for the current locale.
1363
+     * 
1364
+     * @param string $short
1365
+     * @return string[]
1366
+     */
1367 1367
     public static function getDayNames($short=false)
1368 1368
     {
1369 1369
         if($short) {
@@ -1423,16 +1423,16 @@  discard block
 block discarded – undo
1423 1423
         return $last;
1424 1424
     }
1425 1425
     
1426
-   /**
1427
-    * Splits a string into an array of all characters it is composed of.
1428
-    * Unicode character safe.
1429
-    * 
1430
-    * NOTE: Spaces and newlines (both \r and \n) are also considered single
1431
-    * characters.
1432
-    * 
1433
-    * @param string $string
1434
-    * @return array
1435
-    */
1426
+    /**
1427
+     * Splits a string into an array of all characters it is composed of.
1428
+     * Unicode character safe.
1429
+     * 
1430
+     * NOTE: Spaces and newlines (both \r and \n) are also considered single
1431
+     * characters.
1432
+     * 
1433
+     * @param string $string
1434
+     * @return array
1435
+     */
1436 1436
     public static function string2array(string $string) : array
1437 1437
     {
1438 1438
         $result = preg_split('//u', $string, null, PREG_SPLIT_NO_EMPTY);
@@ -1443,12 +1443,12 @@  discard block
 block discarded – undo
1443 1443
         return array();
1444 1444
     }
1445 1445
     
1446
-   /**
1447
-    * Checks whether the specified string contains HTML code.
1448
-    * 
1449
-    * @param string $string
1450
-    * @return boolean
1451
-    */
1446
+    /**
1447
+     * Checks whether the specified string contains HTML code.
1448
+     * 
1449
+     * @param string $string
1450
+     * @return boolean
1451
+     */
1452 1452
     public static function isStringHTML(string $string) : bool
1453 1453
     {
1454 1454
         if(preg_match('%<[a-z/][\s\S]*>%siU', $string)) {
@@ -1463,18 +1463,18 @@  discard block
 block discarded – undo
1463 1463
         return false;
1464 1464
     }
1465 1465
     
1466
-   /**
1467
-    * UTF8-safe wordwrap method: works like the regular wordwrap
1468
-    * PHP function but compatible with UTF8. Otherwise the lengths
1469
-    * are no calculated correctly.
1470
-    * 
1471
-    * @param string $str
1472
-    * @param int $width
1473
-    * @param string $break
1474
-    * @param bool $cut
1475
-    * @return string
1476
-    * @see https://stackoverflow.com/a/4988494/2298192
1477
-    */
1466
+    /**
1467
+     * UTF8-safe wordwrap method: works like the regular wordwrap
1468
+     * PHP function but compatible with UTF8. Otherwise the lengths
1469
+     * are no calculated correctly.
1470
+     * 
1471
+     * @param string $str
1472
+     * @param int $width
1473
+     * @param string $break
1474
+     * @param bool $cut
1475
+     * @return string
1476
+     * @see https://stackoverflow.com/a/4988494/2298192
1477
+     */
1478 1478
     public static function wordwrap($str, $width = 75, $break = "\n", $cut = false) 
1479 1479
     {
1480 1480
         $lines = explode($break, $str);
@@ -1520,27 +1520,27 @@  discard block
 block discarded – undo
1520 1520
         return implode($break, $lines);
1521 1521
     }
1522 1522
     
1523
-   /**
1524
-    * Calculates the byte length of a string, taking into 
1525
-    * account any unicode characters.
1526
-    * 
1527
-    * @param string $string
1528
-    * @return int
1529
-    * @see https://stackoverflow.com/a/9718273/2298192
1530
-    */
1523
+    /**
1524
+     * Calculates the byte length of a string, taking into 
1525
+     * account any unicode characters.
1526
+     * 
1527
+     * @param string $string
1528
+     * @return int
1529
+     * @see https://stackoverflow.com/a/9718273/2298192
1530
+     */
1531 1531
     public static function string2bytes($string)
1532 1532
     {
1533 1533
         return mb_strlen($string, '8bit');
1534 1534
     }
1535 1535
     
1536
-   /**
1537
-    * Creates a short, 8-character long hash for the specified string.
1538
-    * 
1539
-    * WARNING: Not cryptographically safe.
1540
-    * 
1541
-    * @param string $string
1542
-    * @return string
1543
-    */
1536
+    /**
1537
+     * Creates a short, 8-character long hash for the specified string.
1538
+     * 
1539
+     * WARNING: Not cryptographically safe.
1540
+     * 
1541
+     * @param string $string
1542
+     * @return string
1543
+     */
1544 1544
     public static function string2shortHash($string)
1545 1545
     {
1546 1546
         return hash('crc32', $string, false);
@@ -1566,23 +1566,23 @@  discard block
 block discarded – undo
1566 1566
         return ConvertHelper_ThrowableInfo::fromThrowable($e);
1567 1567
     }
1568 1568
     
1569
-   /**
1570
-    * Parses the specified query string like the native 
1571
-    * function <code>parse_str</code>, without the key
1572
-    * naming limitations.
1573
-    * 
1574
-    * Using parse_str, dots or spaces in key names are 
1575
-    * replaced by underscores. This method keeps all names
1576
-    * intact.
1577
-    * 
1578
-    * It still uses the parse_str implementation as it 
1579
-    * is tested and tried, but fixes the parameter names
1580
-    * after parsing, as needed.
1581
-    * 
1582
-    * @param string $queryString
1583
-    * @return array
1584
-    * @see https://www.php.net/manual/en/function.parse-str.php
1585
-    */
1569
+    /**
1570
+     * Parses the specified query string like the native 
1571
+     * function <code>parse_str</code>, without the key
1572
+     * naming limitations.
1573
+     * 
1574
+     * Using parse_str, dots or spaces in key names are 
1575
+     * replaced by underscores. This method keeps all names
1576
+     * intact.
1577
+     * 
1578
+     * It still uses the parse_str implementation as it 
1579
+     * is tested and tried, but fixes the parameter names
1580
+     * after parsing, as needed.
1581
+     * 
1582
+     * @param string $queryString
1583
+     * @return array
1584
+     * @see https://www.php.net/manual/en/function.parse-str.php
1585
+     */
1586 1586
     public static function parseQueryString(string $queryString) : array
1587 1587
     {
1588 1588
         // allow HTML entities notation
@@ -1622,16 +1622,16 @@  discard block
 block discarded – undo
1622 1622
             $placeholders = array();
1623 1623
             foreach($paramNames as $paramName)
1624 1624
             {
1625
-                 // create a unique placeholder name
1626
-                 $placeholder = '__PLACEHOLDER'.$counter.'__';
1625
+                    // create a unique placeholder name
1626
+                    $placeholder = '__PLACEHOLDER'.$counter.'__';
1627 1627
                  
1628
-                 // store the placeholder name to replace later
1629
-                 $table[$placeholder] = $paramName;
1628
+                    // store the placeholder name to replace later
1629
+                    $table[$placeholder] = $paramName;
1630 1630
                  
1631
-                 // add the placeholder to replace in the query string before parsing
1632
-                 $placeholders[$paramName.'='] = $placeholder.'=';
1631
+                    // add the placeholder to replace in the query string before parsing
1632
+                    $placeholders[$paramName.'='] = $placeholder.'=';
1633 1633
                  
1634
-                 $counter++;
1634
+                    $counter++;
1635 1635
             }
1636 1636
             
1637 1637
             // next challenge: replacing the parameter names by placeholders
@@ -1658,23 +1658,23 @@  discard block
 block discarded – undo
1658 1658
         
1659 1659
         foreach($parsed as $name => $value)
1660 1660
         {
1661
-             $keep[$table[$name]] = $value;
1661
+                $keep[$table[$name]] = $value;
1662 1662
         }
1663 1663
         
1664 1664
         return $keep;
1665 1665
     }
1666 1666
 
1667
-   /**
1668
-    * Searches for needle in the specified string, and returns a list
1669
-    * of all occurrences, including the matched string. The matched 
1670
-    * string is useful when doing a case insensitive search, as it 
1671
-    * shows the exact matched case of needle.
1672
-    *   
1673
-    * @param string $needle
1674
-    * @param string $haystack
1675
-    * @param bool $caseInsensitive
1676
-    * @return ConvertHelper_StringMatch[]
1677
-    */
1667
+    /**
1668
+     * Searches for needle in the specified string, and returns a list
1669
+     * of all occurrences, including the matched string. The matched 
1670
+     * string is useful when doing a case insensitive search, as it 
1671
+     * shows the exact matched case of needle.
1672
+     *   
1673
+     * @param string $needle
1674
+     * @param string $haystack
1675
+     * @param bool $caseInsensitive
1676
+     * @return ConvertHelper_StringMatch[]
1677
+     */
1678 1678
     public static function findString(string $needle, string $haystack, bool $caseInsensitive=false)
1679 1679
     {
1680 1680
         if($needle === '') {
@@ -1700,14 +1700,14 @@  discard block
 block discarded – undo
1700 1700
         return $positions;
1701 1701
     }
1702 1702
     
1703
-   /**
1704
-    * Like explode, but trims all entries, and removes 
1705
-    * empty entries from the resulting array.
1706
-    * 
1707
-    * @param string $delimiter
1708
-    * @param string $string
1709
-    * @return string[]
1710
-    */
1703
+    /**
1704
+     * Like explode, but trims all entries, and removes 
1705
+     * empty entries from the resulting array.
1706
+     * 
1707
+     * @param string $delimiter
1708
+     * @param string $string
1709
+     * @return string[]
1710
+     */
1711 1711
     public static function explodeTrim(string $delimiter, string $string) : array
1712 1712
     {
1713 1713
         if(empty($string) || empty($delimiter)) {
@@ -1729,12 +1729,12 @@  discard block
 block discarded – undo
1729 1729
     
1730 1730
     protected static $eolChars;
1731 1731
 
1732
-   /**
1733
-    * Detects the most used end-of-line character in the subject string.
1734
-    * 
1735
-    * @param string $str The string to check.
1736
-    * @return NULL|ConvertHelper_EOL The detected EOL instance, or NULL if none has been detected.
1737
-    */
1732
+    /**
1733
+     * Detects the most used end-of-line character in the subject string.
1734
+     * 
1735
+     * @param string $str The string to check.
1736
+     * @return NULL|ConvertHelper_EOL The detected EOL instance, or NULL if none has been detected.
1737
+     */
1738 1738
     public static function detectEOLCharacter(string $subjectString) : ?ConvertHelper_EOL
1739 1739
     {
1740 1740
         if(empty($subjectString)) {
@@ -1746,27 +1746,27 @@  discard block
 block discarded – undo
1746 1746
             $cr = chr((int)hexdec('0d'));
1747 1747
             $lf = chr((int)hexdec('0a'));
1748 1748
             
1749
-           self::$eolChars = array(
1750
-               array(
1751
-                   'char' => $cr.$lf,
1752
-                   'type' => ConvertHelper_EOL::TYPE_CRLF,
1753
-                   'description' => t('Carriage return followed by a line feed'),
1754
-               ),
1755
-               array(
1756
-                   'char' => $lf.$cr,
1757
-                   'type' => ConvertHelper_EOL::TYPE_LFCR,
1758
-                   'description' => t('Line feed followed by a carriage return'),
1759
-               ),
1760
-               array(
1761
-                  'char' => $lf,
1762
-                  'type' => ConvertHelper_EOL::TYPE_LF,
1763
-                  'description' => t('Line feed'),
1764
-               ),
1765
-               array(
1766
-                  'char' => $cr,
1767
-                  'type' => ConvertHelper_EOL::TYPE_CR,
1768
-                  'description' => t('Carriage Return'),
1769
-               ),
1749
+            self::$eolChars = array(
1750
+                array(
1751
+                    'char' => $cr.$lf,
1752
+                    'type' => ConvertHelper_EOL::TYPE_CRLF,
1753
+                    'description' => t('Carriage return followed by a line feed'),
1754
+                ),
1755
+                array(
1756
+                    'char' => $lf.$cr,
1757
+                    'type' => ConvertHelper_EOL::TYPE_LFCR,
1758
+                    'description' => t('Line feed followed by a carriage return'),
1759
+                ),
1760
+                array(
1761
+                    'char' => $lf,
1762
+                    'type' => ConvertHelper_EOL::TYPE_LF,
1763
+                    'description' => t('Line feed'),
1764
+                ),
1765
+                array(
1766
+                    'char' => $cr,
1767
+                    'type' => ConvertHelper_EOL::TYPE_CR,
1768
+                    'description' => t('Carriage Return'),
1769
+                ),
1770 1770
             );
1771 1771
         }
1772 1772
         
@@ -1794,13 +1794,13 @@  discard block
 block discarded – undo
1794 1794
         );
1795 1795
     }
1796 1796
 
1797
-   /**
1798
-    * Removes the specified keys from the target array,
1799
-    * if they exist.
1800
-    * 
1801
-    * @param array $array
1802
-    * @param array $keys
1803
-    */
1797
+    /**
1798
+     * Removes the specified keys from the target array,
1799
+     * if they exist.
1800
+     * 
1801
+     * @param array $array
1802
+     * @param array $keys
1803
+     */
1804 1804
     public static function arrayRemoveKeys(array &$array, array $keys) : void
1805 1805
     {
1806 1806
         foreach($keys as $key) 
@@ -1811,13 +1811,13 @@  discard block
 block discarded – undo
1811 1811
         }
1812 1812
     }
1813 1813
     
1814
-   /**
1815
-    * Checks if the specified variable is an integer or a string containing an integer.
1816
-    * Accepts both positive and negative integers.
1817
-    * 
1818
-    * @param mixed $value
1819
-    * @return bool
1820
-    */
1814
+    /**
1815
+     * Checks if the specified variable is an integer or a string containing an integer.
1816
+     * Accepts both positive and negative integers.
1817
+     * 
1818
+     * @param mixed $value
1819
+     * @return bool
1820
+     */
1821 1821
     public static function isInteger($value) : bool
1822 1822
     {
1823 1823
         if(is_int($value)) {
@@ -1837,15 +1837,15 @@  discard block
 block discarded – undo
1837 1837
         return false;    
1838 1838
     }
1839 1839
     
1840
-   /**
1841
-    * Converts an amount of seconds to a DateInterval object.
1842
-    * 
1843
-    * @param int $seconds
1844
-    * @return \DateInterval
1845
-    * @throws ConvertHelper_Exception If the date interval cannot be created.
1846
-    * 
1847
-    * @see ConvertHelper::ERROR_CANNOT_GET_DATE_DIFF
1848
-    */
1840
+    /**
1841
+     * Converts an amount of seconds to a DateInterval object.
1842
+     * 
1843
+     * @param int $seconds
1844
+     * @return \DateInterval
1845
+     * @throws ConvertHelper_Exception If the date interval cannot be created.
1846
+     * 
1847
+     * @see ConvertHelper::ERROR_CANNOT_GET_DATE_DIFF
1848
+     */
1849 1849
     public static function seconds2interval(int $seconds) : \DateInterval
1850 1850
     {
1851 1851
         // The DateInterval::format() method does not recalculate carry 
Please login to merge, or discard this patch.
src/Traits/Optionable.php 1 patch
Indentation   +82 added lines, -82 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 mixed
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 mixed
41
+     */
42 42
     public function setOption(string $name, $value) : Interface_Optionable
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) : Interface_Optionable
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,13 +193,13 @@  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;
Please login to merge, or discard this patch.
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/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
-    * @deprecated Will be replaced by the file finder in the future.
750
-    * @see FileHelper::createFileFinder()
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
+     * @deprecated Will be replaced by the file finder in the future.
750
+     * @see FileHelper::createFileFinder()
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.