首页 > 其他 > 网站日记>正文

帝国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");

上一篇:惠普原装硒鼓的鉴别

下一篇:生成静态页数

tags: 帝国cms 内容 页面

返回首页

相关

热门

站内直通车

[!--temp.bottomnav--]
返回顶部