1) { EcmsDefMoreport($ecms_config['sets']['selfmoreportid']); } //--------------- 数据库 --------------- function db_connect(){ global $ecms_config; $dblink=do_dbconnect($ecms_config['db']['dbserver'],$ecms_config['db']['dbport'],$ecms_config['db']['dbusername'],$ecms_config['db']['dbpassword'],$ecms_config['db']['dbname']); return $dblink; } function return_dblink($query){ $dblink=$GLOBALS['link']; return $dblink; } //设置编码 function DoSetDbChar($dbchar){ global $link; if($dbchar&&$dbchar!='auto') { do_DoSetDbChar($dbchar,$link); } } function db_close(){ global $link; do_dbclose($link); } //--------------- 公共 --------------- //设置COOKIE function esetcookie($var,$val,$life=0,$ecms=0){ global $ecms_config; //secure属性 $cksecure=$ecms_config['cks']['cksecure']; if(!empty($cksecure)) { $secure=0; if($cksecure==2)//开启 { $secure=1; } elseif($cksecure==3)//后台开启 { if(defined('EmpireCMSAdmin')) { $secure=1; } } elseif($cksecure==4)//前台开启 { if(!defined('EmpireCMSAdmin')) { $secure=1; } } else {} } else { $secure=eCheckUseHttps(); } //httponly属性 $ckhttponly=$ecms_config['cks']['ckhttponly']; $httponly=0; if(!empty($ckhttponly)) { if($ckhttponly==1)//开启 { $httponly=1; } elseif($ckhttponly==2)//后台开启 { if(defined('EmpireCMSAdmin')) { $httponly=1; } } elseif($ckhttponly==3)//前台开启 { if(!defined('EmpireCMSAdmin')) { $httponly=1; } } else {} } //设置 $varpre=empty($ecms)?$ecms_config['cks']['ckvarpre']:$ecms_config['cks']['ckadminvarpre']; $ckpath=$ecms_config['cks']['ckpath']; if(PHP_VERSION<'5.2.0') { if($httponly) { $ckpath.='; HttpOnly'; } return setcookie($varpre.$var,$val,$life,$ckpath,$ecms_config['cks']['ckdomain'],$secure); } else { return setcookie($varpre.$var,$val,$life,$ckpath,$ecms_config['cks']['ckdomain'],$secure,$httponly); } } //返回cookie function getcvar($var,$ecms=0){ global $ecms_config; $tvar=empty($ecms)?$ecms_config['cks']['ckvarpre'].$var:$ecms_config['cks']['ckadminvarpre'].$var; return $_COOKIE[$tvar]; } //错误提示 function printerror($error="",$gotourl="",$ecms=0,$noautourl=0,$novar=0){ global $empire,$editor,$public_r,$ecms_config; if($editor==1){$a="../";} elseif($editor==2){$a="../../";} elseif($editor==3){$a="../../../";} else{$a="";} if($ecms==1||$ecms==9) { $a=ECMS_PATH.'e/data/'; } if(strstr($gotourl,"(")||empty($gotourl)) { if(strstr($gotourl,"(-2")) { $gotourl_js="history.go(-2)"; $gotourl="javascript:history.go(-2)"; } else { $gotourl_js="history.go(-1)"; $gotourl="javascript:history.go(-1)"; } } else {$gotourl_js="self.location.href='$gotourl';";} if(empty($error)) {$error="DbError";} if($ecms==9)//前台弹出对话框 { @include $a.LoadLang("pub/q_message.php"); $error=empty($novar)?$qmessage_r[$error]:$error; echo""; db_close(); $empire=null; exit(); } elseif($ecms==8)//后台弹出对话框 { @include $a.LoadLang("pub/message.php"); $error=empty($novar)?$message_r[$error]:$error; echo""; db_close(); $empire=null; exit(); } elseif($ecms==7)//前台弹出对话框并关闭窗口 { @include $a.LoadLang("pub/q_message.php"); $error=empty($novar)?$qmessage_r[$error]:$error; echo""; db_close(); $empire=null; exit(); } elseif($ecms==6)//后台弹出对话框并关闭窗口 { @include $a.LoadLang("pub/message.php"); $error=empty($novar)?$message_r[$error]:$error; echo""; db_close(); $empire=null; exit(); } elseif($ecms==0) { @include $a.LoadLang("pub/message.php"); $error=empty($novar)?$message_r[$error]:$error; @include($a."message.php"); } else { @include $a.LoadLang("pub/q_message.php"); $error=empty($novar)?$qmessage_r[$error]:$error; @include($a."../message/index.php"); } db_close(); $empire=null; exit(); } //错误提示2:直接文字 function printerror2($error='',$gotourl='',$ecms=0,$noautourl=0){ global $empire,$public_r; if(strstr($gotourl,"(")||empty($gotourl)) { if(strstr($gotourl,"(-2")) { $gotourl_js="history.go(-2)"; $gotourl="javascript:history.go(-2)"; } else { $gotourl_js="history.go(-1)"; $gotourl="javascript:history.go(-1)"; } } else {$gotourl_js="self.location.href='$gotourl';";} if($ecms==9)//弹出对话框 { echo""; } elseif($ecms==7)//弹出对话框并关闭窗口 { echo""; } else { @include(ECMS_PATH.'e/message/index.php'); } db_close(); exit(); } //ajax错误提示 function ajax_printerror($result='',$ajaxarea='ajaxarea',$error='',$ecms=0,$novar=0){ global $empire,$editor,$public_r,$ecms_config; if($editor==1){$a="../";} elseif($editor==2){$a="../../";} elseif($editor==3){$a="../../../";} else{$a="";} if($ecms==1) { $a=ECMS_PATH.'e/data/'; } if($ecms==0) { @include $a.LoadLang("pub/message.php"); $error=empty($novar)?$message_r[$error]:$error; } else { @include $a.LoadLang("pub/q_message.php"); $error=empty($novar)?$qmessage_r[$error]:$error; } if(empty($ajaxarea)) { $ajaxarea='ajaxarea'; } $ajaxarea=ehtmlspecialchars($ajaxarea,ENT_QUOTES); $string=$result.'|'.$ajaxarea.'|'.$error; echo $string; db_close(); $empire=null; exit(); } //直接转向 function printerrortourl($gotourl='',$error='',$sec=0){ global $empire,$editor,$public_r,$ecms_config; echo''.$error; db_close(); $empire=null; exit(); } //编码转换 function DoIconvVal($code,$targetcode,$str,$inc=0){ global $editor; if($editor==1){$a="../";} elseif($editor==2){$a="../../";} elseif($editor==3){$a="../../../";} else{$a="";} if($inc) { @include_once(ECMS_PATH."e/class/doiconv.php"); } $iconv=new Chinese($a); $str=$iconv->Convert($code,$targetcode,$str); return $str; } //初始化访问端 function EcmsDefMoreport($pid){ global $public_r,$ecms_config,$emoreport_r; if(empty($public_r['ckhavemoreport'])) { exit(); } $pid=(int)$pid; if($pid<=1||!$emoreport_r[$pid]['pid']) { exit(); } if($emoreport_r[$pid]['isclose']) { echo'This visit port is close!'; exit(); } //关闭后台 if(defined('EmpireCMSAdmin')&&$emoreport_r[$pid]['openadmin']) { if($emoreport_r[$pid]['openadmin']==1) { if(defined('EmpireCMSAPage')) { //echo'Admin close!'; exit(); } } else { //echo'Admin close!'; exit(); } } $ecms_config['sets']['deftempid']=$emoreport_r[$pid]['tempgid']; $ecms_config['sets']['pagemustdt']=$emoreport_r[$pid]['mustdt']; $ecms_config['sets']['mainportpath']=$emoreport_r[1]['ppath']; if($emoreport_r[$pid]['closeadd']) { $public_r['addnews_ok']=$emoreport_r[$pid]['closeadd']; } } //重置为主访问端模板组ID function Moreport_ResetMainTempGid(){ global $ecms_config,$public_r,$emoreport_r; $pid=(int)$ecms_config['sets']['selfmoreportid']; if($pid<=1||!$emoreport_r[$pid]['pid']) { return ''; } $ecms_config['sets']['deftempid']=$public_r['deftempid']?$public_r['deftempid']:1; } //转向访问端目录 function Moreport_eSetSelfPath($pid,$ecms=0){ global $empire,$dbtbpre,$public_r,$ecms_config; $pid=(int)$pid; $defpr=array(); $defpr['ppath']=''; if($pid<=1) { $pid=1; } $pr=$empire->fetch1("select * from {$dbtbpre}enewsmoreport where pid='$pid'"); if(!$pr['ppath']||!file_exists($pr['ppath'].'e/config/config.php')) { return $defpr; } define('ECMS_SELFPATH',$pr['ppath']); $ecms_config['sets']['deftempid']=$pr['tempgid']; //缓存模板 if($ecms==1) { $tr=$empire->fetch1("select downsofttemp,onlinemovietemp,listpagetemp from ".GetTemptb("enewspubtemp")." limit 1"); $public_r['downsofttemp']=addslashes(stripSlashes($tr['downsofttemp'])); $public_r['onlinemovietemp']=addslashes(stripSlashes($tr['onlinemovietemp'])); $public_r['listpagetemp']=addslashes(stripSlashes($tr['listpagetemp'])); } return $pr; } //autodo function eAutodo_AddDo($dotype,$classid,$id,$tid,$userid,$pid,$fname='',$ckdoall=1){ return ''; } //返回是否强制动态页 function Moreport_ReturnMustDt(){ global $ecms_config; return $ecms_config['sets']['pagemustdt']; } //返回是否强制动态页(加状态) function Moreport_ReturnMustDtAnd(){ global $ecms_config; if(defined('ECMS_SELFPATH')&&$ecms_config['sets']['pagemustdt']) { return 1; } else { return 0; } } //返回强制动态页状态 function Moreport_ReturnDtStatus($dt){ global $ecms_config; if($ecms_config['sets']['pagemustdt']) { return 1; } else { return $dt; } } //返回内容页地址(访问端) function Moreport_ReturnTitleUrl($classid,$id){ $rewriter=eReturnRewriteInfoUrl($classid,$id,1); $titleurl=$rewriter['pageurl']; return $titleurl; } //返回栏目页地址(访问端) function Moreport_ReturnClassUrl($classid){ global $public_r,$class_r; if($class_r[$classid]['wburl']) { $classurl=$class_r[$classid]['wburl']; } else { $rewriter=eReturnRewriteClassUrl($classid,1); $classurl=$rewriter['pageurl']; } return $classurl; } //返回标题分类页地址(访问端) function Moreport_ReturnInfoTypeUrl($typeid){ $rewriter=eReturnRewriteTitleTypeUrl($typeid,1); $url=$rewriter['pageurl']; return $url; } //返回首页地址(访问端) function Moreport_ReturnIndexUrl(){ global $public_r; $file=$public_r['newsurl'].'index.php'; return $file; } //根据编号返回模板表名 function eTnoGetTempTbname($no){ if($no==1)//标签模板 { $temptb='enewsbqtemp'; } elseif($no==2)//JS模板 { $temptb='enewsjstemp'; } elseif($no==3)//列表模板 { $temptb='enewslisttemp'; } elseif($no==4)//内容模板 { $temptb='enewsnewstemp'; } elseif($no==5)//公共模板 { $temptb='enewspubtemp'; } elseif($no==6)//搜索模板 { $temptb='enewssearchtemp'; } elseif($no==7)//模板变量 { $temptb='enewstempvar'; } elseif($no==8)//投票模板 { $temptb='enewsvotetemp'; } elseif($no==9)//封面模板 { $temptb='enewsclasstemp'; } elseif($no==10)//评论模板 { $temptb='enewspltemp'; } elseif($no==11)//打印模板 { $temptb='enewsprinttemp'; } elseif($no==12)//自定义页面模板 { $temptb='enewspagetemp'; } else { $temptb=''; } return $temptb; } //模板表转换 function GetTemptb($temptb){ global $public_r,$ecms_config,$dbtbpre; if(!empty($ecms_config['sets']['deftempid'])) { $tempid=$ecms_config['sets']['deftempid']; } else { $tempid=$public_r['deftempid']; } if(!empty($tempid)&&$tempid!=1) { $en="_".$tempid; } return $dbtbpre.$temptb.$en; } //返回操作模板表 function GetDoTemptb($temptb,$gid){ global $dbtbpre; if(!empty($gid)&&$gid!=1) { $en="_".$gid; } return $dbtbpre.$temptb.$en; } //返回当前使用模板组ID function GetDoTempGid(){ global $ecms_config,$public_r; if($ecms_config['sets']['deftempid']) { $gid=$ecms_config['sets']['deftempid']; } elseif($public_r['deftempid']) { $gid=$public_r['deftempid']; } else { $gid=1; } return $gid; } //导入语言包 function LoadLang($file){ global $ecms_config; return "../data/language/".$ecms_config['sets']['elang']."/".$file; } //取得IP function egetip(){ global $ecms_config; if(getenv('HTTP_CLIENT_IP')&&strcasecmp(getenv('HTTP_CLIENT_IP'),'unknown')) { $ip=getenv('HTTP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_FOR')&&strcasecmp(getenv('HTTP_X_FORWARDED_FOR'),'unknown')) { $ip=getenv('HTTP_X_FORWARDED_FOR'); } elseif(getenv('REMOTE_ADDR')&&strcasecmp(getenv('REMOTE_ADDR'),'unknown')) { $ip=getenv('REMOTE_ADDR'); } elseif(isset($_SERVER['REMOTE_ADDR'])&&$_SERVER['REMOTE_ADDR']&&strcasecmp($_SERVER['REMOTE_ADDR'],'unknown')) { $ip=$_SERVER['REMOTE_ADDR']; } if($ecms_config['sets']['getiptype']>0) { $ip=egetipadd(); } $ip=RepPostVar(preg_replace("/^([\d\.]+).*/","\\1",$ip)); return $ip; } //取得IP附加 function egetipadd(){ global $ecms_config; if($ecms_config['sets']['getiptype']==2) { $ip=getenv('HTTP_X_FORWARDED_FOR'); } elseif($ecms_config['sets']['getiptype']==3) { $ip=getenv('HTTP_CLIENT_IP'); } else { $ip=getenv('REMOTE_ADDR'); } return $ip; } //取得端口 function egetipport(){ $ipport=(int)$_SERVER['REMOTE_PORT']; return $ipport; } //检查地址 function ecms_eCheckNotUrl($str){ if(stristr($str,'/')||stristr($str,':')||stristr($str,"\\")||stristr($str,'&')||stristr($str,'?')||stristr($str,'#')||stristr($str,'@')||stristr($str,'"')||stristr($str,"'")||stristr($str,'%')) { exit(); } return $str; } //返回来源地址 function EcmsGetReturnUrl(){ global $public_r; $from=$_SERVER['HTTP_REFERER']?$_SERVER['HTTP_REFERER']:$public_r['newsurl']; return RepPostStrUrl($from); } //checkdomain function eToCheckThisDomain($url){ $domain=eReturnDomain(); if(!stristr($url,$domain)) { exit(); } if(eCheckHaveReStr($url,'://')) { exit(); } } //checkotherurl function eCheckOtherViewUrl($url,$havevar=0,$ecms=0){ //fromurl if($ecms==1) { $fromurl=$_SERVER['HTTP_REFERER']; if(!$fromurl) { exit(); } eToCheckThisDomain($fromurl); } if(!$url) { exit(); } $url=RepPostStrUrl($url); if(!$havevar) { if(stristr($url,'?')||stristr($url,'&')||stristr($url,'#')) { exit(); } } //url if(stristr($url,'://')) { eToCheckThisDomain($url); } else { if(stristr($str,':')||stristr($str,"\\")||stristr($str,'"')||stristr($str,"'")) { exit(); } } } //checkrestr function eCheckHaveReStr($str,$exp){ $r=explode($exp,$str); if(count($r)>2) { return 1; } return 0; } //checkurl function eToCheckIsUrl($url){ $r=explode('://',$url); return eCheckStrType(2,$r[0],0); } //checkurl2 function eToCheckIsUrl2($url){ if(substr($url,0,4)=='http') { return 1; } return 0; } //checkstrtype function eCheckStrType($type,$str,$doing=0){ $ret=0; if($type==1)//数字 { if(preg_match('/^[0-9]+$/',$str)) { $ret=1; } } elseif($type==2)//字母 { if(preg_match('/^[A-Za-z]+$/',$str)) { $ret=1; } } elseif($type==3)//字母+数字 { if(preg_match('/^[A-Za-z0-9]+$/',$str)) { $ret=1; } } elseif($type==4)//字母+数字+下划线 { if(preg_match('/^[A-Za-z0-9_]+$/',$str)) { $ret=1; } } elseif($type==5)//字母+数字+下划线+点 { if(preg_match('/^[A-Za-z0-9\-\._]+$/',$str)) { $ret=1; } } else { $ret=0; } if($doing) { if($ret<1) { exit(); } } return $ret; } //返回地址 function DoingReturnUrl($url,$from=''){ if(empty($from)) { return RepPostStrUrl($url); } elseif($from==9) { $from=$_SERVER['HTTP_REFERER']?$_SERVER['HTTP_REFERER']:$url; } return RepPostStrUrl($from); } //htmlspecialchars处理 function ehtmlspecialchars($val,$flags=ENT_COMPAT){ global $ecms_config; if(PHP_VERSION>='5.4.0') { if($ecms_config['sets']['pagechar']=='utf-8') { $char='UTF-8'; } else { $char='ISO-8859-1'; } $val=htmlspecialchars($val,$flags,$char); } else { $val=htmlspecialchars($val,$flags); } return $val; } //addslashes处理 function eaddslashes($val,$ckmq=1){ if($ckmq==1&&MAGIC_QUOTES_GPC) { return $val; } $val=addslashes($val); return $val; } //addslashes处理 function eaddslashes2($val,$ckmq=1){ if($ckmq==1&&MAGIC_QUOTES_GPC) { return addslashes($val); } $val=addslashes(addslashes($val)); return $val; } //stripSlashes处理 function estripSlashes($val,$ckmq=1){ if($ckmq==1&&!MAGIC_QUOTES_GPC) { return $val; } $val=stripSlashes($val); return $val; } //stripSlashes处理 function estripSlashes2($val,$ckmq=1){ if($ckmq==1&&!MAGIC_QUOTES_GPC) { return stripSlashes($val); } $val=stripSlashes(stripSlashes($val)); return $val; } //变量正数型处理 function RepPIntvar($val){ $val=intval($val); if($val<0) { $val=0; } return $val; } //参数处理函数 function RepPostVar($val){ if($val!=addslashes($val)) { exit(); } CkPostStrChar($val); $val=str_replace("%","",$val); $val=str_replace(" ","",$val); $val=str_replace("`","",$val); $val=str_replace("\t","",$val); $val=str_replace("%20","",$val); $val=str_replace("%27","",$val); $val=str_replace("*","",$val); $val=str_replace("'","",$val); $val=str_replace("\"","",$val); $val=str_replace("/","",$val); $val=str_replace(";","",$val); $val=str_replace("#","",$val); $val=str_replace("--","",$val); $val=RepPostStr($val,1); $val=addslashes($val); //FireWall FWClearGetText($val); return $val; } //参数处理函数2 function RepPostVar2($val){ if($val!=addslashes($val)) { exit(); } CkPostStrChar($val); $val=str_replace("%","",$val); $val=str_replace("`","",$val); $val=str_replace("\t","",$val); $val=str_replace("%20","",$val); $val=str_replace("%27","",$val); $val=str_replace("*","",$val); $val=str_replace("'","",$val); $val=str_replace("\"","",$val); $val=str_replace("/","",$val); $val=str_replace(";","",$val); $val=str_replace("#","",$val); $val=str_replace("--","",$val); $val=RepPostStr($val,1); $val=addslashes($val); //FireWall FWClearGetText($val); return $val; } //参数处理函数3 function RepPostVar3($val){ if($val!=addslashes($val)) { exit(); } CkPostStrChar($val); $val=str_replace("%","",$val); $val=str_replace("`","",$val); $val=str_replace("\t","",$val); $val=str_replace("%20","",$val); $val=str_replace("%27","",$val); $val=str_replace("*","",$val); $val=str_replace("'","",$val); $val=str_replace("\"","",$val); //$val=str_replace("/","",$val); $val=str_replace(";","",$val); $val=str_replace("#","",$val); $val=str_replace("--","",$val); $val=RepPostStr($val,1); $val=addslashes($val); //FireWall FWClearGetText($val); return $val; } //验证编码字符 function CkPostStrCharYh($val){ if($val!=addslashes($val)) { exit(); } return $val; } //处理提交字符 function RepPostStr($val,$ecms=0,$phck=0){ if($phck==1) { CkPostStrCharYh($val); } $val=ehtmlspecialchars($val,ENT_QUOTES); if($ecms==0) { CkPostStrChar($val); $val=AddAddsData($val); //FireWall FWClearGetText($val); } return $val; } //处理提交字符2 function RepPostStr2($val,$phck=0){ if($phck==1) { CkPostStrCharYh($val); } CkPostStrChar($val); $val=AddAddsData($val); //FireWall FWClearGetText($val); return $val; } //处理地址 function RepPostStrUrl($val,$phck=0){ $val=str_replace('&','&',RepPostStr($val,1,$phck)); return $val; } //保存数据处理 function dgdb_tosave($val,$phck=0){ $val=RepPostStr($val,0,$phck); $val=addslashes($val); return $val; } //保存数据处理(url) function dgdb_tosaveurl($val,$phck=0){ $val=RepPostStr($val,0,$phck); $val=str_replace('&','&',$val); $val=addslashes($val); return $val; } //数据显示 function dgdb_toshow($val){ $val=stripSlashes($val); return $val; } //处理显示字符 function eDoRepShowStr($val,$isurl=0){ $val=ehtmlspecialchars($val,ENT_QUOTES); if($isurl==1) { $val=str_replace('&','&',$val); } return $val; } //处理普通字符 function eDoRepPostComStr($val,$isurl=0){ $val=ehtmlspecialchars($val,ENT_QUOTES); if($isurl==1) { $val=str_replace('&','&',$val); } return $val; } //处理提交字符 function hRepPostStr($val,$ecms=0,$phck=0){ if($phck==1) { CkPostStrCharYh($val); } if($ecms==1) { $val=ehtmlspecialchars($val,ENT_QUOTES); } CkPostStrChar($val); $val=AddAddsData($val); return $val; } //处理提交字符2 function hRepPostStr2($val,$phck=0){ if($phck==1) { CkPostStrCharYh($val); } CkPostStrChar($val); $val=AddAddsData($val); return $val; } //处理编码字符 function CkPostStrChar($val){ if(substr($val,-1)=="\\") { exit(); } } //返回转义 function egetzy($n='2'){ if($n=='rn') { $str="\r\n"; } elseif($n=='n') { $str="\n"; } elseif($n=='r') { $str="\r"; } elseif($n=='t') { $str="\t"; } elseif($n=='syh') { $str="\\\""; } elseif($n=='dyh') { $str="\'"; } else { for($i=0;$i<$n;$i++) { $str.="\\"; } } return $str; } //验证字符是否空 function CheckValEmpty($val){ return strlen($val)==0?1:0; } //返回ID列表 function eReturnInids($ids){ if(empty($ids)) { return 0; } $dh=''; $retids=''; $r=explode(',',$ids); $count=count($r); for($i=0;$i<$count;$i++) { $id=(int)$r[$i]; if(!$id) { continue; } $retids.=$dh.$id; $dh=','; } if(empty($retids)) { return 0; } return $retids; } //数组返回ID列表 function eArrayReturnInids($r){ $count=count($r); if(!$count) { return 0; } $dh=''; $retids=''; for($i=0;$i<$count;$i++) { $id=(int)$r[$i]; if(!$id) { continue; } $retids.=$dh.$id; $dh=','; } if(empty($retids)) { return 0; } return $retids; } //返回父栏目ID列表 function eReturnInFcids($featherclass){ if(!$featherclass||$featherclass=='|') { return 0; } $cids=''; $cdh=''; $fcr=explode('|',$featherclass); $fcount=count($fcr); for($fi=1;$fi<$fcount-1;$fi++) { $fcr[$fi]=(int)$fcr[$fi]; if(!$fcr[$fi]) { continue; } $cids.=$cdh.$fcr[$fi]; $cdh=','; } if(empty($cids)) { return 0; } return $cids; } //返回组列表 function eReturnSetGroups($groupid,$isnum=1){ $count=count($groupid); if($count==0) { return ''; } $ids=','; for($i=0;$i<$count;$i++) { if($isnum==1) { $groupid[$i]=(int)$groupid[$i]; } $ids.=$groupid[$i].','; } return $ids; } //取得表里的模型ID function eGetTableModids($tid,$tbname){ global $empire,$dbtbpre; $mids=''; $where=$tid?"tid='$tid'":"tbname='$tbname'"; $sql=$empire->query("select mid from {$dbtbpre}enewsmod where ".$where); while($r=$empire->fetch($sql)) { $mids.=$dh.$r['mid']; $dh=','; } if(empty($mids)) { $mids=0; } return $mids; } //替换模板变量字符 function RepTempvarPostStr($val){ $val=str_replace('[!--','[!---',$val); return $val; } //替换模板变量字符 function RepTempvarPostStrT($val,$ispagef=0){ if($ispagef==1) { $val=str_replace('[!--empirenews.page--]','[!!!-empirecms.page-!!]',$val); } $val=str_replace('[!--','[!--',$val); if($ispagef==1) { $val=str_replace('[!!!-empirecms.page-!!]','[!--empirenews.page--]',$val); } return $val; } //取得文件扩展名 function GetFiletype($filename){ $filer=explode(".",$filename); $count=count($filer)-1; return strtolower(".".RepGetFiletype($filer[$count])); } function RepGetFiletype($filetype){ $filetype=str_replace('|','_',$filetype); $filetype=str_replace(',','_',$filetype); $filetype=str_replace('.','_',$filetype); return $filetype; } //取得文件名 function GetFilename($filename){ if(strstr($filename,"\\")) { $exp="\\"; } else { $exp='/'; } $filer=explode($exp,$filename); $count=count($filer)-1; return $filer[$count]; } //返回目录函数 function eReturnCPath($path,$ypath=''){ if(strstr($path,'..')||strstr($path,"\\")||strstr($path,'%')||strstr($path,':')) { return $ypath; } return $path; } //验证文件名格式函数 function eReturnCkCFile($path){ if(strstr($path,'..')||strstr($path,"\\")||strstr($path,'/')||strstr($path,'%')||strstr($path,':')) { return 0; } return 1; } //字符截取函数 function sub($string,$start=0,$length,$mode=false,$dot='',$rephtml=0){ global $ecms_config; $strlen=strlen($string); if($strlen<=$length) { return $string; } if($rephtml==0) { $string = str_replace(array(' ','&','"','<','>','''), array(' ','&','"','<','>',"'"), $string); } $strcut = ''; if(strtolower($ecms_config['sets']['pagechar']) == 'utf-8') { $n = $tn = $noc = 0; while($n < $strlen) { $t = ord($string[$n]); if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) { $tn = 1; $n++; $noc++; } elseif(194 <= $t && $t <= 223) { $tn = 2; $n += 2; $noc += 2; } elseif(224 <= $t && $t < 239) { $tn = 3; $n += 3; $noc += 2; } elseif(240 <= $t && $t <= 247) { $tn = 4; $n += 4; $noc += 2; } elseif(248 <= $t && $t <= 251) { $tn = 5; $n += 5; $noc += 2; } elseif($t == 252 || $t == 253) { $tn = 6; $n += 6; $noc += 2; } else { $n++; } if($noc >= $length) { break; } } if($noc > $length) { $n -= $tn; } $strcut = substr($string, 0, $n); } else { for($i = 0; $i < $length; $i++) { $strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i]; } } if($rephtml==0) { $strcut = str_replace(array('&','"','<','>',"'"), array('&','"','<','>','''), $strcut); } return $strcut.$dot; } //截取字数 function esub($string,$length,$dot='',$rephtml=0){ return sub($string,0,$length,false,$dot,$rephtml); } //取得随机数 function make_password($pw_length){ $low_ascii_bound=48; $upper_ascii_bound=122; $notuse=array(58,59,60,61,62,63,64,91,92,93,94,95,96); while($i<$pw_length) { if(PHP_VERSION<'4.2.0') { mt_srand((double)microtime()*1000000); } mt_srand(); $randnum=mt_rand($low_ascii_bound,$upper_ascii_bound); if(!in_array($randnum,$notuse)) { $password1=$password1.chr($randnum); $i++; } } return $password1; } //取得随机数(数字) function no_make_password($pw_length){ $low_ascii_bound=48; $upper_ascii_bound=57; $notuse=array(58,59,60,61,62,63,64,73,79,91,92,93,94,95,96,108,111); while($i<$pw_length) { if(PHP_VERSION<'4.2.0') { mt_srand((double)microtime()*1000000); } mt_srand(); $randnum=mt_rand($low_ascii_bound,$upper_ascii_bound); if(!in_array($randnum,$notuse)) { $password1=$password1.chr($randnum); $i++; } } return $password1; } //取得随机数(字母) function abc_make_password($pw_length){ $low_ascii_bound=65; $upper_ascii_bound=122; $notuse=array(91,92,93,94,95,96); while($i<$pw_length) { if(PHP_VERSION<'4.2.0') { mt_srand((double)microtime()*1000000); } mt_srand(); $randnum=mt_rand($low_ascii_bound,$upper_ascii_bound); if(!in_array($randnum,$notuse)) { $password1=$password1.chr($randnum); $i++; } } return $password1; } //programno function EcmsGetProgramNo(){ $r=explode(' ',microtime()); $pno=$r[1].$r[0]; return $pno; } //随机数字 function EcmsRandInt($min=0,$max=0,$ecms=0){ mt_srand(); if($max) { $rnd=mt_rand($min,$max); } else { $rnd=mt_rand(); } return $rnd; } //颜色转RGB function ToReturnRGB($rgb){ $rgb=str_replace('#','',ehtmlspecialchars($rgb)); return array( base_convert(substr($rgb,0,2),16,10), base_convert(substr($rgb,2,2),16,10), base_convert(substr($rgb,4,2),16,10) ); } //验证页码是否有效 function eCheckListPageNo($page,$line,$totalnum){ $page=(int)$page; $line=(int)$line; $totalnum=(int)$totalnum; if(!$page) { return ''; } if(!$line) { return ''; } $totalpage=ceil($totalnum/$line); if($page>=$totalpage) { printerror('ErrorUrl','history.go(-1)',1); } } //前台分页 function page1($num,$line,$page_line,$start,$page,$search){ global $fun_r; $num=(int)$num; $line=(int)$line; $page_line=(int)$page_line; $start=(int)$start; $page=(int)$page; if($num<=$line) { return ''; } $search=RepPostStr($search,1); $url=eReturnSelfPage(0).'?page'; $snum=2;//最小页数 $totalpage=ceil($num/$line);//取得总页数 $firststr=''; //上一页 if($page<>0) { //$toppage=''; $pagepr=$page-1; $prepage=''; } //下一页 if($page!=$totalpage-1) { $pagenex=$page+1; $nextpage=''; $lastpage=''; } $starti=$page-$snum<0?0:$page-$snum; $no=0; for($i=$starti;$i<$totalpage&&$no<$page_line;$i++) { $no++; if($page==$i) { $is_1="
  • "; $is_2="
  • "; } else { $is_1='
  • '; $is_2="
  • "; } $pagenum=$i+1; $returnstr.="".$is_1.$pagenum.$is_2; } $returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage; return $returnstr; } //---------- 伪静态 ---------- //返回内容伪静态 function eReturnRewriteInfoUrl($classid,$id,$ecms=0){ global $public_r; if(empty($public_r['rewriteinfo'])) { $r['pageurl']=$public_r['newsurl']."e/action/ShowInfo.php?classid=$classid&id=$id"; $r['rewrite']=0; } else { if($ecms==1) { $r['pageurl']=$public_r['newsurl'].str_replace(array('[!--classid--]','[!--id--]','[!--page--]'),array($classid,$id,0),$public_r['rewriteinfo']); } else { $r['pageurl']=$public_r['newsurl'].str_replace(array('[!--classid--]','[!--id--]'),array($classid,$id),$public_r['rewriteinfo']); } $r['rewrite']=1; } return $r; } //返回栏目列表伪静态 function eReturnRewriteClassUrl($classid,$ecms=0){ global $public_r; if(empty($public_r['rewriteclass'])) { $r['pageurl']=$public_r['newsurl']."e/action/ListInfo/?classid=$classid"; $r['rewrite']=0; } else { if($ecms==1) { $r['pageurl']=$public_r['newsurl'].str_replace(array('[!--classid--]','[!--page--]'),array($classid,0),$public_r['rewriteclass']); } else { $r['pageurl']=$public_r['newsurl'].str_replace('[!--classid--]',$classid,$public_r['rewriteclass']); } $r['rewrite']=1; } return $r; } //返回标题分类列表伪静态 function eReturnRewriteTitleTypeUrl($ttid,$ecms=0){ global $public_r; if(empty($public_r['rewriteinfotype'])) { $r['pageurl']=$public_r['newsurl']."e/action/InfoType/?ttid=$ttid"; $r['rewrite']=0; } else { if($ecms==1) { $r['pageurl']=$public_r['newsurl'].str_replace(array('[!--ttid--]','[!--page--]'),array($ttid,0),$public_r['rewriteinfotype']); } else { $r['pageurl']=$public_r['newsurl'].str_replace('[!--ttid--]',$ttid,$public_r['rewriteinfotype']); } $r['rewrite']=1; } return $r; } //返回TAGS列表伪静态 function eReturnRewriteTagsUrl($tagid,$tagname,$ecms=0){ global $public_r; $tagname=urlencode($tagname); if(empty($public_r['rewritetags'])) { $r['pageurl']=$public_r['newsurl']."e/tags/?tagname=".$tagname; $r['rewrite']=0; } else { if($ecms==1) { $r['pageurl']=$public_r['newsurl'].str_replace(array('[!--tagname--]','[!--page--]'),array($tagname,0),$public_r['rewritetags']); } else { $r['pageurl']=$public_r['newsurl'].str_replace('[!--tagname--]',$tagname,$public_r['rewritetags']); } $r['rewrite']=1; } return $r; } //返回评论列表伪静态 function eReturnRewritePlUrl($classid,$id,$doaction='doinfo',$myorder=0,$tempid=0,$ecms=0){ global $public_r; if(empty($public_r['rewritepl'])) { if($doaction=='dozt') { $r['pageurl']=$public_r['plurl']."?doaction=dozt&classid=$classid".($myorder?'&myorder='.$myorder:'').($tempid?'&tempid='.$tempid:''); } else { $r['pageurl']=$public_r['plurl']."?classid=$classid&id=$id".($myorder?'&myorder='.$myorder:'').($tempid?'&tempid='.$tempid:''); } $r['rewrite']=0; } else { if($ecms==1) { $r['pageurl']=$public_r['newsurl'].str_replace(array('[!--doaction--]','[!--classid--]','[!--id--]','[!--page--]','[!--myorder--]','[!--tempid--]'),array($doaction,$classid,$id,0,$myorder,$tempid),$public_r['rewritepl']); } else { $r['pageurl']=$public_r['newsurl'].str_replace(array('[!--doaction--]','[!--classid--]','[!--id--]','[!--myorder--]','[!--tempid--]'),array($doaction,$classid,$id,$myorder,$tempid),$public_r['rewritepl']); } $r['rewrite']=1; } return $r; } //伪静态链接地址中转 function eReturnRewriteLink($type,$classid,$id){ if($type=='infopage')//信息页 { $url=eReturnRewriteInfoUrl($classid,$id); } elseif($type=='ttpage')//标题分类页 { $url=eReturnRewriteTitleTypeUrl($classid); } elseif($type=='tagspage')//Tags列表页 { $url=eReturnRewriteTagsUrl($classid,$id); } else//栏目页 { $url=eReturnRewriteClassUrl($classid); } return $url; } //伪静态替换分页号 function eReturnRewritePageLink($r,$page){ //动静 $truepage=$page+1; if($r['repagenum']&&$truepage<=$r['repagenum']) { //文件名 if(empty($r['dofile'])) { $r['dofile']='index'; } $url=$r['dolink'].$r['dofile'].($truepage==1?'':'_'.$truepage).$r['dotype']; return $url; } if($r['rewrite']==1) { $url=str_replace('[!--page--]',$page,$r['pageurl']); } else { $url=$r['pageurl'].'&page='.$page; } return $url; } //伪静态替换分页号(静态) function eReturnRewritePageLink2($r,$page){ if($r['rewrite']==1) { $url=str_replace('[!--page--]',$page-1,$r['pageurl']); } else { $url=$r['pageurl'].'&page='.($page-1); } return $url; } //前台分页(伪静态) function InfoUsePage($num,$line,$page_line,$start,$page,$search,$add){ global $fun_r; $num=(int)$num; $line=(int)$line; $page_line=(int)$page_line; $start=(int)$start; $page=(int)$page; if($num<=$line) { return ''; } $search=RepPostStr($search,1); $snum=2;//最小页数 $totalpage=ceil($num/$line);//取得总页数 $firststr=' '.$num.'   '; //上一页 if($page<>0) { $toppage=''.$fun_r['startpage'].' '; $pagepr=$page-1; $prepage=''.$fun_r['pripage'].''; } //下一页 if($page!=$totalpage-1) { $pagenex=$page+1; $nextpage=' '.$fun_r['nextpage'].''; $lastpage=' '.$fun_r['lastpage'].''; } $starti=$page-$snum<0?0:$page-$snum; $no=0; for($i=$starti;$i<$totalpage&&$no<$page_line;$i++) { $no++; if($page==$i) { $is_1=""; $is_2=""; } else { $is_1=''; $is_2=""; } $pagenum=$i+1; $returnstr.=" ".$is_1.$pagenum.$is_2; } $returnstr=$firststr.$toppage.$prepage.$returnstr.$nextpage.$lastpage; return $returnstr; } //时间转换函数 function to_time($datetime){ if(strlen($datetime)==10) { $datetime.=" 00:00:00"; } $r=explode(" ",$datetime); $t=explode("-",$r[0]); $k=explode(":",$r[1]); $dbtime=@mktime($k[0],$k[1],$k[2],$t[1],$t[2],$t[0]); return intval($dbtime); } //时期转日期 function date_time($time,$format="Y-m-d H:i:s"){ $threadtime=date($format,$time); return $threadtime; } //格式化日期 function format_datetime($newstime,$format){ if($newstime=="0000-00-00 00:00:00") {return $newstime;} $time=is_numeric($newstime)?$newstime:to_time($newstime); $newdate=date_time($time,$format); return $newdate; } //时间转换函数 function to_date($date){ $date.=" 00:00:00"; $r=explode(" ",$date); $t=explode("-",$r[0]); $k=explode(":",$r[1]); $dbtime=@mktime($k[0],$k[1],$k[2],$t[1],$t[2],$t[0]); return intval($dbtime); } //选择时间 function ToChangeTime($time,$day){ $truetime=$time-$day*24*3600; $date=date_time($truetime,"Y-m-d"); return $date; } //删除文件 function DelFiletext($filename){ @unlink($filename); } //取得文件内容 function ReadFiletext($filepath){ $filepath=trim($filepath); $ishttp=0; if(strstr($filepath,'://')) { if(!eToCheckIsUrl2($filepath)) { return ''; } $ishttp=1; } $htmlfp=@fopen($filepath,"r"); //远程 if($ishttp==1) { while($data=@fread($htmlfp,500000)) { $string.=$data; } } //本地 else { $string=@fread($htmlfp,@filesize($filepath)); } @fclose($htmlfp); return $string; } //写文件 function WriteFiletext($filepath,$string){ global $public_r; $string=stripSlashes($string); $fp=@fopen($filepath,"w"); @fputs($fp,$string); @fclose($fp); if(empty($public_r[filechmod])) { @chmod($filepath,0777); } } //写文件 function WriteFiletext_n($filepath,$string){ global $public_r; $fp=@fopen($filepath,"w"); @fputs($fp,$string); @fclose($fp); if(empty($public_r[filechmod])) { @chmod($filepath,0777); } } //标题属性后 function DoTitleFont($titlefont,$title){ if(empty($titlefont)) { return $title; } $r=explode(',',$titlefont); if(!empty($r[0])) { $title="".$title.""; } if(empty($r[1])) {return $title;} //粗体 if(strstr($r[1],"b")) {$title="".$title."";} //斜体 if(strstr($r[1],"i")) {$title="".$title."";} //删除线 if(strstr($r[1],"s")) {$title="".$title."";} return $title; } //返回头条级别名称权限 function ReturnFirsttitleNameCkLevel($r,$groupid,$classid){ if(defined('EmpireCMSAdmin')) { if($r['groupid']) { if(!strstr($r['groupid'],','.$groupid.',')) { return 0; } } } if($classid) { if($r['showcid']) { if(!strstr($r['showcid'],','.$classid.',')) { return 0; } } if($r['hiddencid']) { if(strstr($r['hiddencid'],','.$classid.',')) { return 0; } } } else { if($r['showall']==1) { return 0; } } return 1; } //返回头条级别名称 function ReturnFirsttitleNameList($firsttitle,$isgood){ global $empire,$dbtbpre,$lur,$classid,$class_r; $classid=(int)$classid; if($classid&&!$class_r[$classid]['islast']) { $classid=0; } $groupid=(int)$lur['groupid']; $first_r=array();//头条 $ftn=''; $good_r=array();//推荐 $gn=''; $sql=$empire->query("select tname,ttype,levelid,groupid,showall,showcid,hiddencid from {$dbtbpre}enewsgoodtype order by myorder desc,levelid"); while($r=$empire->fetch($sql)) { if($r['ttype']==1)//头条 { $first_r[$r['levelid']]=$r['tname']; $selected=''; if($r['levelid']==$firsttitle) { $selected=' selected'; } if(ReturnFirsttitleNameCkLevel($r,$groupid,$classid)) { $ftn.=''; } } else//推荐 { $good_r[$r['levelid']]=$r['tname']; $selected=''; if($r['levelid']==$isgood) { $selected=' selected'; } if(ReturnFirsttitleNameCkLevel($r,$groupid,$classid)) { $gn.=''; } } } $ret_r['ftname']=$ftn; $ret_r['ftr']=$first_r; $ret_r['igname']=$gn; $ret_r['igr']=$good_r; return $ret_r; } //替换全角逗号 function DoReplaceQjDh($text){ return str_replace(',',',',$text); } //半角转全角 function eDoBjToQj($text){ $text=str_replace(array('&','"','\'','<','>'),array('&','”','’','<','>'),$text); return $text; } //给信息字段转全角 function eDoInfoTbfToQj($tbname,$f,$fval,$qjf){ global $public_r; if(empty($qjf)) { return $fval; } if(!stristr('|'.$qjf.'|','|'.$tbname.'.'.$f.'|')) { return $fval; } $fval=eDoBjToQj($fval); return $fval; } //建立目录函数 function DoMkdir($path){ global $public_r; //不存在则建立 if(!file_exists($path)) { //安全模式 if($public_r[phpmode]) { $pr[0]=$path; FtpMkdir($ftpid,$pr,0777); $mk=1; } else { $mk=@mkdir($path,0777); @chmod($path,0777); } if(empty($mk)) { echo Ecms_eReturnShowMkdir($path); printerror("CreatePathFail","history.go(-1)"); } } return true; } //建立上级目录 function DoFileMkDir($file){ $path=dirname($file.'empirecms.txt'); DoMkdir($path); } //设置上传文件权限 function DoChmodFile($file){ global $public_r; if($public_r['filechmod']!=1) { @chmod($file,0777); } } //替换斜扛 function DoRepFileXg($file){ $file=str_replace("\\","/",$file); return $file; } //返回栏目链接字符串 function ReturnClassLink($classid){ global $class_r,$public_r,$fun_r; if(empty($class_r[$classid][featherclass])) {$class_r[$classid][featherclass]="|";} $r=explode("|",$class_r[$classid][featherclass].$classid."|"); $string="".$fun_r['index'].""; for($i=1;$i".$class_r[$r[$i]][classname].""; } return $string; } //返回专题链接字符串 function ReturnZtLink($ztid){ global $class_zr,$public_r,$fun_r; $string="".$fun_r['index'].""; //无绑定域名 if(empty($class_zr[$ztid][zturl])) {$url=$public_r[newsurl].$class_zr[$ztid][ztpath]."/";} else {$url=$class_zr[$ztid][zturl];} $string.=" ".$public_r[navfh]." ".$class_zr[$ztid][ztname].""; return $string; } //返回标题分类链接字符串 function ReturnInfoTypeLink($typeid){ global $class_tr,$public_r,$fun_r; $string="".$fun_r['index'].""; //moreport if(Moreport_ReturnMustDt()) { $class_tr[$typeid]['listdt']=1; } if($class_tr[$typeid]['listdt']) { $rewriter=eReturnRewriteTitleTypeUrl($typeid,1); $url=$rewriter['pageurl']; } else { $url=$public_r[newsurl].$class_tr[$typeid][tpath]."/"; } $string.=" ".$public_r[navfh]." ".$class_tr[$typeid][tname].""; return $string; } //返回单页链接字符串 function ReturnUserPLink($title,$titleurl){ global $public_r,$fun_r; $string=''.$fun_r['index'].' '.$public_r[navfh].' '.$title; return $string; } //返回标题链接(静态) function sys_ReturnBqTitleLink($r){ global $public_r; if(empty($r['isurl'])) { //moreport if(Moreport_ReturnMustDt()) { return Moreport_ReturnTitleUrl($r['classid'],$r['id']); } return $r['titleurl']; } else { if($public_r['opentitleurl']) { $titleurl=$r['titleurl']; } else { $titleurl=$public_r['newsurl'].'e/public/jump/?classid='.$r['classid'].'&id='.$r['id']; } return $titleurl; } } //返回标题链接(动态) function sys_ReturnBqTitleLinkDt($r){ global $public_r,$class_r; if(empty($r['isurl'])) { if($class_r[$r[classid]][showdt]==1)//动态生成 { $titleurl=$public_r[newsurl]."e/action/ShowInfo/?classid=$r[classid]&id=$r[id]"; return $titleurl; } elseif($class_r[$r[classid]][showdt]==2) { $rewriter=eReturnRewriteInfoUrl($r['classid'],$r['id'],1); $titleurl=$rewriter['pageurl']; return $titleurl; } if($class_r[$r[classid]][filename]==3) { $filename=ReturnInfoSPath($r[filename]); } else { $filetype=$r[groupid]?'.php':$class_r[$r[classid]][filetype]; $filename=$r[filename].$filetype; } $iclasspath=ReturnSaveInfoPath($r[classid],$r[id]); $newspath=empty($r[newspath])?'':$r[newspath]."/"; if($class_r[$r[classid]][classurl]&&$class_r[$r[classid]][ipath]=='')//域名 { $titleurl=$class_r[$r[classid]][classurl]."/".$newspath.$filename; } else { $titleurl=$public_r[newsurl].$iclasspath.$newspath.$filename; } } else { $titleurl=$r['titleurl']; } return addslashes($titleurl); } //中转取得信息地址 function GotoGetTitleUrl($classid,$id,$newspath,$filename,$groupid,$isurl,$titleurl){ $r['classid']=$classid; $r['id']=$id; $r['newspath']=$newspath; $r['filename']=$filename; $r['groupid']=$groupid; $r['isurl']=$isurl; $r['titleurl']=$titleurl; $infourl=sys_ReturnBqTitleLinkDt($r); return $infourl; } //返回标题链接(触发) function sys_ReturnBqAutoTitleLink($r){ global $public_r,$class_r; if(empty($r['isurl'])) { if($class_r[$r[classid]][showdt]==2) { $rewriter=eReturnRewriteInfoUrl($r['classid'],$r['id'],1); $titleurl=$rewriter['pageurl']; return $titleurl; } if($class_r[$r[classid]][filename]==3) { $filename=ReturnInfoSPath($r[filename]); } else { $filetype=$r[groupid]?'.php':$class_r[$r[classid]][filetype]; $filename=$r[filename].$filetype; } $iclasspath=ReturnSaveInfoPath($r[classid],$r[id]); $newspath=empty($r[newspath])?'':$r[newspath]."/"; if($class_r[$r[classid]][classurl]&&$class_r[$r[classid]][ipath]=='')//域名 { $titleurl=$class_r[$r[classid]][classurl]."/".$newspath.$filename; } else { $titleurl=$public_r[newsurl].$iclasspath.$newspath.$filename; } } else { if($public_r['opentitleurl']) { $titleurl=$r['titleurl']; } else { $titleurl=$public_r['newsurl']."e/public/jump/?classid=".$r['classid']."&id=".$r['id']; } } return $titleurl; } //返回内容页地址前缀 function ReturnInfoPageQz($r){ global $public_r,$class_r; $ret_r['titleurl']=''; $ret_r['filetype']=''; $ret_r['nametype']=0; //动态页面 if($class_r[$r[classid]][showdt]==2) { $rewriter=eReturnRewriteInfoUrl($r['classid'],$r['id'],0); $ret_r['pageurl']=$rewriter['pageurl']; $ret_r['rewrite']=$rewriter['rewrite']; $ret_r['titleurl']=$rewriter['pageurl']; $ret_r['filetype']=''; $ret_r['nametype']=1; return $ret_r; } //静态页面 $ret_r['filetype']=$r[groupid]?'.php':$class_r[$r[classid]][filetype]; $filename=$r[filename]; $iclasspath=ReturnSaveInfoPath($r[classid],$r[id]); $newspath=empty($r[newspath])?'':$r[newspath]."/"; if($class_r[$r[classid]][classurl]&&$class_r[$r[classid]][ipath]=='')//域名 { $ret_r['titleurl']=$class_r[$r[classid]][classurl]."/".$newspath.$filename; } else { $ret_r['titleurl']=$public_r[newsurl].$iclasspath.$newspath.$filename; } return $ret_r; } //返回栏目链接 function sys_ReturnBqClassname($r,$have_class=0){ global $public_r,$class_r; if($have_class) { //moreport if(Moreport_ReturnMustDt()) { $class_r[$r[classid]][listdt]=1; } //外部栏目 if($class_r[$r[classid]][wburl]) { $classurl=$class_r[$r[classid]][wburl]; } //动态列表 elseif($class_r[$r[classid]][listdt]) { $rewriter=eReturnRewriteClassUrl($r['classid'],1); $classurl=$rewriter['pageurl']; } elseif($class_r[$r[classid]][classurl]) { $classurl=$class_r[$r[classid]][classurl]; } else { $classurl=$public_r[newsurl].$class_r[$r[classid]][classpath]."/"; } if(empty($class_r[$r[classid]][bname])) {$classname=$class_r[$r[classid]][classname];} else {$classname=$class_r[$r[classid]][bname];} $myadd="[".$classname."]"; //只返回链接 if($have_class==9) {$myadd=$classurl;} } else {$myadd="";} return $myadd; } //返回专题链接 function sys_ReturnBqZtname($r){ global $public_r,$class_zr; if($class_zr[$r[ztid]][zturl]) { $zturl=$class_zr[$r[ztid]][zturl]; } else { $zturl=$public_r[newsurl].$class_zr[$r[ztid]][ztpath]."/"; } return $zturl; } //返回标题分类链接 function sys_ReturnBqInfoTypeUrl($typeid){ global $public_r,$class_tr; //moreport if(Moreport_ReturnMustDt()) { $class_tr[$typeid]['listdt']=1; } if($class_tr[$typeid]['listdt']) { $rewriter=eReturnRewriteTitleTypeUrl($typeid,1); $url=$rewriter['pageurl']; } else { $url=$public_r['newsurl'].$class_tr[$typeid]['tpath']."/"; } return $url; } //文件大小格式转换 function ChTheFilesize($size){ if($size>=1024*1024)//MB { $filesize=number_format($size/(1024*1024),2,'.','')." MB"; } elseif($size>=1024)//KB { $filesize=number_format($size/1024,2,'.','')." KB"; } else { $filesize=$size." Bytes"; } return $filesize; } //取得表记录 function eGetTableRowNum($tbname){ global $empire,$dbtbpre; $total_r=$empire->fetch1("SHOW TABLE STATUS LIKE '".$tbname."';"); return $total_r['Rows']; } //更新栏目信息数 function AddClassInfos($classid,$addallstr,$addstr,$checked=1){ global $empire,$dbtbpre; $updatestr=''; $dh=''; if($addallstr) { $updatestr.='allinfos=allinfos'.$addallstr; $dh=','; } if($addstr) { if($checked) { $updatestr.=$dh.'infos=infos'.$addstr; } } if(empty($updatestr)) { return ''; } $empire->query("update {$dbtbpre}enewsclass set ".$updatestr." where classid='$classid' limit 1"); } //返回栏目信息数 function ReturnClassInfoNum($cr,$ecms=0){ global $empire,$dbtbpre,$class_r; if($cr['islast']) { $num=$ecms==0?$cr['infos']:$cr['allinfos']; } else { $f=$ecms==0?'infos':'allinfos'; $num=$empire->gettotal("select sum(".$f.") as total from {$dbtbpre}enewsclass where ".ReturnClass($class_r[$cr[classid]][sonclass])); $num=(int)$num; } return $num; } //重置栏目信息数 function ResetClassInfos($classid){ global $empire,$dbtbpre,$class_r; $infos=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_".$class_r[$classid]['tbname']." where classid='$classid'"); $checkinfos=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_".$class_r[$classid]['tbname']."_check where classid='$classid'"); $allinfos=$infos+$checkinfos; $empire->query("update {$dbtbpre}enewsclass set allinfos='$allinfos',infos='$infos' where classid='$classid' limit 1"); } //单信息评论数 function UpdateSingleInfoPlnum($classid,$id,$checked=1){ global $empire,$dbtbpre,$class_r; $tbname=$class_r[$classid]['tbname']; if(empty($tbname)) { return ''; } $infotb=ReturnInfoMainTbname($tbname,$checked); $r=$empire->fetch1("select id,restb,plnum from ".$infotb." where id='$id' limit 1"); if(empty($r['restb'])) { return ''; } $pubid=ReturnInfoPubid($classid,$id); $plnum=$empire->gettotal("select count(*) as total from {$dbtbpre}enewspl_".$r['restb']." where pubid='$pubid' limit 1"); if($plnum==$r['plnum']) { return ''; } $empire->query("update ".$infotb." set plnum='$plnum' where id='$id' limit 1"); } //信息数统计加1 function DoUpdateAddDataNum($type='info',$stb,$addnum=1){ global $empire,$dbtbpre; if($type=='info')//信息 { $lasttimef='lasttimeinfo'; $lastnumf='lastnuminfo'; $lastnumtbf='lastnuminfotb'; $todaytimef='todaytimeinfo'; $todaynumf='todaynuminfo'; $yesterdaynumf='yesterdaynuminfo'; $sqladdf=',todaytimeinfo,todaytimepl,todaynuminfo,todaynumpl'; } elseif($type=='pl')//评论 { $lasttimef='lasttimepl'; $lastnumf='lastnumpl'; $lastnumtbf='lastnumpltb'; $todaytimef='todaytimepl'; $todaynumf='todaynumpl'; $yesterdaynumf='yesterdaynumpl'; $sqladdf=',todaytimepl,todaytimeinfo,todaynuminfo,todaynumpl'; } else { return ''; } $sqladdupdate=''; $time=time(); $pur=$empire->fetch1("select ".$lasttimef.",".$lastnumtbf.$sqladdf." from {$dbtbpre}enewspublic_up limit 1"); if($stb) { if(empty($pur[$lastnumtbf])) { $pur[$lastnumtbf]='|'; } if(strstr($pur[$lastnumtbf],'|'.$stb.',')) { $numr=explode('|'.$stb.',',$pur[$lastnumtbf]); $numrt=explode('|',$numr[1]); $newnum=$numrt[0]+$addnum; $tbnums=str_replace('|'.$stb.','.$numrt[0].'|','|'.$stb.','.$newnum.'|',$pur[$lastnumtbf]); } else { $tbnums=$pur[$lastnumtbf].$stb.','.$addnum.'|'; } $sqladdupdate.=",".$lastnumtbf."='".$tbnums."'"; } //今日统计 if($sqladdf) { $todaydate=date('Y-m-d'); if($todaydate<>date('Y-m-d',$pur['todaytimeinfo'])||$todaydate<>date('Y-m-d',$pur['todaytimepl'])) { if($type=='info') { $todaynuminfo=$addnum; $todaynumpl=0; } else { $todaynuminfo=0; $todaynumpl=$addnum; } $yesterdaynuminfo=$pur['todaynuminfo']; $yesterdaynumpl=$pur['todaynumpl']; if($todaydate<>date('Y-m-d',$pur['todaytimeinfo']+24*3600)) { $yesterdaynuminfo=0; } if($todaydate<>date('Y-m-d',$pur['todaytimepl']+24*3600)) { $yesterdaynumpl=0; } $sqladdupdate.=",todaytimeinfo='$time',todaytimepl='$time',todaynuminfo='$todaynuminfo',todaynumpl='$todaynumpl',yesterdaynuminfo='$yesterdaynuminfo',yesterdaynumpl='$yesterdaynumpl'"; } else { $sqladdupdate.=",".$todaynumf."=".$todaynumf."+".$addnum; } } $empire->query("update {$dbtbpre}enewspublic_up set ".$lastnumf."=".$lastnumf."+".$addnum.$sqladdupdate." limit 1"); } //重置信息数统计 function DoResetAddDataNum($type='info'){ global $empire,$dbtbpre; if($type=='info')//信息 { $lasttimef='lasttimeinfo'; $lastnumf='lastnuminfo'; $lastnumtbf='lastnuminfotb'; } elseif($type=='pl')//评论 { $lasttimef='lasttimepl'; $lastnumf='lastnumpl'; $lastnumtbf='lastnumpltb'; } else { return ''; } $time=time(); $empire->query("update {$dbtbpre}enewspublic_up set ".$lasttimef."='$time',".$lastnumf."=0,".$lastnumtbf."='' limit 1"); } //更新昨日信息数统计 function DoUpdateYesterdayAddDataNum(){ global $empire,$dbtbpre; $pur=$empire->fetch1("select * from {$dbtbpre}enewspublic_up limit 1"); $todaydate=date('Y-m-d'); if($todaydate==date('Y-m-d',$pur['todaytimeinfo'])&&$todaydate==date('Y-m-d',$pur['todaytimepl'])) { return ''; } $yesterdaynuminfo=$pur['todaynuminfo']; $yesterdaynumpl=$pur['todaynumpl']; if($todaydate<>date('Y-m-d',$pur['todaytimeinfo']+24*3600)) { $yesterdaynuminfo=0; } if($todaydate<>date('Y-m-d',$pur['todaytimepl']+24*3600)) { $yesterdaynumpl=0; } $time=time(); $empire->query("update {$dbtbpre}enewspublic_up set todaytimeinfo='$time',todaytimepl='$time',todaynuminfo=0,yesterdaynuminfo='$yesterdaynuminfo',todaynumpl=0,yesterdaynumpl='$yesterdaynumpl' limit 1"); } //返回栏目自定义字段内容 function ReturnClassAddField($classid,$f){ global $empire,$dbtbpre,$navclassid; if(empty($classid)) { $classid=$navclassid; } $fr=$empire->fetch1("select ".$f." from {$dbtbpre}enewsclassadd where classid='$classid' limit 1"); if(strstr($f,',')) { return $fr; } else { return $fr[$f]; } } //返回专题自定义字段内容 function ReturnZtAddField($classid,$f){ global $empire,$dbtbpre,$navclassid; if(empty($classid)) { $classid=$navclassid; } $fr=$empire->fetch1("select ".$f." from {$dbtbpre}enewsztadd where ztid='$classid' limit 1"); if(strstr($f,',')) { return $fr; } else { return $fr[$f]; } } //返回扩展变量值 function ReturnPublicAddVar($myvar){ global $empire,$dbtbpre; if(strstr($myvar,',')) { $myvr=explode(',',$myvar); $count=count($myvr); for($i=0;$i<$count;$i++) { $v=$myvr[$i]; $vr=$empire->fetch1("select varvalue from {$dbtbpre}enewspubvar where myvar='$v' limit 1"); $ret_vr[$v]=$vr['varvalue']; } return $ret_vr; } else { $vr=$empire->fetch1("select varvalue from {$dbtbpre}enewspubvar where myvar='$myvar' limit 1"); return $vr['varvalue']; } } //返回排序字段 function ReturnDoOrderF($mid,$orderby,$myorder){ global $emod_r; $orderby=str_replace(',','',$orderby); $orderf=',newstime,id,onclick,totaldown,plnum'; if(!empty($emod_r[$mid]['orderf'])) { $orderf.=$emod_r[$mid]['orderf']; } else { $orderf.=','; } if(strstr($orderf,','.$orderby.',')) { $rr['returnorder']=$orderby; $rr['returnf']=$orderby; } else { $rr['returnorder']='newstime'; $rr['returnf']='newstime'; } if(empty($myorder)) { $rr['returnorder'].=' desc'; } return $rr; } //返回置顶 function ReturnSetTopSql($ecms){ global $public_r; if(empty($public_r['settop'])) { return ''; } $top='istop desc,'; if($ecms=='list') { if($public_r['settop']==1||$public_r['settop']==4||$public_r['settop']==5||$public_r['settop']==6) { return $top; } } elseif($ecms=='bq') { if($public_r['settop']==2||$public_r['settop']==4||$public_r['settop']==5||$public_r['settop']==7) { return $top; } } elseif($ecms=='js') { if($public_r['settop']==3||$public_r['settop']==4||$public_r['settop']==6||$public_r['settop']==7) { return $top; } } return ''; } //返回优化方案SQL function ReturnYhSql($yhid,$yhvar,$ecms=0){ global $eyh_r; if(empty($yhid)) { return ''; } $query=''; if($eyh_r[$yhid][$yhvar]) { $t=time()-($eyh_r[$yhid][$yhvar]*86400); $query='newstime>'.$t.(empty($ecms)?'':' and '); } return $query; } //返回优化+条件SQL function ReturnYhAndSql($yhadd,$where,$ecms=0){ if($yhadd.$where=='') { return ''; } elseif($yhadd&&$where) { return $ecms==1?' where '.$yhadd.$where:' where '.$yhadd.' and '.$where; } elseif($yhadd&&!$where) { return ' where '.$yhadd; } else { return $ecms==1?' where '.substr($where,5):' where '.$where; } } //返回列表查询字段 function ReturnSqlListF($mid){ global $emod_r; if(empty($mid)) { return '*'; } $f='id,classid,ttid,onclick,plnum,totaldown,newspath,filename,userid,username,firsttitle,isgood,ispic,istop,isqf,ismember,isurl,truetime,lastdotime,havehtml,groupid,userfen,titlefont,titleurl,stb,fstb,restb,keyboard,eckuid'.substr($emod_r[$mid]['listtempf'],0,-1); return $f; } //返回内容查询字段 function ReturnSqlTextF($mid,$ecms=0){ global $emod_r; if(empty($mid)) { return '*'; } $f=($ecms==0?'id,classid,':'').'ttid,onclick,plnum,totaldown,newspath,filename,userid,username,firsttitle,isgood,ispic,istop,isqf,ismember,isurl,truetime,lastdotime,havehtml,groupid,userfen,titlefont,titleurl,stb,fstb,restb,keyboard,eckuid'.substr($emod_r[$mid]['tbmainf'],0,-1); return $f; } //返回内容副表查询字段 function ReturnSqlFtextF($mid){ global $emod_r; if(empty($mid)) { return '*'; } $f='keyid,dokey,newstempid,closepl,infotags'.substr($emod_r[$mid]['tbdataf'],0,-1); return $f; } //返回信息表 function ReturnInfoTbname($tbname,$checked=1,$stb=1){ global $dbtbpre; if(empty($checked))//待审核 { $r['tbname']=$dbtbpre.'ecms_'.$tbname.'_check'; $r['datatbname']=$dbtbpre.'ecms_'.$tbname.'_check_data'; } else//已审核 { $r['tbname']=$dbtbpre.'ecms_'.$tbname; $r['datatbname']=$dbtbpre.'ecms_'.$tbname.'_data_'.$stb; } return $r; } //返回信息主表 function ReturnInfoMainTbname($tbname,$checked=1){ global $dbtbpre; return empty($checked)?$dbtbpre.'ecms_'.$tbname.'_check':$dbtbpre.'ecms_'.$tbname; } //返回信息副表 function ReturnInfoDataTbname($tbname,$checked=1,$stb=1){ global $dbtbpre; return empty($checked)?$dbtbpre.'ecms_'.$tbname.'_check_data':$dbtbpre.'ecms_'.$tbname.'_data_'.$stb; } //主表信息 function ReturnIndexTableInfo($tbname,$f,$classid,$id){ global $dbtbpre; $r=$empire->fetch1("select ".$f." from {$dbtbpre}ecms_".$tbname."_index where id='$id' limit 1"); return $r; } //返回评论表名 function eReturnRestb($restb){ global $public_r,$dbtbpre; $restb=(int)$restb; if(!strstr($public_r['pldatatbs'],','.$restb.',')) { $restb=$public_r['pldeftb']; } return $dbtbpre.'enewspl_'.$restb; } //返回附件表名 function eReturnFstb($fstb){ global $public_r,$dbtbpre; $fstb=(int)$fstb; if(!strstr($public_r['filedatatbs'],','.$fstb.',')) { $fstb=$public_r['filedeftb']; } return $dbtbpre.'enewsfile_'.$fstb; } //返回公共表索引ID function ReturnInfoPubid($classid,$id,$tid=0){ global $class_r; $classid=(int)$classid; $id=(int)$id; if(empty($tid)) { $tid=$class_r[$classid]['tid']; } $tid=(int)$tid; $pubid='1'.ReturnAllInt($tid,5).ReturnAllInt($id,10); return $pubid; } //是否内部表 function InfoIsInTable($tbname){ global $etable_r; return $etable_r[$tbname]['intb']==1?true:false; } //检验字段是否存在 function eCheckTbHaveField($tid,$tbname,$f){ global $empire,$dbtbpre; $where=$tid?"tid='$tid' and ":"tbname='$tbname' and "; if(strstr($f,',')) { $fr=explode(',',$f); $where.="f='".$fr[0]."' or f='".$fr[1]."'"; } else { $where.="f='$f'"; } $num=$empire->gettotal("select count(*) as total from {$dbtbpre}enewsf where ".$where." limit 1"); return $num; } //验证模板是否开启动态使用 function DtTempIsClose($tempid,$type='listtemp'){ global $public_r; if($type=='listtemp')//列表模板 { if($public_r['closelisttemp']&&strstr(','.$public_r['closelisttemp'].',',','.$tempid.',')) { echo'ListTempID='.$tempid.' is close.'; exit(); } } } //补零 function ReturnAllInt($val,$num){ $len=strlen($val); $zeronum=$num-$len; if($zeronum==1) { $val='0'.$val; } elseif($zeronum==2) { $val='00'.$val; } elseif($zeronum==3) { $val='000'.$val; } elseif($zeronum==4) { $val='0000'.$val; } elseif($zeronum==5) { $val='00000'.$val; } elseif($zeronum==6) { $val='000000'.$val; } elseif($zeronum==7) { $val='0000000'.$val; } elseif($zeronum==8) { $val='00000000'.$val; } elseif($zeronum==9) { $val='000000000'.$val; } elseif($zeronum==10) { $val='0000000000'.$val; } return $val; } //返回替换列表 function ReturnReplaceListF($mid){ global $emod_r; $r['mid']=$mid; $r['fr']=explode(',',$emod_r[$mid]['listtempf']); $r['fcount']=count($r['fr'])-1; return $r; } //返回替换内容 function ReturnReplaceTextF($mid){ global $emod_r; $r['mid']=$mid; $r['fr']=explode(',',$emod_r[$mid]['tempf']); $r['fcount']=count($r['fr'])-1; return $r; } //替换列表模板/标签模板/搜索模板 function ReplaceListVars($no,$listtemp,$subnews,$subtitle,$formatdate,$url,$haveclass=0,$r,$field,$docode=0){ global $empire,$public_r,$class_r,$class_zr,$fun_r,$dbtbpre,$emod_r,$class_tr,$level_r,$navclassid,$etable_r; if($haveclass) { $add=sys_ReturnBqClassname($r,$haveclass); } if(empty($r[oldtitle])) { $r[oldtitle]=$r[title]; } if($docode==1) { $listtemp=stripSlashes($listtemp); eval($listtemp); } $ylisttemp=$listtemp; $mid=$field['mid']; $fr=$field['fr']; $fcount=$field['fcount']; for($i=1;$i<$fcount;$i++) { $f=$fr[$i]; $value=$r[$f]; $spf=0; if($f=='title')//标题 { if(!empty($subtitle))//截取字符 { $value=sub($value,0,$subtitle,false); } $value=DoTitleFont($r[titlefont],$value); $spf=1; } elseif($f=='newstime')//时间 { //$value=date($formatdate,$value); $value=format_datetime($value,$formatdate); $spf=1; } elseif($f=='titlepic')//标题图片 { if(empty($value)) { $value=$public_r[newsurl].'e/data/images/notimg.gif'; } $spf=1; } elseif(strstr($emod_r[$mid]['smalltextf'],','.$f.','))//简介 { if(!empty($subnews))//截取字符 { $value=sub($value,0,$subnews,false); } } elseif($f=='befrom')//信息来源 { $spf=1; } elseif($f=='writer')//作者 { $spf=1; } if($spf==0&&!strstr($emod_r[$mid]['editorf'],','.$f.',')) { if(strstr($emod_r[$mid]['tobrf'],','.$f.','))//加br { $value=nl2br($value); } if(!strstr($emod_r[$mid]['dohtmlf'],','.$f.','))//去除html { $value=RepFieldtextNbsp(ehtmlspecialchars($value)); } } $listtemp=str_replace('[!--'.$f.'--]',$value,$listtemp); } $titleurl=sys_ReturnBqTitleLink($r);//链接 $listtemp=str_replace('[!--id--]',$r[id],$listtemp); $listtemp=str_replace('[!--classid--]',$r[classid],$listtemp); $listtemp=str_replace('[!--class.name--]',$add,$listtemp); $listtemp=str_replace('[!--ttid--]',$r[ttid],$listtemp); $listtemp=str_replace('[!--tt.name--]',$class_tr[$r[ttid]][tname],$listtemp); $listtemp=str_replace('[!--tt.url--]',sys_ReturnBqInfoTypeUrl($r['ttid']),$listtemp); $listtemp=str_replace('[!--userfen--]',$r[userfen],$listtemp); $listtemp=str_replace('[!--titleurl--]',$titleurl,$listtemp); $listtemp=str_replace('[!--no.num--]',$no,$listtemp); $listtemp=str_replace('[!--plnum--]',$r[plnum],$listtemp); $listtemp=str_replace('[!--userid--]',$r[userid],$listtemp); $listtemp=str_replace('[!--username--]',$r[username],$listtemp); $listtemp=str_replace('[!--onclick--]',$r[onclick],$listtemp); $listtemp=str_replace('[!--oldtitle--]',$r[oldtitle],$listtemp); $listtemp=str_replace('[!--totaldown--]',$r[totaldown],$listtemp); //栏目链接 if(strstr($ylisttemp,'[!--this.classlink--]')) { $thisclasslink=sys_ReturnBqClassname($r,9); $listtemp=str_replace('[!--this.classlink--]',$thisclasslink,$listtemp); } $thisclassname=$class_r[$r[classid]][bname]?$class_r[$r[classid]][bname]:$class_r[$r[classid]][classname]; $listtemp=str_replace('[!--this.classname--]',$thisclassname,$listtemp); return $listtemp; } //加上防复制字符 function AddNotCopyRndStr($text){ global $public_r; if($public_r['opencopytext']) { $rnd=make_password(3).$public_r['sitename']; $text=str_replace("
    ","".$rnd."
    ",$text); $text=str_replace("

    ","".$rnd."

    ",$text); } return $text; } //替换信息来源 function ReplaceBefrom($befrom){ global $empire,$dbtbpre; if(empty($befrom)) {return $befrom;} $befrom=addslashes($befrom); $r=$empire->fetch1("select befromid,sitename,siteurl from {$dbtbpre}enewsbefrom where sitename='$befrom' limit 1"); if(empty($r[befromid])) {return $befrom;} $return_befrom="".$r[sitename].""; return $return_befrom; } //替换作者 function ReplaceWriter($writer){ global $empire,$dbtbpre; if(empty($writer)) {return $writer;} $writer=addslashes($writer); $r=$empire->fetch1("select wid,writer,email from {$dbtbpre}enewswriter where writer='$writer' limit 1"); if(empty($r[wid])||empty($r[email])) { return $writer; } $return_writer="".$r[writer].""; return $return_writer; } //备份下载记录 function BakDown($classid,$id,$pathid,$userid,$username,$title,$cardfen,$online=0){ global $empire,$dbtbpre; $truetime=time(); $id=(int)$id; $pathid=(int)$pathid; $userid=(int)$userid; $cardfen=(int)$cardfen; $classid=(int)$classid; $username=RepPostVar($username); $title=RepPostStr($title); $online=addslashes(RepPostStr($online)); $sql=$empire->query("insert into {$dbtbpre}enewsdownrecord(id,pathid,userid,username,title,cardfen,truetime,classid,online) values($id,$pathid,$userid,'$username','".addslashes($title)."',$cardfen,$truetime,$classid,'$online');"); } //备份充值记录 function BakBuy($userid,$username,$buyname,$userfen,$money,$userdate,$type=0){ global $empire,$dbtbpre; $buytime=date("y-m-d H:i:s"); $buyname=addslashes(RepPostStr($buyname)); $userid=(int)$userid; $username=RepPostVar($username); $userfen=addslashes(RepPostStr($userfen)); $money=addslashes(RepPostStr($money)); $userdate=addslashes(RepPostStr($userdate)); $type=addslashes(RepPostStr($type)); $empire->query("insert into {$dbtbpre}enewsbuybak(userid,username,card_no,cardfen,money,buytime,userdate,type) values('$userid','$username','$buyname','$userfen','$money','$buytime','$userdate','$type');"); } //发送短消息 function eSendMsg($title,$msgtext,$to_username,$from_userid,$from_username,$isadmin,$issys,$ecms=0){ global $empire,$dbtbpre; $tbname=$ecms==1?$dbtbpre.'enewshmsg':$dbtbpre.'enewsqmsg'; $to_username=RepPostVar($to_username); $from_userid=(int)$from_userid; $from_username=RepPostVar($from_username); $isadmin=(int)$isadmin; $issys=(int)$issys; $msgtime=date("Y-m-d H:i:s"); $empire->query("insert into ".$tbname."(title,msgtext,haveread,msgtime,to_username,from_userid,from_username,isadmin,issys) values('$title','$msgtext',0,'$msgtime','$to_username','$from_userid','$from_username','$isadmin','$issys');"); //消息状态 $userr=$empire->fetch1("select ".eReturnSelectMemberF('userid,havemsg')." from ".eReturnMemberTable()." where ".egetmf('username')."='$to_username' limit 1"); if(!$userr['havemsg']) { $newhavemsg=eReturnSetHavemsg($userr['havemsg'],0); $empire->query("update ".eReturnMemberTable()." set ".egetmf('havemsg')."='$newhavemsg' where ".egetmf('userid')."='".$userr['userid']."' limit 1"); } } //发送通知 function eSendNotice($title,$msgtext,$to_username,$from_userid,$from_username,$ecms=0){ global $empire,$dbtbpre; $tbname=$ecms==1?$dbtbpre.'enewshnotice':$dbtbpre.'enewsnotice'; $to_username=RepPostVar($to_username); $from_userid=(int)$from_userid; $from_username=RepPostVar($from_username); $msgtime=date("Y-m-d H:i:s"); $empire->query("insert into ".$tbname."(title,msgtext,haveread,msgtime,to_username,from_userid,from_username) values('".$title."','".$msgtext."',0,'$msgtime','$to_username','$from_userid','$from_username');"); } //截取简介 function SubSmalltextVal($value,$len){ if(empty($len)) { return ''; } $value=str_replace(array("\r\n","
    ","
    "," ","[!--empirenews.page--]","[/!--empirenews.page--]"),array("","\r\n","\r\n"," ","",""),$value); $value=strip_tags($value); if($len) { $value=sub($value,0,$len,false); } $value=trim($value,"\r\n"); $value=str_replace('&ldquo;','“',$value); $value=str_replace('&rdquo;','”',$value); $value=str_replace('&mdash;','—',$value); return $value; } //全站搜索简介 function SubSchallSmalltext($value,$len){ $value=str_replace(array("\r\n"," ","[!--empirenews.page--]","[/!--empirenews.page--]"),array("","","",""),$value); $value=strip_tags($value); if($len) { $value=sub($value,0,$len,false); } $value=trim($value,"\r\n"); return $value; } //加红替换 function DoReplaceFontRed($text,$key){ return str_replace($key,''.$key.'',$text); } //返回不生成html的栏目 function ReturnNreInfoWhere(){ global $public_r; if(empty($public_r['nreinfo'])||$public_r['nreinfo']==',') { return ''; } $cids=substr($public_r['nreinfo'],1,strlen($public_r['nreinfo'])-2); $where=' and classid not in ('.$cids.')'; return $where; } //返回标签不调用栏目 function ReturnNottoBqWhere(){ global $public_r; if(empty($public_r['nottobq'])||$public_r['nottobq']==',') { return ''; } $cids=substr($public_r['nottobq'],1,strlen($public_r['nottobq'])-2); $where='classid not in ('.$cids.')'; return $where; } //返回文件名及扩展名 function ReturnCFiletype($file){ $r=explode('.',$file); $count=count($r)-1; $re['filetype']=strtolower($r[$count]); $re['filename']=substr($file,0,strlen($file)-strlen($re['filetype'])-1); return $re; } //返回栏目目录 function ReturnSaveClassPath($classid,$f=0){ global $class_r; $classpath=$class_r[$classid][classpath]; if($f==1){ $classpath.="/index".$class_r[$classid][classtype]; } return $classpath; } //返回专题目录 function ReturnSaveZtPath($classid,$f=0){ global $class_zr; $classpath=$class_zr[$classid][ztpath]; if($f==1){ $classpath.="/index".$class_zr[$classid][zttype]; } return $classpath; } //返回标题分类目录 function ReturnSaveInfoTypePath($classid,$f=0){ global $class_tr; $classpath=$class_tr[$classid]['tpath']; if($f==1){ $classpath.='/index'.$class_tr[$classid]['ttype']; } return $classpath; } //返回首页文件 function ReturnSaveIndexFile(){ global $public_r; $file='index'.$public_r[indextype]; return $file; } //返回首页地址 function ReturnSiteIndexUrl(){ global $public_r; if(empty($public_r['indexaddpage'])) { return $public_r['newsurl']; } if($public_r['indexpagedt']||Moreport_ReturnMustDt())//moreport { $public_r['indextype']='.php'; } $file=$public_r['newsurl'].'index'.$public_r['indextype']; return $file; } //返回内容页存放目录 function ReturnSaveInfoPath($classid,$id){ global $class_r; if($class_r[$classid][ipath]==''){ $path=$class_r[$classid][classpath].'/'; } else{ $path=$class_r[$classid][ipath]=='/'?'':$class_r[$classid][ipath].'/'; } return $path; } //返回内容页文件名 function GetInfoFilename($classid,$id){ global $empire,$dbtbpre,$public_r,$class_r; $infor=$empire->fetch1("select isurl,groupid,classid,newspath,filename,id from {$dbtbpre}ecms_".$class_r[$classid][tbname]." where id='$id' limit 1"); if(!$infor['id']||$infor['isurl']) { return ''; } $filetype=$infor['groupid']?'.php':$class_r[$classid]['filetype']; $iclasspath=ReturnSaveInfoPath($classid,$id); $doclasspath=eReturnTrueEcmsPath().$iclasspath;//moreport $newspath=''; if($infor['newspath']) { $newspath=$infor['newspath'].'/'; } $file=$doclasspath.$newspath.$infor['filename'].$filetype; return $file; } //格式化信息目录 function FormatPath($classid,$mynewspath,$enews=0){ global $class_r; if($enews) { $newspath=$mynewspath; } else { $newspath=date($class_r[$classid][newspath]); } if(empty($newspath)) { return ""; } $path=eReturnTrueEcmsPath().ReturnSaveInfoPath($classid,$id); if(file_exists($path.$newspath)) { return $newspath; } $returnpath=""; $r=explode("/",$newspath); $count=count($r); for($i=0;$i<$count;$i++){ if($i>0) { $returnpath.="/".$r[$i]; } else { $returnpath.=$r[$i]; } $createpath=$path.$returnpath; $mk=DoMkdir($createpath); if(empty($mk)) { printerror("CreatePathFail",""); } } return $returnpath; } //返回内容页目录 function ReturnInfoSPath($filename){ return str_replace('/index','',$filename); } //返回根目录 function ReturnAbsEcmsPath(){ $ecmspath=str_replace("\\","/",ECMS_PATH); return $ecmspath; } //返回当前根目录 function eReturnTrueEcmsPath(){ if(defined('ECMS_SELFPATH')) { return ECMS_SELFPATH; } else { return ECMS_PATH; } } //返回主端根目录 function eReturnEcmsMainPortPath(){ global $ecms_config; if($ecms_config['sets']['mainportpath']) { return $ecms_config['sets']['mainportpath']; } else { return ECMS_PATH; } } //------------- 附件 ------------- //返回附件分表 function eReturnFileStb($fstb){ global $public_r; $fstb=(int)$fstb; if(!strstr($public_r['filedatatbs'],','.$fstb.',')) { $fstb=$public_r['filedeftb']; } return $fstb; } //返回附件表 function eReturnFileTable($modtype,$fstb){ global $dbtbpre; if($modtype==0)//信息 { $fstb=eReturnFileStb($fstb); $table=$dbtbpre.'enewsfile_'.$fstb; } elseif($modtype==5)//公共 { $table=$dbtbpre.'enewsfile_public'; } elseif($modtype==6)//会员 { $table=$dbtbpre.'enewsfile_member'; } else//其他 { $table=$dbtbpre.'enewsfile_other'; } return $table; } //查询附件表 function eSelectFileTable($modtype,$fstb,$selectf,$where){ global $dbtbpre; $query="select {$selectf} from ".eReturnFileTable($modtype,$fstb)." where ".$where; return $query; } //写入附件记录 function eInsertFileTable($filename,$filesize,$path,$adduser,$classid,$no,$type,$id,$cjid,$fpath,$pubid,$modtype=0,$fstb=1){ global $empire,$dbtbpre,$public_r; $filetime=time(); $filesize=(int)$filesize; $classid=(int)$classid; $id=(int)$id; $cjid=(int)$cjid; $fpath=(int)$fpath; $type=(int)$type; $modtype=(int)$modtype; $filename=addslashes(RepPostStr($filename)); $no=addslashes(RepPostStr($no)); $adduser=RepPostVar($adduser); $path=addslashes(RepPostStr($path)); $pubid=RepPostVar($pubid); $fstb=(int)$fstb; if($modtype==0)//信息 { $fstb=eReturnFileStb($fstb); $sql=$empire->query("insert into {$dbtbpre}enewsfile_".$fstb."(pubid,filename,filesize,adduser,path,filetime,classid,no,type,id,cjid,onclick,fpath) values('$pubid','$filename','$filesize','$adduser','$path','$filetime','$classid','$no','$type','$id','$cjid',0,'$fpath');"); } elseif($modtype==5)//公共 { $sql=$empire->query("insert into {$dbtbpre}enewsfile_public(filename,filesize,adduser,path,filetime,modtype,no,type,id,cjid,onclick,fpath) values('$filename','$filesize','$adduser','$path','$filetime',0,'$no','$type','$id','$cjid',0,'$fpath');"); } elseif($modtype==6)//会员 { $sql=$empire->query("insert into {$dbtbpre}enewsfile_member(filename,filesize,adduser,path,filetime,no,type,id,cjid,onclick,fpath) values('$filename','$filesize','$adduser','$path','$filetime','$no','$type','$id','$cjid',0,'$fpath');"); } else//其他 { $sql=$empire->query("insert into {$dbtbpre}enewsfile_other(filename,filesize,adduser,path,filetime,modtype,no,type,id,cjid,onclick,fpath) values('$filename','$filesize','$adduser','$path','$filetime','$modtype','$no','$type','$id','$cjid',0,'$fpath');"); } return $sql; } //更新相应的附件(非信息) function UpdateTheFileOther($modtype,$id,$checkpass,$tb='other'){ global $empire,$dbtbpre; if(empty($id)||empty($checkpass)) { return ""; } $id=(int)$id; $checkpass=(int)$checkpass; $where=''; if($tb=='other') { $where=" and modtype='$modtype'"; } $sql=$empire->query("update {$dbtbpre}enewsfile_{$tb} set id='$id',cjid=0 where cjid='$checkpass'".$where); } //修改时更新附件(非信息) function UpdateTheFileEditOther($modtype,$id,$tb='other'){ global $empire,$dbtbpre; $where=''; if($tb=='other') { $where=" and modtype='$modtype'"; } $sql=$empire->query("update {$dbtbpre}enewsfile_{$tb} set cjid=0 where id='$id'".$where); } //返回filepass function ReturnTranFilepass(){ $filepass=time(); return $filepass; } //返回附件域名地址 function eReturnFileUrl($ecms=0){ global $public_r; if($ecms==1) { return $public_r['fileurl']; } $fileurl=$public_r['openfileserver']?$public_r['fs_purl']:$public_r['fileurl']; return $fileurl; } //返回附件目录 function ReturnFileSavePath($classid,$fpath=''){ global $public_r,$class_r; $fpath=$fpath||strstr(','.$fpath.',',',0,')?$fpath:$public_r['fpath']; $efileurl=eReturnFileUrl(); if($fpath==1)//p目录 { $r['filepath']='d/file/p/'; $r['fileurl']=$efileurl.'p/'; } elseif($fpath==2)//file目录 { $r['filepath']='d/file/'; $r['fileurl']=$efileurl; } else { if(empty($classid)) { $r['filepath']='d/file/p/'; $r['fileurl']=$efileurl.'p/'; } else { $r['filepath']='d/file/'.$class_r[$classid][classpath].'/'; $r['fileurl']=$efileurl.$class_r[$classid][classpath].'/'; } } return $r; } //格式化附件目录 function FormatFilePath($classid,$mynewspath,$enews=0){ global $public_r; if($enews) { $newspath=$mynewspath; } else { $newspath=date($public_r['filepath']); } if(empty($newspath)) { return ""; } $fspath=ReturnFileSavePath($classid); $path=eReturnEcmsMainPortPath().$fspath['filepath'];//moreport if(file_exists($path.$newspath)) { return $newspath; } $returnpath=""; $r=explode("/",$newspath); $count=count($r); for($i=0;$i<$count;$i++){ if($i>0){ $returnpath.="/".$r[$i]; } else{ $returnpath.=$r[$i]; } $createpath=$path.$returnpath; $mk=DoMkdir($createpath); if(empty($mk)){ printerror("CreatePathFail",""); } } return $returnpath; } //返回上传文件名 function ReturnDoTranFilename($file_name,$classid){ $filename=md5(uniqid(microtime()).EcmsRandInt()); return $filename; } //上传文件 function DoTranFile($file,$file_name,$file_type,$file_size,$classid,$ecms=0){ global $public_r,$class_r,$doetran,$efileftp_fr; $classid=(int)$classid; //文件类型 $r[filetype]=GetFiletype($file_name); //文件名 $r[insertfile]=ReturnDoTranFilename($file_name,$classid); $r[filename]=$r[insertfile].$r[filetype]; //日期目录 $r[filepath]=FormatFilePath($classid,$mynewspath,0); $filepath=$r[filepath]?$r[filepath].'/':$r[filepath]; //存放目录 $fspath=ReturnFileSavePath($classid); $r[savepath]=eReturnEcmsMainPortPath().$fspath['filepath'].$filepath;//moreport //附件地址 $r[url]=$fspath['fileurl'].$filepath.$r[filename]; //缩图文件 $r[name]=$r[savepath]."small".$r[insertfile]; //附件文件 $r[yname]=$r[savepath].$r[filename]; $r[tran]=1; //验证类型 if(CheckSaveTranFiletype($r[filetype])) { if($doetran) { $r[tran]=0; return $r; } else { printerror('TranFail','',$ecms); } } //上传文件 $cp=@move_uploaded_file($file,$r[yname]); if(empty($cp)) { if($doetran) { $r[tran]=0; return $r; } else { printerror('TranFail','',$ecms); } } DoChmodFile($r[yname]); $r[filesize]=(int)$file_size; //FileServer if($public_r['openfileserver']) { $efileftp_fr[]=$r['yname']; } return $r; } //远程保存忽略地址 function CheckNotSaveUrl($url){ global $public_r; if(empty($public_r['notsaveurl'])) { return 0; } $r=explode("\r\n",$public_r['notsaveurl']); $count=count($r); $re=0; for($i=0;$i<$count;$i++) { if(empty($r[$i])) {continue;} if(stristr($url,$r[$i])) { $re=1; break; } } return $re; } //远程保存 function DoTranUrl($url,$classid){ global $public_r,$class_r,$ecms_config,$efileftp_fr; $classid=(int)$classid; //处理地址 $url=trim($url); $url=str_replace(" ","%20",$url); $r[tran]=1; //附件地址 $r[url]=$url; //文件类型 $r[filetype]=GetFiletype($url); if(CheckSaveTranFiletype($r[filetype])) { $r[tran]=0; return $r; } //是否已上传的文件 $havetr=CheckNotSaveUrl($url); if($havetr) { $r[tran]=0; return $r; } //是否地址 if(!strstr($url,'://')) { $r[tran]=0; return $r; } if(!eToCheckIsUrl2($url)) { $r[tran]=0; return $r; } $string=ReadFiletext($url); if(empty($string))//读取不了 { $r[tran]=0; return $r; } //文件名 $r[insertfile]=ReturnDoTranFilename($file_name,$classid); $r[filename]=$r[insertfile].$r[filetype]; //日期目录 $r[filepath]=FormatFilePath($classid,$mynewspath,0); $filepath=$r[filepath]?$r[filepath].'/':$r[filepath]; //存放目录 $fspath=ReturnFileSavePath($classid); $r[savepath]=eReturnEcmsMainPortPath().$fspath['filepath'].$filepath;//moreport //附件地址 $r[url]=$fspath['fileurl'].$filepath.$r[filename]; //缩图文件 $r[name]=$r[savepath]."small".$r[insertfile]; //附件文件 $r[yname]=$r[savepath].$r[filename]; WriteFiletext_n($r[yname],$string); $r[filesize]=@filesize($r[yname]); //返回类型 if(strstr($ecms_config['sets']['tranflashtype'],','.$r[filetype].',')) { $r[type]=2; } elseif(strstr($ecms_config['sets']['tranpicturetype'],','.$r[filetype].',')) { $r[type]=1; } elseif(strstr($ecms_config['sets']['mediaplayertype'],','.$r[filetype].',')||strstr($ecms_config['sets']['realplayertype'],','.$r[filetype].','))//多媒体 { $r[type]=3; } else { $r[type]=0; } //FileServer if($public_r['openfileserver']) { $efileftp_fr[]=$r['yname']; } return $r; } //删除附件 function DoDelFile($r){ global $class_r,$public_r,$efileftp_dr; $path=$r['path']?$r['path'].'/':$r['path']; $fspath=ReturnFileSavePath($r[classid],$r[fpath]); $delfile=eReturnEcmsMainPortPath().$fspath['filepath'].$path.$r['filename'];//moreport DelFiletext($delfile); //FileServer if($public_r['openfileserver']) { $efileftp_dr[]=$delfile; } } //替换表前缀 function RepSqlTbpre($sql){ global $dbtbpre; $sql=str_replace('[!db.pre!]',$dbtbpre,$sql); return $sql; } //反替换表前缀 function ReRepSqlTbpre($sql){ global $dbtbpre; $sql=str_replace($dbtbpre,'***_',$sql); return $sql; } //验证表是否存在 function eCheckTbname($tbname){ global $empire,$dbtbpre; $num=$empire->gettotal("select count(*) as total from {$dbtbpre}enewstable where tbname='$tbname' limit 1"); return $num; } //时间转换 function ToChangeUseTime($time){ global $fun_r; $usetime=time()-$time; if($usetime<60) { $tstr=$usetime.$fun_r['TimeSecond']; } else { $usetime=round($usetime/60); $tstr=$usetime.$fun_r['TimeMinute']; } return $tstr; } //返回栏目集合 function ReturnClass($sonclass){ if($sonclass==''||$sonclass=='|'){ return 'classid=0'; } $where='classid in ('.RepSonclassSql($sonclass).')'; return $where; } //替换子栏目子 function RepSonclassSql($sonclass){ if($sonclass==''||$sonclass=='|'){ return 0; } $sonclass=substr($sonclass,1,strlen($sonclass)-2); $sonclass=str_replace('|',',',$sonclass); return $sonclass; } //返回多栏目 function sys_ReturnMoreClass($sonclass,$son=0){ global $class_r; $r=explode(',',$sonclass); $count=count($r); $return_r[0]=intval($r[0]); $where=''; $or=''; for($i=0;$i<$count;$i++) { $r[$i]=intval($r[$i]); if($son==1) { if($class_r[$r[$i]]['tbname']&&!$class_r[$r[$i]]['islast']) { $where.=$or."classid in (".RepSonclassSql($class_r[$r[$i]]['sonclass']).")"; } else { $where.=$or."classid='".$r[$i]."'"; } } else { $where.=$or."classid='".$r[$i]."'"; } $or=' or '; } $return_r[1]=$where; return $return_r; } //返回多专题 function sys_ReturnMoreZt($zt,$ecms=0){ $f=$ecms==1?'ztid':'cid'; $r=explode(',',$zt); $count=count($r); $return_r[0]=intval($r[0]); $ids=''; $dh=''; for($i=0;$i<$count;$i++) { $r[$i]=intval($r[$i]); $ids.=$dh.$r[$i]; $dh=','; } $return_r[1]=$f.' in ('.$ids.')'; return $return_r; } //返回多标题分类 function sys_ReturnMoreTT($tt){ $r=explode(',',$tt); $count=count($r); $return_r[0]=intval($r[0]); $ids=''; $dh=''; for($i=0;$i<$count;$i++) { $r[$i]=intval($r[$i]); $ids.=$dh.$r[$i]; $dh=','; } $return_r[1]='ttid in ('.$ids.')'; return $return_r; } //验证是否包含栏目 function CheckHaveInClassid($cr,$checkclass){ global $class_r; if($cr['islast']) { $chclass='|'.$cr['classid'].'|'; } else { $chclass=$cr['sonclass']; } $return=0; $r=explode('|',$chclass); $count=count($r); for($i=1;$i<$count-1;$i++) { if(strstr($checkclass,'|'.$r[$i].'|')) { $return=1; break; } } return $return; } //返回加前缀的下载地址 function ReturnDownQzPath($path,$urlid){ global $empire,$dbtbpre; $urlid=(int)$urlid; if(empty($urlid)) { $re['repath']=$path; $re['downtype']=0; } else { $r=$empire->fetch1("select urlid,url,downtype from {$dbtbpre}enewsdownurlqz where urlid='$urlid'"); if($r['urlid']) { $re['repath']=$r['url'].$path; } else { $re['repath']=$path; } $re['downtype']=$r['downtype']; } return $re; } //返回带防盗链的绝对地址 function ReturnDSofturl($downurl,$qz,$path='../../',$isdown=0){ $urlr=ReturnDownQzPath(stripSlashes($downurl),$qz); $url=$urlr['repath']; @include_once(ECMS_PATH."e/DownSys/class/enpath.php");//防盗链 if($isdown) { $url=DoEnDownpath($url); } else { $url=DoEnOnlinepath($url); } return $url; } //验证提交来源 function CheckCanPostUrl(){ global $public_r; if($public_r['canposturl']) { $r=explode("\r\n",$public_r['canposturl']); $count=count($r); $b=0; for($i=0;$i<$count;$i++) { if(strstr($_SERVER['HTTP_REFERER'],$r[$i])) { $b=1; break; } } if($b==0) { printerror('NotCanPostUrl','',1); } } } //adminpath function eGetSelfAdminPath(){ $selfpath=eReturnSelfPage(0); $selfpath=str_replace("\\","/",$selfpath); if(strstr($selfpath,'//')) { exit(); } $pr=explode('/e/',$selfpath); $pr2=explode('/',$pr[1]); $adminpath=$pr2[0]; if(empty($adminpath)) { exit(); } return $adminpath; } //特殊来源验证 function hCheckSpFromUrl(){ if(defined('EmpireCMSSpFromUrl')) { return ''; } $spurl=',AddNews.php,ShowInfo.php,ShowWfInfo.php,EditCjNews.php,infoeditor,'; $r=explode(',',$spurl); $count=count($r); $fromurl=$_SERVER['HTTP_REFERER']; for($i=1;$i<$count;$i++) { if(empty($r[$i])) { continue; } if(stristr($fromurl,$r[$i])) { printerror("FailHash","history.go(-1)"); } } } //设定特殊来源 function hSetSpFromUrl(){ define('EmpireCMSSpFromUrl',TRUE); } //验证来源 function DoSafeCheckFromurl(){ global $ecms_config; if($ecms_config['esafe']['ckfromurl']==0||defined('EmpireCMSNFPage'))//不启用 { return ''; } $fromurl=$_SERVER['HTTP_REFERER']; if(!$fromurl) { return ''; } $domain=eReturnDomain(); if($ecms_config['esafe']['ckfromurl']==1)//全部启用 { if(!stristr($fromurl,$domain)) { echo""; exit(); } } elseif($ecms_config['esafe']['ckfromurl']==2)//后台启用 { if(defined('EmpireCMSAdmin')&&!stristr($fromurl,$domain.'/')) { echo""; exit(); } } elseif($ecms_config['esafe']['ckfromurl']==3)//前台启用 { if(!defined('EmpireCMSAdmin')&&!stristr($fromurl,$domain)) { echo""; exit(); } } elseif($ecms_config['esafe']['ckfromurl']==4)//全部启用(严格) { if(!stristr($fromurl,$domain)) { echo""; exit(); } if(defined('EmpireCMSAdmin')) { $adminpath=eGetSelfAdminPath(); if(!stristr($fromurl,'/e/'.$adminpath.'/')) { echo""; exit(); } } } elseif($ecms_config['esafe']['ckfromurl']==5)//后台启用(严格) { if(defined('EmpireCMSAdmin')) { if(!stristr($fromurl,$domain.'/')) { echo""; exit(); } $adminpath=eGetSelfAdminPath(); if(!stristr($fromurl,'/e/'.$adminpath.'/')) { echo""; exit(); } } } elseif($ecms_config['esafe']['ckfromurl']==6)//前台启用(严格) { if(!defined('EmpireCMSAdmin')&&!stristr($fromurl,$domain)) { echo""; exit(); } } } //验证agent信息 function EcmsCheckUserAgent($ckstr){ if(empty($ckstr)) { return ''; } $userinfo=$_SERVER['HTTP_USER_AGENT']; $cr=explode('||',$ckstr); $count=count($cr); for($i=0;$i<$count;$i++) { if(empty($cr[$i])) { continue; } if(!strstr($userinfo,$cr[$i])) { //echo'Userinfo Error'; exit(); } } } //验证IP function eCheckAccessIp($ecms=0){ global $public_r; $userip=egetip(); if($ecms)//后台 { //允许IP if($public_r['hopenip']) { $close=1; foreach(explode("\n",$public_r['hopenip']) as $ctrlip) { if(preg_match("/^(".preg_quote(($ctrlip=trim($ctrlip)),'/').")/",$userip)) { $close=0; break; } } if($close==1) { echo"Ip(".$userip.") be prohibited."; exit(); } } } else { //允许IP if($public_r['openip']) { $close=1; foreach(explode("\n",$public_r['openip']) as $ctrlip) { if(preg_match("/^(".preg_quote(($ctrlip=trim($ctrlip)),'/').")/",$userip)) { $close=0; break; } } if($close==1) { echo"Ip(".$userip.") be prohibited."; exit(); } } //禁止IP if($public_r['closeip']) { foreach(explode("\n",$public_r['closeip']) as $ctrlip) { if(preg_match("/^(".preg_quote(($ctrlip=trim($ctrlip)),'/').")/",$userip)) { echo"Ip(".$userip.") be prohibited."; exit(); } } } } } //验证提交IP function eCheckAccessDoIp($doing){ global $public_r,$empire,$dbtbpre; $pr=$empire->fetch1("select opendoip,closedoip,doiptype from {$dbtbpre}enewspublic limit 1"); if(!strstr($pr['doiptype'],','.$doing.',')) { return ''; } $userip=egetip(); //允许IP if($pr['opendoip']) { $close=1; foreach(explode("\n",$pr['opendoip']) as $ctrlip) { if(preg_match("/^(".preg_quote(($ctrlip=trim($ctrlip)),'/').")/",$userip)) { $close=0; break; } } if($close==1) { printerror('NotCanPostIp','history.go(-1)',1); } } //禁止IP if($pr['closedoip']) { foreach(explode("\n",$pr['closedoip']) as $ctrlip) { if(preg_match("/^(".preg_quote(($ctrlip=trim($ctrlip)),'/').")/",$userip)) { printerror('NotCanPostIp','history.go(-1)',1); } } } } //验证是否关闭相关模块 function eCheckCloseMods($mod){ global $public_r; if(strstr($public_r['closemods'],','.$mod.',')) { echo $mod.' is close'; exit(); } } //验证操作时间 function eCheckTimeCloseDo($ecms){ global $public_r; if(stristr($public_r['timeclosedo'],','.$ecms.',')) { $h=date('G'); if(strstr($public_r['timeclose'],','.$h.',')) { printerror('ThisTimeCloseDo','history.go(-1)',1); } } } //验证外部登录是否开启 function eCheckCloseMemberConnect(){ global $public_r; if(!$public_r['memberconnectnum']) { printerror('NotOpenMemberConnect','history.go(-1)',1); } } //过滤 function ClearNewsBadCode($text){ $text=preg_replace(array('!!i','!!i','!!i','! onerror!i','!!i','/