| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 | <?php//增加投票function AddVote($voteid,$vote){	global $empire,$dbtbpre,$public_r;	$voteid=(int)$voteid;	if(empty($voteid))	{		printerror("NotVote","history.go(-1)",1);	}	$lasttime=getcvar('lastvotetime');	if($lasttime)	{		if(time()-$lasttime<$public_r['revotetime'])		{			printerror("VoteOutTime","history.go(-1)",1);		}	}	$r=$empire->fetch1("select voteid,voteip,votetext,voteclass,doip,dotime from {$dbtbpre}enewsvote where voteid='$voteid'");	if(empty($r['voteid'])||empty($r['votetext']))	{		printerror("NotVote","history.go(-1)",1);	}	$re=DoVote($r,$vote);	$sql=$empire->query("update {$dbtbpre}enewsvote set votetext='".addslashes($re['votetext'])."',voteip='$re[voteip]',votenum=votenum+".$re['votetotal']." where voteid='$voteid'");	if($sql)	{		esetcookie("lastvotetime",time(),time()+3600*24);//设置最后发表时间		printerror("VoteSuccess","../tool/vote/?voteid=".$voteid,1);	}	else	{		printerror("DbError","history.go(-1)",1);	}}//添加信息投票function AddInfoVote($classid,$id,$vote){	global $empire,$dbtbpre,$class_r,$public_r;	$classid=(int)$classid;	$id=(int)$id;	if(empty($id)||empty($classid)||!$class_r[$classid]['tbname'])	{		printerror("NotVote","history.go(-1)",1);	}	$lasttime=getcvar('lastivotetime');	if($lasttime)	{		if(time()-$lasttime<$public_r['revotetime'])		{			printerror("VoteOutTime","history.go(-1)",1);		}	}	$pubid=ReturnInfoPubid($classid,$id);	$r=$empire->fetch1("select id,voteip,votetext,voteclass,doip,dotime from {$dbtbpre}enewsinfovote where pubid='$pubid' limit 1");	if(empty($r['id'])||empty($r['votetext']))	{		printerror("NotVote","history.go(-1)",1);	}	$re=DoVote($r,$vote);	$sql=$empire->query("update {$dbtbpre}enewsinfovote set votetext='".addslashes($re['votetext'])."',voteip='$re[voteip]',votenum=votenum+".$re['votetotal']." where pubid='$pubid' limit 1");	if($sql)	{		esetcookie("lastivotetime",time(),time()+3600*24);//设置最后发表时间		printerror("VoteSuccess","../public/vote/?classid=$classid&id=$id",1);	}	else	{		printerror("DbError","history.go(-1)",1);	}}//处理投票function DoVote($r,$vote){	//投票期限	if($r['dotime']<>"0000-00-00")	{		$endtime=to_date($r['dotime']);		if($endtime<time())		{			printerror("VoteOutDate","history.go(-1)",1);		}	}	//IP限制	if(empty($r['voteip']))	{		$r['voteip']='|';	}	$ip=egetip();	if($r['doip'])	{		if(strstr($r['voteip'],'|'.$ip.'|'))		{			printerror("ReVote","history.go(-1)",1);		}		$r['voteip']=$r['voteip'].$ip."|";	}	$VoteField="::::::";	$VoteRecord="\r\n";	$vote_r=explode($VoteRecord,$r['votetext']);	$new_vote_total=0;	if($r['voteclass'])//多选	{		$vote_count=count($vote);		if(empty($vote_count))		{			printerror("EmptyChangeVote","history.go(-1)",1);		}		for($j=0;$j<$vote_count;$j++)		{			$new_vote_total++;			$v_r=explode($VoteField,$vote_r[$vote[$j]-1]);			if(empty($v_r[0]))			{				continue;			}			$vote_num=$v_r[1]+1;			$vote_r[$vote[$j]-1]=$v_r[0].$VoteField.$vote_num;		}	}	else//单选	{		if(empty($vote))		{			printerror("NotChangeVote","history.go(-1)",1);		}		$v_r=explode($VoteField,$vote_r[$vote-1]);		if(empty($v_r[0]))		{			printerror("NotChangeVote","history.go(-1)",1);		}		$vote_num=$v_r[1]+1;		$vote_r[$vote-1]=$v_r[0].$VoteField.$vote_num;		$new_vote_total=1;	}	for($n=0;$n<count($vote_r);$n++)	{		$new_votetext.=$vote_r[$n].$VoteRecord;	}	$new_votetext=substr($new_votetext,0,strlen($new_votetext)-2);//去掉最后的字符	//返回数组	$re['votetotal']=(int)$new_vote_total;	$re['votetext']=$new_votetext;	$re['voteip']=addslashes($r['voteip']);	return $re;}//评分function AddInfoPfen($add){	global $empire,$dbtbpre,$class_r;	$id=(int)$add['id'];	$classid=(int)$add['classid'];	$fen=(int)$add['fen'];	$doajax=(int)$add['doajax'];	if(!$id||!$classid||!$class_r[$classid]['tbname'])	{		$doajax==1?ajax_printerror('','','ErrorUrl',1):printerror('ErrorUrl','',1);	}	//连续发表	if(getcvar('lastforfenid')==$classid.'n'.$id)	{		$doajax==1?ajax_printerror('','','ReDoForPl',1):printerror('ReDoForPl','',1);	}	//字段	$fnum=$empire->gettotal("select count(*) as total from {$dbtbpre}enewsf where tbname='".$class_r[$classid]['tbname']."' and (f='infopfen' or f='infopfennum')");	if(empty($fnum))	{		$doajax==1?ajax_printerror('','','ErrorUrl',1):printerror('ErrorUrl','',1);	}	if($fen<1)	{		$fen=1;	}	if($fen>5)	{		$fen=5;	}	$sql=$empire->query("update {$dbtbpre}ecms_".$class_r[$classid]['tbname']." set infopfen=infopfen+$fen,infopfennum=infopfennum+1 where id='$id' and classid='$classid' limit 1");	if($sql)	{		esetcookie('lastforfenid',$classid.'n'.$id,time()+30*24*3600);	//最后发布		if($doajax==1)		{			$nr=$empire->fetch1("select infopfen,infopfennum from {$dbtbpre}ecms_".$class_r[$classid]['tbname']." where id='$id' and classid='$classid' limit 1");			$infopfen=$nr[infopfennum]?round($nr[infopfen]/$nr[infopfennum]):0;			ajax_printerror($infopfen,RepPostVar($add['ajaxarea']),'AddInfoPfen',1);		}		else		{			printerror('AddInfoPfen',EcmsGetReturnUrl(),1);		}	}	else	{		$doajax==1?ajax_printerror('','','DbError',1):printerror('DbError','',1);	}}?>
 |