Overview
  • Namespace
  • Class

Namespaces

  • Satabank
    • IPC

Classes

  • Satabank\IPC\Base
  • Satabank\IPC\Cart
  • Satabank\IPC\Config
  • Satabank\IPC\Customer
  • Satabank\IPC\Defines
  • Satabank\IPC\GetTxnStatus
  • Satabank\IPC\Helper
  • Satabank\IPC\IPCGetTxnLog
  • Satabank\IPC\Loader
  • Satabank\IPC\Purchase
  • Satabank\IPC\Refund
  • Satabank\IPC\Response

Exceptions

  • Satabank\IPC\IPC_Exception
  1 <?php
  2 
  3 namespace Satabank\IPC;
  4 
  5 /**
  6  * IPC Library helper functions
  7  */
  8 class Helper{
  9 
 10     /**
 11      * Validate email address
 12      * @param string $email
 13      * @return boolean
 14      */
 15     public static function isValidEmail($email){
 16         return filter_var($email, FILTER_VALIDATE_EMAIL);
 17     }
 18 
 19     /**
 20      * Validate URL address
 21      * @param string $url
 22      * @return boolean
 23      */
 24     public static function isValidURL($url){
 25         return filter_var($url, FILTER_VALIDATE_URL);
 26     }
 27 
 28     /**
 29      * Validate IP address
 30      * @param string $ip
 31      * @return boolean
 32      */
 33     public static function isValidIP($ip){
 34         return filter_var($ip, FILTER_VALIDATE_IP);
 35     }
 36 
 37     /**
 38      * Validate customer names
 39      * @param string $name
 40      * @return boolean
 41      */
 42     public static function isValidName($name){
 43         return preg_match("/^[a-zA-Z ]*$/", $name);
 44     }
 45 
 46     /**
 47      * Validate amount.
 48      * @param float $amt
 49      * @return boolean
 50      */
 51     public static function isValidAmount($amt){
 52         return preg_match('/^(-)?[0-9]+(?:\.[0-9]{0,2})?$/', $amt);
 53     }
 54 
 55     /**
 56      * Validate if currency is acceptable by API
 57      * @param string $currency ISO 4217 code
 58      * @return boolean
 59      */
 60     public static function isValidCurrency($currency){
 61         return in_array(strtoupper($currency), explode(';', Defines::AVL_CURRENCIES));
 62     }
 63 
 64     /**
 65      * Validate quantity
 66      * @param int $quantity
 67      * @return boolean
 68      */
 69     public static function isValidCartQuantity($quantity){
 70         return is_int($quantity) && $quantity > 0;
 71     }
 72 
 73     /**
 74      * Validate transaction reference
 75      * @param string $trnref
 76      * @return boolean
 77      */
 78     public static function isValidTrnRef($trnref){
 79         #TODO
 80         return true;
 81     }
 82 
 83     /**
 84      * Validate Order ID
 85      * @param string $trnref
 86      * @return boolean
 87      */
 88     public static function isValidOrderId($trnref){
 89         #TODO
 90         return true;
 91     }
 92 
 93     /**
 94      * Validate output format
 95      * @param string $outputFormat
 96      * @return boolean
 97      */
 98     public static function isValidOutputFormat($outputFormat){
 99         return in_array($outputFormat, array(Defines::COMMUNICATION_FORMAT_XML, Defines::COMMUNICATION_FORMAT_JSON));
100     }
101 
102     /**
103      * Escape HTML special chars
104      * @param string $text
105      * @return string type
106      */
107     public static function escape($text){
108         $text = htmlspecialchars_decode($text, ENT_QUOTES);
109         return htmlspecialchars($text, ENT_QUOTES);
110     }
111 
112     /**
113      * Unescape HTML special chars
114      * @param string $text
115      * @return string
116      */
117     public static function unescape($text){
118         return htmlspecialchars_decode($text, ENT_QUOTES);
119     }
120 
121     /**
122      * Return associative array element by key. 
123      * If key not found in array returns $default
124      * If $notEmpty argument is TRUE returns $default even if key is found in array but the element has empty value(0, null, '')
125      * 
126      * @param array $array
127      * @param mixed $key
128      * @param string $default
129      * @param bool $notEmpty
130      * @return mixed
131      */
132     public static function getArrayVal($array, $key, $default = '', $notEmpty = false){
133         if(!is_array($array)){
134             return $default;
135         }
136         if($notEmpty){
137             if(array_key_exists($key, $array)){
138                 $val = trim($array[$key]);
139                 if(!empty($val)){
140                     return $val;
141                 }
142             }
143             return $default;
144         }else{
145             return array_key_exists($key, $array) ? $array[$key] : $default;
146         }
147     }
148 
149     /**
150      * Returns one-dimensional array with all values from multi-dimensional array
151      * Useful when create request signature where only array values matter
152      * 
153      * @param array $array
154      * @param array $values
155      * @return array
156      */
157     public static function getValuesFromMultiDemensionalArray($array, $values = array()){
158         if(!is_array($array)){
159             return $values;
160         }
161         foreach($array as $k => $v){
162             if(is_array($v)){
163                 $values = self::getValuesFromMultiDemensionalArray($v, $values);
164             }else{
165                 $values[] = $v;
166             }
167         }
168         return $values;
169     }
170 
171 }
172 
API documentation generated by ApiGen