Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[发布] Discuz! 5.0.0 RC1首页四格cache+社区明星

[复制链接]
0750 发表于 2006-7-24 11:07:22 | 显示全部楼层
安装成功,但是有个问题,请问如何修改每行显示的字数,因为字数太多变成两行显示,很难看.
效果见
http://bbs.0750.com
回复

使用道具 举报

 楼主| xise 发表于 2006-7-24 15:20:06 | 显示全部楼层
原帖由 0750 于 2006-7-24 11:07 发表
安装成功,但是有个问题,请问如何修改每行显示的字数,因为字数太多变成两行显示,很难看.
效果见
http://bbs.0750.com


首页四格的修改中第2步修改include/cache.func.php时,在这一步:


//首页四格TOPLIST_CACHE版, By oytktk 代码首

                case 'newthread':
                        $colorarray = array('', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', 'gray');
                        while($topthread = $db->fetch_array($query)) {
                                $threadcolor = sprintf('%02d', $topthread['highlight']);
                                $topthread['author'] = $topthread['author'] ? $topthread['author'] : '游客';
                                $topthread['subjectc'] = cutstr($topthread['subject'], 28);
                                $topthread['threadcolor'] = $threadcolor[1] ? " style=\"color: ".$colorarray[$threadcolor[1]]."\"" : NULL;
                                $topthread['dateline'] = gmdate("Y-m-d H:i", $topthread['dateline'] + $timeoffset * 3600);
                                $topthread['lastpost'] = gmdate("Y-m-d H:i", $topthread['lastpost'] + $timeoffset * 3600);
                                $topthread['name'] =  AddSlashes(strip_tags(trim($topthread['name'])));
                                $data[] = $topthread;
                        }
                        break;

                case 'newreply':
                        $colorarray = array('', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', 'gray');
                        while($topthread = $db->fetch_array($query)) {
                                $threadcolor = sprintf('%02d', $topthread['highlight']);
                                $topthread['author'] = $topthread['author'] ? $topthread['author'] : '游客';
                                $topthread['subjectc'] = cutstr($topthread['subject'], 26);
                                $topthread['threadcolor'] = $threadcolor[1] ? " style=\"color: ".$colorarray[$threadcolor[1]]."\"" : NULL;
                                $topthread['dateline'] = gmdate("Y-m-d H:i", $topthread['dateline'] + $timeoffset * 3600);
                                $topthread['lastpost'] = gmdate("Y-m-d H:i", $topthread['lastpost'] + $timeoffset * 3600);
                                $topthread['name'] =  AddSlashes(strip_tags(trim($topthread['name'])));
                                $data[] = $topthread;
                        }
                        break;

                case 'topdigest':
                        $colorarray = array('', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', 'gray');
                        while($topthread = $db->fetch_array($query)) {
                                $threadcolor = sprintf('%02d', $topthread['highlight']);
                                $digest = array('1'=>'[Ⅰ]','2'=>'[Ⅱ]','3'=>'[Ⅲ]');
                                $topthread['subjectc'] = $digest[$topthread['digest']]."-".cutstr($topthread['subject'], 23);
                                $topthread['author'] = $topthread['author'] ? $topthread['author'] : '游客';
                                $topthread['threadcolor'] = $threadcolor[1] ? " style=\"color: ".$colorarray[$threadcolor[1]]."\"" : NULL;
                                $topthread['dateline'] = gmdate("Y-m-d H:i", $topthread['dateline'] + $timeoffset * 3600);
                                $topthread['lastpost'] = gmdate("Y-m-d H:i", $topthread['lastpost'] + $timeoffset * 3600);
                                $topthread['name'] =  AddSlashes(strip_tags(trim($topthread['name'])));
                                $data[] = $topthread;
                        }
                        break;

                case 'topviews':
                        $colorarray = array('', 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'purple', 'gray');
                        while($topthread = $db->fetch_array($query)) {
                                $threadcolor = sprintf('%02d', $topthread['highlight']);
                                $topthread['subjectc'] = cutstr($topthread['subject'], 32);
                                $topthread['threadcolor'] = $threadcolor[1] ? " style=\"color: ".$colorarray[$threadcolor[1]]."\"" : NULL;
                                $topthread['author'] = $topthread['author'] ? $topthread['author'] : '游客';
                                $topthread['dateline'] = gmdate("Y-m-d H:i", $topthread['dateline'] + $timeoffset * 3600);
                                $topthread['lastpost'] = gmdate("Y-m-d H:i", $topthread['lastpost'] + $timeoffset * 3600);
                                $topthread['name'] =  AddSlashes(strip_tags(trim($topthread['name'])));
                                $data[] = $topthread;
                        }
                        break;


                //首页四格TOPLIST_CACHE版, By oytktk 代码尾


修改

$topthread['subjectc'] = cutstr($topthread['subject'], 28);


其中的数字为你需要的字节数即可。

然后更新缓存!

[ 本帖最后由 xise 于 2006-7-24 15:23 编辑 ]
回复

使用道具 举报

爱在雨天 发表于 2006-7-24 22:49:29 | 显示全部楼层
呵呵,我也成功了。
回复

使用道具 举报

riksea 发表于 2006-7-24 23:04:49 | 显示全部楼层
我的5.0里 index.php

没有下面这句啊``



$forumlist = $catforumlist = $forums = $catforums = $categories = $collapse = array();





<?php

/*
        [Discuz!] (C)2001-2006 Comsenz Inc.
        This is NOT a freeware, use is subject to license terms

        $RCSfile: discuz.php,v $
        $Revision: 1.6.2.2 $
        $Date: 2006/07/17 07:50:17 $
*/

define('CURSCRIPT', 'index');

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

$discuz_action = 1;

$validdays = $discuz_uid && !empty($groupexpiry) && $groupexpiry >= $timestamp ?
        ceil(($groupexpiry - $timestamp) / 86400) : 0;
if(isset($showoldetails)) {
        switch($showoldetails) {
                case 'no': dsetcookie('onlineindex', 0, 86400 * 365); break;
                case 'yes': dsetcookie('onlineindex', 1, 86400 * 365); break;
        }
} else {
        $showoldetails = false;
}

$currenttime = gmdate($timeformat, $timestamp + $timeoffset * 3600);
$lastvisittime = gmdate("$dateformat $timeformat", $lastvisit + $timeoffset * 3600);

$memberenc = rawurlencode($lastmember);
$newthreads = round(($timestamp - $lastvisit + 600) / 1000) * 1000;
$navigation = $navtitle = '';

$searchboxstatus = substr(sprintf('%03b', $qihoo_searchbox), -1, 1);
$keywordlist = isset($qihoo_links['keywords']) ? $qihoo_links['keywords'] : '';
$topiclist = isset($qihoo_links['topics']) ? $qihoo_links['topics'] : '';
if($qihoo_maxtopics) {
        $customtopics = '';
        foreach(explode("\t", isset($_DCOOKIE['customkw']) ? $_DCOOKIE['customkw'] : '') as $topic) {
                $topic = dhtmlspecialchars(trim(stripslashes($topic)));
                $customtopics .= '<a href="topic.php?keyword='.rawurlencode($topic).'" target="_blank">'.$topic.'</a> ';
        }
}

$catlist = $forumlist = $sublist = array();
$threads = $posts = $todayposts = $fids = 0;

if(empty($gid)) {
        $announcements = $space = '';
        if($_DCACHE['announcements']) {
                foreach($_DCACHE['announcements'] as $announcement) {
                        if(empty($announcement['redirect'])) {
                                $announcements .= $space.'<a href="announcement.php?id='.$announcement['id'].'#'.$announcement['id'].'"><span class="bold">'.$announcement['subject'].'</span> '.
                                        '('.gmdate($dateformat, $announcement['starttime'] + $timeoffset * 3600).')</a>';
                        } else {
                                $announcements .= $space.'<a href="'.$announcement['message'].'" target="_bland"><span class="bold">'.$announcement['subject'].'</span> '.
                                        '('.gmdate($dateformat, $announcement['starttime'] + $timeoffset * 3600).')</a>';
                        }
                        $space = '&nbsp; &nbsp; &nbsp; &nbsp;';
                }
        }
        unset($_DCACHE['announcements']);

        $threads = $posts = $todayposts = 0;

        $sql = !empty($accessmasks) ?
                                "SELECT f.fid, f.fup, f.type, f.name, f.threads, f.posts, f.todayposts, f.lastpost, f.inheritedmod, f.forumcolumns, ff.description, ff.moderators, ff.icon, ff.viewperm, a.allowview FROM {$tablepre}forums f
                                        LEFT JOIN {$tablepre}forumfields ff ON ff.fid=f.fid
                                        LEFT JOIN {$tablepre}access a ON a.uid='$discuz_uid' AND a.fid=f.fid
                                        WHERE f.status='1' ORDER BY f.type, f.displayorder"
                                : "SELECT f.fid, f.fup, f.type, f.name, f.threads, f.posts, f.todayposts, f.lastpost, f.inheritedmod, f.forumcolumns, ff.description, ff.moderators, ff.icon, ff.viewperm FROM {$tablepre}forums f
                                        LEFT JOIN {$tablepre}forumfields ff USING(fid)
                                        WHERE f.status='1' ORDER BY f.type, f.displayorder";

        $query = $db->query($sql);

        while($forum = $db->fetch_array($query)) {
                $forumname[$forum['fid']] = strip_tags($forum['name']);
                if($forum['type'] != 'group') {
                        $threads += $forum['threads'];
                        $posts += $forum['posts'];
                        $todayposts += $forum['todayposts'];

                        if($forum['type'] == 'forum') {

                                if(forum($forum)) {
                                        $catlist[$forum['fup']]['forums'][] = $forum['fid'];
                                        $forum['orderid'] = $catlist[$forum['fup']]['forumscount']++;
                                        $forum['subforums'] = '';
                                        $forumlist[$forum['fid']] = $forum;
                                }

                        } elseif(isset($forumlist[$forum['fup']])) {

                                $forumlist[$forum['fup']]['threads'] += $forum['threads'];
                                $forumlist[$forum['fup']]['posts'] += $forum['posts'];
                                $forumlist[$forum['fup']]['todayposts'] += $forum['todayposts'];
                                if($subforumsindex && $forumlist[$forum['fup']]['permission'] == 2) {
                                        $forumlist[$forum['fup']]['subforums'] .= '<a href="forumdisplay.php?fid='.$forum['fid'].'"><u>'.$forum['name'].'</u></a>&nbsp;&nbsp;';
                                }

                        }

                } else {

                        if(!isset($_COOKIE['discuz_collapse']) || strpos($_COOKIE['discuz_collapse'], 'category_'.$forum['fid'].' ') === FALSE) {
                                $forum['collapseimg'] = 'collapsed_no.gif';
                                $collapse['category_'.$forum['fid']] = '';
                        } else {
                                $forum['collapseimg'] = 'collapsed_yes.gif';
                                $collapse['category_'.$forum['fid']] = 'display: none';
                        }

                        if($forum['moderators']) {
                                 $forum['moderators'] = moddisplay($forum['moderators'], 'flat');
                        }
                        $forum['forumscount']         = 0;
                        $catlist[$forum['fid']] = $forum;
                }
        }

        foreach($catlist as  $catid => $category) {
                if($catlist[$catid]['forumscount'] && $category['forumcolumns']) {
                        $catlist[$catid]['forumcolwidth'] = floor(100 / $category['forumcolumns']).'%';
                        $catlist[$catid]['endrows'] = '';
                        if($colspan = $category['forumscount'] % $category['forumcolumns']) {
                                while(($category['forumcolumns'] - $colspan) > 0) {
                                        $catlist[$catid]['endrows'] .= '<td></td>';
                                        $colspan ++;
                                }
                                $catlist[$catid]['endrows'] .= '</tr>';
                        }

                } elseif(empty($category['forumscount'])) {
                        unset($catlist[$catid]);
                }
        }

        if(isset($catlist[0]) && $catlist[0]['forumscount']) {
                $catlist[0]['fid'] = 0;
                $catlist[0]['type'] = 'group';
                $catlist[0]['name'] = $bbname;
                $catlist[0]['collapseimg'] = 'collapsed_no.gif';
        } else {
                unset($catlist[0]);
        }

        foreach(array('forumlinks', 'birthdays') as $key) {
                if(!isset($_COOKIE['discuz_collapse']) || strpos($_COOKIE['discuz_collapse'], $key.' ') === FALSE) {
                        $collapseimg[$key] = 'collapsed_no.gif';
                        $collapse[$key] = '';
                } else {
                        $collapseimg[$key] = 'collapsed_yes.gif';
                        $collapse[$key] = 'display: none';
                }
        }

        if($whosonlinestatus == 1 || $whosonlinestatus == 3) {
                $whosonlinestatus = 1;

                $onlineinfo = explode("\t", $onlinerecord);
                $detailstatus = ((empty($_DCOOKIE['onlineindex']) && $onlineinfo[0] < 500) || (!empty($_DCOOKIE['onlineindex']) || $showoldetails == 'yes')) && $showoldetails != 'no';

                if($detailstatus) {
                        @include language('actions');

                        updatesession();
                        $onlinenum = $membercount = $invisiblecount = 0;
                        $whosonline = array();

                        $groupids = array_keys($_DCACHE['onlinelist']);
                        array_shift($groupids);
                        $groupids = implode(',',$groupids);

                        if($maxonlinelist) {
                                if($db->version() < '4.0.0') {
                                        $query = $db->query("SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM {$tablepre}sessions WHERE groupid IN (".$groupids.") ORDER BY uid DESC LIMIT ".$maxonlinelist);
                                        $onlinenum = $db->result($db->query("SELECT COUNT(*) FROM {$tablepre}sessions"), 0);
                                        if($onlinenum > $maxonlinelist) {
                                                $membercount = $db->result($db->query("SELECT COUNT(*) FROM {$tablepre}sessions WHERE uid <> '0'"), 0);
                                                $invisiblecount = $db->result($db->query("SELECT COUNT(*) FROM {$tablepre}sessions WHERE invisible = '1'"), 0);
                                        }
                                } else {
                                        $query = $db->query("SELECT SQL_CALC_FOUND_ROWS uid, username, groupid, invisible, action, lastactivity, fid FROM {$tablepre}sessions WHERE groupid IN (".$groupids.") ORDER BY uid DESC LIMIT ".$maxonlinelist);
                                        $onlinenum = $db->result($db->query("SELECT FOUND_ROWS()"), 0);
                                        if($onlinenum > $maxonlinelist) {
                                                $membercount = $db->result($db->query("SELECT COUNT(*) FROM {$tablepre}sessions WHERE uid <> '0'"), 0);
                                                $invisiblecount = $db->result($db->query("SELECT COUNT(*) FROM {$tablepre}sessions WHERE invisible = '1'"), 0);
                                        }
                                }
                        } else {
                                $query = $db->query("SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM {$tablepre}sessions ORDER BY uid DESC");
                                $onlinenum = $db->num_rows($query);
                        }

                        while($online = $db->fetch_array($query)) {
                                if($online['uid']) {
                                        if(!$maxonlinelist || $maxonlinelist && $onlinenum <= $maxonlinelist) $membercount++;
                                        if(!$online['invisible']) {
                                                $online['icon'] = isset($_DCACHE['onlinelist'][$online['groupid']]) ? $_DCACHE['onlinelist'][$online['groupid']] : $_DCACHE['onlinelist'][0];
                                        } else {
                                                if(!$maxonlinelist || $maxonlinelist && $onlinenum <= $maxonlinelist) $invisiblecount++;
                                                continue;
                                        }
                                        $online['fid'] = $online['fid'] ? $forumname[$online['fid']] : 0;
                                        $online['action'] = $actioncode[$online['action']];
                                        $online['lastactivity'] = gmdate($timeformat, $online['lastactivity'] + ($timeoffset * 3600));
                                        $whosonline[] = $online;
                                } else {
                                        if(isset($_DCACHE['onlinelist'][7])) {
                                                $online['icon'] = $_DCACHE['onlinelist'][7];
                                                $online['username'] = 'Guest';
                                                $online['fid'] = $online['fid'] ? $forumname[$online['fid']] : 0;
                                                $online['action'] = $actioncode[$online['action']];
                                                $online['lastactivity'] = gmdate($timeformat, $online['lastactivity'] + ($timeoffset * 3600));
                                                $whosonline[] = $online;
                                        }
                                }
                        }
                        $guestcount = $onlinenum - $membercount;
                        unset($online);
                } else {
                        $query = $db->query("SELECT COUNT(*) FROM {$tablepre}sessions");
                        $onlinenum = $db->result($query, 0);
                }

                if($onlinenum > $onlineinfo[0]) {
                        $db->query("UPDATE {$tablepre}settings SET value='$onlinenum\t$timestamp' WHERE variable='onlinerecord'");
                        require_once DISCUZ_ROOT.'./include/cache.func.php';
                        updatecache('settings');
                        $onlineinfo = array($onlinenum, $timestamp);
                }

                $onlineinfo[1] = gmdate($dateformat, $onlineinfo[1] + ($timeoffset * 3600));
        } else {
                $whosonlinestatus = 0;
        }

        if(!isset($_COOKIE['discuz_collapse']) || strpos($_COOKIE['discuz_collapse'], 'birthdays ') === FALSE) {
                $collapse['birthdays'] = '';
                $collapseimg['birthdays'] = 'collapsed_no.gif';
        } else {
                $collapse['birthdays'] = 'display:none';
                $collapseimg['birthdays'] = 'collapsed_yes.gif';
        }

        if(!isset($_COOKIE['discuz_collapse']) || strpos($_COOKIE['discuz_collapse'], 'supe_updateusers ') === FALSE) {
                $collapse['supe_updateusers'] = '';
                $collapseimg['supe_updateusers'] = 'collapsed_no.gif';
        } else {
                $collapse['supe_updateusers'] = 'display:none';
                $collapseimg['supe_updateusers'] = 'collapsed_yes.gif';
        }

        if($discuz_uid && $newpm) {
                require_once DISCUZ_ROOT.'./include/pmprompt.inc.php';
        }

} else {
        require_once DISCUZ_ROOT.'./include/category.inc.php';

}

include template('discuz');

?>

[ 本帖最后由 riksea 于 2006-7-24 23:11 编辑 ]
回复

使用道具 举报

 楼主| xise 发表于 2006-7-24 23:16:36 | 显示全部楼层
原帖由 riksea 于 2006-7-24 23:04 发表
我的5.0里 index.php


谁让你修改index.php
回复

使用道具 举报

zhangda7455 发表于 2006-7-24 23:28:06 | 显示全部楼层
高度也不合适,已经换另外一种了,效果还不错:http://bbs.52sungame.com
回复

使用道具 举报

176506209 发表于 2006-7-25 01:47:08 | 显示全部楼层
比例有问题
回复

使用道具 举报

235639845 发表于 2006-7-25 02:27:26 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

0750 发表于 2006-7-25 09:43:59 | 显示全部楼层
谢谢!
xise
谢谢!
回复

使用道具 举报

zhangda7455 发表于 2006-7-25 12:17:47 | 显示全部楼层
原帖由 176506209 于 2006-7-25 01:47 发表
比例有问题


比例怎样调合适?宽度可以调,关键是高度都不合适

[ 本帖最后由 zhangda7455 于 2006-7-25 12:20 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-15 09:46 , Processed in 0.033242 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表