library('json'); $jsonobj = new Services_JSON(SERVICES_JSON_LOOSE_TYPE); } return $jsonobj->encode($value); } } if (!function_exists('json_decode')) { function json_decode($jsonString) { static $jsonobj; if (!isset($jsonobj)) { load()->library('json'); $jsonobj = new Services_JSON(SERVICES_JSON_LOOSE_TYPE); } return $jsonobj->decode($jsonString); } } if (!function_exists('http_build_query')) { function http_build_query($formdata, $numeric_prefix = null, $arg_separator = null) { if (!is_array($formdata)) return false; if ($arg_separator == null) $arg_separator = '&'; return http_build_recursive($formdata, $arg_separator); } function http_build_recursive($formdata, $separator, $key = '', $prefix = '') { $rlt = ''; foreach ($formdata as $k => $v) { if (is_array($v)) { if ($key) $rlt .= http_build_recursive($v, $separator, $key . '[' . $k . ']', $prefix); else $rlt .= http_build_recursive($v, $separator, $k, $prefix); } else { if ($key) $rlt .= $prefix . $key . '[' . urlencode($k) . ']=' . urldecode($v) . '&'; else $rlt .= $prefix . urldecode($k) . '=' . urldecode($v) . '&'; } } return $rlt; } } if (!function_exists('file_put_contents')) { function file_put_contents($file, $string) { $fp = @fopen($file, 'w') or exit("Can not open $file"); flock($fp, LOCK_EX); $stringlen = @fwrite($fp, $string); flock($fp, LOCK_UN); @fclose($fp); return $stringlen; } } if (!function_exists('getimagesizefromstring')) { function getimagesizefromstring($string_data) { $uri = 'data://application/octet-stream;base64,' . base64_encode($string_data); return getimagesize($uri); } } if (!defined('JSON_UNESCAPED_UNICODE')) { define('JSON_UNESCAPED_UNICODE', 256); } if (!function_exists('hex2bin')) { function hex2bin($str) { $sbin = ''; $len = strlen($str); for ($i = 0; $i < $len; $i += 2) { $sbin .= pack("H*", substr($str, $i, 2)); } return $sbin; } } if (!function_exists('mb_strlen')) { function mb_strlen($string, $charset = '') { return istrlen($string, $charset); } } if (!interface_exists('SessionHandlerInterface')) { interface SessionHandlerInterface {} } if (!function_exists("fastcgi_finish_request")) { function fastcgi_finish_request() { return error(-1, 'Not npm or fast cgi'); } } if (!function_exists('openssl_decrypt')) { function openssl_decrypt($ciphertext_dec, $method, $key, $options, $iv) { $module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, ''); mcrypt_generic_init($module, $key, $iv); $decrypted = mdecrypt_generic($module, $ciphertext_dec); mcrypt_generic_deinit($module); mcrypt_module_close($module); return $decrypted; } } if (!function_exists('openssl_encrypt')) { function openssl_encrypt($text, $method, $key, $options, $iv) { $module = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, ''); mcrypt_generic_init($module, $key, $iv); $encrypted = mcrypt_generic($module, $text); mcrypt_generic_deinit($module); mcrypt_module_close($module); return $encrypted; } } if (!function_exists('array_column')) { function array_column($input, $columnKey, $indexKey = NULL) { $columnKeyIsNumber = (is_numeric($columnKey)) ? true : false; $indexKeyIsNull = (is_null($indexKey)) ? true : false; $indexKeyIsNumber = (is_numeric($indexKey)) ? true : false; $result = array(); foreach ((array)$input AS $key => $row) { if ($columnKeyIsNumber) { $tmp = array_slice($row, $columnKey, 1); $tmp = (is_array($tmp) && !empty($tmp)) ? current($tmp) : NULL; } else { $tmp = isset($row[$columnKey]) ? $row[$columnKey] : NULL; } if (!$indexKeyIsNull) { if ($indexKeyIsNumber) { $key = array_slice($row, $indexKey, 1); $key = (is_array($key) && ! empty($key)) ? current($key) : NULL; $key = is_null($key) ? 0 : $key; } else { $key = isset($row[$indexKey]) ? $row[$indexKey] : 0; } } $result[$key] = $tmp; } return $result; } } if (!function_exists('boolval')) { function boolval($val) { return (bool) $val; } }