AL8 Forum » Discuz 5.0 及 5.5 插件發佈 » Discuz! Lite 1.0RC1 在線列表剝離 For Dz5.5


2007-5-27 15:07 Eric03
Discuz! Lite 1.0RC1 在線列表剝離 For Dz5.5

[align=center][b]Discuz! Lite 1.0RC1 在線列表剝離 (For Dz5.5)[/b][/align]
========================================================
[list]
[*]作者:FreeDiscuz! Team
[*]版權:FreeDiscuz! Team
[*]繁化:Eric03
[*]功能:增強型在線列表,功能剝離自Discuz! Lite 1.0RC1
[*]支持:[url=http://www.freediscuz.net/]FreeDiscuz!論壇[/url]
[*]安裝難度:[color=#ff00ff]【極難】[/color]
[*][b][color=red]聲明[/color][/b]:本插件已經得到FreeDiscuz! Team授權,允許將此插件代碼由Discuz! Lite 1.0RC1轉換為Discuz! 5.5.0。並首發於Discuz!官方論壇,任何個人或者組織轉載此插件,必須保留此段信息,如果您需要對此插件進行二次開發並且發布,必須得到FreeDiscuz! Team的批准,如果您不同意以上聲明,請不要安裝/轉載此插件,謝謝合作。
[*]配套插件:[url=http://www.alan888.com/Discuz/thread-113269-1-1.html]使Discuz! Lite 1.0RC1 在線列表剝離 *顯示遊客*[/url][/list]
========================================================

演示圖片
[attach]44726[/attach]
[attach]44727[/attach]
[attach]44728[/attach]

[[i] 本帖最後由 Eric03 於 2007-5-30 20:20 編輯 [/i]]

2007-5-27 15:07 Eric03
注意事項及功能說明

請於進入修改安裝之前,仔細閱讀以下文字,以確保修改安裝成功.

[quote]
涉及修改文件列表:
index.php
forumdisplay.php

admin/misc.inc.php
admin/groups.inc.php
admin/settings.inc.php

include/cache.func.php
include/global.func.php

templates/default/admincp.lang.php
templates/default/discuz.htm
templates/default/forumdisplay.htm
[/quote]

[quote]
1: 如果安裝完成後,發現首頁在線列表圖例無法顯示,請至後台在線列表定制重新編輯顯示.
2: 如果需要首頁在線用戶按照用戶組順序排列,請至後台在線列表定制的第二欄顯示順序,將管理員順序改為-1(如圖).
[attach]44730[/attach]
3: 由於本插件修改地方較多,因此請修改安裝完畢後,仔細檢查是否完全安裝正確.
4: 為安全起見, 本插件不提供完整安裝包, 請自行直接修改(原帖提供, 但本人將不提供).
5: 卸載本插件的方法:
      (1)將所有修改過的文件還原為原版程序文件.
      (2)下載附件中提供的SQL語句到後台數據庫升級,即可完成卸載.
[attach]44729[/attach]
6: 持續更新中...
[/quote]

如有更多問題,請至[url=http://www.freediscuz.net]Freediscuz[/url]論壇提問,精力有限,此帖可能無法及時對大家的疑問作出解答.

[b]詳細安裝過程,請仔細閱讀,按照步驟進行修改.[/b]

======================
後台執行數據庫升級
======================
下載附件,然後根據裡面提供的SQL語句升級數據庫
[attach]44732[/attach]
======================
index.php
======================
查找:
[code]
        if($whosonlinestatus == 1 || $whosonlinestatus == 3) {
                $whosonlinestatus = 1;

                $onlineinfo = explode("\t", $onlinerecord);
                if(empty($_DCOOKIE['onlineusernum'])) {
                        $onlinenum = $db->result($db->query("SELECT COUNT(*) FROM {$tablepre}sessions"), 0);
                        if($onlinenum > $onlineinfo[0]) {
                                $_DCACHE['settings']['onlinerecord'] = $onlinerecord = "$onlinenum\t$timestamp";
                                $db->query("UPDATE {$tablepre}settings SET value='$onlinerecord' WHERE variable='onlinerecord'");
                                require_once DISCUZ_ROOT.'./include/cache.func.php';
                                updatesettings();
                                $onlineinfo = array($onlinenum, $timestamp);
                        }
                        dsetcookie('onlineusernum', intval($onlinenum), 300);
                } else {
                        $onlinenum = intval($_DCOOKIE['onlineusernum']);
                }
                $onlineinfo[1] = gmdate($dateformat, $onlineinfo[1] + ($timeoffset * 3600));

                $detailstatus = $showoldetails == 'yes' || (((!isset($_DCOOKIE['onlineindex']) && !$whosonline_contract) || $_DCOOKIE['onlineindex']) && $onlinenum < 500 && !$showoldetails);

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

                        $discuz_uid && updatesession();
                        $membercount = $invisiblecount = 0;
                        $whosonline = array();

                        $maxonlinelist = $maxonlinelist ? $maxonlinelist : 500;

                        $query = $db->query("SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM {$tablepre}sessions ".(isset($_DCACHE['onlinelist'][7]) ? '' : 'WHERE uid <> 0')." ORDER BY uid DESC LIMIT ".$maxonlinelist);
                        while($online = $db->fetch_array($query)) {
                                if($online['uid']) {
                                        $membercount ++;
                                        if($online['invisible']) {
                                                $invisiblecount++;
                                                continue;
                                        } else {
                                                $online['icon'] = isset($_DCACHE['onlinelist'][$online['groupid']]) ? $_DCACHE['onlinelist'][$online['groupid']] : $_DCACHE['onlinelist'][0];
                                        }

                                } else {
                                        $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;
                        }

                        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);
                        }

                        $guestcount = $onlinenum - $membercount;

                        $db->free_result($query);
                        unset($online);
                }

        } else {
                $whosonlinestatus = 0;
        }
[/code]

替換為:
[code]
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');

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

                $maxonlinelist = $maxonlinelist ? $maxonlinelist : 500;

                $query = $db->query("SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM {$tablepre}sessions ORDER BY $onlineorder $onlineascdesc LIMIT ".$maxonlinelist);

                while($online = $db->fetch_array($query)) {
                        $onlinenum++;
                        if($online['uid']) {
                                $membercount++;
                                if($online['invisible'] && !$allowviewinvisible) {
                                        $invisiblecount++;
                                } elseif(isset($_DCACHE['onlinelist'][$online['groupid']])) {
                                        $online['icon'] = '<img src="images/common/'.$_DCACHE['onlinelist'][$online['groupid']].'" align="absmiddle">';
                                        $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;
}
[/code]
======================
下帖繼續

[[i] 本帖最後由 Eric03 於 2007-5-27 15:20 編輯 [/i]]

2007-5-27 15:07 Eric03
詳細安裝過程,請仔細閱讀,按照步驟進行修改.(續)

======================
forumdisplay.php
======================
查找:
[code]
if($whosonlinestatus == 2 || $whosonlinestatus == 3) {
        $whosonlinestatus = 1;
        $onlineinfo = explode("\t", $onlinerecord);
        $detailstatus = $showoldetails == 'yes' || (((!isset($_DCOOKIE['onlineforum']) && !$whosonline_contract) || $_DCOOKIE['onlineforum']) && $onlineinfo[0] < 500 && !$showoldetails);

        if($detailstatus) {
                updatesession();
                @include language('actions');
                $whosonline = array();
                $forumname = strip_tags($forum['name']);
                $guestwhere = isset($_DCACHE['onlinelist'][7]) ? '' : "uid>'0' AND";

                $query = $db->query("SELECT uid, groupid, username, invisible, lastactivity, action FROM {$tablepre}sessions WHERE $guestwhere fid='$fid' AND invisible='0'");
                if($db->num_rows($query)) {
                        $whosonlinestatus = 1;
                        while($online = $db->fetch_array($query)) {
                                if($online['uid']) {
                                        $online['icon'] = isset($_DCACHE['onlinelist'][$online['groupid']]) ? $_DCACHE['onlinelist'][$online['groupid']] : $_DCACHE['onlinelist'][0];
                                } else {
                                        $online['icon'] = $_DCACHE['onlinelist'][7];
                                        $online['username'] = 'Guest';
                                }
                                $online['action'] = $actioncode[$online['action']];
                                $online['lastactivity'] = gmdate($timeformat, $online['lastactivity'] + ($timeoffset * 3600));
                                $whosonline[] = $online;
                        }
                }
                unset($online);
        }
} else {
        $whosonlinestatus = 0;
}
[/code]

替換為:
[code]
        if($whosonlinestatus == 2 || $whosonlinestatus == 3) {
                $whosonlinestatus = 1;
                $onlineinfo = explode("\t", $onlinerecord);
                $detailstatus = ((!isset($_DCOOKIE['onlineforum']) && $onlineinfo[0] < 500) || (!empty($_DCOOKIE['onlineforum']) || $showoldetails == 'yes')) && $showoldetails != 'no';

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

                        $whosonline = array();
                        $forumname = strip_tags($forum['name']);
                        $showgrouplist = $_DCACHE['onlinelist']['showlist'];
                        $query = $db->query("SELECT uid, groupid, username, invisible, lastactivity, action FROM {$tablepre}sessions WHERE fid='$fid' AND groupid IN ($showgrouplist)".($allowviewinvisible ? "" : " AND invisible='0'")." ORDER BY $onlineorder $onlineascdesc");
                        if($db->num_rows($query)) {
                                $whosonlinestatus = 1;
                                while($online = $db->fetch_array($query)) {
                                        $online['icon'] = '<img src="images/common/'.$_DCACHE['onlinelist'][$online['groupid']].'" align="absmiddle">';
                                        $online['action'] = $actioncode[$online['action']];
                                        $online['lastactivity'] = gmdate($timeformat, $online['lastactivity'] + ($timeoffset * 3600));
                                        $whosonline[] = $online;
                                }
                        }
                        unset($online);
                }
        } else {
                $whosonlinestatus = 0;
        }
[/code]
======================
admin/groups.inc.php
======================
查找:
[code]
                                showsetting('usergroups_edit_multigroups', 'allowmultigroupsnew', $group['allowmultigroups'], 'radio');
[/code]

上面加上:
[code]
                                showsetting('usergroups_edit_viewinvisible', 'allowviewinvisiblenew', $group['allowviewinvisible'], 'radio');
[/code]

查找:
[code]
                                        allowviewstats='$allowviewstatsnew', allowinvisible='$allowinvisiblenew', allowsearch='$allowsearchnew', allowavatar='$allowavatarnew',
[/code]

替換為:
[code]
                                        allowviewstats='$allowviewstatsnew', allowinvisible='$allowinvisiblenew', allowviewinvisible='$allowviewinvisiblenew', allowsearch='$allowsearchnew', allowavatar='$allowavatarnew',
[/code]

======================
admin/misc.inc.php
======================
查找:
[code]
if($action == 'onlinelist') {

        if(!submitcheck('onlinesubmit')) {

                $listarray = array();
                $query = $db->query("SELECT * FROM {$tablepre}onlinelist");
                while($list = $db->fetch_array($query)) {
                        $list['title'] = dhtmlspecialchars($list['title']);
                        $listarray[$list['groupid']] = $list;
                }

                $onlinelist = '';
                $query = $db->query("SELECT groupid, grouptitle FROM {$tablepre}usergroups WHERE type<>'member'");
                $group = array('groupid' => 0, 'grouptitle' => 'Member');
                do {
                        $onlinelist .= "<tr align=\"center\">\n".
                                "<td class=\"altbg1\"><input type=\"text\" size=\"3\" name=\"displayordernew[$group[groupid]]\" value=\"{$listarray[$group[groupid]][displayorder]}\"></td>\n".
                                "<td class=\"altbg2\">".($group['groupid'] <= 8 ? $lang['usergroups_system_'.$group['groupid']] : $group['grouptitle'])."</td>\n".
                                "<td class=\"altbg1\"><input type=\"text\" size=\"15\" name=\"titlenew[$group[groupid]]\" value=\"".($listarray[$group['groupid']]['title'] ? $listarray[$group['groupid']]['title'] : $group['grouptitle'])."\"></td>\n".
                                "<td class=\"altbg2\"><input type=\"text\" size=\"20\" name=\"urlnew[$group[groupid]]\" value=\"{$listarray[$group[groupid]][url]}\">\n".
                                ($listarray[$group['groupid']]['url'] ? "<img src=\"images/common/{$listarray[$group['groupid']]['url']}\">" : '')."</td></tr>\n";
                } while($group = $db->fetch_array($query));

                shownav('menu_misc_onlinelist');
                showtips('onlinelist_tips');

?>
<form method="post" action="admincp.php?action=onlinelist">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="tableborder">
<tr class="header">
<td><?=$lang['display_order']?></td><td><?=$lang['usergroups_title']?></td><td><?=$lang['usergroups_title']?></td><td><?=$lang['onlinelist_image']?></td></tr>
<?=$onlinelist?></table><br>
<center><input class="button" type="submit" name="onlinesubmit" value="<?=$lang['submit']?>"></center></form></td></tr>
<?

        } else {

                if(is_array($urlnew)) {
                        $db->query("DELETE FROM {$tablepre}onlinelist");
                        foreach($urlnew as $id => $url) {
                                $url = trim($url);
                                if($id == 0 || $url) {
                                        $db->query("INSERT INTO {$tablepre}onlinelist (groupid, displayorder, title, url)
                                                VALUES ('$id', '$displayordernew[$id]', '$titlenew[$id]', '$url')");
                                }
                        }
                }

                updatecache('onlinelist');
                cpmsg('onlinelist_succeed', 'admincp.php?action=onlinelist');

        }
[/code]

替換為:
[code]
if($action == 'onlinelist') {

        if(!submitcheck('listsubmit') && !submitcheck('groupsubmit')) {
?>
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="75%" align="center" class="tableborder">
<tr class="header"><td><?=$lang['tips']?></td></tr>
<tr bgcolor="<?=ALTBG1?>"><td>
<br><?=$lang['onlinelist_tips']?>
</td></tr></table>

<br><form method="post" action="admincp.php?action=onlinelist">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="75%" align="center" class="tableborder">
<tr class="header"><td colspan="5"><?=$lang['edit_onlinelist']?></td></tr>
<tr align="center" class="category"><td width="48"><?=$lang['del']?></td><td><?=$lang['display_order']?></td><td><?=$lang['usergroups_title']?></td><td><?=$lang['onlinelist_image']?></td><td><?=$lang['onlinelist_image']?></td></tr>
<?
                $listarray = array();
                $query = $db->query("SELECT * FROM {$tablepre}onlinelist ORDER BY displayorder");
                while($list = $db->fetch_array($query)) {
                        echo "<tr class=\"altbg1\" align=\"center\">\n".
                                "<td><input type=\"checkbox\" name=\"delete[]\" value=\"$list[id]\"></td>\n".
                                "<td><input type=\"text\" size=\"2\" name=\"listdisplayorder[$list[id]]\" value=\"$list[displayorder]\"></td>\n".
                                "<td><input type=\"text\" size=\"25\" name=\"listtitle[$list[id]]\" value=\"$list[title]\"></td>\n".
                                "<td><input type=\"text\" size=\"25\" name=\"listurl[$list[id]]\" value=\"$list[url]\"></td>\n".
                                "<td><img src=\"images/common/{$list['url']}\"></td>\n".
                                "</tr>\n";

                        foreach($groupids = explode("\t", $list['groupids']) as $groupid) {
                                $selectedid[$groupid] = $list['id'];
                        }
                        $lists[$list['id']] = $list;
                }
?>
<tr><td colspan="5" class="singleborder"> </td></tr>
<tr bgcolor="<?=ALTBG1?>" align="center"><td><?=$lang['add_new']?></td>
<td><input type="text" size="2" name="newdisplayorder"></td>
<td><input type="text" size="25" name="newtitle"></td>
<td><input type="text" size="25" name="newurl"></td>
<td></td></tr>
</table><br>
<center><input type="submit" name="listsubmit" value="<?=$lang['submit']?>"></center></form></td></tr>

<br><form method="post" action="admincp.php?action=onlinelist">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="75%" align="center" class="tableborder">
<tr class="header"><td colspan="3"><?=$lang['edit_onlinelist']?></td></tr>
<tr align="center" class="category"><td><?=$lang['display_order']?></td><td><?=$lang['usergroups_title']?></td><td><?=$lang['display_group']?></td></tr>
<?

                $query = $db->query("SELECT groupid, grouptitle, grouporder FROM {$tablepre}usergroups");
                while($group = $db->fetch_array($query)) {
                        $listselect = "<select name=\"grouplist[$group[groupid]]\">\n<option value=\"0\"> - $lang[none] - </option>\n";
                        if(count($lists)) {
                                foreach($lists as $listid => $list) {
                                        if($selectedid[$group['groupid']] != $listid) {
                                                $listselect .= "<option value=\"$listid\">$list[title]</option>\n";
                                        } else {
                                                $listselect .= "<option value=\"$listid\" selected=\"selected\">$list[title]</option>\n";
                                        }
                                }
                        }
                        $listselect .= '</select>';
                        echo "<tr class=\"altbg1\" align=\"center\">\n".
                                "<td><input type=\"text\" size=\"2\" name=\"newgroup[$group[groupid]]\" value=\"$group[grouporder]\"></td>\n".
                                "<td>$group[grouptitle]</td>\n".
                                "<td>$listselect</td>\n".
                                "</tr>\n";
                }
?>
</table><br>
<center><input type="submit" name="groupsubmit" value="<?=$lang['submit']?>"></center></form></td></tr>
<?

        } elseif(submitcheck('listsubmit')) {

                if(is_array($delete)) {
                        $ids = $comma = '';
                        foreach($delete as $id) {
                                $ids .= "$comma'$id'";
                                $comma = ',';
                        }
                        $db->query("DELETE FROM {$tablepre}onlinelist WHERE id IN ($ids)");
                }

                if(is_array($listtitle)) {
                        foreach($listtitle as $id => $val) {
                                $db->query("UPDATE {$tablepre}onlinelist SET title='$listtitle[$id]', url='$listurl[$id]', displayorder='$listdisplayorder[$id]' WHERE id='$id'");
                        }
                }

                if($newtitle && $newurl) {
                        $query = $db->query("INSERT INTO {$tablepre}onlinelist (title, url, displayorder) VALUES ('$newtitle', '$newurl', '$newdisplayorder')");
                }
                updatecache('onlinelist');
                cpmsg('onlinelist_succeed', 'admincp.php?action=onlinelist');

        } else {

                foreach($newgroup as $id => $val) {
                        $db->query("UPDATE {$tablepre}usergroups SET grouporder='$val' WHERE groupid='$id'");
                }

                $notdelids = '0';
                if(is_array($grouplist)) {
                        $grouponline = array();
                        foreach($grouplist as $id => $var) {
                                if($var) {
                                        if($grouponline[$var]) {
                                                $grouponline[$var] .= "\t$id";
                                        } else {
                                                $grouponline[$var] .= $id;
                                        }
                                        $notdelids .= ','.$var;
                                }
                        }
                }

                if(is_array($grouponline)) {
                        foreach($grouponline as $id => $var) {
                                $db->query("UPDATE {$tablepre}onlinelist SET groupids='$var' WHERE id='$id'");
                        }
                }
                $db->query("UPDATE {$tablepre}onlinelist SET groupids='' WHERE id NOT IN ($notdelids)");
                updatecache('onlinelist');
                updatecache('usergroups');
                cpmsg('onlinelist_succeed', 'admincp.php?action=onlinelist');

        }
[/code]

======================
admin/settings.inc.php
======================
查找:
[code]
                $checkmoddisplay = array($settings['moddisplay'] => 'checked');
                $checkvtonline = array($settings['vtonlinestatus'] => 'checked');
[/code]

上面加上:
[code]
                $checkonlineorder = array($settings['onlineorder'] => 'checked');
                $checkonlineascdesc = array($settings['onlineascdesc'] => 'checked');
[/code]

查找:
[code]
                showsetting('settings_fastpost', 'settingsnew[fastpost]', $settings['fastpost'], 'radio');
[/code]

上面加上:
[code]
                showsetting('settings_onlinelist_order', '', '', '<input type="radio" name="settingsnew[onlineascdesc]" value="1" '.$checkonlineascdesc[1].'> '.$lang['settings_onlinelist_asc'].'<br><input type="radio" name="settingsnew[onlineascdesc]" value="0" '.$checkonlineascdesc[0].'> '.$lang['settings_onlinelist_desc'].'<hr /><input type="radio" name="settingsnew[onlineorder]" value="0" '.$checkonlineorder[0].'> '.$lang['settings_onlinelist_uid'].'<br><input type="radio" name="settingsnew[onlineorder]" value="1" '.$checkonlineorder[1].'> '.$lang['settings_onlinelist_grouporder'].'<br><input type="radio" name="settingsnew[onlineorder]" value="2" '.$checkonlineorder[2].'> '.$lang['settings_onlinelist_lastactivity']);
[/code]

======================
include/cache.func.php
======================
查找:
[code]
                        $conditions = "ORDER BY displayorder";
[/code]

替換為:
[code]
                        $conditions = "WHERE groupids <> '' ORDER BY displayorder";
[/code]

查找:
[code]
                                } elseif($setting['variable'] == 'threadsticky') {
                                        $setting['value'] = explode(',', $setting['value']);
[/code]

上面加上:
[code]
                                } elseif($setting['variable'] == 'onlineascdesc') {
                                        $setting['value'] = $setting['value'] == 0 ? 'DESC' : 'ASC';
                                } elseif($setting['variable'] == 'onlineorder') {
                                        $setting['value'] = $setting['value'] > 0 ? $setting['value'] > 1 ? 'lastactivity' : 'grouporder' : 'uid';
[/code]

查找:
[code]
                case 'onlinelist':
                        $data['legend'] = '';
                        while($list = $db->fetch_array($query)) {
                                $data[$list['groupid']] = $list['url'];
                                $data['legend'] .= "<img src=\"images/common/$list[url]\" alt=\"\" /> $list[title]       ";
                        }
                        break;
[/code]

替換為:
[code]
                case 'onlinelist':
                        $data['legend'] = '';
                        $data['showlist'] = '0';
                        while($list = $db->fetch_array($query)) {
                                foreach($groupids = explode("\t", $list['groupids']) as $groupid) {
                                        $data[$groupid] = $list['url'];
                                        $data['showlist'] .= ','.$groupid;
                                }
                                $data['legend'] .= "<img src=\"images/common/$list[url]\"> $list[title]       ";
                        }
                        break;
[/code]

======================
include/global.func.php
======================
查找:
[code]
                $pvfrequence, $spageviews, $lastolupdate, $oltimespan, $onlinehold, $groupid, $styleid, $invisible, $discuz_action, $fid, $tid, $bloguid;
[/code]

替換為:
[code]
                $pvfrequence, $spageviews, $lastolupdate, $oltimespan, $onlinehold, $groupid, $grouporder, $styleid, $invisible, $discuz_action, $fid, $tid, $bloguid;
[/code]

查找:
[code]
                $db->query("UPDATE {$tablepre}sessions SET uid='$discuz_uid', username='$discuz_user', groupid='$groupid', styleid='$styleid', invisible='$invisible', action='$discuz_action', lastactivity='$timestamp', lastolupdate='$lastolupdate', seccode='$seccode', fid='$fid', tid='$tid', bloguid='$bloguid' $pageviewsadd WHERE sid='$sid'");
[/code]

替換為:
[code]
                $db->query("UPDATE {$tablepre}sessions SET uid='$discuz_uid', username='$discuz_user', groupid='$groupid', styleid='$styleid', invisible='$invisible', action='$discuz_action', lastactivity='$timestamp', lastolupdate='$lastolupdate', seccode='$seccode', fid='$fid', tid='$tid', bloguid='$bloguid', grouporder='$grouporder' $pageviewsadd WHERE sid='$sid'");
[/code]

查找:
[code]
                $db->query("INSERT INTO {$tablepre}sessions (sid, ip1, ip2, ip3, ip4, uid, username, groupid, styleid, invisible, action, lastactivity, lastolupdate, seccode, fid, tid, bloguid)
                        VALUES ('$sid', '$ips[0]', '$ips[1]', '$ips[2]', '$ips[3]', '$discuz_uid', '$discuz_user', '$groupid', '$styleid', '$invisible', '$discuz_action', '$timestamp', '$lastolupdate', '$seccode', '$fid', '$tid', '$bloguid')", 'SILENT');
[/code]

替換為:
[code]
                $db->query("INSERT INTO {$tablepre}sessions (sid, ip1, ip2, ip3, ip4, uid, username, groupid, styleid, invisible, action, lastactivity, lastolupdate, seccode, fid, tid, bloguid, grouporder)
                        VALUES ('$sid', '$ips[0]', '$ips[1]', '$ips[2]', '$ips[3]', '$discuz_uid', '$discuz_user', '$groupid', '$styleid', '$invisible', '$discuz_action', '$timestamp', '$lastolupdate', '$seccode', '$fid', '$tid', '$bloguid', '$grouporder')", 'SILENT');
[/code]

======================
templates/default/admincp.lang.php
======================
查找:
[code]
        'settings_seo' => '搜索引擎優化',
[/code]

上面加上:
[code]
        'settings_onlinelist_order' => '在線列表顯示順序:',
        'settings_onlinelist_order_comment' => '設置在線列表顯示順序,用戶組排列順序請在<a href="admincp.php?action=onlinelist">在線列表定制</a>中設置',
        'settings_onlinelist_asc' => '升序顯示',
        'settings_onlinelist_desc' => '降序顯示',
        'settings_onlinelist_uid' => '根據uid排列',
        'settings_onlinelist_grouporder' => '根據用戶組排列',
        'settings_onlinelist_lastactivity' => '根據上次活動時間排列',
[/code]

查找:
[code]
        'usergroups_edit_invisible' => '允許\隱身:',
        'usergroups_edit_invisible_comment' => '設置是否允許\用戶登錄後不顯示在在線列表中',
[/code]

下面加上:
[code]
        'usergroups_edit_viewinvisible' => '允許\查看隱身:',
        'usergroups_edit_viewinvisible_comment' => '設置是否允許\用戶隱身後仍可查看',
[/code]

查找:
[code]
        'onlinelist_image' => '用戶組圖例',
[/code]

下面加上:
[code]
        'edit_onlinelist' => '編輯在線列表',
        'display_group' => '顯示組',
[/code]

======================
templates/default/discuz.htm
======================
查找:
[code]
                <!--{if $detailstatus}-->
                        <tbody><tr><td colspan="7"><hr class="line" size="0"></td></tr><tr><td nowrap>
                        <!--{if $whosonline}-->
                                <!--{loop $whosonline $key $online}-->
                                        <!--{if $key % 7 == 0}--></td></tr><tr><td width="15%" nowrap><!--{else}--></td><td width="15%" nowrap><!--{/if}-->
                                        <img src="images/common/$online[icon]"  alt="" />
                                        <!--{if $online['uid']}-->
                                                <a href="space.php?uid=$online[uid]"
                                                <!--{else}-->
                                                <a href="###"
                                        <!--{/if}-->title="{lang time}: $online[lastactivity]{LF}
                                        {lang action}: $online[action]
                                        <!--{if $online['fid']}-->{LF}{lang forum}: $online[fid]<!--{/if}-->
                                        ">$online[username]</a>
                                <!--{/loop}-->
                        <!--{else}-->
                                    {lang online_only_guests}
                        <!--{/if}-->
                <!--{/if}-->
[/code]

替換為:
[code]
                <!--{if $detailstatus && $whosonline}-->
                        <tbody><tr><td colspan="7"><hr class="line" size="0"></td></tr><tr><td nowrap>
                                <!--{loop $whosonline $key $online}-->
                                        <!--{if $key % 7 == 0}--></td></tr><tr><td width="15%" nowrap><!--{else}--></td><td width="15%" nowrap><!--{/if}-->
                                $online['icon']
                                        <!--{if $online[uid]}-->
                                                <a href="viewpro.php?uid=$online[uid]" title="{lang time}: $online[lastactivity]{LF}{lang action}: $online[action]<!--{if $online['fid']}-->{LF}{lang forum}: $online[fid]<!--{/if}-->">$online[username]</a>
                                        <!--{else}-->
                                                <span title="{lang time}: $online[lastactivity]{LF}{lang action}: $online[action]<!--{if $online['fid']}-->{LF}{lang forum}: $online[fid]<!--{/if}-->"> {lang guest} </span>
                                        <!--{/if}-->
                                <!--{/loop}-->
                <!--{/if}-->
[/code]

======================
templates/default/forumdisplay.htm
======================
查找:
[code]
                <!--{loop $whosonline $key $online}-->
                        <!--{if $key % 7 == 0}--></td></tr><tr><td width="15%" nowrap><!--{else}--></td><td width="15%" nowrap><!--{/if}-->
                        <img src="images/common/$online[icon]"  alt="" />
                        <a href="space.php?uid=$online[uid]" title="{lang time}: $online[lastactivity]{LF}
                        {lang action}: $online[action]{LF}
                        {lang forum}: $forumname">$online[username]</a>
                <!--{/loop}-->
[/code]

替換為:
[code]
                <!--{loop $whosonline $key $online}-->
                        <!--{if $key % 7 == 0}--></td></tr><tr><td width="15%" nowrap><!--{else}--></td><td width="15%" nowrap><!--{/if}-->
                        $online['icon']
                                <!--{if $online[uid]}-->
                                        <a href="viewpro.php?uid=$online[uid]" title="{lang time}: $online[lastactivity]{LF}{lang action}: $online[action]<!--{if $online['fid']}-->{LF}{lang forum}: $online[fid]<!--{/if}-->">$online[username]</a>
                                <!--{else}-->
                                        <span title="{lang time}: $online[lastactivity]{LF}{lang action}: $online[action]<!--{if $online['fid']}-->{LF}{lang forum}: $online[fid]<!--{/if}-->"> {lang guest} </span>
                                <!--{/if}-->
                <!--{/loop}-->
[/code]

======================
請至後台更新所有緩存後,安裝完成.
======================

[[i] 本帖最後由 Eric03 於 2007-5-27 15:45 編輯 [/i]]

2007-5-27 15:29 Eric03
我再頂一下:em09:

2007-5-27 15:30 HOIN
見到咁長都唔想安, 純支持好了:titter:

2007-5-27 15:32 銘仔
*** 作者被禁止或刪除 內容自動屏蔽 ***

2007-5-27 15:34 Eric03
回覆 #6 銘仔 的帖子

的確係...:em17:

2007-5-27 15:42 s00316987
純支持不想安裝

2007-5-27 15:55 ntf
太長,太多野改

2007-5-27 16:17 Chong少
改錯一步就死了,,,,=.=

2007-5-27 17:03 自我風格
我諗無乜人裝:em38:

2007-5-30 20:10 Eric03
回覆 #11 自我風格 的帖子

有人裝了
這帖發佈的作者的論壇便是一個好例子
[url]http://www.alan888.com/Discuz/thread-113269-1-1.html[/url]

2007-5-31 15:12 羽河
咁次死得~
我個網裝完一片空白@@
iceworld.fksite.com
邊個幫到我-.-

[[i] 本帖最後由 羽河 於 2007-5-31 15:59 編輯 [/i]]

2007-6-1 17:59 滅影
支持了..不錯呢..

2007-6-7 11:17 Eric03
回覆 #10 Chong少 的帖子

真係呀...:em35:
所以本人建議安裝新Discuz!一齊安裝埋

2008-6-17 01:27 skf
期待有6.1版本....

升6.1後我只懂把include和根目錄等文件修改

但後台文件卻是無從入手....但總算解決了首頁顯示得亂的問題:em46:

頁: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.