| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436 | <?phprequire ('../class/connect.php');require ('../class/db_sql.php');require ('../class/functions.php');require ('../class/t_functions.php');require LoadLang('pub/fun.php');require ('../data/dbcache/class.php');require ('../data/dbcache/MemberLevel.php');$link = db_connect();$empire = new mysqlquery();$classid = RepPostStr($_GET['classid']); //修改过滤方式$id = RepPostStr($_GET['id']); //修改过滤方式if (!is_numeric($classid)) {    foreach ($class_r as $val) {        foreach ($val as $val2) {            if ($classid == $val['classpath']) {                $classid = $val['classid'];                break;            }        }    }}//获取真实信息idif (is_numeric($id) && !$class_r[$classid]['filename']) {    $where = "classid='$classid' and id='$id'";} else {    $where = "classid='$classid' and filename='$id'";}$PageUrl = $_SERVER['HTTP_X_REWRITE_URL'] ? $_SERVER['HTTP_X_REWRITE_URL'] : $_SERVER['REQUEST_URI'];$page = (int)substr($_GET['page'], 1); //page是带横线所以去掉if ($page == 1 || strpos($PageUrl, '_0') > 0) { // MaXian:判断分页是1或者0就跳转 404    header('HTTP/1.1 404 Not Found');    header('status: 404 Not Found');    printerror('ErrorUrl', 'history.go(-1)', 1);}$page = RepPIntvar($page) ? RepPIntvar($page) : 1;$mid = $class_r[$classid]['modid'];$tbname = $class_r[$classid]['tbname'];//验证IPeCheckAccessDoIp('showinfo');if (!$classid || !$id || !$mid || !$tbname || InfoIsInTable($tbname)) {    printerror('此信息不存在', '', 1, 0, 1);}$r = $empire->fetch1("select * from {$dbtbpre}ecms_" . $tbname . " where $where limit 1");if (!$r['id'] || $classid != $r['classid']) {    printerror('此信息不存在', '', 1, 0, 1);}$id = $r['id']; //ID重新赋值//外部链接if ($r['isurl']) {    $titleurl = $r['titleurl'];    Header("Location:$titleurl");    exit();}//moreportif (Moreport_ReturnMustDt()) {    $class_r[$classid]['showdt'] = 2;}//是否支持动态内容页/*if($class_r[$classid]['showdt']!=2){    $titleurl = sys_ReturnBqTitleLink($r);    Header("Location:$titleurl");    exit();}*///缓存if ($public_r['ctimeopen']) {    $public_r['usetotalnum'] = 0;}$ecms_tofunr = array();$ecms_tofunr['cacheuse'] = 0;$ecms_tofunr['cacheselfcid'] = $classid;$ecms_tofunr['cachetype'] = 'textpage';$ecms_tofunr['cacheids'] = $classid . ',' . $id . ',' . $page;$ecms_tofunr['cachepath'] = 'empirecms';$ecms_tofunr['cachedatepath'] = 'ctext/' . date('Y/md', $r['truetime']);$ecms_tofunr['cachetime'] = $public_r['ctimetext'];$ecms_tofunr['cachelasttime'] = $public_r['ctimelast'];$ecms_tofunr['cachelastedit'] = $r['lastdotime'];$ecms_tofunr['cacheopen'] = Ecms_eCacheCheckOpen($ecms_tofunr['cachetime']);$ecms_tofunr['cachehavedo'] = 0;if ($ecms_tofunr['cacheopen'] == 1 && !($r['groupid'] || $class_r[$classid]['cgtoinfo'])) {    $ecms_tofunr['cacheuse'] = Ecms_eCacheOut($ecms_tofunr, 2);    if ($ecms_tofunr['cacheuse']) {        //更新点击        $empire->query("update {$dbtbpre}ecms_" . $tbname . " set onclick=onclick+1 where id='$id' limit 1");        db_close();        $empire = null;        exit();    }    $ecms_tofunr['cachehavedo'] = 1;}//缓存//副表$finfor = $empire->fetch1("select " . ReturnSqlFtextF($mid) . " from {$dbtbpre}ecms_" . $tbname . "_data_" . $r['stb'] . " where id='$r[id]' limit 1");$r = array_merge($r, $finfor);//权限if ($r['groupid'] || $class_r[$classid]['cgtoinfo']) {    define('empirecms', 'wm_chief');    define('PageCheckLevel', 'wm_chief');    $check_tbname = $tbname;    $check_infoid = $id;    $check_classid = $classid;    $check_path = "../../";    $checkinfor = $r;    @include ("../class/CheckLevel.php");}//缓存if ($ecms_tofunr['cacheopen'] == 1 && !$ecms_tofunr['cachehavedo']) {    $ecms_tofunr['cacheuse'] = Ecms_eCacheOut($ecms_tofunr, 2);    if ($ecms_tofunr['cacheuse']) {        //更新点击        $empire->query("update {$dbtbpre}ecms_" . $tbname . " set onclick=onclick+1 where id='$id' limit 1");        db_close();        $empire = null;        exit();    }}//缓存//存文本if ($emod_r[$mid]['savetxtf']) {    $stf = $emod_r[$mid]['savetxtf'];    if ($r[$stf]) {        $r[$stf] = GetTxtFieldText($r[$stf]);    }}//初始值$search = "&classid=$classid&id=$id";$line = 1;$start = 0;$page_line = 6; //每页显示链接数$offset = $page * $line - $line; //总偏移量$GLOBALS['navclassid'] = $r['classid'];$GLOBALS['navinfor'] = $r;//取得内容模板$r['newstempid'] = $r['newstempid'] ? $r['newstempid'] : $class_r[$r['classid']]['newstempid'];$newstemp_r = $empire->fetch1("select tempid,temptext,showdate from " . GetTemptb("enewsnewstemp") . " where tempid='$r[newstempid]'");function MX_eCheckListPageNo($page, $line, $totalnum) { // MaXian:验证页码是否有效    $page = (int)$page;    $line = (int)$line;    $totalnum = (int)$totalnum;    if (!$page || !$line) {        return '';    }    $totalpage = ceil($totalnum / $line);    if ($page >= $totalpage) { // MaXian:分页不合法跳转404        header('HTTP/1.1 404 Not Found');        header('status: 404 Not Found');        printerror('ErrorUrl', 'history.go(-1)', 1);    }}function MX_ShowPage($num, $line, $page_line, $start, $page) { // MaXian:分页函数    global $fun_r;    if ($num <= $line) {        return '';    }    $f = '_'; //伪静态分页分割符号    $url = preg_replace('/_[0-9]+/', '', $_SERVER['HTTP_X_REWRITE_URL'] ? $_SERVER['HTTP_X_REWRITE_URL'] : $_SERVER['REQUEST_URI']);    $urlarr = explode('.', $url);    $snum = 3; //最小页数    $totalpage = ceil($num / $line); //取得总页数    $firststr = '<a class="a1" href="' . $url . '">' . $fun_r['startpage'] . '</a>';    //上一页    if ($page > 1) {        //$toppage = '<a class="a1" href="' . $url . '">' . $fun_r['startpage'] . '</a>';        $pagepr = $page - 1;        if ($pagepr == 1) {            $prepage = '<a class="a1" href="' . $url . '">' . $fun_r['pripage'] . '</a>';        } else {            $prepage = '<a class="a1" href="' . $urlarr[0] . $f . $pagepr . '.' . $urlarr[1] . '">' . $fun_r['pripage'] . '</a>';        }    }    //下一页    if ($page != $totalpage) {        $pagenex = $page + 1;        $nextpage = '<a class="a1"  href="' . $urlarr[0] . $f . $pagenex . '.' . $urlarr[1] . '">' . $fun_r['nextpage'] . '</a>';        //$lastpage = '<a href="' . $urlarr[0] . $f . ($totalpage) . '.' . $urlarr[1] . '">' . $fun_r['lastpage'] . '</a>';    }    $starti = $page - $snum < 0 ? 0 : $page - $snum;    $no = 0;    for ($i = $starti + 1;$i < $totalpage + 1 && $no < $page_line;$i++) {        $no++;        if ($page == $i) {            $is_1 = "<a class=\"cur\">";            $is_2 = "</a>";        } else {            if ($i == 1) { //第一页不加page0                $is_1 = '<a href="' . $url . '">';                $is_2 = "</a>";            } else {                $is_1 = '<a href="' . $urlarr[0] . $f . $i . '.' . $urlarr[1] . '">';                $is_2 = "</a>";            }        }        $pagenum = $i;        $returnstr.= $is_1 . $pagenum . $is_2;    }    $returnstr = $firststr . $toppage . $prepage . $returnstr . $nextpage . $lastpage;    return $returnstr;}//替换模板变量function DtGetHtml($add, $newstemp_r, $mid, $tbname, $line, $page_line, $start, $page, $search) {    global $public_r, $class_r, $class_zr, $class_tr, $fun_r, $empire, $dbtbpre, $emod_r, $level_r;    //更新点击    $empire->query("update {$dbtbpre}ecms_" . $tbname . " set onclick=onclick+1 where id='$add[id]' limit 1");    $add['onclick'] = $add['onclick'] + 1;    //模板参数    $newstemptext = $newstemp_r['temptext'];    $formatdate = $newstemp_r['showdate'];    //页面    $pagetitle = ehtmlspecialchars($add['title']);    $url = ReturnClassLink($add['classid']); //导航    $newstemptext = DtInfo_ReplaceSvars($newstemptext, $url, $add['classid'], $pagetitle, $add['keyboard'], $pagetitle);    //相关信息    if (strstr($newstemptext, '[!--other.link--]')) {        $keyboardtext = GetKeyboard($add['keyboard'], $add['keyid'], $add['classid'], $add['id'], $class_r[$add['classid']]['link_num']);    }    //分页字段    $ptitle = $add['title'];    $truepage = '';    $titleselect = '';    $expage = '[!--empirenews.page--]'; //分页符    $pf = $emod_r[$mid]['pagef'];    if ($pf && strstr($add[$pf], $expage)) { //有分页        $n_r = explode($expage, $add[$pf]);        $thispagenum = count($n_r);        //checkpageno        MX_eCheckListPageNo($page - 1, $line, $thispagenum); // MaXian:验证页码是否有效        if ($page < 0 || $page > $thispagenum) {            $page = 1;        }        $add[$pf] = $n_r[$page - 1];        if ($page) {            $ti_r = explode('[/!--empirenews.page--]', $n_r[$page]);            if (count($ti_r) >= 2) {                $ptitle = $ti_r[0];                $add[$pf] = $ti_r[1];            } else {                $ptitle = $add['title'] . '(' . ($page - 1) . ')';            }        }        //伪静态        $pagefunr = eReturnRewriteInfoUrl($add['classid'], $add['id'], 0);        $pagefunr['repagenum'] = 0;        $truepage = MX_ShowPage($thispagenum, $line, $page_line, $start, $page); //伪静态分页        //伪静态分页结束        //$truepage=InfoUsePage($thispagenum,$line,$page_line,$start,$page,$search,$pagefunr);        //下拉式分页        if (strstr($newstemptext, '[!--title.select--]')) {            for ($j = 0;$j < $thispagenum;$j++) {                $spurl = eReturnRewritePageLink($pagefunr, $j);                if ($j == 0) {                    $sptitle = $add['title'];                } else {                    $ti_r = explode('[/!--empirenews.page--]', $n_r[$j]);                    $sptitle = count($ti_r) >= 2 ? $ti_r[0] : $add['title'] . '(' . ($j + 1) . ')';                }                $select = '';                if ($page == $j) {                    $ptitle = $sptitle;                    $select = ' selected';                }                $titleselect.= '<option value="' . $spurl . '"' . $select . '>' . $sptitle . '</option>';            }            $titleselect = '<select name="titleselect" onchange="self.location.href=this.options[this.selectedIndex].value">' . $titleselect . '</select>';        }        //下一页链接        if ($page == $thispagenum - 1) {            $thisnextlink = eReturnRewritePageLink($pagefunr, 0);        } else {            $thisnextlink = eReturnRewritePageLink($pagefunr, $page + 1);        }    } else {        //checkpageno        /*        if($page!=0){            printerror('ErrorUrl','history.go(-1)',1);        }*/    }    //返回替换验证字符    $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']); //随机复制字符                    }    }    //变量    $tempf = $emod_r[$mid]['tempf'];    $fr = explode(',', $tempf);    $fcount = count($fr) - 1;    //变量替换    $newstempstr = $newstemptext; //模板    for ($i = 1;$i < $fcount;$i++) {        $f = $fr[$i];        $value = $add[$f];        if ($f == 'downpath') { //下载地址            if (strstr($newstemptext, '[!--downpath--]')) {                $value = ReturnDownSoftHtml($add);            }        } elseif ($f == 'onlinepath') { //观看地址            if (strstr($newstemptext, '[!--onlinepath--]')) {                $value = ReturnOnlinepathHtml($add);            }        } elseif ($f == 'morepic') { //图片集            if (strstr($newstemptext, '[!--morepic--]')) {                $value = ReturnMorepicpathHtml($add);            }        } elseif ($f == 'newstime') { //时间            if (strstr($newstemptext, '[!--newstime--]')) {                $value = date($formatdate, $value);            }        } elseif ($f == 'befrom') { //信息来源            if ($docheckrep[1] && strstr($newstemptext, '[!--befrom--]')) {                $value = ReplaceBefrom($value);            }        } elseif ($f == 'writer') { //作者            if ($docheckrep[2] && strstr($newstemptext, '[!--writer--]')) {                $value = ReplaceWriter($value);            }        } elseif ($f == 'titlepic') { //标题图片            if (empty($value)) {                $value = $public_r['newsurl'] . 'e/data/images/notimg.gif';            }        } elseif ($f == 'title') { //标题                    } else { //正常字段            if (!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));                }            }        }        $newstempstr = str_replace('[!--' . $f . '--]', $value, $newstempstr);    }    //固定变量    $newstempstr = str_replace('[!--id--]', $add['id'], $newstempstr);    $newstempstr = str_replace('[!--classid--]', $add['classid'], $newstempstr);    $newstempstr = str_replace('[!--class.name--]', $class_r[$add['classid']]['classname'], $newstempstr);    $newstempstr = str_replace('[!--ttid--]', $add['ttid'], $newstempstr);    $newstempstr = str_replace('[!--tt.name--]', $class_tr[$add['ttid']]['tname'], $newstempstr);    $newstempstr = str_replace('[!--tt.url--]', sys_ReturnBqInfoTypeUrl($add['ttid']), $newstempstr);    $newstempstr = str_replace('[!--onclick--]', $add['onclick'], $newstempstr);    $newstempstr = str_replace('[!--userfen--]', $add['userfen'], $newstempstr);    $newstempstr = str_replace('[!--username--]', $add['username'], $newstempstr);    //带链接的用户名    if ($add['ismember'] == 1 && $add['userid']) {        $newstempstr = str_replace('[!--linkusername--]', "<a href='" . $public_r['newsurl'] . "e/space/?userid=" . $add['userid'] . "' target=_blank>" . $add['username'] . "</a>", $newstempstr);    } else {        $newstempstr = str_replace('[!--linkusername--]', $add['username'], $newstempstr);    }    $newstempstr = str_replace('[!--userid--]', $add['userid'], $newstempstr);    $newstempstr = str_replace('[!--other.link--]', $keyboardtext, $newstempstr);    $newstempstr = str_replace('[!--news.url--]', $public_r['newsurl'], $newstempstr);    $newstempstr = str_replace('[!--plnum--]', $add['plnum'], $newstempstr);    $newstempstr = str_replace('[!--totaldown--]', $add['totaldown'], $newstempstr);    $newstempstr = str_replace('[!--keyboard--]', $add['keyboard'], $newstempstr);    //链接    $titleurl = sys_ReturnBqTitleLink($add);    $newstempstr = str_replace('[!--titleurl--]', $titleurl, $newstempstr);    $newstempstr = str_replace('[!--page.stats--]', '', $newstempstr);    $classurl = sys_ReturnBqClassname($add, 9);    $newstempstr = str_replace('[!--class.url--]', $classurl, $newstempstr);    //下一篇    if (strstr($newstemptext, '[!--info.next--]')) {        $next_r = $empire->fetch1("select isurl,titleurl,classid,id,title from {$dbtbpre}ecms_" . $class_r[$add['classid']]['tbname'] . " where id>$add[id] and classid='$add[classid]' order by id limit 1");        if (empty($next_r['id'])) {            $infonext = "<a href='" . $classurl . "'>" . $fun_r['HaveNoNextLink'] . "</a>";        } else {            //链接            $nexttitleurl = sys_ReturnBqTitleLink($next_r);            $infonext = "<a href='" . $nexttitleurl . "'>" . $next_r['title'] . "</a>";        }        $newstempstr = str_replace('[!--info.next--]', $infonext, $newstempstr);    }    //上一篇    if (strstr($newstemptext, '[!--info.pre--]')) {        $next_r = $empire->fetch1("select isurl,titleurl,classid,id,title from {$dbtbpre}ecms_" . $class_r[$add['classid']]['tbname'] . " where id<$add[id] and classid='$add[classid]' order by id desc limit 1");        if (empty($next_r['id'])) {            $infonext = "<a href='" . $classurl . "'>" . $fun_r['HaveNoNextLink'] . "</a>";        } else {            //链接            $nexttitleurl = sys_ReturnBqTitleLink($next_r);            $infonext = "<a href='" . $nexttitleurl . "'>" . $next_r['title'] . "</a>";        }        $newstempstr = str_replace('[!--info.pre--]', $infonext, $newstempstr);    }    //投票    if (strstr($newstemptext, '[!--info.vote--]')) {        $myvotetext = sys_GetInfoVote($add['classid'], $add['id']);        $newstempstr = str_replace('[!--info.vote--]', $myvotetext, $newstempstr);    }    //评分    if (strstr($newstemptext, '[!--pinfopfen--]')) {        $pinfopfen = $add['infopfennum'] ? round($add['infopfen'] / $add['infopfennum']) : 0;        $newstempstr = str_replace('[!--pinfopfen--]', $pinfopfen, $newstempstr);        $newstempstr = str_replace('[!--infopfennum--]', $add['infopfennum'], $newstempstr);    }    $string = $newstempstr;    //替换变量    $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);    return $string;}if (empty($newstemp_r['tempid'])) {    printerror('ErrorUrl', '', 1);}//页面支持标签if ($public_r['dtncanbq']) {    $newstemp_r['temptext'] = DtNewsBq('text' . $newstemp_r['tempid'], $newstemp_r['temptext'], 1);} else {    if ($public_r['searchtempvar']) {        $newstemp_r['temptext'] = ReplaceTempvar($newstemp_r['temptext']);    }}$string = DtGetHtml($r, $newstemp_r, $mid, $tbname, $line, $page_line, $start, $page, $search);//缓存if ($ecms_tofunr['cacheopen'] == 1) {    Ecms_eCacheIn($ecms_tofunr, stripSlashes($string));} else {    echo stripSlashes($string);}//缓存db_close();$empire = null;?>
 |