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\">&#60;&#60;</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\">&#62;&#62;</a> ($page/$total)</small>";
		return $pages;
	}
}
function wap_cv($msg){
	$msg = str_replace(array('&quot;','&#39;','&lt;','&gt;','&nbsp;'),array('"',"'",'<','>',' '),$msg);
	return str_replace(array('&','&nbsp;','"',"'","<",">","\t","\r","   ",),array('&#38;',' ','&#34;','&#39;',"&#60;","&#62;","   &#160;  &#160;",""," &#160; ",),$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('&#91;','&#93;'),$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;
}
?>