www.gusucode.com > ShopEx481 & PHPWind 整合版码程序 > bbs/wap/wap_mod.php
<?php !function_exists('readover') && exit('Forbidden'); function wap_header($id,$title,$url="",$t=""){ header("Content-type: text/vnd.wap.wml;"); require PrintEot('wap_header'); } function wap_footer(){ global $wind_version,$db_obstart,$windid,$charset,$db_wapcharset,$prog; require_once PrintEot('wap_footer'); $output = str_replace(array('<!--<!---->','<!---->',substr(R_P,0,-1)),'',ob_get_contents()); if($charset != 'utf8'){ $chs = new Chinese($charset,($db_wapcharset ? 'UTF8' : 'UNICODE')); $output=$chs->Convert($output); } ob_end_clean(); $db_obstart && function_exists('ob_gzhandler') ? ob_start('ob_gzhandler') : ob_start(); echo $output; flush; exit; } function wap_output($output){ echo $output; } function wap_msg($msg,$url="",$t="30"){ @extract($GLOBALS, EXTR_SKIP); global $db_bbsname,$db_obstart; ob_end_clean(); $db_obstart && function_exists('ob_gzhandler') ? ob_start('ob_gzhandler') : ob_start(); wap_header('msg',$db_bbsname,$url,$t); require_once GetLang('wap'); $lang[$msg] && $msg=$lang[$msg]; wap_output("<p>$msg</p>\n"); wap_footer(); } function wap_login($username,$password,$safecv,$lgt=0){ global $db,$timestamp,$onlineip,$db_ckpath,$db_ckdomain,$db_bbsurl,$db_ifsafecv; $men=$db->get_one("SELECT m.uid,m.password,m.safecv,m.groupid,m.yz,md.onlineip FROM pw_members m LEFT JOIN pw_memberdata md ON md.uid=m.uid WHERE m.".($lgt ? 'uid' : 'username')."='$username'"); if($men){ $e_login=explode("|",$men['onlineip']); if($e_login[0]!=$onlineip.' *' || ($timestamp-$e_login[1])>600 || $e_login[2]>1 ){ $men_uid=$men['uid']; $men_pwd=$men['password']; $check_pwd=$password; if($men['yz'] > 2){ wap_msg('login_jihuo'); } if(strlen($men_pwd)==16){ $check_pwd=substr($password,8,16);/*支持 16 位 md5截取密码*/ } if($men_pwd==$check_pwd && (!$db_ifsafecv || $men['safecv']==$safecv)){ if(strlen($men_pwd)==16){ $db->update("UPDATE pw_members SET password='$password' WHERE uid='$men_uid'"); } $L_groupid=(int)$men['groupid']; Cookie("ck_info",$db_ckpath."\t".$db_ckdomain); }else{ global $L_T; $L_T=$e_login[2]; $L_T ? $L_T--:$L_T=5; $F_login="$onlineip *|$timestamp|$L_T"; $db->update("UPDATE pw_memberdata SET onlineip='$F_login' WHERE uid='$men_uid'"); wap_msg('login_pwd_error'); } }else{ global $L_T; $L_T=600-($timestamp-$e_login[1]); wap_msg('login_forbid'); } } else { global $errorname; $errorname=$username; wap_msg('user_not_exists'); } Cookie("winduser",StrCode($men_uid."\t".PwdCode($password)."\t".$safecv)); Cookie('lastvisit','',0); wap_msg('wap_login','index.php'); } function wap_quest($question,$customquest,$answer){ $question = $question=='-1' ? $customquest : $question; return $question ? substr(md5(md5($question).md5($answer)),8,10) : ''; } function wap_numofpage($page,$numofpage,$url,$max=null){ $total = $numofpage; if(!empty($max)){ $max = (int)$max; $numofpage > $max && $numofpage = $max; } if($numofpage <= 1 || !is_numeric($page)){ return ''; } else{ list($url,$mao) = explode('#',$url); $mao && $mao = '#'.$mao; $pages = "<small><a href=\"{$url}page=1$mao\"><<</a>"; for($i=$page-2;$i<=$page-1;$i++){ if($i<1) continue; $pages .= " <a href=\"{$url}page=$i$mao\">$i</a>"; } $pages .= " <b>$page</b>"; if($page < $numofpage){ $flag = 0; for($i=$page+1;$i<=$numofpage;$i++){ $pages .= " <a href=\"{$url}page=$i$mao\">$i</a>"; $flag++; if($flag==2) break; } } $pages .= "</small><input type=\"text\" name=\"page\" size=\"3\" format=\"*N\" /> <do type=\"accept\" label=\"GO\"><go href=\"$url\" method=\"post\"><postfield name=\"page\" value=\"$(page)\" /></go></do><small><a href=\"{$url}page=$numofpage$mao\">>></a> ($page/$total)</small>"; return $pages; } } function wap_cv($msg){ $msg = str_replace(array('"',''','<','>',' '),array('"',"'",'<','>',' '),$msg); return str_replace(array('&',' ','"',"'","<",">","\t","\r"," ",),array('&',' ','"',''',"<",">","    ","","   ",),$msg); } function wap_code($string) { $string = preg_replace("/\[post\](.+?)\[\/post\]/is","",$string); $string = preg_replace("/\[hide=(.+?)\](.+?)\[\/hide\]/is","",$string); $string = preg_replace("/\[sell=(.+?)\](.+?)\[\/sell\]/is","",$string); $string = preg_replace("/\[code\](.+?)\[\/code\]/eis","wap_getcode('\\1')",$string); $string = preg_replace("/\[quote\](.+?)\[\/quote\]/eis","wap_getquote('\\1')",$string); $string = str_replace(array('[u]','[/u]','[b]','[/b]','[i]','[/i]','[s]','[/s]'),array('<u>','</u>','<b>','</b>','<i>','</i>','<small>','</small>'),$string); $string = wap_clscode($string); return $string; } function wap_getcode($string){ $string = str_replace(array('[',']'),array('[',']'),$string); return '[s][i]'.$string.'[/i][/s]'; } function wap_getquote($string){ $string = wap_clscode($string); return '[s][i]'.$string.'[/i][/s]'; } function wap_clscode($string){ for($i=0;$i<5;$i++){ $string = str_replace("\n\n","\n",$string); $string = preg_replace("/\[(.+?)\](.+?)\[\/\\1\]/is", "\\2", $string); $string = preg_replace("/\[(.+?)=(.+?)\](.+?)\[\/\\1\]/is", "\\3", $string); } $string = str_replace("\n",'<br />',$string); return $string; } ?>