⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 profile.php

📁 很好的一套PHP树形论坛程序
💻 PHP
📖 第 1 页 / 共 2 页
字号:
			$S_key=array("\\",'&',' ',"'",'"','/','*',',','<','>',"\r","\t","\n",'#');
			foreach($S_key as $value){
				if (strpos($propwd,$value)!==false){ 
					Showmsg('illegal_password'); 
				}
			}
			$userdb['password']=$propwd;
			$userdb['password']=str_replace("\t","",$userdb['password']); 
			$userdb['password']=str_replace("\r","",$userdb['password']); 
			$userdb['password']=str_replace("\n","",$userdb['password']);
			$userdb['password']=md5($userdb['password']);
		}

		$userdb['publicmail'] =(int)$propublicemail;
		$userdb['receivemail']=(int)$proreceivemail;
		if (!ereg("^[-a-zA-Z0-9_\.]+\@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,5}$",$userdb['email'])) {
			Showmsg('illegal_email'); 
		}
		if ($payemail && !ereg("^[-a-zA-Z0-9_\.]+\@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,5}$",$payemail)) {
			Showmsg('illegal_email'); 
		}
		if (!ereg("^[0-9]{0,}$",$userdb['oicq'])){
			Showmsg('illegal_OICQ');
		}
		if (!ereg("^[0-9]{0,}$",$userdb['icq'])){
			Showmsg('illegal_OICQ'); 
		}
		if (strlen($userdb['signature'])>$gp_signnum && $gp_signnum!=0){
			Showmsg('sign_limit');
		}
		if (strlen($userdb['introduce'])>500){
			Showmsg('introduce_limit'); 
		}
		if (@include_once(D_P."data/bbscache/wordsfb.php")){
			if($wordsfb){
				foreach($wordsfb as $key => $value){
					$key = str_replace('/','\/',$key);
					if(preg_match("/$key/i",$userdb['signature'])){
						$banword = $key;
						Showmsg('post_wordsfb');
					}
					if(preg_match("/$key/i",$userdb['introduce'])){
						$banword = $key;
						Showmsg('post_wordsfb');
					}
				}
			}
		}
		if (!empty($proyear)||!empty($promonth)||!empty($proday)){
			$userdb['bday']=$proyear."-".$promonth."-".$proday;
		}
		$userdb['site']		= Char_cv($userdb['site']);
		$userdb['introduce']= Char_cv($userdb['introduce']);
		$userdb['signature']= Char_cv($userdb['signature']);	 
		$userdb['location'] = Char_cv($userdb['location']);
		$tpskin = Char_cv($tpskin);
		$date_f = Char_cv($date_f);
		$timedf = Char_cv($timedf);
		$lxsign=convert($userdb['signature'],$db_windpic,2);
		if ($lxsign==$userdb['signature']){
			$userdb['signchange']=1;
		} else{
			$userdb['signchange']=2;
		}
		if ($gp_allowhonor) {
			$prohonor=Char_cv($prohonor);
		} else{
			$prohonor=$userdb['honor'];
		}
		$prohonor=substrs($prohonor,30);
		$iconarray=explode('|',$userdb['icon']);

		if ($iconarray[1] && ereg("^[0-9]{1,9}",$iconarray[1])){
			$haveupload=1;
		} else{
			$haveupload=0;
		}

		unset($source);
		$upload=$_FILES['upload'];
		if (is_array($upload)){
			$upload_name=$upload['name'];
			$upload_size=$upload['size'];
			$upload=$upload['tmp_name'];
		}
		if ($upload && $upload!='none'){
			$attach_ext = strtolower(substr(strrchr($upload_name,'.'),1));
			if (!if_uploaded_file($upload)){
				Showmsg('pro_loadimg_error');
			} elseif (!in_array($attach_ext, array('gif','jpg','bmp'))) {
				Showmsg('illegal_loadimg');
			}
			if ($haveupload==1){
				Showmsg('pro_loadimg_fail');
			}
			!$db_upload && Showmsg('pro_loadimg_close');
			$gp_upload==0 && Showmsg('pro_loadimg_right');
			if ($upload_size>$db_imgsize){
				Showmsg('pro_loadimg_limit');
			}
			$source=$imgdir.'/upload/'.(int)$winduid.'.'.$attach_ext;
			$proownportait[0]=$winduid.'.'.$attach_ext;

			if(!postupload($upload,$source)){
				Showmsg('pro_loadimg_error');
			}
			if (function_exists('getimagesize') && !(list($proownportait[1],$proownportait[2])=getimagesize($source))){
				P_unlink($source);
				Showmsg('pro_loadimg_error');
			}
			if ($proownportait[1]>$db_imgwidth || $proownportait[2]>$db_imglen){
				P_unlink($source);
				Showmsg('pro_loadimg_sizelimit');
			}
			$proownportait[1]=$proownportait[2]='';
			
		}elseif ($gp_allowportait && $proownportait[0]){
			
			if ($haveupload==1){
				Showmsg('pro_custom_fail');
			}
			$proownportait[0]=Char_cv($proownportait[0]);
			if (!ereg("^http",$proownportait[0]) || strrpos($proownportait[0],'|')!==false){
				Showmsg('illegal_customimg');
			}
			if (!ereg("^[0-9]{2,3}$",$proownportait[1]) || !ereg("^[0-9]{2,3}$",$proownportait[2]) || $proownportait[1]>185 || $proownportait[2]>200){
				Showmsg('illegal_customimg');
			}
		}elseif ($haveupload==1){
			$proownportait[0]=$iconarray[1];
			$proownportait[1]=$proownportait[2]='';
		}else{
			$proownportait[0]=$proownportait[1]=$proownportait[2]='';
		}
		if ($proicon && (strlen($proicon)>20 || !ereg("^[0-9A-Za-z]{1,}\.[A-Za-z]{2,5}$",$proicon))){
			Showmsg('undefined_action');
		}
		$userdb['icon']=str_replace('|','',Char_cv($proicon)).'|'.$proownportait[0].'|'.(int)$proownportait[1].'|'.(int)$proownportait[2];
		strlen($userdb['icon'])>100 && Showmsg('illegal_customimg');

		if (GetCookie('skinco') && $tpskin!=GetCookie('skinco')){
			Cookie('skinco','',0);
		}
		$payemail=(int)$pay."\t$payemail";
		$showsign = $showsign ? 1 : 0;
		if ($userdb['showsign']==1 && $showsign==0){
			$db->update("UPDATE pw_memberdata SET starttime='0' WHERE uid='$winduid'");
		} elseif ($userdb['showsign']==0 && $showsign==1){
			if($userdb['currency'] < $db_signmoney){
				Showmsg('noenough_currency');
			}
			$db->update("UPDATE pw_memberdata SET starttime='$tdtime',currency=currency-'$db_signmoney' WHERE uid='$winduid'");
			require_once(R_P.'require/tool.php');
			$logdata=array(
				'type'		=>	'sign',
				'nums'		=>	0,
				'money'		=>	0,
				'descrip'	=>	'sign_descrip',
				'uid'		=>	$winduid,
				'username'	=>	$windid,
				'ip'		=>	$onlineip,
				'time'		=>	$timestamp,
				'currency'	=>	$db_signmoney
			);
			writetoollog($logdata);
		}
		$db->update("UPDATE pw_members SET password ='$userdb[password]',email='$userdb[email]' $groups,honor='$prohonor',publicmail='$userdb[publicmail]',icon='$userdb[icon]',gender='$userdb[gender]',signature='$userdb[signature]',introduce='$userdb[introduce]',oicq='$userdb[oicq]',icq='$userdb[icq]',yahoo='$userdb[yahoo]',msn='$userdb[msn]',site='$userdb[site]',location='$userdb[location]',bday='$userdb[bday]',style='$tpskin',datefm='$date_f',timedf='$timedf',t_num='$t_num',p_num='$p_num',receivemail='$userdb[receivemail]',signchange='$userdb[signchange]',showsign='$showsign',payemail='$payemail' WHERE uid='$winduid'");

		refreshto("profile.php?action=show&uid=$winddb[uid]",'operate_success');
	}
}elseif($action=='permission'){

	$per = array();
	$per['hide']	= $gp_allowhide		? 1 : 0;
	$per['read']	= $gp_allowread		? 1 : 0;
	$per['search']	= $gp_allowsearch	? 1 : 0;
	$per['member']	= $gp_allowmember	? 1 : 0;
	$per['profile']	= $gp_allowprofile	? 1 : 0;
	$per['show']	= $_G['show']		? 1 : 0;
	$per['report']	= $gp_allowreport	? 1 : 0;
	$per['upload']	= $gp_upload		? 1 : 0;
	$per['portait']	= $gp_allowportait	? 1 : 0;
	$per['honor']	= $gp_allowhonor	? 1 : 0;

	$per['post']	= $gp_allowpost		? 1 : 0;
	$per['rp']		= $gp_allowrp		? 1 : 0;
	$per['newvote']	= $gp_allownewvote	? 1 : 0;
	$per['vote']	= $gp_allowvote		? 1 : 0;
	$per['vwvt']	= $_G['viewvote']	? 1 : 0;
	$per['html']	= $gp_htmlcode		? 1 : 0;
	$per['hidden']	= $gp_allowhidden	? 1 : 0;
	$per['encode']	= $gp_allowencode	? 1 : 0;
	$per['sell']	= $gp_allowsell		? 1 : 0;
	$per['mark']	= $_G['markable']	? 1 : 0;

	$per['attach']	= $gp_allowupload	? 1 : 0;
	$per['down']	= $gp_allowdownload	? 1 : 0;
	!$_G['uploadmaxsize'] && $_G['uploadmaxsize'] = ceil($db_uploadmaxsize/1024);
	!$_G['uploadtype'] && !$_G['uploadtype'] = $db_uploadfiletype;

	require_once(PrintEot('profile'));footer();
}elseif($action=='forumright'){
	if(!$fid){
		Showmsg('data_error');
	}
	require_once(R_P.'require/forum.php');
	include_once(D_P."data/bbscache/creditdb.php");

	list($db_moneyname,,$db_rvrcname,,,)=explode("\t",$db_credits);

	$rt=$db->get_one("SELECT f.name,f.allowvisit,f.allowpost,f.allowrp,f.allowdownload,f.allowupload,fe.creditset FROM pw_forums f LEFT JOIN pw_forumsextra fe USING(fid) WHERE f.fid='$fid'");
	$creditset    = get_creditset($rt['creditset'],$db_creditset);

	foreach($creditset as $key=>$val){
		if(is_numeric($key)){
			$creditset[$key]['name'] = $_CREDITDB[$key][0];
		}else{
			switch($key){
				case 'rvrc'   : $creditset[$key]['name'] = $db_rvrcname;break;
				case 'money'  : $creditset[$key]['name'] = $db_moneyname;break;
				case 'credit' : $creditset[$key]['name'] = $db_creditname;break;
			}
		}
		if($key=='rvrc'){
			foreach($val as $k=>$v){
				if($k != 'Reply' && $k != 'Deleterp'){
					$creditset[$key][$k] /= 10;
				}
			}
		}
	}
	if($rt['allowvisit'] && strpos($rt['allowvisit'],",$groupid,")===false){
		$per['visit'] = 0;
	}else{
		$per['visit'] = 1;
	}
	if($rt['allowpost'] && strpos($rt['allowpost'],",$groupid,")===false){
		$per['post'] = 0;
	}elseif(!$rt['allowpost'] && $gp_allowpost==0){
		$per['post'] = 0;
	}else{
		$per['post'] = 1;
	}
	if($rt['allowrp'] && strpos($rt['allowrp'],",$groupid,")===false){
		$per['rp'] = 0;
	}elseif(!$rt['allowrp'] && $gp_allowpost==0){
		$per['rp'] = 0;
	}else{
		$per['rp'] = 1;
	}
	if($rt['allowdownload'] && strpos($rt['allowdownload'],",$groupid,")===false){
		$per['down'] = 0;
	}elseif(!$rt['allowdownload'] && $gp_allowpost==0){
		$per['down'] = 0;
	}else{
		$per['down'] = 1;
	}
	if($rt['allowupload'] && strpos($rt['allowupload'],",$groupid,")===false){
		$per['upload'] = 0;
	}elseif(!$rt['allowupload'] && $gp_allowpost==0){
		$per['upload'] = 0;
	}else{
		$per['upload'] = 1;
	}

	require_once(PrintEot('profile'));footer();
}elseif($action=='log'){
	if(!$_G['atclog']){
		Showmsg('no_atclog_right');
	}
	require_once GetLang('log');
	require_once('require/bbscode.php');
	require_once(R_P.'require/forum.php');
	include_once(D_P.'data/bbscache/forum_cache.php');
	$sqladd = "WHERE username1='".addslashes($windid)."'";
	if ($type && $logtype[$type]){
		$sqladd .= " AND type='$type'";
	}
	$type_sel[$type]='selected';
	$db_perpage = 30;

	(!is_numeric($page) || $page < 1) && $page = 1;
	$limit = "LIMIT ".($page-1)*$db_perpage.",$db_perpage";
	$rt    = $db->get_one("SELECT COUNT(*) AS sum FROM pw_adminlog $sqladd");
	$pages = numofpage($rt['sum'],$page,ceil($rt['sum']/$db_perpage),"profile.php?action=log&type=$type&");
	$query = $db->query("SELECT * FROM pw_adminlog $sqladd ORDER BY id DESC $limit");
	while($rt = $db->fetch_array($query)){
		$rt['date']  = get_date($rt['timestamp']);
		$rt['descrip']=str_replace("\n","<br>",$rt['descrip']);
		$rt['descrip']=convert($rt['descrip'],array());
		$logdb[] = $rt;
	}
	require_once(PrintEot('profile'));footer();
}elseif($action=='favor'){
	if($groupid=='guest'){
		Showmsg('not_login');
	}
	if(!$job){
		include_once(D_P.'data/bbscache/forum_cache.php');
		require_once(R_P.'require/forum.php');
		$favordb=array();
		$favor=$db->get_one("SELECT tids FROM pw_favors WHERE uid='$winddb[uid]'");
		if($favor['tids']){
			$query=$db->query("SELECT t.fid,t.tid,t.subject,t.postdate,t.author,t.authorid,t.replies,t.hits FROM pw_threads t WHERE t.tid IN($favor[tids]) ORDER BY t.postdate DESC");
			while($rt=$db->fetch_array($query)){
				$newtids.=$rt['tid'].',';
				$rt['subject'] = substrs($rt['subject'],50);
				$rt['postdate']=get_date($rt['postdate']);
				$rt['forum']=$forum[$rt['fid']]['name'];
				$favordb[]=$rt;
			}
			$newtids=substr($newtids,0,-1);
			$newtids==$favor['tids'] || $db->update("UPDATE pw_favors SET tids='$newtids' WHERE uid='$winddb[uid]'");
		}
		require_once PrintEot('profile');footer();
	} elseif($job=='add'){
		if(empty($tid)||!is_numeric($tid)){
			Showmsg('illegal_tid');
		}
		$rs=$db->get_one("SELECT tids FROM pw_favors WHERE uid='$winddb[uid]'");
		if($rs){
			$tids=$rs['tids'];
			$tid_db=explode(",",$tids);
			if(count($tid_db)>$_G['maxfavor']){
				Showmsg('job_favor_full');
			}
			$olddb=','.$tids.',';
			if(strpos($olddb,','.$tid.',')!==false){
				Showmsg('job_favor_error');
			}
			$tids.=','.$tid;
			$db->update("UPDATE pw_favors SET tids='$tids' WHERE uid='$winddb[uid]'");
		}else{
			$db->update("INSERT INTO pw_favors(uid,tids) VALUES('$winddb[uid]','$tid')");
		}
		refreshto("profile.php?action=favor",'operate_success');
	} elseif($job=='clear'){
		$rs=$db->get_one("SELECT tids FROM pw_favors WHERE uid='$winddb[uid]'");
		if($rs){
			$tids=$rs['tids'];
			$tid_db=explode(",",$tids);
			$t_count=count($tid_db);
			for($i=0;$i<$t_count;$i++){
				if(@in_array($tid_db[$i],$delid)){
					unset($tid_db[$i]);
				}
			}
			$new_tids=implode(",",$tid_db);
			if($new_tids!=$tids){
				if($new_tids){
					$db->update("UPDATE pw_favors SET tids='$new_tids' WHERE uid='$winddb[uid]'");
				}else{
					$db->update("DELETE FROM pw_favors WHERE uid='$winddb[uid]'");
				}
				refreshto("profile.php?action=favor",'operate_success');
			}else{
				Showmsg('job_favor_del');
			}
		}else{
			Showmsg('job_favor_del');
		}
	}
}
?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -