1 <?php
2
3 namespace Mypos\IPC;
4
5 6 7
8 class Helper
9 {
10
11 private function __construct() {}
12
13 14 15 16 17
18 public static function isValidEmail($email)
19 {
20 return filter_var($email, FILTER_VALIDATE_EMAIL);
21 }
22
23 24 25 26 27
28 public static function isValidURL($url)
29 {
30 return filter_var($url, FILTER_VALIDATE_URL);
31 }
32
33 34 35 36 37
38 public static function isValidIP($ip)
39 {
40 return filter_var($ip, FILTER_VALIDATE_IP);
41 }
42
43 44 45 46 47
48 public static function isValidName($name)
49 {
50 return preg_match("/^[a-zA-Z ]*$/", $name);
51 }
52
53 54 55 56 57
58 public static function isValidAmount($amt)
59 {
60 return preg_match('/^(-)?[0-9]+(?:\.[0-9]{0,2})?$/', $amt);
61 }
62
63 64 65 66 67
68 public static function isValidCurrency($currency)
69 {
70 return in_array(strtoupper($currency), explode(';', Defines::AVL_CURRENCIES));
71 }
72
73 74 75 76 77
78 public static function isValidCartQuantity($quantity)
79 {
80 return is_int($quantity) && $quantity > 0;
81 }
82
83 84 85 86 87
88 public static function isValidTrnRef($trnref)
89 {
90
91 return true;
92 }
93
94 95 96 97 98
99 public static function isValidOrderId($trnref)
100 {
101
102 return true;
103 }
104
105 106 107 108 109
110 public static function isValidOutputFormat($outputFormat)
111 {
112 return in_array($outputFormat, array(Defines::COMMUNICATION_FORMAT_XML, Defines::COMMUNICATION_FORMAT_JSON));
113 }
114
115 116 117 118 119
120 public static function isValidCardNumber($cardNo)
121 {
122 $cardNo = str_replace(" ", "", trim($cardNo));
123 if ((!is_numeric($cardNo)) || (strlen($cardNo) > 19) || (strlen($cardNo) < 13)) return false;
124 $sum = $dub = $add = $chk = 0;
125 $even = 0;
126 for ($i = strlen($cardNo) - 1; $i >= 0; $i--) {
127 if ($even == 1) {
128 $dub = 2 * $cardNo[$i];
129 if ($dub > 9) {
130 $add = $dub - 9;
131 } else {
132 $add = $dub;
133 }
134 $even = 0;
135 } else {
136 $add = $cardNo[$i];
137 $even = 1;
138 }
139 $sum += $add;
140 }
141 return (($sum % 10) == 0);
142 }
143
144 145 146 147 148
149 public static function isValidCVC($cvc)
150 {
151 return (is_numeric($cvc) && strlen($cvc) == 3);
152 }
153
154
155 156 157 158 159
160 public static function escape($text)
161 {
162 $text = htmlspecialchars_decode($text, ENT_QUOTES);
163 return htmlspecialchars($text, ENT_QUOTES);
164 }
165
166 167 168 169 170
171 public static function unescape($text)
172 {
173 return htmlspecialchars_decode($text, ENT_QUOTES);
174 }
175
176 177 178 179 180 181 182 183 184 185 186
187 public static function getArrayVal($array, $key, $default = '', $notEmpty = false)
188 {
189 if (!is_array($array)) {
190 return $default;
191 }
192 if ($notEmpty) {
193 if (array_key_exists($key, $array)) {
194 $val = trim($array[$key]);
195 if (!empty($val)) {
196 return $val;
197 }
198 }
199 return $default;
200 } else {
201 return array_key_exists($key, $array) ? $array[$key] : $default;
202 }
203 }
204
205 206 207 208 209 210 211 212
213 public static function getValuesFromMultiDemensionalArray($array, $values = array())
214 {
215 if (!is_array($array)) {
216 return $values;
217 }
218 foreach ($array as $k => $v) {
219 if (is_array($v)) {
220 $values = self::getValuesFromMultiDemensionalArray($v, $values);
221 } else {
222 $values[] = $v;
223 }
224 }
225 return $values;
226 }
227 }
228