=128 && $length <= 512) { $r = substr($r, 0, $length/8); } if (!$raw) { $r = strhex($r); } return $r; } function temphash($var, $length=128, $raw=false) { if (!$val = Cache::read('_temphash')) { Cache::set('_temphash', $val = hexstr(random())); } return uniquehash(cxor($var, $val), $length, $raw); } function decode_ip($int_ip) { $hexipbang = explode('.', chunk_split($int_ip, 2, '.')); return hexdec($hexipbang[0]). '.' . hexdec($hexipbang[1]) . '.' . hexdec($hexipbang[2]) . '.' . hexdec($hexipbang[3]); } function encode_ip($dotquad_ip=false) { if (!$dotquad_ip) { $dotquad_ip = $_SERVER['REMOTE_ADDR']; } $ip_sep = explode('.', $dotquad_ip); if (empty($ip_sep[3])) { $ip_sep = explode('.', "127.0.0.1"); } return sprintf('%02x%02x%02x%02x', $ip_sep[0], $ip_sep[1], $ip_sep[2], $ip_sep[3]); } function url($string, $external=false) { if ($external) { return htmlspecialchars($string); } global $VAR; if (!empty($VAR['rewrite_url'])) { $masque = $VAR['rewrite_url']['masque']; $replace = $VAR['rewrite_url']['replace']; $var = preg_replace($masque, $replace, $string); return htmlspecialchars($var); } else { return htmlspecialchars($string); } }