='4.1') { $q=''; if($phome_db_char) { $q='character_set_connection='.$phome_db_char.',character_set_results='.$phome_db_char.',character_set_client=binary'; } if($phome_use_dbver>='5.0') { $q.=(empty($q)?'':',').'sql_mode=\'\''; } if($q) { @mysql_query('SET '.$q); } } @mysql_select_db($phome_db_dbname); return $link; } //设置编码 function DoSetDbChar($dbchar){ if($dbchar&&$dbchar!='auto') { @mysql_query("set names '".$dbchar."';"); } } function db_close(){ global $link; @mysql_close($link); } //--------------- 公共 --------------- //设置COOKIE function esetcookie($var,$val,$life=0,$ecms=0){ global $phome_cookiedomain,$phome_cookiepath,$phome_cookievarpre,$phome_cookieadminvarpre; $varpre=empty($ecms)?$phome_cookievarpre:$phome_cookieadminvarpre; return setcookie($varpre.$var,$val,$life,$phome_cookiepath,$phome_cookiedomain); } //返回cookie function getcvar($var,$ecms=0){ global $phome_cookievarpre,$phome_cookieadminvarpre; $tvar=empty($ecms)?$phome_cookievarpre.$var:$phome_cookieadminvarpre.$var; return $_COOKIE[$tvar]; } //错误提示 function printerror($error="",$gotourl="",$ecms=0,$noautourl=0,$novar=0){ global $empire,$editor,$ecmslang,$public_r; if($editor==1){$a="../";} elseif($editor==2){$a="../../";} elseif($editor==3){$a="../../../";} else{$a="";} if(strstr($gotourl,"(")||empty($gotourl)) { $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==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)) { $gotourl_js="history.go(-1)"; $gotourl="javascript:history.go(-1)"; } else {$gotourl_js="self.location.href='$gotourl';";} if($ecms==9)//弹出对话框 { echo""; } else { @include(ECMS_PATH.'e/message/index.php'); } exit(); } //ajax错误提示 function ajax_printerror($result='',$ajaxarea='ajaxarea',$error='',$ecms=0,$novar=0){ global $empire,$editor,$ecmslang,$public_r; if($editor==1){$a="../";} elseif($editor==2){$a="../../";} elseif($editor==3){$a="../../../";} else{$a="";} 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'; } $string=$result.'|'.$ajaxarea.'|'.$error; echo $string; @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 GetTemptb($temptb){ global $public_r,$ecmsdeftempid,$dbtbpre; if(!empty($ecmsdeftempid)) { $tempid=$ecmsdeftempid; } 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 $ecmsdeftempid,$public_r; if($ecmsdeftempid) { $gid=$ecmsdeftempid; } elseif($public_r['deftempid']) { $gid=$public_r['deftempid']; } else { $gid=1; } return $gid; } //导入语言包 function LoadLang($file){ global $ecmslang; return "../data/language/".$ecmslang."/".$file; } //取得IP function egetip(){ 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']; } return preg_replace("/^([\d\.]+).*/", "\\1",RepPostVar($ip)); } //返回地址 function DoingReturnUrl($url,$from=''){ if(empty($from)) { return $url; } elseif($from==9) { $from=$_SERVER['HTTP_REFERER']?$_SERVER['HTTP_REFERER']:$url; } return $from; } //参数处理函数 function RepPostVar($val){ if($val!=addslashes($val)) { exit(); } $val=str_replace(" ","",$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=RepPostStr($val); $val=addslashes($val); return $val; } //参数处理函数2 function RepPostVar2($val){ if($val!=addslashes($val)) { exit(); } $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=RepPostStr($val); $val=addslashes($val); return $val; } //处理提交字符 function RepPostStr($val){ $val=htmlspecialchars($val,ENT_QUOTES); return $val; } //取得文件扩展名 function GetFiletype($filename){ $filer=explode(".",$filename); $count=count($filer)-1; return strtolower(".".$filer[$count]); } //取得文件名 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 sub($string,$start=0,$length,$mode=false,$dot=''){ global $phome_ecms_charver; $strlen=strlen($string); if($strlen<=$length) { return $string; } $string = str_replace(array(' ','&','"','<','>','''), array(' ','&','"','<','>',"'"), $string); $strcut = ''; if(strtolower($phome_ecms_charver) == '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]; } } $strcut = str_replace(array('&','"','<','>',"'"), array('&','"','<','>','''), $strcut); return $strcut.$dot; } //截取字数 function esub($string,$length,$dot=''){ return sub($string,0,$length,false,$dot); } //取得随机数 function make_password($pw_length){ $low_ascii_bound=50; $upper_ascii_bound=122; $notuse=array(58,59,60,61,62,63,64,73,79,91,92,93,94,95,96,108,111); while($i<$pw_length) { mt_srand((double)microtime()*1000000); $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) { mt_srand((double)microtime()*1000000); $randnum=mt_rand($low_ascii_bound,$upper_ascii_bound); if(!in_array($randnum,$notuse)) { $password1=$password1.chr($randnum); $i++; } } return $password1; } //前台分页 function page1($num,$line,$page_line,$start,$page,$search){ global $fun_r; if($num<=$line) { return ''; } $url=$_SERVER['PHP_SELF'].'?page'; $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 $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 $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); $htmlfp=@fopen($filepath,"r"); //远程 if(strstr($filepath,"://")) { 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 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 $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 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 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,$class_r; if(empty($r[titleurl])) { 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) { $titleurl=$public_r[newsurl]."e/action/ShowInfo.php?classid=$r[classid]&id=$r[id]"; 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]."&url=".urlencode($r[titleurl]); } } return $titleurl; } //返回标题链接 function sys_ReturnBqAutoTitleLink($r){ global $public_r,$class_r; if(empty($r[titleurl])) { if($class_r[$r[classid]][showdt]==2) { $titleurl=$public_r[newsurl]."e/action/ShowInfo.php?classid=$r[classid]&id=$r[id]"; 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]."&url=".urlencode($r[titleurl]); } } return $titleurl; } //返回栏目链接 function sys_ReturnBqClassname($r,$have_class=0){ global $public_r,$class_r; if($have_class) { //外部栏目 if($class_r[$r[classid]][wburl]) { $classurl=$class_r[$r[classid]][wburl]; } //动态列表 elseif($class_r[$r[classid]][listdt]) { $classurl=$public_r[newsurl]."e/action/ListInfo/?classid=$r[classid]"; } 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 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 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 ReturnReplaceListF($mid){ global $emod_r; $r['mid']=$mid; $r['fr']=explode(',',$emod_r[$mid]['listtempf']); $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; 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(htmlspecialchars($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('[!--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; $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($buyname); $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 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"); 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=' and classid not in ('.$cids.')'; return $where; } //返回文件名及扩展名 function ReturnCFiletype($file){ $r=explode('.',$file); $count=count($r)-1; $re['filetype']=$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 ReturnSaveIndexFile(){ global $public_r; $file="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 FormatPath($classid,$mynewspath,$enews=0){ global $class_r; if($enews) { $newspath=$mynewspath; } else { $newspath=date($class_r[$classid][newspath]); } if(empty($newspath)) { return ""; } $path=ECMS_PATH.ReturnSaveInfoPath($classid,$id); $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 ReturnFileSavePath($classid,$fpath=''){ global $public_r,$class_r; $fpath=$fpath||strstr(','.$fpath.',',',0,')?$fpath:$public_r['fpath']; if($fpath==1)//p目录 { $r['filepath']='d/file/p/'; $r['fileurl']=$public_r['fileurl'].'p/'; } elseif($fpath==2)//file目录 { $r['filepath']='d/file/'; $r['fileurl']=$public_r['fileurl']; } else { if(empty($classid)) { $r['filepath']='d/file/p/'; $r['fileurl']=$public_r['fileurl'].'p/'; } else { $r['filepath']='d/file/'.$class_r[$classid][classpath].'/'; $r['fileurl']=$public_r['fileurl'].$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=ECMS_PATH.$fspath['filepath']; $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())); return $filename; } //上传文件 function DoTranFile($file,$file_name,$file_type,$file_size,$classid,$ecms=0){ global $public_r,$class_r,$doetran; //文件类型 $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]=ECMS_PATH.$fspath['filepath'].$filepath; //附件地址 $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; 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,$tranpicturetype,$tranflashtype,$mediaplayertype,$realplayertype; //处理地址 $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; } $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]=ECMS_PATH.$fspath['filepath'].$filepath; //附件地址 $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($tranflashtype,','.$r[filetype].',')) { $r[type]=2; } elseif(strstr($tranpicturetype,','.$r[filetype].',')) { $r[type]=1; } elseif(strstr($mediaplayertype,','.$r[filetype].',')||strstr($realplayertype,','.$r[filetype].','))//多媒体 { $r[type]=3; } else { $r[type]=0; } return $r; } //删除附件 function DoDelFile($r){ global $class_r; $path=$r['path']?$r['path'].'/':$r['path']; $fspath=ReturnFileSavePath($r[classid],$r[fpath]); $delfile=ECMS_PATH.$fspath['filepath'].$path.$r['filename']; DelFiletext($delfile); } //替换表前缀 function RepSqlTbpre($sql){ global $dbtbpre; $sql=str_replace("[!db.pre!]",$dbtbpre,$sql); return $sql; } //时间转换 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){ $r=explode(',',$zt); $count=count($r); $return_r[0]=intval($r[0]); $where=''; $or=''; for($i=0;$i<$count;$i++) { $r[$i]=intval($r[$i]); $where.=$or."ztid like '%|".$r[$i]."|%'"; $or=' or '; } $return_r[1]=$where; 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; 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/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); } } } //验证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(); } } } } } //验证包含字符 function toCheckCloseWord($word,$closestr,$mess){ if($closestr&&$closestr!='|') { $checkr=explode('|',$closestr); $ckcount=count($checkr); for($i=0;$i<$ckcount;$i++) { if($checkr[$i]&&stristr($word,$checkr[$i])) { printerror($mess,"history.go(-1)",1); } } } } //替换评论表情 function RepPltextFace($text){ global $public_r; if(empty($public_r['plface'])||$public_r['plface']=='||') { return $text; } $facer=explode('||',$public_r['plface']); $count=count($facer); for($i=1;$i<$count-1;$i++) { $r=explode('##',$facer[$i]); $text=str_replace($r[0],"",$text); } return $text; } //替换空格 function RepFieldtextNbsp($text){ return str_replace(array("\t",' ',' '),array('        ','   ','  '),$text); } //保留扩展名验证 function CheckSaveTranFiletype($filetype){ $savetranfiletype=',.php,.php3,.php4,.php5,.php6,.asp,.aspx,.jsp,.cgi,'; if(stristr($savetranfiletype,','.$filetype.',')) { return true; } return false; } //设置验证码 function ecmsSetShowKey($varname,$val,$ecms=0){ global $public_r; $time=time(); $checkpass=md5(md5($val.'EmpireCMS'.$time).$public_r['keyrnd']); $key=$time.','.$checkpass.','.$val; esetcookie($varname,$key,0,$ecms); } //检查验证码 function ecmsCheckShowKey($varname,$postval,$dopr,$ecms=0){ global $public_r; $r=explode(',',getcvar($varname,$ecms)); $cktime=$r[0]; $pass=$r[1]; $val=$r[2]; $time=time(); if($cktime>$time||$time-$cktime>$public_r['keytime']*60) { printerror('OutKeytime','',$dopr); } if(empty($postval)||$postval<>$val) { printerror('FailKey','',$dopr); } $checkpass=md5(md5($postval.'EmpireCMS'.$cktime).$public_r['keyrnd']); if($checkpass<>$pass) { printerror('FailKey','',$dopr); } } //清空验证码 function ecmsEmptyShowKey($varname,$ecms=0){ esetcookie($varname,'',0,$ecms); } //返回字段标识 function toReturnFname($tbname,$f){ global $empire,$dbtbpre; $r=$empire->fetch1("select fname from {$dbtbpre}enewsf where f='$f' and tbname='$tbname' limit 1"); return $r[fname]; } //返回拼音 function ReturnPinyinFun($hz){ global $phome_ecms_charver; include_once(ECMS_PATH.'e/class/epinyin.php'); //编码 if($phome_ecms_charver!='gb2312') { include_once(ECMS_PATH.'e/class/doiconv.php'); $iconv=new Chinese(''); $char=$phome_ecms_charver=='big5'?'BIG5':'UTF8'; $targetchar='GB2312'; $hz=$iconv->Convert($char,$targetchar,$hz); } return c($hz); } //取得字母 function GetInfoZm($hz){ if(!trim($hz)) { return ''; } $py=ReturnPinyinFun($hz); $zm=substr($py,0,1); return strtoupper($zm); } //返回加密后的IP function ToReturnXhIp($ip,$n=1){ $newip=''; $ipr=explode(".",$ip); $ipnum=count($ipr); for($i=0;$i<$ipnum;$i++) { if($i!=0) {$d=".";} if($i==$ipnum-1) { $ipr[$i]="*"; } if($n==2) { if($i==$ipnum-2) { $ipr[$i]="*"; } } $newip.=$d.$ipr[$i]; } return $newip; } //返回当前域名 function eReturnDomain(){ $domain=$_SERVER['HTTP_HOST']; if(empty($domain)) { return ''; } if($_SERVER['SERVER_PORT']&&$_SERVER['SERVER_PORT']!='80') { $domain.=':'.$_SERVER['SERVER_PORT']; } return 'http://'.$domain; } //返回域名网站地址 function eReturnDomainSiteUrl(){ global $public_r; $PayReturnUrlQz=$public_r['newsurl']; if(!stristr($public_r['newsurl'],'://')) { $PayReturnUrlQz=eReturnDomain().$public_r['newsurl']; } return $PayReturnUrlQz; } //EMAIL地址检查 function chemail($email){ if(empty($email)||!ereg("^[-a-zA-Z0-9_\.]+\@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,5}$",$email)) { return false; } else { return true; } } //去除adds function ClearAddsData($data){ $magic_quotes_gpc=get_magic_quotes_gpc(); if($magic_quotes_gpc) { $data=stripSlashes($data); } return $data; } //增加adds function AddAddsData($data){ $magic_quotes_gpc=get_magic_quotes_gpc(); if(!$magic_quotes_gpc) { $data=addslashes($data); } return $data; } //原字符adds function StripAddsData($data){ $data=addslashes(stripSlashes($data)); return $data; } //------- 存文本 ------- //读取文本字段内容 function GetTxtFieldText($pagetexturl){ global $do_txtpath; if(empty($pagetexturl)) { return ''; } $file=$do_txtpath.$pagetexturl.".php"; $text=ReadFiletext($file); $text=substr($text,12);//去除exit return $text; } //取得文本地址 function GetTxtFieldTextUrl($pagetexturl){ global $do_txtpath; $file=$do_txtpath.$pagetexturl.".php"; return $file; } //修改文本字段内容 function EditTxtFieldText($pagetexturl,$pagetext){ global $do_txtpath; $pagetext="