$value ) { if ( 'checksum' !== $key ) { $all .= "'"; if ( 'returnUrl' === $key ) { // pretty url check.//. $a = strstr( $value, '?' ); if ( $a ) { $value .= '&wc-api=WC_Airpay'; } else { $value .= '?wc-api=WC_Airpay'; } $all .= self::sanitized_url( $value ); } else { $all .= self::sanitized_param( $value ); } $all .= "'"; } } return $all; } /** * Calculate checksum * * @param checksum $checksum checksum value. * @param all $all data. * @param secret $secret secret key. */ public static function verify_checksum( $checksum, $all, $secret ) { $cal_checksum = self::calculate_checksum( $secret, $all ); $bool = 0; if ( $checksum === $cal_checksum ) { $bool = 1; } return $bool; } /** * Calculate checksum * * @param param $param value for sanitization. */ public static function sanitized_param( $param ) { $pattern[0] = '%,%'; $pattern[1] = '%#%'; $pattern[2] = '%\(%'; $pattern[3] = '%\)%'; $pattern[4] = '%\{%'; $pattern[5] = '%\}%'; $pattern[6] = '%<%'; $pattern[7] = '%>%'; $pattern[8] = '%`%'; $pattern[9] = '%!%'; $pattern[10] = '%\$%'; $pattern[11] = '%\%%'; $pattern[12] = '%\^%'; $pattern[13] = '%=%'; $pattern[14] = '%\+%'; $pattern[15] = '%\|%'; $pattern[16] = '%\\\%'; $pattern[17] = '%:%'; $pattern[18] = "%'%"; $pattern[19] = '%"%'; $pattern[20] = '%;%'; $pattern[21] = '%~%'; $pattern[22] = '%\[%'; $pattern[23] = '%\]%'; $pattern[24] = '%\*%'; $pattern[25] = '%&%'; $sanitized_param = preg_replace( $pattern, '', $param ); return $sanitized_param; } /** * Calculate checksum * * @param param $param value for sanitization. */ public static function sanitized_url( $param ) { $pattern[0] = '%,%'; $pattern[1] = '%\(%'; $pattern[2] = '%\)%'; $pattern[3] = '%\{%'; $pattern[4] = '%\}%'; $pattern[5] = '%<%'; $pattern[6] = '%>%'; $pattern[7] = '%`%'; $pattern[8] = '%!%'; $pattern[9] = '%\$%'; $pattern[10] = '%\%%'; $pattern[11] = '%\^%'; $pattern[12] = '%\+%'; $pattern[13] = '%\|%'; $pattern[14] = '%\\\%'; $pattern[15] = "%'%"; $pattern[16] = '%"%'; $pattern[17] = '%;%'; $pattern[18] = '%~%'; $pattern[19] = '%\[%'; $pattern[20] = '%\]%'; $pattern[21] = '%\*%'; $sanitized_param = preg_replace( $pattern, '', $param ); return $sanitized_param; } }