• 技术文章 >后端开发 >php教程

    discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件_php实例

    2016-06-07 17:26:44原创443
    首页四格:最新话题+最新回复+热门话题+精华文章 for DZ5.5 正式版
    适用版本: Discuz!5.5 正式版
    修改难度: 易
    数据库升级: 无
    演示网站:http://fhxye.cn/
    作者:我只是修改罢了~!!!
    更新了一下,感谢[url=profile-uid-141096.html]efrog[/url]:lol
    原贴:http://www.discuz.net/thread-397572-1-5.html
    第一步:index.php
    找到:
    复制代码 代码如下:

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

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

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

    找到:
    复制代码 代码如下:

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

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

    //---------------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]








    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:[PHP]实用函数3_php实例 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • PHP socket学习:带你做个简单的socket服务器• 一文详解PHP用流方式实现下载文件(附代码示例)• 聊聊ChatGPT是啥?PHP怎么使用ChatGPT?• PHP反序列化入门总结(小白必看)• PHP原生类的总结分享
    1/1

    PHP中文网