www.gusucode.com > HadSky PHP轻论坛系统源码 v2.4.2源码程序 > ytqlt_v2.4.2.0701/phpscript/read.php
<?php if (!defined('puyuetian')) exit('Not Found puyuetian!Please contact QQ632827168'); if (chkUserQx($_G['USER']['QUANXIAN'], 'lookread')) { $RA = $_G['TABLE']['READ'] -> getData($id); if ($RA) { if (!Cnum($RA['del'])) { //====================文章的阅读权限==================== $readlevel = Cnum($RA['readlevel']); $uid = Cnum($RA['uid'], 2); $RUA = $_G['TABLE']['USER'] -> getData($uid); //=====================版块阅读权限=================== if ($RA['sortid']) { $__sortdata = $_G['TABLE']['READSORT'] -> getData($RA['sortid']); if ($_G['USER']['READLEVEL'] < $__sortdata['looklevel']) { $banread = TRUE; } } //====================用户阅读权限检测================== if ((Cnum($_G['USER']['READLEVEL']) < $readlevel) || $banread) { $_G['HTMLCODE']['TIP'] = '您的阅读权限未达到要求值!'; $_G['HTMLCODE']['OUTPUT'] .= template('tip', true); } else { //===================用户签名检测================== if ($RUA['id'] == 1) { //创始人可以用html代码 } elseif (chkUserQx($RUA['quanxian'], 'admin') || chkUserQx($RUA['quanxian'], 'superman')) { //管理员可以用bbcode $RUA['sign'] = BBcode($RUA['sign']); } else { if (ArrayData($RUA['data'], 'signcode')) { //特殊用户 $RUA['sign'] = BBcode($RUA['sign'], ArrayData($RUA['data'], 'signcode')); } else { //普通用户仅能使用指定标签 $RUA['sign'] = BBcode($RUA['sign'], '<b><i><u><strong><font>'); } } if (chkUserQx($RUA['quanxian'], 'nosign')) { $RUA['sign'] = '此用户签名可能涉及违法内容,已被管理员禁止'; } if (!trim($RUA['sign'])) { $RUA['sign'] = '该用户暂未设置签名'; } //====================初始化楼主信息数据==================== $RUA['nickname'] = htmlspecialchars($RUA['nickname']); if (!trim($RUA['nickname'])) { $RUA['nickname'] = '该用户暂未设置昵称'; } extract($RUA, EXTR_PREFIX_ALL, 'LZU'); $RA['title'] = htmlspecialchars($RA['title']); $sortid = $RA['sortid']; //=================gps导航模板加载 head===================== $sortarray = $_G['TABLE']['READSORT'] -> getData(Cnum($sortid)); $sortarray ? $sorttitle = $sortarray['title'] : $sorttitle = "最新文章"; $_G['HTMLCODE']['GPS'] = "<a href='index.php?c=forum'>板块</a><span>»</span><a href='index.php?c=list&sortid={$sortid}'>{$sorttitle}</a><span>»</span><span>{$RA['title']}</span>"; $_G['HTMLCODE']['OUTPUT'] .= template('gps', true); //====================gps导航模板加载 foot===================== //====================文章内容转义========================== if (chkUserQx($RUA['quanxian'], 'htmlcode')) { //什么也不做 } elseif (chkUserQx($RUA['quanxian'], 'bbcode')) { if (ArrayData($RUA['data'], 'bbcode')) { //此用户被特定了bbcode $RA['content'] = BBcode($RA['content'], ArrayData($RUA['data'], 'bbcode')); } else { //通用bbocde $RA['content'] = BBcode($RA['content']); } } else { $RA['content'] = htmlspecialchars(($RA['content']), ENT_QUOTES); $RA['content'] = str_replace('<br>', '<br>', $RA['content']); } //====================是否为回复后可见帖==================== if ($RA['replyafterlook']) { //检测当前用户是否回复了此文章,或当前用户是否为楼主 if ($RA['uid'] == $_G['USER']['ID'] || ($_G['TABLE']['REPLY'] -> getId(array('uid' => $_G['USER']['ID'], 'rid' => $RA['id'])))) { //楼主或已回复 $RA['content'] = '<div class="am-padding am-text-center am-margin am-text-success" style="border:dashed 2px pink;">您已回复该文章,可正常查看内容</div>' . $RA['content']; } else { //未回复 $RA['content'] = '<div class="am-padding am-text-center am-margin am-text-danger" style="border:dashed 2px pink;">楼主设置了回复后可见,请<a href="#reply">回复</a>后查看内容</div>'; } } //====================初始化文章信息数据==================== $RA['posttime'] = date('Y-m-d H:i:s', $RA['posttime']); extract($RA, EXTR_PREFIX_ALL, 'LZC'); //==========================浏览量+1======================== if (!$_SESSION["LOOKREAD_{$id}"]) { $looknum = array(); $looknum['id'] = $id; $looknum['looknum'] = $RA['looknum'] + 1; $_G['TABLE']['READ'] -> newData($looknum); $_SESSION["LOOKREAD_{$id}"] = 'read'; } //============================SEO优化========================= $_G['SET']['WEBNAME'] = $RA['title']; $_G['SET']['WEBDESCRIPTION'] = str_replace(chr(13), '', htmlspecialchars(BBcode($RA['content'], ''))); $_G['SET']['WEBDESCRIPTION'] = str_replace(chr(10), '', $_G['SET']['WEBDESCRIPTION']); $_G['SET']['WEBDESCRIPTION'] = str_replace(' ', '', $_G['SET']['WEBDESCRIPTION']); $_G['SET']['WEBDESCRIPTION'] = str_replace(' ', '', $_G['SET']['WEBDESCRIPTION']); $_G['SET']['WEBDESCRIPTION'] = substr($_G['SET']['WEBDESCRIPTION'], 0, 255); //==============================rewriteurl========================= $lzurl = ReWriteURL("user", "id={$LZU_id}"); //==============================管理编辑文章============================ if (($_G['USER']['ID'] == $RA['uid'] && $_G['USER']['ID'] != 2) || chkUserQx($_G['USER']['QUANXIAN'], 'admin')) { $LZadmin = " <a href='index.php?c=edit&type=read&id={$id}&sortid={$sortid}'>编辑</a> <a href='javascript:' onclick=\"if(confirm('确认删除该文章?ID:$id\\n该文章作者:{$_G['SET']['JIFENNAME']}-{$_G['SET']['POSTREADJIFEN']} {$_G['SET']['TIANDOUNAME']}-{$_G['SET']['POSTREADTIANDOU']}'))location.href='index.php?c=del&type=read&id=$id'\">删除</a> "; } $_G['HTMLCODE']['OUTPUT'] .= template('read-1', true); //========================楼层读取========================== //=======================页码范围检测======================== $reply_num = Cnum($_G['SET']['REPLYLISTNUM']); $mysql_num = ($page - 1) * $reply_num; $thisreplycount = $_G['TABLE']['REPLY'] -> getCount('rid', $id); if ($mysql_num > $thisreplycount) { $mysql_num = $thisreplycount; $reply_yc = $mysql_num % $reply_num; if ($thisreplycount % $reply_num == 0) { $page = $thisreplycount / $reply_num; } else { $page = (int)($thisreplycount / $reply_num) + 1; } if ($page == 0) $page = 1; if ($reply_yc == 0 && $mysql_num != 0) { $mysql_num = $mysql_num - $reply_num; } else { $mysql_num = $mysql_num - $reply_yc; } } $dyy = 1; $syy = $page - 1; $xyy = $page + 1; $zmy = 999999; //=======================页码URL rewrite==================== $dyyurl = ReWriteURL('read', "id={$id}&page=1"); $syyurl = ReWriteURL('read', "id={$id}&page={$syy}"); $xyyurl = ReWriteURL('read', "id={$id}&page={$xyy}"); $zmyurl = ReWriteURL('read', "id={$id}&page=999999"); //if ($page == 1) { $_G['HTMLCODE']['OUTPUT'] .= template('read-2', true); // $lc = 1; //} else { //=======================判断正序还是倒序====================== if (!$_G['SET']['REPLYORDER']) { //正序 $lc = ($page - 1) * $reply_num + 1; $ordersql = ''; } else { //倒序,倒序会增加服务器负担 $thisreadreplycount = $_G['TABLE']['REPLY'] -> getCount(array('rid' => $id, 'del' => 0)); $lc = $thisreadreplycount - ($page - 1) * $reply_num + 2; $ordersql = ' desc'; } //} $query = "select * from `{$_G['MYSQL']['PREFIX']}reply` where `rid`={$id} and `del`=false order by `id`{$ordersql} limit {$mysql_num},{$reply_num}"; $q_r = mysql_query($query); while ($q_d = mysql_fetch_assoc($q_r)) { //====================获取层主信息======================= $LCU_id = Cnum($q_d['uid'], 2); $RUA2 = $_G['TABLE']['USER'] -> getData($LCU_id); if (!trim($RUA2['nickname'])) { $RUA2['nickname'] = '该用户暂未设置昵称'; } extract($RUA2, EXTR_PREFIX_ALL, 'LCU'); //====================回复内容转义======================== if (chkUserQx($RUA2['quanxian'], 'htmlcode')) { //什么也不做 } elseif (chkUserQx($RUA2['quanxian'], 'bbcode')) { if (ArrayData($RUA2['data'], 'bbcode')) { //此用户被特定了bbcode $q_d['content'] = BBcode($q_d['content'], ArrayData($RUA2['data'], 'bbcode')); } else { //通用bbocde $q_d['content'] = BBcode($q_d['content']); } } else { $q_d['content'] = htmlspecialchars(($q_d['content']), ENT_QUOTES); $q_d['content'] = str_replace('<br>', '<br>', $q_d['content']); } //===================回复数据信息========================= $q_d['posttime'] = date('Y-m-d H:i:s', $q_d['posttime']); extract($q_d, EXTR_PREFIX_ALL, 'LCC'); //===================楼层数增或减========================== $_G['SET']['REPLYORDER'] ? $lc-- : $lc++; $replyid = $q_d['id']; //======================rewriteurl===================== $lcurl = ReWriteURL("user", "id={$LCU_id}"); //======================管理编辑回复======================== if (($_G['USER']['ID'] == $q_d['uid'] && $_G['USER']['ID'] != 2) || chkUserQx($_G['USER']['QUANXIAN'], 'admin')) { $LCadmin = " <a href='index.php?c=edit&type=reply&id={$q_d['id']}'>编辑</a> <a href='javascript:' onclick=\"if(confirm('确认删除该回复?ID:{$q_d['id']}\\n该回复作者:{$_G['SET']['JIFENNAME']}-{$_G['SET']['POSTREPLYJIFEN']} {$_G['SET']['TIANDOUNAME']}-{$_G['SET']['POSTREPLYTIANDOU']}'))location.href='index.php?c=del&type=reply&id={$q_d['id']}'\">删除</a> "; } $_G['HTMLCODE']['OUTPUT'] .= template('read-3', true); $LCadmin = ''; } //=====================最后一页判断============================= if (($page * $reply_num) >= $thisreplycount) { $_G['HTMLCODE']['OUTPUT'] .= " <div style='padding:8px;text-align:center;font-size:14px;color:#333;'> 亲,第{$page}页已经是最末页了~ </div> "; } //======================未登录回复的临时数据====================== $replycontent = $_GET['replycontent']; $_G['HTMLCODE']['OUTPUT'] .= template('read-4', true); } } else { $_G['HTMLCODE']['TIP'] = '该文章正在审核或已被删除,请联系管理员'; $_G['HTMLCODE']['TIPJS'] = "location.href='index.php?c=list'"; $_G['HTMLCODE']['OUTPUT'] .= template('tip', true); } } else { $_G['HTMLCODE']['TIP'] = '找不到该文章'; $_G['HTMLCODE']['OUTPUT'] .= template('tip', true); } } else { $_G['HTMLCODE']['TIP'] = '您无权浏览该文章。'; $_G['HTMLCODE']['OUTPUT'] .= template('tip', true); }