Home  >  Article  >  Backend Development  >  Four grids on the discuz homepage: latest topics + latest replies + hot topics + essence article plug-in_PHP tutorial

Four grids on the discuz homepage: latest topics + latest replies + hot topics + essence article plug-in_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:54:32936browse

Four grids on the homepage: latest topics + latest replies + hot topics + essential articles for DZ5.5 official version
Applicable version: Discuz! 5.5 official version
Modification difficulty: Easy
Database upgrade: None
Demonstration Website: http://fhxye.cn/
Author: I just modified it~!!!
Updated it, thanks [url=profile-uid-141096.html]efrog[/url]:lol
Original post: http://www.discuz.net/thread-397572-1-5.html
Step one: index.php
Find:

Copy code The code is as follows:

require_once DISCUZ_ROOT.'./include/forum.func.php';

Add below:
Copy code The code is as follows:

require_once DISCUZ_ROOT.'./include/misc.func.php';

Find:
Copy code The code is as follows:

$newthreads = round(($timestamp - $lastvisit + 600) / 1000) * 1000;

Add below:
Copy code The code is as follows:

//---------------hack Meminfo start
if(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "MSIE 6.0")) {
                $visitor_browser = "Internet Explorer 6.0";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "MSIE 5.5")) {
                $visitor_browser = "Internet Explorer 5.5";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "MSIE 5.0")) {
                $visitor_browser = "Internet Explorer 5.0";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "MSIE 4.01")) {
                $visitor_browser = "Internet Explorer 4.01";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "NetCaptor")) {
                $visitor_browser = "NetCaptor";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "Netscape")) {
                $visitor_browser = "Netscape";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "Lynx")) {
                $visitor_browser = "Lynx";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "Opera")) {
                $visitor_browser = "Opera";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "Konqueror")) {
                $visitor_browser = "Konqueror";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "Mozilla")) {
                $visitor_browser = "Mozilla";
        } else {
                $visitor_browser = "其它";
        }
//上面的是浏览器//
        if(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "NT 5.1")) {
                $visitor_os = "Windows XP";
        }elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "NT 5.2")) {
                $visitor_os = "Windows Server 2003";
        }elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "NT 5")) {
                $visitor_os = "Windows 2000";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "4.9")) {
                $visitor_os = "Windows ME";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "NT 4")) {
                $visitor_os = "Windows NT 4.0";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "98")) {
                $visitor_os = "Windows 98";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "95")) {
                $visitor_os = "Windows 95";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "Mac")) {
                $visitor_os = "Mac";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "Linux")) {
                $visitor_os = "Linux";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "Unix")) {
                $visitor_os = "Unix";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "FreeBSD")) {
                $visitor_os = "FreeBSD";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "SunOS")) {
                $visitor_os = "SunOS";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "BeOS")) {
                $visitor_os = "BeOS";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "OS/2")) {
                $visitor_os = "OS/2";
        } elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], ";PC")) {
                $visitor_os = "Macintosh";
        }elseif(strpos($HTTP_SERVER_VARS[HTTP_USER_AGENT], "AIX")) {
                $visitor_os = "AIX";
        } else {
                $visitor_os = "其他";
        }

        $mem_home = convertip($onlineip, $datadir = "./");
//info//
$colorarray = array('', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', 'gray');
//新贴//
$hack_cut_str =24; //修改标题显示字数
$hack_cut_strauthor = 9;
$new_post_threadlist = array();
$nthread = array();
$query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid<>'$fid' AND f.fid=t.fid ORDER BY t.dateline DESC LIMIT 0, 8");
while($nthread = $db->fetch_array($query)) {
        $nthread['forumname'] = $nthread['name'];
        $nthread['view_subject'] = cutstr($nthread['subject'],$hack_cut_str);
        $nthread['view_author'] = cutstr($nthread['author'],$hack_cut_strauthor);
        $nthread['date']= gmdate("$dateformat $timeformat", $nthread['dateline'] + $timeoffset * 3600);
        $nthread['lastreplytime']= gmdate("$dateformat $timeformat", $nthread[lastpost] + ($timeoffset * 3600));
        if($nthread['highlight']) {
                $string = sprintf('%02d', $nthread['highlight']);
                $stylestr = sprintf('%03b', $string[0]);

                $nthread['highlight'] = 'style="';
                $nthread['highlight'] .= $stylestr[0] ? 'font-weight: bold;' : '';
                $nthread['highlight'] .= $stylestr[1] ? 'font-style: italic;' : '';
                $nthread['highlight'] .= $stylestr[2] ? 'text-decoration: underline;' : '';
                $nthread['highlight'] .= $string[1] ? 'color: '.$colorarray[$string[1]] : '';
                $nthread['highlight'] .= '"';
        } else {
                $nthread['highlight'] = '';
        }
        $new_post_threadlist[] = $nthread;
}
//新贴//
//新回覆
$hack_cut_str = 24; //修改标题显示字数
$hack_cut_strauthor = 9;
$new_reply_threadlist = array();
$rthread = array();
$query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid<>'$fid' AND f.fid=t.fid  AND t.closed NOT LIKE 'moved|%' AND t.replies !=0 ORDER BY t.lastpost DESC LIMIT 0, 8");
while($rthread = $db->fetch_array($query)) {
        $rthread['forumname'] = $rthread['name'];
        $rthread['view_subject'] = cutstr($rthread['subject'],$hack_cut_str);
        $rthread['view_lastposter'] = cutstr($rthread['lastposter'],$hack_cut_strauthor);
$rthread['date']= gmdate("$dateformat $timeformat", $rthread['dateline'] + $timeoffset * 3600);
        $rthread['lastreplytime']= gmdate("$dateformat $timeformat", $rthread[lastpost] + ($timeoffset * 3600));
        if($rthread['highlight']) {
                $string = sprintf('%02d', $rthread['highlight']);
                $stylestr = sprintf('%03b', $string[0]);

                $rthread['highlight'] = 'style="';
                $rthread['highlight'] .= $stylestr[0] ? 'font-weight: bold;' : '';
                $rthread['highlight'] .= $stylestr[1] ? 'font-style: italic;' : '';
                $rthread['highlight'] .= $stylestr[2] ? 'text-decoration: underline;' : '';
                $rthread['highlight'] .= $string[1] ? 'color: '.$colorarray[$string[1]] : '';
                $rthread['highlight'] .= '"';
        } else {
                $rthread['highlight'] = '';
        }
        $new_reply_threadlist[] = $rthread;
}
//回覆//
//热帖
$hack_cut_str = 24; //修改标题显示字数
$hack_cut_strauthor = 9;
[color=red]//这个可以选择安装或者不安装//[/color]
[color=red]//热贴指定天数//[/color]
[color=red]$this_time= time();[/color]
[color=red]$sort_time = $today - ( 60*60*24*7); //7天内
[/color]$new_hot_threadlist = array();
$mthread = array();
$query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid<>'$fid' AND f.fid=t.fid  AND t.closed NOT LIKE 'moved|%' AND t.replies !=0 [color=red]and t.dateline > $sort_time[/color][b][color=red] [/color][/b]ORDER BY t.views DESC LIMIT 0, 8");
while($mthread = $db->fetch_array($query)) {
        $mthread['forumname'] = $mthread['name'];
        $mthread['view_subject'] = cutstr($mthread['subject'],$hack_cut_str);
        $mthread['view_lastposter'] = cutstr($mthread['lastposter'],$hack_cut_strauthor);
$mthread['date']= gmdate("$dateformat $timeformat", $mthread['dateline'] + $timeoffset * 3600);
        $mthread['lastreplytime']= gmdate("$dateformat $timeformat", $mthread[lastpost] + ($timeoffset * 3600));
        if($mthread['highlight']) {
                $string = sprintf('%02d', $mthread['highlight']);
                $stylestr = sprintf('%03b', $string[0]);

                $mthread['highlight'] = 'style="';
                $mthread['highlight'] .= $stylestr[0] ? 'font-weight: bold;' : '';
                $mthread['highlight'] .= $stylestr[1] ? 'font-style: italic;' : '';
                $mthread['highlight'] .= $stylestr[2] ? 'text-decoration: underline;' : '';
                $mthread['highlight'] .= $string[1] ? 'color: '.$colorarray[$string[1]] : '';
                $mthread['highlight'] .= '"';
        } else {
                $mthread['highlight'] = '';
        }
        $new_hot_threadlist[] = $mthread;
}
//热帖//
//精华帖
$hack_cut_str =24; //修改标题显示字数
$hack_cut_strauthor = 9;
$new_digest_threadlist = array();
$dthread = array();
$query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE digest>'0' AND t.fid<>'$fid' AND f.fid=t.fid ORDER BY t.dateline DESC LIMIT 0, 8"); //修改显示帖子条数
while($dthread = $db->fetch_array($query)) {
        $dthread['forumname'] = $dthread['name'];
        $dthread['view_subject'] = cutstr($dthread['subject'],$hack_cut_str);
        $dthread['view_author'] = cutstr($dthread['author'],$hack_cut_strauthor);
        $dthread['date']= gmdate("$dateformat $timeformat", $dthread['dateline'] + $timeoffset * 3600);
        $dthread['lastreplytime']= gmdate("$dateformat $timeformat", $dthread[lastpost] + ($timeoffset * 3600));
        if($dthread['highlight']) {
                $string = sprintf('%02d', $dthread['highlight']);
                $stylestr = sprintf('%03b', $string[0]);
                $dthread['highlight'] = 'style="';
                $dthread['highlight'] .= $stylestr[0] ? 'font-weight: bold;' : '';
                $dthread['highlight'] .= $stylestr[1] ? 'font-style: italic;' : '';
                $dthread['highlight'] .= $stylestr[2] ? 'text-decoration: underline;' : '';
                $dthread['highlight'] .= $string[1] ? 'color: '.$colorarray[$string[1]] : '';
                $dthread['highlight'] .= '"';
        } else {
                $dthread['highlight'] = '';
        }
        $new_digest_threadlist[] = $dthread;
}
//精华帖//

如果要修改调用的显示条数,则修改以下代码位置(有4处要修改)
复制代码 代码如下:

$query = $db->query("SELECT t.*, f.name FROM {$tablepre}threads t, {$tablepre}forums f WHERE t.fid<>'$fid' AND f.fid=t.fid ORDER BY t.dateline DESC LIMIT 0, [b][color=red]8[/color][/b]");

把8修改成你要的数目就可以了.

2./templates/default/discuz.htm
找到
复制代码 代码如下:


        
        
        $advlist[text]
        




下面添加:
复制代码 代码如下:


        

        

        $advlist[text]

        





        
    ≡最新话题≡
    ≡最新回复≡
    ≡热门话题≡
    ≡精华文章≡
    
        
        
        

$nthread[view_subject]

$nthread[view_subject]
 $nthread[view_author]

      


z
$rthread[view_subject] $rthread[view_lastposter]




z
$mthread[view_subject] $mthread[view_lastposter]




< ;/table>


v
$dthread[view_subject]
< ;a href="viewpro.php?username=$rthread[lastposter]"target='_blank' class="smalltxt">$dthread[view_author]


< /div>



www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/318447.htmlTechArticleFour grids on the homepage: latest topics + latest replies + hot topics + essence articles forDZ5.5 official version Applicable version: Discuz !5.5 official version modification difficulty: easy database upgrade: no demo website: http://fhxye...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:Securely transmit passwords over plain HTTP_PHP TutorialNext article:Securely transmit passwords over plain HTTP_PHP Tutorial

Related articles

See more