123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 |
- <?php
- if(!defined('empirecms'))
- {
- exit();
- }
- //是否登陆
- function ViewCheckLogin($infor){
- global $empire,$public_r,$ecms_config,$toreturnurl,$gotourl;
- $userid=(int)getcvar('mluserid');
- $username=RepPostVar(getcvar('mlusername'));
- $rnd=RepPostVar(getcvar('mlrnd'));
- if(!$userid)
- {
- if(!getcvar('returnurl'))
- {
- esetcookie("returnurl",$toreturnurl,0);
- }
- eCheckLevelInfo_ViewInfoMsg($ckuser,$infor,'NotLogin');
- }
- //ck
- $qcklgr=qCheckLoginAuthstr();
- if(!$qcklgr['islogin'])
- {
- EmptyEcmsCookie();
- if(!getcvar('returnurl'))
- {
- esetcookie("returnurl",$toreturnurl,0);
- }
- eCheckLevelInfo_ViewInfoMsg($ckuser,$infor,'NotLogin');
- }
- //db
- $cr=$empire->fetch1("select ".eReturnSelectMemberF('checked,userid,username,groupid,userfen,userdate,zgroupid,ingid,agid,isern')." from ".eReturnMemberTable()." where ".egetmf('userid')."='$userid' and ".egetmf('username')."='$username' and ".egetmf('rnd')."='$rnd' limit 1");
- if(!$cr['userid'])
- {
- EmptyEcmsCookie();
- if(!getcvar('returnurl'))
- {
- esetcookie("returnurl",$toreturnurl,0);
- }
- eCheckLevelInfo_ViewInfoMsg($cr,$infor,'SingleLogin');
- }
- if($cr['checked']==0)
- {
- EmptyEcmsCookie();
- if(!getcvar('returnurl'))
- {
- esetcookie("returnurl",$toreturnurl,0);
- }
- eCheckLevelInfo_ViewInfoMsg($cr,$infor,'NotCheckUser');
- }
- //默认会员组
- if(empty($cr['groupid']))
- {
- $user_groupid=eReturnMemberDefGroupid();
- $usql=$empire->query("update ".eReturnMemberTable()." set ".egetmf('groupid')."='$user_groupid' where ".egetmf('userid')."='".$cr[userid]."'");
- $cr['groupid']=$user_groupid;
- }
- //是否过期
- if($cr['userdate'])
- {
- if($cr['userdate']-time()<=0)
- {
- OutTimeZGroup($cr['userid'],$cr['zgroupid']);
- $cr['userdate']=0;
- if($cr['zgroupid'])
- {
- $cr['groupid']=$cr['zgroupid'];
- $cr['zgroupid']=0;
- }
- }
- }
- $re['userid']=$cr['userid'];
- $re['username']=$cr['username'];
- $re['userfen']=$cr['userfen'];
- $re['groupid']=$cr['groupid'];
- $re['userdate']=$cr['userdate'];
- $re['zgroupid']=$cr['zgroupid'];
- $re['ingid']=$cr['ingid'];
- $re['agid']=$cr['agid'];
- $re['isern']=$cr['isern'];
- $re['checked']=$cr['checked'];
- return $re;
- }
- //查看权限函数
- function CheckShowNewsLevel($infor){
- global $check_path,$level_r,$empire,$gotourl,$toreturnurl,$public_r,$dbtbpre,$class_r;
- $groupid=$infor['groupid'];
- $userfen=$infor['userfen'];
- $id=$infor['id'];
- $classid=$infor['classid'];
- //是否登陆
- $user_r=ViewCheckLogin($infor);
- //验证权限
- if($class_r[$infor[classid]]['cgtoinfo'])//栏目设置
- {
- $checkcr=$empire->fetch1("select cgroupid from {$dbtbpre}enewsclass where classid='$infor[classid]'");
- if($checkcr['cgroupid'])
- {
- if(!strstr($checkcr[cgroupid],','.$user_r[groupid].','))
- {
- $infor['eclass_cgroupid']=$checkcr[cgroupid];
- if(!getcvar('returnurl'))
- {
- esetcookie("returnurl",$toreturnurl,0);
- }
- eCheckLevelInfo_ViewInfoMsg($user_r,$infor,'NotLevelClass');
- }
- }
- }
- if($groupid)//信息设置
- {
- if($groupid>0)//会员组
- {
- if($level_r[$groupid][level]>$level_r[$user_r[groupid]][level])
- {
- if(!getcvar('returnurl'))
- {
- esetcookie("returnurl",$toreturnurl,0);
- }
- eCheckLevelInfo_ViewInfoMsg($user_r,$infor,'NotLevelGroup');
- }
- }
- else//访问组
- {
- $vgroupid=0-$groupid;
- $ckvgresult=eMember_ReturnCheckViewGroup($user_r,$vgroupid);
- if($ckvgresult<>'empire.cms')
- {
- if(!getcvar('returnurl'))
- {
- esetcookie("returnurl",$toreturnurl,0);
- }
- eCheckLevelInfo_ViewInfoMsg($user_r,$infor,'NotLevelViewGroup');
- }
- }
- }
- //扣点
- if(!empty($userfen))
- {
- //是否有历史记录
- $bakr=$empire->fetch1("select id,truetime from {$dbtbpre}enewsdownrecord where id='$id' and classid='$classid' and userid='$user_r[userid]' and online=2 order by truetime desc limit 1");
- if($bakr['id']&&(time()-$bakr['truetime']<=$public_r['redoview']*3600))
- {}
- else
- {
- if($user_r[userdate]-time()>0)//包月
- {}
- else
- {
- if($user_r[userfen]<$userfen)
- {
- if(!getcvar('returnurl'))
- {
- esetcookie("returnurl",$toreturnurl,0);
- }
- eCheckLevelInfo_ViewInfoMsg($user_r,$infor,'NotUserfen');
- }
- //扣点
- $usql=$empire->query("update ".eReturnMemberTable()." set ".egetmf('userfen')."=".egetmf('userfen')."-".$userfen." where ".egetmf('userid')."='$user_r[userid]'");
- }
- //备份下载记录
- $utfusername=$user_r['username'];
- BakDown($classid,$id,0,$user_r['userid'],$utfusername,$infor[title],$userfen,2);
- }
- }
- }
- $check_infoid=(int)$check_infoid;
- $check_classid=(int)$check_classid;
- if(!defined('PageCheckLevel'))
- {
- include_once($check_path.'e/class/connect.php');
- if(!defined('InEmpireCMS'))
- {
- exit();
- }
- include_once(ECMS_PATH.'e/class/db_sql.php');
- include_once(ECMS_PATH.'e/data/dbcache/class.php');
- include_once(ECMS_PATH.'e/data/dbcache/MemberLevel.php');
- $link=db_connect();
- $empire=new mysqlquery();
- $check_tbname=RepPostVar($check_tbname);
- $checkinfor=$empire->fetch1("select * from {$dbtbpre}ecms_".$check_tbname." where id='$check_infoid' limit 1");
- if(!$checkinfor['id']||$checkinfor['classid']!=$check_classid)
- {
- echo"<script>alert('此信息不存在');history.go(-1);</script>";
- exit();
- }
- //副表
- $check_mid=$class_r[$checkinfor[classid]]['modid'];
- $checkfinfor=$empire->fetch1("select ".ReturnSqlFtextF($check_mid)." from {$dbtbpre}ecms_".$check_tbname."_data_".$checkinfor[stb]." where id='$checkinfor[id]' limit 1");
- $checkinfor=array_merge($checkinfor,$checkfinfor);
- }
- else
- {
- $check_tbname=RepPostVar($check_tbname);
- }
- require_once(ECMS_PATH.'e/member/class/user.php');
- //验证IP
- eCheckAccessDoIp('showinfo');
- if($checkinfor['groupid']||$class_r[$checkinfor['classid']]['cgtoinfo'])
- {
- include_once(ECMS_PATH.'e/template/public/checklevel/info1.php');
- $toreturnurl=eReturnSelfPage(1); //返回页面地址
- $gotourl=$ecms_config['member']['loginurl']?$ecms_config['member']['loginurl']:$public_r['newsurl']."e/member/login/"; //登陆地址
- CheckShowNewsLevel($checkinfor);
- }
- if(!defined('PageCheckLevel'))
- {
- db_close();
- $empire=null;
- }
- ?>
|