帝国cms内容页面的生成
提示: 阅读权限:公开
7大文件的包含:
<?php
require("../../class/connect.php");
require("../../class/db_sql.php");
require("../../class/functions.php");
require '../'.LoadLang("pub/fun.php");
require("../../class/t_functions.php");
require("../../data/dbcache/class.php");
require("../../data/dbcache/MemberLevel.php");
刷新信息的函数: //刷新信息
GetHtml($infor['classid'],$infor['id'],$infor,1);
源代码为:
//生成内容文件
function GetHtml($classid,$id,$add,$ecms=0,$doall=0){
jhcShuaXin(__FUNCTION__,func_get_args(),2);//add by jiuhecai
global $public_r,$class_r,$class_zr,$fun_r,$empire,$dbtbpre,$emod_r,$class_tr,$level_r,$etable_r;
$mid=$class_r[$classid]['modid'];
$tbname=$class_r[$classid][tbname];
if(InfoIsInTable($tbname))//内部表
{
return '';
}
if($ecms==0)//主表
{
$add=$empire->fetch1("select ".ReturnSqlTextF($mid,1)." from {$dbtbpre}ecms_".$tbname." where id='$id' limit 1");
}
$add['id']=$id;
$add['classid']=$classid;
if($add['isurl'])
{
return '';
}
if(empty($doall))
{
if(!$add['stb']||$class_r[$add[classid]][showdt]==2||strstr($public_r['nreinfo'],','.$add['classid'].','))//不生成
{
return '';
}
}
//副表
$addr=$empire->fetch1("select ".ReturnSqlFtextF($mid)." from {$dbtbpre}ecms_".$tbname."_data_".$add[stb]." where id='$add[id]' limit 1");
$add=array_merge($add,$addr);
//路径
$iclasspath=ReturnSaveInfoPath($add[classid],$add[id]);
$doclasspath=eReturnTrueEcmsPath().$iclasspath;//moreport
$createinfopath=$doclasspath;
//建立日期目录
$newspath='';
if($add[newspath])
{
$createpath=$doclasspath.$add[newspath];
if(!file_exists($createpath))
{
$r[newspath]=FormatPath($add[classid],$add[newspath],1);
}
$createinfopath.=$add[newspath].'/';
$newspath=$add[newspath].'/';
}
//新建存放目录
if($class_r[$add[classid]][filename]==3)
{
$createinfopath.=ReturnInfoSPath($add['filename']);
DoMkdir($createinfopath);
$fn3=1;
}
//存文本
if($emod_r[$mid]['savetxtf'])
{
$stf=$emod_r[$mid]['savetxtf'];
if($add[$stf])
{
$add[$stf]=GetTxtFieldText($add[$stf]);
}
}
eAutodo_AddDo('ReNewsHtml',$classid,$id,0,0,0);//moreportdo
$GLOBALS['navclassid']=$add[classid];
$GLOBALS['navinfor']=&$add;
//取得内容模板
$add[newstempid]=$add[newstempid]?$add[newstempid]:$class_r[$add[classid]][newstempid];
$newstemp_r=$empire->fetch1("select temptext,showdate from ".GetTemptb("enewsnewstemp")." where tempid='$add[newstempid]' limit 1");
$newstemp_r['tempid']=$add['newstempid'];
if($public_r['opennotcj'])//启用反采集
{
$newstemp_r['temptext']=ReturnNotcj($newstemp_r['temptext']);
}
$newstemptext=$newstemp_r[temptext];
$formatdate=$newstemp_r[showdate];
//文件类型/权限
if($add[groupid]||$class_r[$add[classid]]['cgtoinfo'])
{
if(empty($add[newspath]))
{
$include='';
}
else
{
$pr=explode('/',$add[newspath]);
for($i=0;$i<count($pr);$i++)
{
$include.='../';
}
}
if($fn3==1)
{
$include.='../';
}
$pr=explode('/',$iclasspath);
$pcount=count($pr);
for($i=0;$i<$pcount-1;$i++)
{
$include.='../';
}
$include1=$include;
$include.='e/class/CheckLevel.php';
$filetype='.php';
$addlevel="<?php
define('empirecms','wm_chief');
$check_tbname='".$class_r[$add[classid]][tbname]."';
$check_infoid=".$add[id].";
$check_classid=".$add[classid].";
$check_path="".$include1."";
require("".$include."");
?>";
}
else
{
$filetype=$class_r[$add[classid]][filetype];
$addlevel='';
}
//取得本目录链接
if($class_r[$add[classid]][classurl]&&$class_r[$add[classid]][ipath]=='')//域名
{
$dolink=$class_r[$add[classid]][classurl].'/'.$newspath;
}
else
{
$dolink=$public_r[newsurl].$iclasspath.$newspath;
}
//返回替换验证字符
$docheckrep=ReturnCheckDoRepStr();
if($add[newstext])
{
if(empty($public_r['dorepword'])&&$docheckrep[3])
{
$add[newstext]=ReplaceWord($add[newstext]);//过滤字符
}
if(empty($public_r['dorepkey'])&&$docheckrep[4]&&!empty($add[dokey]))//替换关键字
{
$add[newstext]=ReplaceKey($add['newstext'],$add['classid']);
}
if($public_r['opencopytext'])
{
$add[newstext]=AddNotCopyRndStr($add[newstext]);//随机复制字符
}
}
//返回编译
$newstemptext=GetInfoNewsBq($classid,$newstemp_r,$add,$docheckrep);
//分页字段
$expage='[!--empirenews.page--]';//分页符
$pf=$emod_r[$mid]['pagef'];
//变量替换
$newstempstr=$newstemptext;//模板
$thislink=$dolink.$add[filename].$filetype; //erkai for who am i
//分页
if($pf&&strstr($add[$pf],$expage))//有分页
{
$n_r=explode($expage,$add[$pf]);
$thispagenum=count($n_r);
//取得分页
$thefun=$public_r['textpagefun']?$public_r['textpagefun']:'sys_ShowTextPage';
//下拉式分页
if(strstr($newstemptext,'[!--title.select--]'))
{
$dotitleselect=sys_ShowTextPageSelect($thispagenum,$dolink,$add,$filetype,$n_r);
}
for($j=1;$j<=$thispagenum;$j++)
{
$string=$newstempstr;//模板
$truepage='';
$titleselect='';
//下一页链接
if($thispagenum==$j)
{
$thisnextlink=$dolink.$add[filename].$filetype;
}
else
{
$thisj=$j+1;
$thisnextlink=$dolink.$add[filename].'_'.$thisj.$filetype;
}
$k=$j-1;
if($j==1)
{
$file=$doclasspath.$newspath.$add[filename].$filetype;
$ptitle=$add[title];
}
else
{
$file=$doclasspath.$newspath.$add[filename].'_'.$j.$filetype;
$thislink=$dolink.$add[filename].'_'.$j.$filetype;//erkai for who am i
$ti_r=explode('[/!--empirenews.page--]',$n_r[$k]);
if(count($ti_r)>=2)
{
$ptitle=$ti_r[0];
$n_r[$k]=$ti_r[1];
}
else
{
$ptitle=$add[title].'('.$j.')';
}
}
//取得当前页
if($thispagenum!=1)
{
$truepage=$thefun($thispagenum,$j,$dolink,$add,$filetype,'');
$titleselect=str_replace("?".$j."">","?".$j."" selected>",$dotitleselect);
}
//替换变量
$newstext=$n_r[$k];
if(!strstr($emod_r[$mid]['editorf'],','.$pf.','))
{
if(strstr($emod_r[$mid]['tobrf'],','.$pf.','))//加br
{
$newstext=nl2br($newstext);
}
if(!strstr($emod_r[$mid]['dohtmlf'],','.$pf.','))//去除html
{
$newstext=ehtmlspecialchars($newstext);
$newstext=RepFieldtextNbsp($newstext);
}
}
$string=str_replace('[!--'.$pf.'--]',$newstext,$string);
$string=str_replace('[!--p.title--]',strip_tags($ptitle),$string);
$string=str_replace('[!--next.page--]',$thisnextlink,$string);
$string=str_replace('[!--page.url--]',$truepage,$string);
$string=str_replace('[!--title.select--]',$titleselect,$string);
$string=str_replace('[!--jiuhecai.page.url--]',$thislink,$string);//erkai for who am i
//写文件
WriteFiletext($file,$addlevel.$string);
}
}
else
{
$file=$doclasspath.$newspath.$add[filename].$filetype;
$string=$newstempstr;//模板
//替换变量
$string=str_replace('[!--p.title--]',$add[title],$string);
$string=str_replace('[!--next.page--]','',$string);
$string=str_replace('[!--page.url--]','',$string);
$string=str_replace('[!--title.select--]','',$string);
$string=str_replace('[!--jiuhecai.page.url--]',$thislink,$string);//erkai for who am i
//写文件
WriteFiletext($file,$addlevel.$string);
}
//设为已生成
if(empty($doall)&&empty($add['havehtml']))
{
$empire->query("update {$dbtbpre}ecms_".$class_r[$add[classid]][tbname]."_index set havehtml=1 where id='$add[id]' limit 1");
$empire->query("update {$dbtbpre}ecms_".$class_r[$add[classid]][tbname]." set havehtml=1 where id='$add[id]' limit 1");
}
}
评论的添加:
<?php
require('../class/connect.php');
require('../class/db_sql.php');
require('../data/dbcache/class.php');
require('../member/class/user.php');
require('../data/dbcache/MemberLevel.php');
require LoadLang('pub/fun.php');
缺少 :
require("../../class/functions.php");
require("../../class/t_functions.php");
2 1 2 下一页 尾页
站内直通车
[!--temp.bottomnav--]