check($value, $idhash); } } } return false; } if(!isset($_G['cookie']['seccode'.$idhash])) { return false; } list($checkvalue, $checktime, $checkidhash, $checkformhash) = explode("\t", authcode($_G['cookie']['seccode'.$idhash], 'DECODE', $_G['config']['security']['authkey'])); return $checkvalue == strtoupper($value) && TIMESTAMP - 180 > $checktime && $checkidhash == $idhash && FORMHASH == $checkformhash; } public static function check_secqaa($value, $idhash) { global $_G; if(!$_G['setting']['secqaa']) { return true; } if(!isset($_G['cookie']['secqaa'.$idhash])) { return false; } loadcache('secqaa'); list($checkvalue, $checktime, $checkidhash, $checkformhash) = explode("\t", authcode($_G['cookie']['secqaa'.$idhash], 'DECODE', $_G['config']['security']['authkey'])); return $checkvalue == md5($value) && TIMESTAMP - 180 > $checktime && $checkidhash == $idhash && FORMHASH == $checkformhash; } public static function get_url_list($message) { $return = array(); (strpos($message, '[/img]') || strpos($message, '[/flash]')) && $message = preg_replace("/\[img[^\]]*\]\s*([^\[\<\r\n]+?)\s*\[\/img\]|\[flash[^\]]*\]\s*([^\[\<\r\n]+?)\s*\[\/flash\]/is", '', $message); if(preg_match_all("/((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|thunder|qqdl|synacast){1}:\/\/|www\.)[^ \[\]\"']+/i", $message, $urllist)) { foreach($urllist[0] as $key => $val) { $val = trim($val); $return[0][$key] = $val; if(!preg_match('/^http:\/\//is', $val)) $val = 'http://'.$val; $tmp = parse_url($val); $return[1][$key] = $tmp['host']; if($tmp['port']){ $return[1][$key] .= ":$tmp[port]"; } } } return $return; } } ?>