Commit ab1da972 authored by 蒋林's avatar 蒋林

主程序

parent ac4afbf2

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

<?php
require("../class/connect.php");
require("../class/db_sql.php");
require("../class/q_functions.php");
require("../class/qinfofun.php");
require("../member/class/user.php");
require("../data/dbcache/class.php");
require("../data/dbcache/MemberLevel.php");
$link=db_connect();
$empire=new mysqlquery();
if($public_r['addnews_ok'])//关闭投稿
{
printerror("NotOpenCQInfo","",1);
}
//验证本时间允许操作
eCheckTimeCloseDo('info');
//验证IP
eCheckAccessDoIp('postinfo');
$classid=(int)$_GET['classid'];
$mid=$class_r[$classid]['modid'];
if(empty($classid)||empty($mid)||InfoIsInTable($class_r[$classid]['tbname']))
{
printerror("EmptyQinfoCid","",1);
}
$enews=RepPostStr($_GET['enews'],1);
if(empty($enews))
{
$enews="MAddInfo";
}
$r=array();
$memberinfor=array();
$muserid=(int)getcvar('mluserid');
$musername=RepPostVar(getcvar('mlusername'));
$mrnd=RepPostVar(getcvar('mlrnd'));
$id=0;
$newstime=time();
$r[newstime]=date("Y-m-d H:i:s");
$todaytime=$r[newstime];
$showkey="";
$r['newstext']="";
$rechangeclass='';
//验证会员信息
$mloginauthr=qCheckLoginAuthstr();
//取得登陆会员资料
if($muserid&&$mloginauthr['islogin'])
{
$memberinfor=$empire->fetch1("select ".eReturnSelectMemberF('*','u.').",ui.* from ".eReturnMemberTable()." u LEFT JOIN {$dbtbpre}enewsmemberadd ui ON u.".egetmf('userid')."=ui.userid where u.".egetmf('userid')."='$muserid' limit 1");
}
//增加
if($enews=="MAddInfo")
{
$cr=DoQCheckAddLevel($classid,$muserid,$musername,$mrnd,0,1);
$mr=$empire->fetch1("select qenter,qmname from {$dbtbpre}enewsmod where mid='$cr[modid]'");
if(empty($mr['qenter']))
{
printerror("NotOpenCQInfo","history.go(-1)",1);
}
//IP发布数限制
$check_ip=egetip();
$check_checked=$cr['wfid']?0:$cr['checkqadd'];
eCheckIpAddInfoNum($check_ip,$cr['tbname'],$cr['modid'],$check_checked);
//初始变量
$word="增加信息";
$ecmsfirstpost=1;
$rechangeclass="&nbsp;[<a href='ChangeClass.php?mid=".$mid."'>重新选择</a>]";
//验证码
if($cr['qaddshowkey'])
{
$showkey="<tr bgcolor=\"#FFFFFF\">
<td width=\"11%\" height=\"25\">验证码</td>
<td height=\"25\"><input name=\"key\" type=\"text\" size=\"6\">
<img src=\"../ShowKey/?v=info\" name=\"infoKeyImg\" id=\"infoKeyImg\" onclick=\"infoKeyImg.src='../ShowKey/?v=info&t='+Math.random()\" title=\"看不清楚,点击刷新\"></td></tr>";
}
//图片
$imgwidth=0;
$imgheight=0;
//文件验证码
$filepass=time();
}
else
{
$word="修改信息";
$ecmsfirstpost=0;
$id=(int)$_GET['id'];
if(empty($id))
{
printerror("EmptyQinfoCid","",1);
}
$cr=DoQCheckAddLevel($classid,$muserid,$musername,$mrnd,1,0);
$mr=$empire->fetch1("select qenter,qmname from {$dbtbpre}enewsmod where mid='$cr[modid]'");
if(empty($mr['qenter']))
{
printerror("NotOpenCQInfo","history.go(-1)",1);
}
$r=CheckQdoinfo($classid,$id,$muserid,$cr['tbname'],$cr['adminqinfo'],1);
//检测时间
if($public_r['qeditinfotime'])
{
if(time()-$r['truetime']>$public_r['qeditinfotime']*60)
{
printerror("QEditInfoOutTime","history.go(-1)",1);
}
}
$newstime=$r['newstime'];
$r['newstime']=date("Y-m-d H:i:s",$r['newstime']);
//图片
$imgwidth=170;
$imgheight=120;
//文件验证码
$filepass=$id;
}
$tbname=$cr['tbname'];
esetcookie("qeditinfo","dgcms");
//标题分类
$cttidswhere='';
$tts='';
$caddr=$empire->fetch1("select ttids from {$dbtbpre}enewsclassadd where classid='$classid'");
if($caddr['ttids']!='-')
{
if($caddr['ttids']&&$caddr['ttids']!=',')
{
$cttidswhere=' and typeid in ('.substr($caddr['ttids'],1,-1).')';
}
$ttsql=$empire->query("select typeid,tname from {$dbtbpre}enewsinfotype where mid='$cr[modid]'".$cttidswhere." order by myorder");
while($ttr=$empire->fetch($ttsql))
{
$select='';
if($ttr[typeid]==$r[ttid])
{
$select=' selected';
}
$tts.="<option value='$ttr[typeid]'".$select.">$ttr[tname]</option>";
}
}
//栏目
$classurl=sys_ReturnBqClassname($cr,9);
$postclass="<a href='".$classurl."' target='_blank'>".$class_r[$classid]['classname']."</a>".$rechangeclass;
if($cr['bclassid'])
{
$bcr['classid']=$cr['bclassid'];
$bclassurl=sys_ReturnBqClassname($bcr,9);
$postclass="<a href='".$bclassurl."' target=_blank>".$class_r[$cr['bclassid']]['classname']."</a>&nbsp;>&nbsp;".$postclass;
}
//html编辑器
if($emod_r[$mid]['editorf']&&$emod_r[$mid]['editorf']!=',')
{
include('../data/ecmseditor/infoeditor/fckeditor.php');
}
if(empty($musername))
{
$musername="游客";
}
$modfile="../data/html/q".$cr['modid'].".php";
//导入模板
require(ECMS_PATH.'e/template/DoInfo/AddInfo.php');
db_close();
$empire=null;
?>
\ No newline at end of file
<?php
require("../class/connect.php");
require("../class/db_sql.php");
$link=db_connect();
$empire=new mysqlquery();
//关闭投稿
if($public_r['addnews_ok'])
{
printerror("CloseQAdd","",1);
}
//验证本时间允许操作
eCheckTimeCloseDo('info');
//验证IP
eCheckAccessDoIp('postinfo');
$mid=(int)$_GET['mid'];
if(empty($mid))
{
printerror("ErrorUrl","",1);
}
$mr=$empire->fetch1("select mid,qenter,qmname,tbname from {$dbtbpre}enewsmod where mid='$mid'");
if(!$mr['mid']||!$mr['qenter']||InfoIsInTable($mr['tbname']))
{
printerror("ErrorUrl","",1);
}
$muserid=(int)getcvar('mluserid');
$musername=RepPostVar(getcvar('mlusername'));
if(empty($musername))
{
$musername="游客";
}
$classjs=$public_r['newsurl']."d/js/js/addinfo".$mid.".js";
//导入模板
require(ECMS_PATH.'e/template/DoInfo/ChangeClass.php');
db_close();
$empire=null;
?>
\ No newline at end of file
<?php
require("../class/connect.php");
require("../class/db_sql.php");
require("../data/dbcache/class.php");
require("../member/class/user.php");
require("../class/q_functions.php");
require LoadLang("pub/fun.php");
$link=db_connect();
$empire=new mysqlquery();
//验证是否登陆
$user=islogin();
//取得模型id
$mid=(int)$_GET['mid'];
if(!$mid)
{
printerror("ErrorUrl","history.go(-1)",1);
}
$mr=$empire->fetch1("select tbname,qmname,listfile,sonclass from {$dbtbpre}enewsmod where mid='$mid'");
if(!$mr['tbname']||InfoIsInTable($mr['tbname']))
{
printerror("ErrorUrl","history.go(-1)",1);
}
esetcookie("qdelinfo","dgcms");
$totalnum=(int)$_GET['totalnum'];
$start=0;
$page=(int)$_GET['page'];
$page=RepPIntvar($page);
$line=25;//每行显示
$page_line=10;
$offset=$page*$line;
$add='';
$search="&mid=$mid";
//审核表
$ecmscheck=(int)$_GET['ecmscheck'];
$addecmscheck='';
$indexchecked=1;
if($ecmscheck)
{
$search.='&ecmscheck='.$ecmscheck;
$addecmscheck='&ecmscheck='.$ecmscheck;
$indexchecked=0;
}
$infotb=ReturnInfoMainTbname($mr['tbname'],$indexchecked);
//显示方式
if($public_r['qlistinfomod'])
{
$modnum=$empire->gettotal("select count(*) as total from {$dbtbpre}enewsmod where tbname='$mr[tbname]'");
if($modnum>1)
{
$add.=' and ('.ReturnClass($mr['sonclass']).')';
}
}
//搜索
$sear=RepPostStr($_GET['sear'],1);
$keyboard='';
$show='';
if($sear)
{
$keyboard=RepPostVar2($_GET['keyboard']);
$show=RepPostStr($_GET['show'],1);
//关键字
if($keyboard)
{
$add.=" and (title like '%$keyboard%')";
}
$search.="&sear=1&keyboard=$keyboard&show=$show";
}
//优化
$yhid=$etable_r[$mr[tbname]][yhid];
$yhvar='qmlist';
$yhadd='';
if($yhid)
{
$yhadd=ReturnYhSql($yhid,$yhvar,1);
}
//信息表
$totalquery="select count(*) as total from ".$infotb." where ".$yhadd."userid='$user[userid]' and ismember=1".$add;
if($totalnum<1)
{
$num=$empire->gettotal($totalquery);//取得总条数
}
else
{
$num=$totalnum;
}
$search.="&totalnum=$num";
$returnpage=page1($num,$line,$page_line,$start,$page,$search);
//导入页面
$deftempfile=ECMS_PATH.'e/data/html/list/qlistinfo.php';
if($mr[listfile])
{
$tempfile=ECMS_PATH.'e/data/html/list/q'.$mr[listfile].'.php';
if(!file_exists($tempfile))
{
$tempfile=$deftempfile;
}
}
else
{
$tempfile=$deftempfile;
}
require($tempfile);
db_close();
$empire=null;
?>
\ No newline at end of file
<?php
require("../class/connect.php");
require("../class/db_sql.php");
require("../class/functions.php");
require LoadLang("pub/fun.php");
require("../class/delpath.php");
require("../class/t_functions.php");
require("../data/dbcache/class.php");
require("../data/dbcache/MemberLevel.php");
require("../member/class/user.php");
require("../class/qinfofun.php");
$link=db_connect();
$empire=new mysqlquery();
$enews=$_POST['enews'];
if(empty($enews))
{$enews=$_GET['enews'];}
//验证IP
eCheckAccessDoIp('postinfo');
$muserid=(int)getcvar('mluserid');
$musername=RepPostVar(getcvar('mlusername'));
$mrnd=RepPostVar(getcvar('mlrnd'));
$loginin='[Member]'.$musername;
$doetran=1;
//增加投稿
if($enews=="MAddInfo")
{
DodoInfo($_POST,0);
}
//修改投稿
elseif($enews=="MEditInfo")
{
DodoInfo($_POST,1);
}
//删除投稿
elseif($enews=="MDelInfo")
{
DodoInfo($_GET,2);
}
//编辑器上传图片
elseif($enews=="MEditorTranFile")
{
$file=$_FILES['file']['tmp_name'];
$file_name=$_FILES['file']['name'];
$file_type=$_FILES['file']['type'];
$file_size=$_FILES['file']['size'];
DoQTranFile($_POST,$file,$file_name,$file_type,$file_size,$muserid,$musername,$mrnd,1);
}
//上传附件
elseif($enews=="MTranFile")
{
$file=$_FILES['file']['tmp_name'];
$file_name=$_FILES['file']['name'];
$file_type=$_FILES['file']['type'];
$file_size=$_FILES['file']['size'];
DoQTranFile($_POST,$file,$file_name,$file_type,$file_size,$muserid,$musername,$mrnd,0);
}
else
{printerror("ErrorUrl","",1);}
db_close();
$empire=null;
?>
\ No newline at end of file
<?php
require("../class/connect.php");
require("../class/db_sql.php");
$link=db_connect();
$empire=new mysqlquery();
//导入模板
require(ECMS_PATH.'e/template/DoInfo/DoInfo.php');
db_close();
$empire=null;
?>
\ No newline at end of file
<?php
require("../class/connect.php");
include("../class/db_sql.php");
$link=db_connect();
$empire=new mysqlquery();
//关闭
if($public_r['addnews_ok'])
{
printerror("NotOpenCQInfo","",9);
}
$userid=(int)$_GET['userid'];
$username=RepPostStr($_GET['username'],1);
$rnd=RepPostStr($_GET['rnd'],1);
$ecms=RepPostStr($_GET['ecms'],1);
$classid=(int)$_GET['classid'];
$infoid=(int)$_GET['infoid'];
$filepass=RepPostStr($_GET['filepass'],1);
$type=RepPostStr($_GET['type'],1);
if(!$classid||!$filepass)
{
printerror("ErrorUrl","",9);
}
$pr=$empire->fetch1("select qaddtran,qaddtransize,qaddtranimgtype,qaddtranfile,qaddtranfilesize,qaddtranfiletype from {$dbtbpre}enewspublic limit 1");
if($type==1)
{
if(!$pr['qaddtran'])
{
printerror("CloseQTranPic","",9);
}
$filetype=$pr['qaddtranimgtype'];
$filesize=$pr['qaddtransize'];
$word="上传图片";
}
elseif($type==2)
{
if(!$pr['qaddtranfile'])
{
printerror("CloseQTranFile","",9);
}
$filetype="|.swf|";
$filesize=$pr['qaddtranfilesize'];
$word="上传FLASH";
}
else
{
if(!$pr['qaddtranfile'])
{
printerror("CloseQTranFile","",9);
}
$filetype=$pr['qaddtranfiletype'];
$filesize=$pr['qaddtranfilesize'];
$word="上传附件";
}
$filetype=substr($filetype,1,strlen($filetype));
$filetype=substr($filetype,0,strlen($filetype)-1);
$filetype=str_replace("|",",",$filetype);
if($ecms)
{
$enews="MHtmlareaTranPic";
}
else
{
$enews="MTranFile";
}
//导入模板
require(ECMS_PATH.'e/template/DoInfo/tran.php');
db_close();
$empire=null;
?>
\ No newline at end of file
<?php
require("../class/connect.php");
require("../class/db_sql.php");
require("../class/q_functions.php");
require("../data/dbcache/class.php");
require LoadLang("pub/fun.php");
$link=db_connect();
$empire=new mysqlquery();
eCheckCloseMods('print');//关闭模块
$id=(int)$_GET['id'];
$classid=(int)$_GET['classid'];
if(empty($id)||empty($classid))
{
printerror("ErrorUrl","history.go(-1)",1);
}
$mid=$class_r[$classid]['modid'];
$tbname=$class_r[$classid][tbname];
if(empty($tbname)||InfoIsInTable($tbname))
{
printerror("ErrorUrl","history.go(-1)",1);
}
$r=$empire->fetch1("select * from {$dbtbpre}ecms_".$tbname." where id='$id' limit 1");
if(empty($r['id'])||$r['classid']!=$classid)
{
printerror("ErrorUrl","history.go(-1)",1);
}
//副表
$finfor=$empire->fetch1("select ".ReturnSqlFtextF($mid)." from {$dbtbpre}ecms_".$tbname."_data_".$r[stb]." where id='$r[id]' limit 1");
$r=array_merge($r,$finfor);
//权限
if($r['groupid']||$class_r[$classid]['cgtoinfo'])
{
include('../data/dbcache/MemberLevel.php');
define('empirecms','wm_chief');
define('PageCheckLevel','wm_chief');
$check_tbname=$tbname;
$check_infoid=$id;
$check_classid=$classid;
$check_path="../../";
$checkinfor=$r;
include("../class/CheckLevel.php");
}
//使用模板
if($_GET['tempid'])
{
$tempid=(int)$_GET['tempid'];
$tempnum=$empire->gettotal("select count(*) as total from ".GetTemptb("enewsprinttemp")." where tempid='$tempid'");
$tempid=$tempnum?$tempid:$public_r['defprinttempid'];
}
else
{
$mod_tempr=$empire->fetch1("select printtempid from {$dbtbpre}enewsmod where mid='$mid'");
$tempid=$mod_tempr[printtempid]?$mod_tempr[printtempid]:$public_r['defprinttempid'];
}
if(empty($tempid))
{
$tempid=1;
}
//存文本
$savetxtf=$emod_r[$mid]['savetxtf'];
if($savetxtf&&$r[$savetxtf])
{
$r[$savetxtf]=GetTxtFieldText($r[$savetxtf]);
}
//分页字段
$pagef=$emod_r[$mid]['pagef'];
if($pagef&&$r[$pagef])
{
$r[$pagef]=str_replace('[!--empirenews.page--]','',$r[$pagef]);
$r[$pagef]=str_replace('[/!--empirenews.page--]','',$r[$pagef]);
}
$url=ReturnClassLink($r[classid])."&nbsp;>&nbsp;".$fun_r['zw'];
//标题链接
$titleurl=sys_ReturnBqTitleLink($r);
//标题图片
if(empty($r[titlepic]))
{
$r[titlepic]=$public_r[newsurl].'e/data/images/notimg.gif';
}
$bclassid=$class_r[$classid][bclassid];
@require(ECMS_PATH.'e/data/filecache/template/print'.$tempid.'.php');
db_close();
$empire=null;
?>
\ No newline at end of file
<?php
require("../../class/connect.php");
require("../../class/db_sql.php");
require("../../class/q_functions.php");
require("../../member/class/user.php");
require("../../data/dbcache/class.php");
require("../../data/dbcache/MemberLevel.php");
require("../class/DownSysFun.php");
eCheckCloseMods('down');//关闭模块
$link=db_connect();
$empire=new mysqlquery();
$editor=1;
$ecmsreurl=2;
//验证IP
eCheckAccessDoIp('downinfo');
$id=(int)$_GET['id'];
$pathid=(int)$_GET['pathid'];
$classid=(int)$_GET['classid'];
if(!$classid||empty($class_r[$classid][tbname])||!$id)
{
echo"<script>alert('此信息不存在');window.close();</script>";
exit();
}
$mid=$class_r[$classid][modid];
$tbname=$class_r[$classid][tbname];
$query="select * from {$dbtbpre}ecms_".$tbname." where id='$id' limit 1";
$r=$empire->fetch1($query);
if(!$r['id']||$r['classid']!=$classid)
{
echo"<script>alert('此信息不存在');window.close();</script>";
exit();
}
//副表
$finfor=$empire->fetch1("select ".ReturnSqlFtextF($mid)." from {$dbtbpre}ecms_".$tbname."_data_".$r[stb]." where id='$r[id]' limit 1");
$r=array_merge($r,$finfor);
//区分下载地址
$path_r=explode("\r\n",$r[downpath]);
if(!$path_r[$pathid])
{
echo"<script>alert('此信息不存在');window.close();</script>";
exit();
}
$showdown_r=explode("::::::",$path_r[$pathid]);
//下载权限
$user=array();
$downgroup=$showdown_r[2];
if($downgroup)
{
$user=islogin();
//取得会员资料
$u=$empire->fetch1("select ".eReturnSelectMemberF('*')." from ".eReturnMemberTable()." where ".egetmf('userid')."='$user[userid]' and ".egetmf('rnd')."='$user[rnd]' limit 1");
if(empty($u['userid']))
{
echo"<script>alert('同一帐号,只能一人在线');window.close();</script>";
exit();
}
//下载次数限制
if($level_r[$u['groupid']]['daydown'])
{
$setuserday=DoCheckMDownNum($user['userid'],$u['groupid'],2);
if($setuserday=='error')
{
echo"<script>alert('您的下载与观看次数已超过系统限制(".$level_r[$u['groupid']]['daydown']." 次)!');window.close();</script>";
exit();
}
}
if($level_r[$downgroup][level]>$level_r[$u['groupid']][level])
{
echo"<script>alert('您的会员级别不足(".$level_r[$downgroup][groupname]."),没有下载此软件的权限!');window.close();</script>";
exit();
}
//点数是否足够
if($showdown_r[3])
{
//---------是否有历史记录
$bakr=$empire->fetch1("select id,truetime from {$dbtbpre}enewsdownrecord where id='$id' and classid='$classid' and userid='$user[userid]' and pathid='$pathid' and online=0 order by truetime desc limit 1");
if($bakr[id]&&(time()-$bakr[truetime]<=$public_r[redodown]*3600))
{}
else
{
//包月卡
if($u['userdate']-time()>0)
{}
//点数
else
{
if($showdown_r[3]>$u['userfen'])
{
echo"<script>alert('您的点数不足 $showdown_r[3] 点,无法下载此软件');window.close();</script>";
exit();
}
}
}
}
}
//变量
$thisdownname=$showdown_r[0]; //当前下载地址名称
$classname=$class_r[$r[classid]]['classname']; //栏目名
$bclassid=$class_r[$r[classid]]['bclassid']; //父栏目ID
$bclassname=$class_r[$bclassid]['classname']; //父栏目名
$titleurl=sys_ReturnBqTitleLink($r); //信息链接
$newstime=date('Y-m-d H:i:s',$r['newstime']);
$titlepic=$r['titlepic']?$r['titlepic']:$public_r[newsurl]."e/data/images/notimg.gif";
$ip=egetip();
$pass=md5(ReturnDownSysCheckIp()."wm_chief".$public_r[downpass].$user[userid]); //验证码
$url="../doaction.php?enews=DownSoft&classid=$classid&id=$id&pathid=$pathid&pass=".$pass."&p=".$user[userid].":::".$user[rnd]; //下载地址
$trueurl=ReturnDSofturl($showdown_r[1],$showdown_r[4],'../../',1); //真实文件地址
$fen=$showdown_r[3]; //下载点数
$downuser=$level_r[$downgroup][groupname]; //下载等级
@include('../../data/template/downpagetemp.php');
db_close();
$empire=null;
?>
\ No newline at end of file
<?php
require("../../class/connect.php");
require("../../class/db_sql.php");
require("../../class/q_functions.php");
require("../../member/class/user.php");
require("../../data/dbcache/class.php");
require("../../data/dbcache/MemberLevel.php");
require("../class/DownSysFun.php");
eCheckCloseMods('down');//关闭模块
$link=db_connect();
$empire=new mysqlquery();
$editor=1;
if(!$public_r['opengetdown'])
{
printerror('CloseGetDown','',1);
}
//验证IP
//eCheckAccessDoIp('downinfo');
$id=(int)$_GET['id'];
$pathid=(int)$_GET['pathid'];
$classid=(int)$_GET['classid'];
if(!$classid||empty($class_r[$classid][tbname])||!$id)
{
printerror('ExiestSoftid','',1);
}
$mid=$class_r[$classid][modid];
$tbname=$class_r[$classid][tbname];
$query="select * from {$dbtbpre}ecms_".$tbname." where id='$id' limit 1";
$r=$empire->fetch1($query);
if(!$r['id']||$r['classid']!=$classid)
{
printerror('ExiestSoftid','',1);
}
//副表
$finfor=$empire->fetch1("select ".ReturnSqlFtextF($mid)." from {$dbtbpre}ecms_".$tbname."_data_".$r[stb]." where id='$r[id]' limit 1");
$r=array_merge($r,$finfor);
//区分下载地址
$path_r=explode("\r\n",$r[downpath]);
if(!$path_r[$pathid])
{
printerror('ExiestSoftid','',1);
}
$showdown_r=explode("::::::",$path_r[$pathid]);
//下载权限
$downgroup=$showdown_r[2];
$user=array();
if($downgroup)
{
$user=islogin();
}
//验证码
$ip=egetip();
$pass=md5(ReturnDownSysCheckIp()."wm_chief".$public_r[downpass].$user[userid]);
$p=$user[userid].":::".$user[rnd];
DownSoft($classid,$id,$pathid,$p,$pass);
db_close();
$empire=null;
?>
\ No newline at end of file
<?php
$DownSys_CheckIp=0; //下载验证码检测用户IP,0为不开启,1为开启
//返回检测IP
function ReturnDownSysCheckIp(){
global $DownSys_CheckIp;
$ip=$DownSys_CheckIp?egetip():'127.0.0.1';
return $ip;
}
//下载软件
function DownSoft($classid,$id,$pathid,$p,$pass){
global $empire,$dbtbpre,$public_r,$level_r,$class_r,$emod_r,$ecms_config;
//验证IP
eCheckAccessDoIp('downinfo');
$id=(int)$id;
$classid=(int)$classid;
$pathid=(int)$pathid;
if(empty($id)||empty($p)||empty($classid))
{
printerror("ErrorUrl","history.go(-1)",1);
}
$p=RepPostVar($p);
$p_r=explode(":::",$p);
$userid=$p_r[0];
$rnd=$p_r[1];
//验证码
$cpass=md5(ReturnDownSysCheckIp()."wm_chief".$public_r[downpass].$userid);
if($cpass<>$pass)
{
printerror("FailDownpass","history.go(-1)",1);
}
//表不存在
if(empty($class_r[$classid][tbname]))
{
printerror("ExiestSoftid","history.go(-1)",1);
}
$mid=$class_r[$classid][modid];
$tbname=$class_r[$classid][tbname];
$ok=1;
$r=$empire->fetch1("select * from {$dbtbpre}ecms_".$tbname." where id='$id' limit 1");
if(empty($r['id'])||$r['classid']!=$classid)
{
printerror("ExiestSoftid","history.go(-1)",1);
}
//副表
$finfor=$empire->fetch1("select ".ReturnSqlFtextF($mid)." from {$dbtbpre}ecms_".$tbname."_data_".$r[stb]." where id='$r[id]' limit 1");
$r=array_merge($r,$finfor);
//区分下载地址
$path_r=explode("\r\n",$r[downpath]);
if(!$path_r[$pathid])
{
printerror("ExiestSoftid","history.go(-1)",1);
}
$showdown_r=explode("::::::",$path_r[$pathid]);
$downgroup=$showdown_r[2];
//下载权限
if($downgroup)
{
$userid=(int)$userid;
$rnd=RepPostVar($rnd);
//取得会员资料
$u=$empire->fetch1("select ".eReturnSelectMemberF('*')." from ".eReturnMemberTable()." where ".egetmf('userid')."='$userid' and ".egetmf('rnd')."='$rnd' limit 1");
if(empty($u['userid']))
{printerror("MustSingleUser","history.go(-1)",1);}
//下载次数限制
$setuserday="";
if($level_r[$u['groupid']]['daydown'])
{
$setuserday=DoCheckMDownNum($userid,$u['groupid']);
}
if($level_r[$downgroup][level]>$level_r[$u[groupid]][level])
{
printerror("NotDownLevel","history.go(-1)",1);
}
//点数是否足够
$showdown_r[3]=intval($showdown_r[3]);
if($showdown_r[3])
{
//---------是否有历史记录
$bakr=$empire->fetch1("select id,truetime from {$dbtbpre}enewsdownrecord where id='$id' and classid='$classid' and userid='$userid' and pathid='$pathid' and online=0 order by truetime desc limit 1");
if($bakr[id]&&(time()-$bakr[truetime]<=$public_r[redodown]*3600))
{}
else
{
//包月卡
if($u['userdate']-time()>0)
{}
//点数
else
{
if($showdown_r[3]>$u['userfen'])
{
printerror("NotEnoughFen","history.go(-1)",1);
}
//去除点数
$usql=$empire->query("update ".eReturnMemberTable()." set ".egetmf('userfen')."=".egetmf('userfen')."-".$showdown_r[3]." where ".egetmf('userid')."='$userid'");
}
//备份下载记录
$utfusername=$u['username'];
BakDown($classid,$id,$pathid,$userid,$utfusername,$r[title],$showdown_r[3],0);
}
}
//更新用户下载次数
if($setuserday)
{
$usql=$empire->query($setuserday);
}
}
//总下载数据增一
$usql=$empire->query("update {$dbtbpre}ecms_".$class_r[$classid][tbname]." set totaldown=totaldown+1 where id='$id'");
$downurl=stripSlashes($showdown_r[1]);
$downurlr=ReturnDownQzPath($downurl,$showdown_r[4]);
$downurl=$downurlr['repath'];
//防盗链
@include(ECMS_PATH."e/DownSys/class/enpath.php");
$downurl=DoEnDownpath($downurl);
db_close();
$empire=null;
DoTypeForDownurl($downurl,$downurlr['downtype']);
}
//下载操作
function DoTypeForDownurl($downurl,$type=0){
global $public_r;
if($type==1)//meta
{
echo"<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;url=$downurl\">";
}
elseif($type==2)//read
{
QDownLoadFile($downurl);
}
else//header
{
Header("Location:$downurl");
}
exit();
}
//下载
function QDownLoadFile($file){
global $public_r;
if(strstr($file,"\\"))
{
$exp="\\";
}
elseif(strstr($file,"/"))
{
$exp="/";
}
else
{
Header("Location:$file");
exit();
}
if(strstr($file,$exp."e".$exp)||strstr($file,"..")||strstr($file,"?")||strstr($file,"#"))
{
Header("Location:$file");
exit();
}
$efileurl=eReturnFileUrl();
if(strstr($file,$efileurl))
{
$file=str_replace($efileurl,'/d/file/',$file);
}
if(!strstr($file,"://"))
{
if(!file_exists($file))
{
$file=eReturnEcmsMainPortPath().substr($file,1);
}
}
$filename=GetDownurlFilename($file,$exp);
if(empty($filename))
{
Header("Location:$file");
exit();
}
//下载
Header("Content-type: application/octet-stream");
//Header("Accept-Ranges: bytes");
//Header("Accept-Length: ".$filesize);
Header("Content-Disposition: attachment; filename=".$filename);
echo ReadFiletext($file);
}
//取得下载文件名
function GetDownurlFilename($file,$expstr){
$r=explode($expstr,$file);
$count=count($r)-1;
$filename=$r[$count];
return $filename;
}
//----------------------在线电影模型
//取得验证码
function GetOnlinePass(){
global $public_r;
$onlinep=$public_r[downpass]."qweirtydui4opttt.,mvcfvxzzf3dsfm,.dsa";
$r[0]=time();
$r[1]=md5($onlinep.$r[0]);
return $r;
}
//验证验证码
function CheckOnlinePass($onlinetime,$onlinepass){
global $movtime,$public_r;
if($onlinetime+$movtime<time()||$onlinetime>time())
{
exit();
}
$onlinep=$public_r[downpass]."qweirtydui4opttt.,mvcfvxzzf3dsfm,.dsa";
$cpass=md5($onlinep.$onlinetime);
if($onlinepass<>$cpass)
{
exit();
}
}
//--------取得软件地址
function GetSofturl($classid,$id,$pathid,$p,$pass,$onlinetime,$onlinepass){
global $empire,$dbtbpre,$public_r,$class_r,$emod_r,$level_r,$ecms_config;
//验证IP
eCheckAccessDoIp('onlineinfo');
$classid=(int)$classid;
$id=(int)$id;
$pathid=(int)$pathid;
$onlinetime=(int)$onlinetime;
$p=RepPostVar($p);
if(!$classid||empty($id)||empty($p))
{exit();}
$p_r=explode(":::",$p);
$userid=$p_r[0];
$rnd=$p_r[1];
//验证码
$cpass=md5(ReturnDownSysCheckIp()."wm_chief".$public_r[downpass].$userid);
if($cpass<>$pass)
{exit();}
//验证验证码
CheckOnlinePass($onlinetime,$onlinepass);
//表不存在
if(empty($class_r[$classid][tbname]))
{exit();}
$mid=$class_r[$classid][modid];
$tbname=$class_r[$classid][tbname];
$r=$empire->fetch1("select * from {$dbtbpre}ecms_".$tbname." where id='$id' limit 1");
if(empty($r['id'])||$r['classid']!=$classid)
{exit();}
//副表
$finfor=$empire->fetch1("select ".ReturnSqlFtextF($mid)." from {$dbtbpre}ecms_".$tbname."_data_".$r[stb]." where id='$r[id]' limit 1");
$r=array_merge($r,$finfor);
//区分下载地址
$path_r=explode("\r\n",$r[onlinepath]);
if(!$path_r[$pathid])
{
exit();
}
$showdown_r=explode("::::::",$path_r[$pathid]);
$downgroup=$showdown_r[2];
//下载权限
if($downgroup)
{
$userid=(int)$userid;
$rnd=RepPostVar($rnd);
//取得会员资料
$u=$empire->fetch1("select ".eReturnSelectMemberF('*')." from ".eReturnMemberTable()." where ".egetmf('userid')."='$userid' and ".egetmf('rnd')."='$rnd' limit 1");
if(empty($u['userid']))
{exit();}
//下载次数限制
$setuserday="";
if($level_r[$u['groupid']]['daydown'])
{
$setuserday=DoCheckMDownNum($userid,$u['groupid'],1);
}
if($level_r[$downgroup][level]>$level_r[$u[groupid]][level])
{
exit();
}
//点数是否足够
$showdown_r[3]=intval($showdown_r[3]);
if($showdown_r[3])
{
//---------是否有历史记录
$bakr=$empire->fetch1("select id,truetime from {$dbtbpre}enewsdownrecord where id='$id' and classid='$classid' and userid='$userid' and pathid='$pathid' and online=1 order by truetime desc limit 1");
if($bakr[id]&&(time()-$bakr[truetime]<=$public_r[redodown]*3600))
{}
else
{
//包月卡
if($u['userdate']-time()>0)
{}
//点数
else
{
if($showdown_r[3]>$u['userfen'])
{
exit();
}
//去除点数
$usql=$empire->query("update ".eReturnMemberTable()." set ".egetmf('userfen')."=".egetmf('userfen')."-".$showdown_r[3]." where ".egetmf('userid')."='$userid'");
}
//备份下载记录
$utfusername=$u['username'];
BakDown($classid,$id,$pathid,$userid,$utfusername,$r[title],$showdown_r[3],1);
}
}
//更新用户下载次数
if($setuserday)
{
$usql=$empire->query($setuserday);
}
}
//总下载数据增一
$usql=$empire->query("update {$dbtbpre}ecms_".$class_r[$classid][tbname]." set totaldown=totaldown+1 where id='$id'");
//选择播放器
$ftype=GetFiletype($showdown_r[1]);
if(strstr($ecms_config['sets']['realplayertype'],','.$ftype.','))
{
Header("Content-Type: audio/x-pn-realaudio");
}
else
{
Header("Content-Type: video/x-ms-asf");
}
$downurl=stripSlashes($showdown_r[1]);
$downurlr=ReturnDownQzPath($downurl,$showdown_r[4]);
$downurl=$downurlr['repath'];
//防盗链
@include(ECMS_PATH."e/DownSys/class/enpath.php");
$downurl=DoEnOnlinepath($downurl);
db_close();
$empire=null;
echo $downurl;
exit();
}
?>
\ No newline at end of file
<?php
//##############防盗链插件
//给下载地址加密
function DoEnDownpath($url)
{
return $url;
}
//给在线观看地址加密
function DoEnOnlinepath($url)
{
return $url;
}
?>
\ No newline at end of file
<?php
require("../class/connect.php");
require("../class/db_sql.php");
require("../data/dbcache/class.php");
require("../member/class/user.php");
require("../data/dbcache/MemberLevel.php");
require LoadLang("pub/fun.php");
$link=db_connect();
$empire=new mysqlquery();
$enews=$_POST['enews'];
if(empty($enews))
{
$enews=$_GET['enews'];
}
//导入文件
if($enews=='DownSoft'||$enews=='GetSofturl')
{
$enews=='DownSoft'?eCheckCloseMods('down'):eCheckCloseMods('movie');//关闭模块
include('class/DownSysFun.php');
}
if($enews=="DownSoft")//下载软件
{
$classid=$_GET['classid'];
$id=$_GET['id'];
$pathid=$_GET['pathid'];
$p=$_GET['p'];
$pass=$_GET['pass'];
DownSoft($classid,$id,$pathid,$p,$pass);
}
elseif($enews=="GetSofturl")//取得软件地址
{
$classid=$_GET['classid'];
$id=$_GET[id];
$pathid=$_GET[pathid];
$p=$_GET[p];
$pass=$_GET['pass'];
$onlinetime=$_GET['onlinetime'];
$onlinepass=$_GET['onlinepass'];
$movtime=20;
GetSofturl($classid,$id,$pathid,$p,$pass,$onlinetime,$onlinepass);
}
else
{printerror("ErrorUrl","history.go(-1)",1);}
db_close();
$empire=null;
?>
\ No newline at end of file
<?php
if(!defined('InEmpireCMS'))
{
exit();
}
//扣点
ViewOnlineKFen($showdown_r,$u,$u['userid'],$classid,$id,$pathid,$r);
$width=550;
$height=450;
$openwidth=$width+30;
$openheight=$height+60;
?>
<HTML>
<HEAD>
<TITLE><?=$r[title]?> --- 媒体播放器</TITLE>
<META HTTP-EQUIV="Expires" CONTENT="0">
<link rel="stylesheet" href="js/player.css">
<script language="javascript">
window.resizeTo(<?=$openwidth?>,<?=$openheight?>);
window.moveTo(100,100);
window.focus()
</script>
<SCRIPT language=javascript>
function click() {
if (event.button==2) {
alert('对不起,您想做什么?')
}
}
document.onmousedown=click
</SCRIPT>
<BODY id=thisbody bgcolor="#000000" topMargin=0 leftMargin=0 rightMargin=0 bottomMargin=0 style="scroll:no; overflow: hidden;" ondragstart="self.event.returnValue=false" onselectstart="self.event.returnValue=false">
<table width="100%" border="0" cellpadding="3" cellspacing="1">
<tr>
<td><div align="center">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="<?=$width?>" height="<?=$height?>">
<param name="movie" value="<?=$trueurl?>">
<param name="quality" value="high">
<embed src="<?=$trueurl?>" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="<?=$width?>" height="<?=$height?>"></embed></object>
</div></td>
</tr>
<tr>
<td><div align="center"><font color="#ffffff">[<a href="<?=$trueurl?>" target=_blank><font color="#ffffff">全屏欣赏</font></a>]</font></div></td>
</tr>
</table>
</body>
</html>
\ No newline at end of file
<?php
if(!defined('InEmpireCMS'))
{
exit();
}
//扣点
ViewOnlineKFen($showdown_r,$u,$u['userid'],$classid,$id,$pathid,$r);
$width=480;
$height=360;
$openwidth=$width+30;
$openheight=$height+60;
?>
<HTML>
<HEAD>
<TITLE><?=$r[title]?> --- 媒体播放器</TITLE>
<META HTTP-EQUIV="Expires" CONTENT="0">
<link rel="stylesheet" href="js/player.css">
<script language="javascript">
window.resizeTo(<?=$openwidth?>,<?=$openheight?>);
window.moveTo(100,100);
window.focus()
</script>
<SCRIPT language=javascript>
function click() {
if (event.button==2) {
alert('对不起,请勿点击右键')
}
}
document.onmousedown=click
</SCRIPT>
<BODY id=thisbody bgcolor="#000000" topMargin=0 leftMargin=0 rightMargin=0 bottomMargin=0 style="scroll:no; overflow: hidden;" ondragstart="self.event.returnValue=false" onselectstart="self.event.returnValue=false">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="<?=$width?>" height="<?=$height?>">
<param name="movie" value="images/flvplayer.swf?vcastr_file=<?=$trueurl?>&vcastr_title=<?=$r[title]?>&BarColor=0xFF6600&BarPosition=1&IsAutoPlay=1">
<param name="quality" value="high">
<param name="allowFullScreen" value="true" />
<embed src="images/flvplayer.swf?vcastr_file=<?=$trueurl?>&vcastr_title=<?=$r[title]?>&BarColor=0xFF6600&BarPosition=1&IsAutoPlay=1" allowFullScreen="true" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="<?=$width?>" height="<?=$height?>"></embed>
</object>
</td>
</tr>
</table>
</body>
</html>
\ No newline at end of file
document.write("<OBJECT classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0 WIDTH=542 HEIGHT=140 id=a.swf ALIGN=><PARAM NAME=movie VALUE=a.swf><PARAM NAME=quality VALUE=high><PARAM NAME=bgcolor VALUE=#FFFFFF><EMBED src=a.swf quality=high bgcolor=#FFFFFF WIDTH=542 HEIGHT=140 NAME=揍扁你,谁让你看源代码的 ALIGN=TYPE=application/x-shockwave-flash PLUGINSPAGE=http://www.macromedia.com/go/getflashplayer></EMBED></OBJECT>");
\ No newline at end of file
document.write("<OBJECT classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0 WIDTH=542 HEIGHT=140 id=b.swf ALIGN=><PARAM NAME=movie VALUE=b.swf><PARAM NAME=quality VALUE=high><PARAM NAME=bgcolor VALUE=#FFFFFF><EMBED src=b.swf quality=high bgcolor=#FFFFFF WIDTH=542 HEIGHT=140 NAME=揍扁你,谁让你看源代码的 ALIGN=TYPE=application/x-shockwave-flash PLUGINSPAGE=http://www.macromedia.com/go/getflashplayer></EMBED></OBJECT>");
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment