diff --git a/include/function.php b/include/function.php index 314b6ff..d100271 100644 --- a/include/function.php +++ b/include/function.php @@ -11,7 +11,41 @@ function isMobile() { } // 判断手机发送的客户端标志,兼容性有待提高。其中'MicroMessenger'是电脑微信 if (isset($_SERVER['HTTP_USER_AGENT'])) { - $clientkeywords = array('nokia', 'sony', 'ericsson', 'mot', 'samsung', 'htc', 'sgh', 'lg', 'sharp', 'sie-', 'philips', 'panasonic', 'alcatel', 'lenovo', 'iphone', 'ipod', 'blackberry', 'meizu', 'android', 'netfront', 'symbian', 'ucweb', 'windowsce', 'palm', 'operamini', 'operamobi', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile', 'MicroMessenger'); + $clientkeywords = array( + 'nokia', + 'sony', + 'ericsson', + 'mot', + 'samsung', + 'htc', + 'sgh', + 'lg', + 'sharp', + 'sie-', + 'philips', + 'panasonic', + 'alcatel', + 'lenovo', + 'iphone', + 'ipod', + 'blackberry', + 'meizu', + 'android', + 'netfront', + 'symbian', + 'ucweb', + 'windowsce', + 'palm', + 'operamini', + 'operamobi', + 'openwave', + 'nexusone', + 'cldc', + 'midp', + 'wap', + 'mobile', + 'MicroMessenger' + ); // 从HTTP_USER_AGENT中查找手机浏览器的关键字 if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) { return true; @@ -27,79 +61,72 @@ function isMobile() { } return false; } -if (ismobile() == true) {$ua = 'wap';}else {$ua = 'pc';} - - - -function daddslashes($string, $force = 0, $strip = FALSE) { - !defined('MAGIC_QUOTES_GPC') && define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc()); - if(!MAGIC_QUOTES_GPC || $force) { - if(is_array($string)) { - foreach($string as $key => $val) { - $string[$key] = daddslashes($val, $force, $strip); - } - } else { - $string = addslashes($strip ? stripslashes($string) : $string); - } - } - return $string; +if (ismobile() == true) { + $ua = 'wap'; +} else { + $ua = 'pc'; +} +function daddslashes($string) { + if (is_array($string)) { + foreach ($string as $key => $val) { + $string[$key] = daddslashes($val, $force, $strip); + } + } else { + $string = addslashes($strip ? stripslashes($string) : $string); + } + return $string; } - - function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) { - $ckey_length = 4; - $key = md5($key ? $key : ENCRYPT_KEY); - $keya = md5(substr($key, 0, 16)); - $keyb = md5(substr($key, 16, 16)); - $keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length): substr(md5(microtime()), -$ckey_length)) : ''; - $cryptkey = $keya.md5($keya.$keyc); - $key_length = strlen($cryptkey); - $string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0).substr(md5($string.$keyb), 0, 16).$string; - $string_length = strlen($string); - $result = ''; - $box = range(0, 255); - $rndkey = array(); - for($i = 0; $i <= 255; $i++) { - $rndkey[$i] = ord($cryptkey[$i % $key_length]); - } - for($j = $i = 0; $i < 256; $i++) { - $j = ($j + $box[$i] + $rndkey[$i]) % 256; - $tmp = $box[$i]; - $box[$i] = $box[$j]; - $box[$j] = $tmp; - } - for($a = $j = $i = 0; $i < $string_length; $i++) { - $a = ($a + 1) % 256; - $j = ($j + $box[$a]) % 256; - $tmp = $box[$a]; - $box[$a] = $box[$j]; - $box[$j] = $tmp; - $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256])); - } - if($operation == 'DECODE') { - if((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16)) { - return substr($result, 26); - } else { - return ''; - } - } else { - return $keyc.str_replace('=', '', base64_encode($result)); - } + $ckey_length = 4; + $key = md5($key ? $key : ENCRYPT_KEY); + $keya = md5(substr($key, 0, 16)); + $keyb = md5(substr($key, 16, 16)); + $keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length) : substr(md5(microtime()) , -$ckey_length)) : ''; + $cryptkey = $keya . md5($keya . $keyc); + $key_length = strlen($cryptkey); + $string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0) . substr(md5($string . $keyb) , 0, 16) . $string; + $string_length = strlen($string); + $result = ''; + $box = range(0, 255); + $rndkey = array(); + for ($i = 0; $i <= 255; $i++) { + $rndkey[$i] = ord($cryptkey[$i % $key_length]); + } + for ($j = $i = 0; $i < 256; $i++) { + $j = ($j + $box[$i] + $rndkey[$i]) % 256; + $tmp = $box[$i]; + $box[$i] = $box[$j]; + $box[$j] = $tmp; + } + for ($a = $j = $i = 0; $i < $string_length; $i++) { + $a = ($a + 1) % 256; + $j = ($j + $box[$a]) % 256; + $tmp = $box[$a]; + $box[$a] = $box[$j]; + $box[$j] = $tmp; + $result.= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256])); + } + if ($operation == 'DECODE') { + if ((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26) . $keyb) , 0, 16)) { + return substr($result, 26); + } else { + return ''; + } + } else { + return $keyc . str_replace('=', '', base64_encode($result)); + } } - function update() { -$update_host = 'cdn.lylme.com'; //程序更新服务器,请勿删除和修改,否则将导致无法接收版本更新和报错 -@$update = json_decode(file_get_contents('https://'.$update_host.'/lylmes_page/update.json'), true); -return $update; + $update_host = 'cdn.lylme.com'; //程序更新服务器,请勿删除和修改,否则将导致无法接收版本更新和报错 + @$update = json_decode(file_get_contents('https://' . $update_host . '/lylmes_page/update.json') , true); + return $update; } - -function getver($ver){ - $vn=explode('.',str_replace('v','',$ver)); - return $vn[0].sprintf("%02d",$vn[1]).sprintf("%02d",$vn[2]); +function getver($ver) { + $vn = explode('.', str_replace('v', '', $ver)); + return $vn[0] . sprintf("%02d", $vn[1]) . sprintf("%02d", $vn[2]); } - -function saveSetting($k, $v){ - $v = daddslashes($v); - return mysqli_query($GLOBALS['con'],"UPDATE `lylme_config` SET `v` = '$v' WHERE `lylme_config`.`k` = '$k';"); +function saveSetting($k, $v) { + $v = daddslashes($v); + return $DB->query("UPDATE `lylme_config` SET `v` = '$v' WHERE `lylme_config`.`k` = '$k';"); } - +?> \ No newline at end of file