列印

虛擬形像 For Discuz 6.1 (繁/簡/UTF-8)

虛擬形像 For Discuz 6.1 (繁/簡/UTF-8)

from: http://www.alan888.com/Discuz/viewthread.php?tid=150655

作  者: T.O.M.
AL8   版: alan888
技術支援: http://www.alan888.com/Discuz/index.php
演  示: http://www.alan888.com/D6/plugin ... module=virtualimage
適用版本:  Discuz! 6.1.0, Discuz! 6.1.F
說  明: 根據  Discuz! 6.1 插件格式整理, 完善的後台管理只須匯入 "discuz_plugin_virtualimage.txt" 及 "discuz_plugin_images_admin.txt", 而不用修改任可後台檔案, 功能設定包括編輯及加入形象, 批量修改形象價格, 修改會員形象等

版本更新:
1. 在不使用 "形象過期" 及 "強制使用形象" 情況下, 在帖中顯示形象將不會增加資料庫查詢次數;
2. 在不使用 "形象過期" 及 "強制使用形象" 情況下, 在不同情況下將不會增加或減少資料庫查詢次數;
3. 修正 "刷新形象" 不生效的問題;
4. 修正使用 "形象過期" 時帖中還顯示過期的形象;
5. 調整資料庫更容易調用形象而不會增加或減少資料庫查詢次數;
6. 將大量寫在模板中的 javascript 集中處理;
7. 在修改虛擬形像插件時簡化修改內容;
8. 修正部份模板在編寫上的錯誤;
9. 由其他 Discuz 版本升級至 Discuz 6.1.0 (UC 版本) 所有原來會員的形象可以順利升級及正常使用;
10. 修正 "虛擬形像 For 6.1 測試版" 的所發現的錯誤;

注  意:
1. 照相館必須伺服器支援 GD 庫才可正常使用
2. 由於 IE 6 對 div + css 的兼容不足, 部份形象可能出現移位現象

由於本插件修改較多及容易出錯, 修改時請先備份所有檔案及加倍小心, 附件並未包含已改好的檔案, 請會員自行照步驟修改


虛擬形像 For 6.1 全新安裝辦法 (合用於 Discuz 6.1.0 及 6.1F)

1. 下載程式附件





解壓後將 upload 目錄下所有檔案按原設定上載至相關目錄

2. 下載下列附件 virtualimage.part01.rar 至 virtualimage.part09.rar 解壓後

上傳到 images 資料夾裡面
/論壇/images/virtualimage/

virtualimage.part01.rar (1.39 MB)
virtualimage.part02.rar (1.39 MB)
virtualimage.part03.rar (1.39 MB)
virtualimage.part04.rar (1.39 MB)
virtualimage.part05.rar (1.39 MB)
virtualimage.part06.rar (1.39 MB)
virtualimage.part07.rar (1.39 MB)
virtualimage.part08.rar (1.39 MB)
virtualimage.part09.rar (1.33 MB)

3. 將 virtualimage/photo 的目錄屬性設為 "777"

4. 執行 images_install.php , 安裝完畢後僅記刪除 images_install.php
例: 在網址列輸入 http://網址/images_install.php, 然後按指示執行
注意: 在 MySQL 4.1 或已上版本執行時請注意在 config.inc.php 的 $dbcharset 對應編碼設定, 如沒有設定將按 config.inc.php 的 $charset 內的語系進行安裝

5. 後台 → 擴展 → 插件設置 → 導入 → 按 "瀏覽" 及選取 "discuz_plugin_virtualimage.txt" → 勾選 "允許導入不同版本 Discuz! 的插件(易產生錯誤!!)" → 提交

6. 後台 → 擴展 → 插件設置 → 導入 → 按 "瀏覽" 及選取 "discuz_plugin_images_admin.txt" → 勾選 "允許導入不同版本 Discuz! 的插件(易產生錯誤!!)" → 提交

7. 後台 → 擴展 → 插件設置 → 設置 → 在 "虛擬形象" 點擊 "[ 插件參數設置 ] " 及設定好各項細節
注意: "選擇交易方式" 內請填上 extcredits 後的編號, 例如 "2" = 現金 (注意: 只需填上編號)
引用:
Discuz 6.1F 文件修改

8. 修改 viewthread.php
複製內容到剪貼簿
代碼:
$postlist = $attachtags = $attachlist = array();
在上面加上
複製內容到剪貼簿
代碼:
/*hack virtualimage*/
require_once './forumdata/cache/plugin_virtualimage.php';
$image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
$image_use = $_DPLUGIN['virtualimage']['vars']['orderuse'];
$beold = $_DPLUGIN['virtualimage']['vars']['beold'];
/*hack virtualimage*/
再找
複製內容到剪貼簿
代碼:
viewthread_parsetags();
在下面加上
複製內容到剪貼簿
代碼:
/*Hack virtualimage*/
        if (!empty($imagesdatas) && ($image_use=='1' || $beold=='1')){
                $vimages = '';
                require_once('./virtualimage/global.php');
                $vimages = images_showimages($imagesdatas);
                unset($imagesdatas);
        }elseif(!empty($viids)){
                $vimages = "var image_url = '{$image_url}';\r\n";
                foreach($viids as $viid){
                $vimages .= "showimage('Show".$viid[pid]."','".$viid[viid]."');\r\n";
                unset($viids);               
                }
        }
/*Hack virtualimage*/
找  (注意不連後面的 "," 號)
複製內容到剪貼簿
代碼:
m.invisible
在後面插入
複製內容到剪貼簿
代碼:
, m.viid
複製內容到剪貼簿
代碼:
$videoopen, $threadpay
在後面插入
複製內容到剪貼簿
代碼:
, $image_url, $image_use, $imagesdatas, $beold, $viids
複製內容到剪貼簿
代碼:
if($post['avatar']) {
更換為
複製內容到剪貼簿
代碼:
/* hack virtualimage*/
                        if ($post['gender']!='0' && $post['anonymous']=='0' && ($image_use=='1' ||!empty($post['viid']))){
                                if ($image_use == '1' || $beold == '1'){
                                        $post['viid'] = '';
                                        $imagesdata['gender'] = $post['gender'];
                                        $imagesdata['pid'] = $post['pid'];
                                        $imagesdata['uid'] = $post['uid'];
                                        $imagesdatas[] = $imagesdata;
                                }else{
                                        $viid['viid'] = $post['viid'];                                       
                                        $viid['pid'] = $post['pid'];
                                        $viids[] = $viid;
                                }
                $post['avatar'] = "<div class=\"imagefixeddiv\"><div class=\"imagefixed\"><table summary=\"meminfo\" cellspacing=\"0\" cellpadding=\"0\"><tr><td style=\"border-top:none;\"><div id=\"Show{$post['pid']}\" class=\"viavatar\"></div></td></tr></table></div>";
                }elseif($post['avatar']) {
/* hack virtualimage*/
複製內容到剪貼簿
代碼:
                                $post['avatar'] .= '<div class="avatar"><img src="'.$_DCACHE['usergroups'][$post['groupid']]['groupavatar'].'" border="0" alt="" />';
                        }
                        $post['avatar'] .= '</div>';
更換為
複製內容到剪貼簿
代碼:
/* hack virtualimage*/
                                $post['avatar'] .= '</div><p><img src="'.$_DCACHE['usergroups'][$post['groupid']]['groupavatar'].'" border="0" alt="" /></p>';
                        }else{
                                $post['avatar'] .= '</div>';
                        }
/* hack virtualimage*/
9. 修改 space.php
複製內容到剪貼簿
代碼:
$discuz_action = 61;
在下面加上
複製內容到剪貼簿
代碼:
/*hack virtualimage*/
require_once './forumdata/cache/plugin_virtualimage.php';
$image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
$image_use = $_DPLUGIN['virtualimage']['vars']['orderuse'];
$beold = $_DPLUGIN['virtualimage']['vars']['beold'];
/*hack virtualimage*/
複製內容到剪貼簿
代碼:
if($member['avatar']) {
更換為
複製內容到剪貼簿
代碼:
/*hack virtualimage*/
        if ($member['gender']!='0' && ($image_use == '1' || !empty($member['viid']))){
                if($image_use == '1' || $beold == '1'){
                        require_once DISCUZ_ROOT.'./virtualimage/global.php';
                        $imageviid = discuz_vi($member[uid],$member[gender],$beold,0);
                }else{
                        $imageviid = $member[viid];
                }
                $member['avatar'] = "<DIV id=\"Show{$member['uid']}\"  class=\"imagefr1\"></DIV>
<script type=\"text/javascript\">
var image_url = '{$image_url}';
showimage('Show{$member[uid]}','{$imageviid}');
</script>
                        ";
        }elseif($member['avatar']) {
/*hack virtualimage*/
10. 修改 memcp.php
複製內容到剪貼簿
代碼:
$discuz_action = 7;
在下面加上
複製內容到剪貼簿
代碼:
/*hack virtualimage*/
require_once './forumdata/cache/plugin_virtualimage.php';
$image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
$image_use = $_DPLUGIN['virtualimage']['vars']['orderuse'];
$beold = $_DPLUGIN['virtualimage']['vars']['beold'];
/*hack virtualimage*/
複製內容到剪貼簿
代碼:
m.gender, m.groupid
更換為
複製內容到剪貼簿
代碼:
m.uid, m.gender, m.groupid, m.viid
複製內容到剪貼簿
代碼:
$validating = array();
在上面加上
複製內容到剪貼簿
代碼:
/*hack virtualimage*/
                if ($member['gender']!='0' && ($image_use == '1' || !empty($member['viid']))){
                                if($image_use == '1' || $beold == '1'){
                                        require_once DISCUZ_ROOT.'./virtualimage/global.php';
                                        $imageviid = discuz_vi($member[uid],$member[gender],$beold,0);
                                }else{
                                        $imageviid = $member[viid];
                                }        
                        $avatar = "<DIV id=\"Show{$member['uid']}\" class=\"imagefr1\"></DIV>
<script type=\"text/javascript\">
var image_url = '{$image_url}';
showimage('Show{$member[uid]}','{$imageviid}');
</script>
                        ";
                       }
/*hack virtualimage*/
11. 修改 eccredit.php
複製內容到剪貼簿
代碼:
$discuz_action = 62;
在下面加上
複製內容到剪貼簿
代碼:
/*hack virtualimage*/
require_once './forumdata/cache/plugin_virtualimage.php';
$image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
$image_use = $_DPLUGIN['virtualimage']['vars']['orderuse'];
$beold = $_DPLUGIN['virtualimage']['vars']['beold'];
/*hack virtualimage*/
複製內容到剪貼簿
代碼:
m.username, m.groupid
在後面插入
複製內容到剪貼簿
代碼:
, m.gender, m.viid
複製內容到剪貼簿
代碼:
if($member['avatar']) {
更換為
複製內容到剪貼簿
代碼:
/*hack virtualimage*/
        if ($member['gender']!='0' && ($image_use == '1' || !empty($member['viid']))){
                if($image_use == '1' || $beold == '1'){
                        require_once DISCUZ_ROOT.'./virtualimage/global.php';
                        $imageviid = discuz_vi($member[uid],$member[gender],$beold,0);
                }else{
                        $imageviid = $member[viid];
                }
                $member['avatar'] = "<DIV id=\"Show{$member['uid']}\"  class=\"imagefr1\"></DIV>
<script type=\"text/javascript\">
var image_url = '{$image_url}';
showimage('Show{$member[uid]}','{$imageviid}');
</script>
                        ";
        }elseif($member['avatar']) {
/*hack virtualimage*/
複製內容到剪貼簿
代碼:
                $member['avatar'] .= '
<img src="'.$_DCACHE['usergroups'][$member['groupid']]['groupavatar'].'" border="0" alt="" />';
        }
        $member['avatar'] .= '</div>';
更換為
複製內容到剪貼簿
代碼:
                $member['avatar'] .= '</div><p><img src="'.$_DCACHE['usergroups'][$member['groupid']]['groupavatar'].'" border="0" alt="" /></p>';
        }else{
                $member['avatar'] .= '</div>';
        }
12. 修改 ./include/global.func.php
複製內容到剪貼簿
代碼:
$show_message .= $url_forward && empty($inajax) ? '<script>setTimeout("window.location.href =\''.$url_forward.'\';", '.$msgforward['refreshtime'].');</script>' : '';
更換為
複製內容到剪貼簿
代碼:
$show_message .= $url_forward && empty($inajax) ? '<script>setTimeout("window.location.href =\''.str_replace('&', '&', $url_forward).'\';", '.$msgforward['refreshtime'].');</script>' : '';
13. 修改
./include/viewthread_poll.inc.php
./include/viewthread_activity.inc.php
./include/viewthread_reward.inc.php
./include/viewthread_trade.inc.php
(此文件要修改 2 處)
./include/viewthread_video.inc.php
./include/viewthread_debate.inc.php

共 6 個文件, 修改辦法相同

找 (注意不連後面的 "," 號)
複製內容到剪貼簿
代碼:
m.invisible
在後面插入
複製內容到剪貼簿
代碼:
, m.viid
複製內容到剪貼簿
代碼:
viewthread_parsetags();
在下加上面
複製內容到剪貼簿
代碼:
/*Hack virtualimage*/
        if (!empty($imagesdatas) && ($image_use=='1' || $beold=='1')){
                $vimages = '';
                require_once('./virtualimage/global.php');
                $vimages = images_showimages($imagesdatas);
                unset($imagesdatas);
        }elseif(!empty($viids)){
                $vimages = "var image_url = '{$image_url}';\r\n";
                foreach($viids as $viid){
                $vimages .= "showimage('Show".$viid[pid]."','".$viid[viid]."');\r\n";
                unset($viids);               
                }
        }
/*Hack virtualimage*/
14. 修改 ./include/javascript/common.js
在文件最尾部份加上
複製內容到剪貼簿
代碼:
function showimage(showpid,currface) {
        if(currface == '') {
                currface = 0;
        }
        var faceArray = currface.split('-');
        if(faceArray[6] != 0){
                faceArray[8] = 0;
                faceArray[9] = 0;
        }
        if(faceArray[12] != 0) {
                faceArray[6] = 0;
                faceArray[8] = 0;
                faceArray[9] = 0;
                faceArray[10] = 0;
                faceArray[11] = 0;
                faceArray[13] = 0;
                faceArray[14] = 0;
                faceArray[17] = 0;
                faceArray[18] = 0;
                faceArray[20] = 0;
                faceArray[21] = 0;
                faceArray[22] = 0;
        }
        var s='';
        for(var i=0; i < 26; i++) {
                if(faceArray[i] != '0'){
                        s += '<img src="'+image_url+i+'/'+faceArray[i]+'.gif" style="padding:0px; position:absolute; width:140px; height:226px;z-index: '+i+'" alt="" />';
                }
        }
        s += '<img src="'+image_url+'blank.gif" style="padding:0px; position:absolute; width:140px; height:226px;" alt="" />';
        $(showpid).innerHTML = s;
}
15. 修改 css_common 模板 (所有風格及日後新增風格如有此檔案均要修改), 完成後到後台執行 "更新 css 檔案快取"
在檔案最尾部份加上
複製內容到剪貼簿
代碼:
/*virtualimage*/
.vispace{width:1em;}
.perinfo{font-family: Tahoma, Verdana; font-size: 11px; color: #202020;margin-left:5px; text-align:left;}
.perinfo p{width: 125px; margin: 0 0 0px 8px; text-align: left; background: url(../../images/virtualimage/cool/little.gif) no-repeat 0 50%; padding-left:15px; border-bottom: 1px solid #CDCDCD;}
.redtext{font-family: Tahoma, Verdana; font-size: 12px; color: #990000;}
.imagefr1, .imagesshow{padding-top: 0px; padding-right: 0px; padding-left: 0px; padding-bottom: 0px; width: 140px; height: 226px; position: relative; border: 1px solid {BORDERCOLOR};text-align:left;}
.imagefr{padding:0px; position:absolute; top:0px; left:0px; width:140px; height:226px;}
.viside{border: 1px solid {BORDERCOLOR}; width: 163px; background-image: url(../../images/virtualimage/cool/biao-bg.gif); padding: 8px; margin-bottom:15px; float: left; -moz-border-radius:8px; text-align:center;}
.showimages{border: 1px solid {BORDERCOLOR}; background: {ALTBG1}; width: 163px; padding: 8px; margin-bottom:15px;-moz-border-radius:8px;}
.images_iamges{border: 1px solid {BORDERCOLOR}; width: 140px; background: {ALTBG1}; padding: 10px; -moz-border-radius:8px;}
.images_iamges dt, .bold{font-weight: bold;}
.images_iamges dt img{margin-top:5px; margin-bottom:5px; border: 1px solid {COMMONBOXBORDER}; width: 92px;
height: 92px;}
.images_iamges dd, .images_show dd{padding:2px; margin-left:15px; text-align: left;}
.images_iamges dd img, .images_show dd img, .images_show dt, .images_show dl, .images_iamges dl{ margin:0px}
.subhead{font-weight:bold; text-align:center; background:{ALTBG1}; border: 1px solid {COMMONBOXBORDER}; font-size: 1.2em; padding:7px;}
.images_show{border: 1px solid {BORDERCOLOR}; background: {ALTBG1}; padding: 10px;}
.images_show dt img{margin-top:5px; margin-bottom:5px; border: 1px solid {COMMONBOXBORDER}; height: 230px;}
.imagetmp{padding: 0px; position: absolute; top: 0px; left: 0px; width: 280px; height: 226px;}
/*virtualimage*/
16. 修改 css_viewthread 模板 (所有風格及日後新增風格如有此檔案均要修改), 完成後到後台執行 "更新 css 檔案快取"
在檔案最尾部份加上
複製內容到剪貼簿
代碼:
/*virtualimage*/
.imagefixeddiv {height:235px;width:140px;margin-top:-5px;}
.imagefixed {padding:0px;vertical-align: top; position:absolute;margin-top:-5px; width:185px;}        
div.viavatar{margin: 5px; padding: 0px; width:140px; position:relative; height: 226px;}
/*virtualimage*/
17. 修改 viewthread 模板 (所有風格及日後新增風格如有此檔案均要修改)
複製內容到剪貼簿
代碼:
<!--{if $relatedthreadlist && $qihoo['relate']['position']}-->
在上面加上
複製內容到剪貼簿
代碼:
<!--{if $vimages}-->
<script type="text/javascript">
$vimages
</script>
<!--{/if}-->
18. 修改
viewthread_poll
viewthread_reward
viewthread_trade
viewthread_video
viewthread_debate
viewthread_activity

模板共 6 個模板, 修改辦法相同 (所有風格及日後新增風格如有此檔案均要修改)

複製內容到剪貼簿
代碼:
<!--{if $admode && empty($insenz['hardadstatus']) && !empty($advlist['interthread']) && $thread['replies']}--><div class="ad_column" id="ad_interthread">$advlist[interthread]</div><!--{else}--><div id="ad_interthread"></div><!--{/if}-->
在下面加上
複製內容到剪貼簿
代碼:
<!--{if $vimages}-->
<script type="text/javascript">
$vimages
</script>
<!--{/if}-->
19. 修改 actions.lang.php 語言包
複製內容到剪貼簿
代碼:
211 => '修改系統設置',
在下面加上
複製內容到剪貼簿
代碼:
        221 => '正在選擇個人形象',
20. 如設定 "是否開啟強制使用" 是否時, 會員必須到 "虛擬形像設計中心" 在 " 個人設置" 內將 "打開或關閉虛擬形像" 設定為 "啟用" 才可正常顯示會員的形像

~完成~
引用:
Discuz 6.1.0 檔案修改 (按 20080606 版本為準)
8. 修改 viewthread.php
複製內容到剪貼簿
代碼:
$postlist = $attachtags = $attachlist = array();
在上面加上
複製內容到剪貼簿
代碼:
/*hack virtualimage*/
require_once './forumdata/cache/plugin_virtualimage.php';
$image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
$image_use = $_DPLUGIN['virtualimage']['vars']['orderuse'];
$beold = $_DPLUGIN['virtualimage']['vars']['beold'];
/*hack virtualimage*/
再找
複製內容到剪貼簿
代碼:
viewthread_parsetags();
在下面加上
複製內容到剪貼簿
代碼:
/*Hack virtualimage*/
        if (!empty($imagesdatas) && ($image_use=='1' || $beold=='1')){
                $vimages = '';
                require_once('./virtualimage/global.php');
                $vimages = images_showimages($imagesdatas);
                unset($imagesdatas);
        }elseif(!empty($viids)){
                $vimages = "var image_url = '{$image_url}';\r\n";
                        foreach($viids as $viid){
                                $vimages .= "showimage('Show".$viid[pid]."','".$viid[viid]."');\r\n";
                                unset($viids);               
                        }
        }
/*Hack virtualimage*/
找  (注意不連後面的 "," 號)
複製內容到剪貼簿
代碼:
m.invisible
在後面插入
複製內容到剪貼簿
代碼:
, m.viid
複製內容到剪貼簿
代碼:
$videoopen, $threadpay
在後面插入
複製內容到剪貼簿
代碼:
, $image_url, $image_use, $imagesdatas, $beold, $viids
複製內容到剪貼簿
代碼:
                        $post['avatar'] = '<div class="avatar">'.discuz_uc_avatar($post['authorid']);
                        if($_DCACHE['usergroups'][$post['groupid']]['groupavatar']) {
                                $post['avatar'] .= '
<img src="'.$_DCACHE['usergroups'][$post['groupid']]['groupavatar'].'" border="0" alt="" />';
                        }
                        $post['avatar'] .= '</div>';
                } else {
                        $post['avatar'] = '';
                }
更換為
複製內容到剪貼簿
代碼:
/* hack virtualimage*/
                        if ($post['gender']!='0' && $post['anonymous']=='0' && ($image_use=='1' ||!empty($post['viid']))){
                                if ($image_use == '1' || $beold == '1'){
                                        $post['viid'] = '';
                                        $imagesdata[gender] = $post[gender];
                                        $imagesdata[pid] = $post[pid];
                                        $imagesdata[uid] = $post[uid];
                                        $imagesdatas[] = $imagesdata;
                                }else{
                                        $viid['viid'] = $post['viid'];                                       
                                        $viid['pid'] = $post['pid'];
                                        $viids[] = $viid;
                                }
                                $post['avatar'] = "<div class=\"imagefixeddiv\"><div class=\"imagefixed\"><table summary=\"meminfo\" cellspacing=\"0\" cellpadding=\"0\"><tr><td style=\"border-top:none;\"><div id=\"Show{$post['pid']}\" class=\"viavatar\"></div></td></tr></table></div>";
                        }else{
                                $post['avatar'] = '<div class="avatar">'.discuz_uc_avatar($post['authorid']);
                        }
                        if($_DCACHE['usergroups'][$post['groupid']]['groupavatar']) {
                                $post['avatar'] .= '</div><p><img src="'.$_DCACHE['usergroups'][$post['groupid']]['groupavatar'].'" border="0" alt="" /></p>';
                        }else{
                                $post['avatar'] .= '</div>';
                        }
                } else {
                        $post['avatar'] = '';
                }
/* hack virtualimage*/
9. 修改 space.php
複製內容到剪貼簿
代碼:
$discuz_action = 61;
在下面加上
複製內容到剪貼簿
代碼:
/*hack virtualimage*/
require_once './forumdata/cache/plugin_virtualimage.php';
$image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
$image_use = $_DPLUGIN['virtualimage']['vars']['orderuse'];
$beold = $_DPLUGIN['virtualimage']['vars']['beold'];
/*hack virtualimage*/
複製內容到剪貼簿
代碼:
$member['usernameenc'] = rawurlencode($member['username']);
在下面加上
複製內容到剪貼簿
代碼:
/*hack virtualimage*/
if ($member['gender']!='0' && ($image_use == '1' || !empty($member['viid']))){
                if($image_use == '1' || $beold == '1'){
                                require_once DISCUZ_ROOT.'./virtualimage/global.php';
                                $imageviid = discuz_vi($member[uid],$member[gender],$beold,0);
                }else{
                                $imageviid = $member[viid];
                }
        $avatar = "<DIV id=\"Show{$member['uid']}\"  class=\"imagefr1\"></DIV>
<script type=\"text/javascript\">
var image_url = '{$image_url}';
showimage('Show{$member[uid]}','{$imageviid}');
</script>";
                }else{
                                $avatar = "<div class=\"avatar\">".discuz_uc_avatar($member[uid])."</div>";
                }               
/*hack virtualimage*/
10. 修改 memcp.php
複製內容到剪貼簿
代碼:
$discuz_action = 7;
在下面加上
複製內容到剪貼簿
代碼:
/*hack virtualimage*/
require_once './forumdata/cache/plugin_virtualimage.php';
$image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
$image_use = $_DPLUGIN['virtualimage']['vars']['orderuse'];
$beold = $_DPLUGIN['virtualimage']['vars']['beold'];
/*hack virtualimage*/
複製內容到剪貼簿
代碼:
lastvisit, lastip, lastpost
在後面插入
複製內容到剪貼簿
代碼:
, gender, viid
複製內容到剪貼簿
代碼:
$member['postperday'] = $timestamp - $member['regdate'] > 86400
在上面加上
複製內容到剪貼簿
代碼:
/*hack virtualimage*/
if ($member['gender']!='0' && ($image_use == '1' || !empty($member['viid']))){
        if($image_use == '1' || $beold == '1'){
                require_once DISCUZ_ROOT.'./virtualimage/global.php';
                $imageviid = discuz_vi($member[uid],$member[gender],$beold,0);
        }else{
                $imageviid = $member[viid];
        }
    $avatar = "<td><DIV id=\"Show{$member['uid']}\"  class=\"imagefr1\"></DIV>
<script type=\"text/javascript\">
var image_url = '{$image_url}';
showimage('Show{$member[uid]}','{$imageviid}');
</script>
<p class=\"memberinfo_avatar\"><a href=\"space.php?uid=".$discuz_uid."\">".$discuz_userss."</a></p></td>";
        }else{
                $avatar = "<td class=\"memberinfo_avatar\">".discuz_uc_avatar($member[uid])."<p><a href=\"space.php?uid=".$discuz_uid."\">".$discuz_userss."</a></p></td>";
        }        
/*hack virtualimage*/
11. 修改 eccredit.php
複製內容到剪貼簿
代碼:
$discuz_action = 62;
在下面加上
複製內容到剪貼簿
代碼:
/*hack virtualimage*/
require_once './forumdata/cache/plugin_virtualimage.php';
$image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
$image_use = $_DPLUGIN['virtualimage']['vars']['orderuse'];
$beold = $_DPLUGIN['virtualimage']['vars']['beold'];
/*hack virtualimage*/
複製內容到剪貼簿
代碼:
m.username, m.groupid
在後面插入
複製內容到剪貼簿
代碼:
, m.gender, m.viid
複製內容到剪貼簿
代碼:
$member['avatar'] = '<div class="avatar">'.discuz_uc_avatar($member['uid']);
在上面加上
複製內容到剪貼簿
代碼:
/*hack virtualimage*/
        if ($member['gender']!='0' && ($image_use == '1' || !empty($member['viid']))){
                if($image_use == '1' || $beold == '1'){
                        require_once DISCUZ_ROOT.'./virtualimage/global.php';
                        $imageviid = discuz_vi($member[uid],$member[gender],$beold,0);
                }else{
                        $imageviid = $member[viid];
                }
                $member['avatar'] = "<DIV id=\"Show{$member['uid']}\"  class=\"imagefr1\"></DIV>
<script type=\"text/javascript\">
var image_url = '{$image_url}';
showimage('Show{$member[uid]}','{$imageviid}');
</script>
                        ";
        }else{
/*hack virtualimage*/
複製內容到剪貼簿
代碼:
                $member['avatar'] .= '
<img src="'.$_DCACHE['usergroups'][$member['groupid']]['groupavatar'].'" border="0" alt="" />';
        }
        $member['avatar'] .= '</div>';
更換為
複製內容到剪貼簿
代碼:
                $member['avatar'] .= '</div><p><img src="'.$_DCACHE['usergroups'][$member['groupid']]['groupavatar'].'" border="0" alt="" /></p>';
        }else{
                $member['avatar'] .= '</div>';
        }
}
12. 修改 ./include/global.func.php
複製內容到剪貼簿
代碼:
$show_message .= $url_forward && empty($inajax) ? '<script>setTimeout("window.location.href =\''.$url_forward.'\';", '.$msgforward['refreshtime'].');</script>' : '';
更換為
複製內容到剪貼簿
代碼:
$show_message .= $url_forward && empty($inajax) ? '<script>setTimeout("window.location.href =\''.str_replace('&', '&', $url_forward).'\';", '.$msgforward['refreshtime'].');</script>' : '';
13. 修改
./include/viewthread_poll.inc.php
./include/viewthread_activity.inc.php
./include/viewthread_reward.inc.php
./include/viewthread_trade.inc.php
(此文件要修改 2 處)
./include/viewthread_video.inc.php
./include/viewthread_debate.inc.php

共 6 個文件, 修改辦法相同

找 (注意不連後面的 "," 號)
複製內容到剪貼簿
代碼:
m.invisible
在後面插入
複製內容到剪貼簿
代碼:
, m.viid
複製內容到剪貼簿
代碼:
viewthread_parsetags();
在下加上面
複製內容到剪貼簿
代碼:
/*Hack virtualimage*/
        if (!empty($imagesdatas) && ($image_use=='1' || $beold=='1')){
                $vimages = '';
                require_once('./virtualimage/global.php');
                $vimages = images_showimages($imagesdatas);
                unset($imagesdatas);
        }elseif(!empty($viids)){
                $vimages = "var image_url = '{$image_url}';\r\n";
                foreach($viids as $viid){
                $vimages .= "showimage('Show".$viid[pid]."','".$viid[viid]."');\r\n";
                unset($viids);               
                }
        }
/*Hack virtualimage*/
14. 修改 ./include/javascript/common.js
在文件最尾部份加上
複製內容到剪貼簿
代碼:
function showimage(showpid,currface) {
        if(currface == '') {
                currface = 0;
        }
        var faceArray = currface.split('-');
        if(faceArray[6] != 0){
                faceArray[8] = 0;
                faceArray[9] = 0;
        }
        if(faceArray[12] != 0) {
                faceArray[6] = 0;
                faceArray[8] = 0;
                faceArray[9] = 0;
                faceArray[10] = 0;
                faceArray[11] = 0;
                faceArray[13] = 0;
                faceArray[14] = 0;
                faceArray[17] = 0;
                faceArray[18] = 0;
                faceArray[20] = 0;
                faceArray[21] = 0;
                faceArray[22] = 0;
        }
        var s='';
        for(var i=0; i < 26; i++) {
                if(faceArray[i] != '0'){
                        s += '<img src="'+image_url+i+'/'+faceArray[i]+'.gif" style="padding:0px; position:absolute; width:140px; height:226px;z-index: '+i+'" alt="" />';
                }
        }
        s += '<img src="'+image_url+'blank.gif" style="padding:0px; position:absolute; width:140px; height:226px;" alt="" />';
        $(showpid).innerHTML = s;
}
15. 修改 css_common 模板 (所有風格及日後新增風格如有此檔案均要修改), 完成後到後台執行 "更新 css 檔案快取"
在檔案最尾部份加上
複製內容到剪貼簿
代碼:
/*virtualimage*/
.vispace{width:1em;}
.perinfo{font-family: Tahoma, Verdana; font-size: 11px; color: #202020;margin-left:5px; text-align:left;}
.perinfo p{
width: 125px; margin: 0 0 0px 8px; text-align: left; background: url(../../images/virtualimage/cool/little.gif) no-repeat 0 50%; padding-left:15px; border-bottom: 1px solid #CDCDCD;}
.redtext{font-family: Tahoma, Verdana; font-size: 12px; color: #990000;}
.imagefr1 {margin: 2px Auto; padding-top: 0px; padding-right: 0px; padding-left: 0px; padding-bottom: 0px; width: 140px; height: 226px; position: relative; border: 1px solid {BORDERCOLOR};}
.imagefr{padding:0px; position:absolute; top:0px; left:0px; width:140px; height:226px;}
.viside{border: 1px solid {BORDERCOLOR}; width: 163px; background-image: url(../../images/virtualimage/cool/biao-bg.gif); padding: 8px; margin-bottom:15px; float: left; -moz-border-radius:8px; text-align:center; }
.showimages{border: 1px solid {BORDERCOLOR}; background: {ALTBG1}; width: 163px; padding: 8px; margin-bottom:15px;-moz-border-radius:8px;}
.images_iamges{border: 1px solid {BORDERCOLOR}; width: 140px; background: {ALTBG1}; padding: 10px; -moz-border-radius:8px; }
.images_iamges dt, .bold{font-weight: bold;}
.images_iamges dt img { margin-top:5px; margin-bottom:5px; border: 1px solid {COMMONBOXBORDER}; width: 92px;
height: 92px;}
.images_iamges dd, .images_show dd{padding:2px; margin-left:15px; text-align: left;}
.images_iamges dd img, .images_show dd img, .images_show dt, .images_show dl, .images_iamges dl{margin:0px}
.subhead{font-weight:bold; text-align:center; background:{ALTBG1}; border: 1px solid {COMMONBOXBORDER}; font-size: 1.2em; padding:7px;}
.images_show{border: 1px solid {BORDERCOLOR}; background: {ALTBG1}; padding: 10px;}
.images_show dt img{margin-top:5px; margin-bottom:5px; border: 1px solid {COMMONBOXBORDER}; height: 230px;}
.imagetmp { padding: 0px; position: absolute; top: 0px; left: 0px; width: 280px; height: 226px;}
.imagesshow {padding-top: 0px; padding-right: 0px; padding-left: 0px; padding-bottom: 0px; width: 140px; height: 226px; position: relative; border: 1px solid {BORDERCOLOR};text-align:left;}
/*virtualimage*/
16. 修改 css_viewthread 模板 (所有風格及日後新增風格如有此檔案均要修改), 完成後到後台執行 "更新 css 檔案快取"
在檔案最尾部份加上
複製內容到剪貼簿
代碼:
/*virtualimage*/
.imagefixeddiv {height:235px;width:140px;margin-top:-5px;}
.imagefixed {padding:0px;vertical-align: top; position:absolute;margin-top:-5px; width:185px;}        
div.viavatar{margin: 5px; padding: 0px; width:140px; position:relative; height: 226px;}
/*virtualimage*/
17. 修改 viewthread 模板 (所有風格及日後新增風格如有此檔案均要修改)
複製內容到剪貼簿
代碼:
<!--{if $relatedthreadlist && $qihoo['relate']['position']}-->
在上面加上
複製內容到剪貼簿
代碼:
<!--{if $vimages}-->
<script type="text/javascript">
$vimages
</script>
<!--{/if}-->
18. 修改 viewpro_classic 模板 (所有風格及日後新增風格如有此檔案均要修改)
複製內容到剪貼簿
代碼:
                        <div class="avatar">
                                {echo discuz_uc_avatar($member[uid])}
                        </div>
更換為
複製內容到剪貼簿
代碼:
                $avatar
19. 修改 memcp_home 模板 (所有風格及日後新增風格如有此檔案均要修改)
複製內容到剪貼簿
代碼:
                                <td class="memberinfo_avatar">
                                        {echo discuz_uc_avatar($discuz_uid)}
                                        <p><a href="space.php?uid=$discuz_uid">$discuz_userss</a></p>
                                </td>
更換為
複製內容到剪貼簿
代碼:
$avatar
20. 修改
viewthread_poll
viewthread_reward
viewthread_trade
viewthread_video
viewthread_debate
viewthread_activity

模板共 6 個模板, 修改辦法相同 (所有風格及日後新增風格如有此檔案均要修改)

複製內容到剪貼簿
代碼:
<!--{if $admode && empty($insenz['hardadstatus']) && !empty($advlist['interthread']) && $thread['replies']}--><div class="ad_column" id="ad_interthread">$advlist[interthread]</div><!--{else}--><div id="ad_interthread"></div><!--{/if}-->
在下面加上
複製內容到剪貼簿
代碼:
<!--{if $vimages}-->
<script type="text/javascript">
$vimages
</script>
<!--{/if}-->
21. 修改 actions.lang.php 語言包
複製內容到剪貼簿
代碼:
211 => '修改系統設置',
在下面加上
複製內容到剪貼簿
代碼:
        221 => '正在選擇個人形象',
22. 如設定 "是否開啟強制使用" 是否時, 會員必須到 "虛擬形像設計中心" 在 " 個人設置" 內將 "打開或關閉虛擬形像" 設定為 "啟用" 才可正常顯示會員的形像

~完成~
全新安裝步驟全部完成
引用:
從其他版本升級至虛擬形像 For 6.1 辦法 (合用於 Discuz 6.1.0 及 6.1F)

1. 如果是目前使用 For Discuz 5.0(含) 及以下版本,
- 先往 虛擬形像 For 6.0, 按帖內升級辦法升級至 虛擬形像 For 6.0 版本 (只要執行 images_install.php 升級數據, 不用修改任何檔案),
- 下載本帖程式附件 virtualimage_61_Big5 (繁體中文) 解壓後將 upload 目錄下所有文件按原設定上載至相關目錄
- 執行本帖插件包內的 upvi61.php 升級數據,
- 再按上參考 Discuz 6.1.0 或 6.1F 從第八步開始的修改辦法修改相關檔案,
- 修改完成後往後台執行 "更新快取" 及 刪除 images_install.php 和 upvi61.php 兩個檔案

2. 如果是目前使用 For Discuz 5.5(含) 及以上版本,
- 下載本帖程式附件 virtualimage_61_Big5 (繁體中文) 解壓後將 upload 目錄下所有檔案按原設定上載至相關目錄
- 執行本帖插件包內的 upvi61.php 升級數據,
- 然後按上參考 Discuz 6.1.0 或 6.1F 從第八步開始的修改辦法修改相關檔案,
- 修改完成後往後台執行 "更新快取" 及 刪除 upvi61.php 檔案

3. 如果是目前使用 For Discuz 6.1 測試版本,
這個版本與正式版相差不大, 雖然修改辦法有些差異, 但不會影響整體性能, 如果在加回該帖說明的修正後已可以正常使用
引用:
本版本如有相關修正請見第二帖
附件: 您所在的用戶組無法下載或查看附件
Hack 安裝錯誤, 80% 來自粗心, 請專心安裝
Linux0911 打造您的個性論壇

本人現在忙於研究所, 沒多的時間管論壇, 有問題別發 pm 給我, 謝謝~
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP

虛擬形像 For Discuz 6.1 相關修正

引用:
虛擬形像 For Discuz 6.1 相關修正
所有在修正日期前下載或修改, 請如下辦法修正

1. 修正關閉 "虛擬形像" 後的錯誤顯示
修正日期: 2008.08.02 00:45
修正辦法: 下載附件 virtualimage_61_Patch_20080802.rar 解壓後取代相同檔案


2. 調整 "虛擬形像" 在帖中顯示方式 (不修改也可正常使用, Discuz 6.1F 不用修改)
修正日期: 2008.08.05 02:30
修正辦法: 修改 viewthread.php
複製內容到剪貼簿
代碼:
/* hack virtualimage*/
                        if ($post['gender']!='0' && $post['anonymous']=='0' && ($image_use=='1' ||!empty($post['viid']))){
                                if ($image_use == '1' || $beold == '1'){
                                        $post['viid'] = '';
                                        $imagesdata[gender] = $post[gender];
                                        $imagesdata[pid] = $post[pid];
                                        $imagesdata[uid] = $post[uid];
                                        $imagesdatas[] = $imagesdata;
                        }else{
                                $post['viid'] = "
<script type=\"text/javascript\">
var image_url = '{$image_url}';
showimage('Show{$post[pid]}','{$post[viid]}')
</script>";
                        }
                        $post['avatar'] = "<div class=\"imagefixeddiv\"><div class=\"imagefixed\"><table summary=\"meminfo\" cellspacing=\"0\" cellpadding=\"0\"><tr><td style=\"border-top:none;\"><div id=\"Show{$post['pid']}\" class=\"viavatar\"></div></td></tr></table></div>
{$post['viid']}";
                        }else{
                                $post['avatar'] = '<div class="avatar">'.discuz_uc_avatar($post['authorid']);
                        }
                        if($_DCACHE['usergroups'][$post['groupid']]['groupavatar']) {
                                $post['avatar'] .= '</div><p><img src="'.$_DCACHE['usergroups'][$post['groupid']]['groupavatar'].'" border="0" alt="" /></p>';
                        }else{
                                $post['avatar'] .= '</div>';
                        }
                } else {
                        $post['avatar'] = '';
                }
/* hack virtualimage*/
更換為
複製內容到剪貼簿
代碼:
/* hack virtualimage*/
                        if ($post['gender']!='0' && $post['anonymous']=='0' && ($image_use=='1' ||!empty($post['viid']))){
                                if ($image_use == '1' || $beold == '1'){
                                        $post['viid'] = '';
                                        $imagesdata[gender] = $post[gender];
                                        $imagesdata[pid] = $post[pid];
                                        $imagesdata[uid] = $post[uid];
                                        $imagesdatas[] = $imagesdata;
                                }else{
                                        $viid['viid'] = $post['viid'];                                       
                                        $viid['pid'] = $post['pid'];
                                        $viids[] = $viid;
                                }
                                $post['avatar'] = "<div class=\"imagefixeddiv\"><div class=\"imagefixed\"><table summary=\"meminfo\" cellspacing=\"0\" cellpadding=\"0\"><tr><td style=\"border-top:none;\"><div id=\"Show{$post['pid']}\" class=\"viavatar\"></div></td></tr></table></div>";
                        }else{
                                $post['avatar'] = '<div class="avatar">'.discuz_uc_avatar($post['authorid']);
                        }
                        if($_DCACHE['usergroups'][$post['groupid']]['groupavatar']) {
                                $post['avatar'] .= '</div><p><img src="'.$_DCACHE['usergroups'][$post['groupid']]['groupavatar'].'" border="0" alt="" /></p>';
                        }else{
                                $post['avatar'] .= '</div>';
                        }
                } else {
                        $post['avatar'] = '';
                }
/* hack virtualimage*/
引用:
加送下拉 Q 版形象顯示修改辦法 For Discuz 6.1.0 版本
(為減少資源消耗, 不適用於使用 "形象過期" 及 "強制使用形象" 情況下)

1. 修改 ./include/common.inc.php
複製內容到剪貼簿
代碼:
m.customshow, m.customaddfeed
在後面插入
複製內容到剪貼簿
代碼:
, m.viid AS discuz_viid
2. 修改 ./include/global.func.php
找文件最後一行的
複製內容到剪貼簿
代碼:
?>
在上面加上
複製內容到剪貼簿
代碼:
function discuz_minivi() {
        global $discuz_uid, $discuz_viid;
        @include DISCUZ_ROOT.'./forumdata/cache/plugin_virtualimage.php';
        $image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
        $discuz_vishow = "
<script src=\"include/javascript/minivi.js\" type=\"text/javascript\"></script>
<div id=\"Showminivi_{$discuz_uid}\"></div>
<script type=\"text/javascript\">
var image_url = '{$image_url}';
showminiimage('Showminivi_{$discuz_uid}','{$discuz_viid}')
</script>";
        return $discuz_vishow;
}
3. 修改 jsmenu 模版
複製內容到剪貼簿
代碼:
<li class="popavatar">{echo discuz_uc_avatar($discuz_uid, 'small');}</li>
更換為
複製內容到剪貼簿
代碼:
                <!--{if $discuz_viid}-->
                <li style="height:150px; width:92px;">
                {echo discuz_minivi();}</li>
                <!--{else}-->        
                <li class="popavatar">{echo discuz_uc_avatar($discuz_uid, 'small');}</li>
                <!--{/if}-->
4. 下載附件 minivi.rar 解壓後上載至 ./include/javascript 目錄下
(447 Bytes)

日後調用此 "Q 版形象顯示" 可簡單在調用模板直接用下語法調用, 當然顯示位置還要加上 css 的修改
(注意: 這是顯示會員本身的形象)
複製內容到剪貼簿
代碼:
<!--{if $discuz_viid}-->
{echo discuz_minivi();}
<!--{/if}-->
附件: 您所在的用戶組無法下載或查看附件
Hack 安裝錯誤, 80% 來自粗心, 請專心安裝
Linux0911 打造您的個性論壇

本人現在忙於研究所, 沒多的時間管論壇, 有問題別發 pm 給我, 謝謝~
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP

自從升級6.0之後就沒安裝過虛擬形像
因為它有太多圖了~ @_@
1.流量問題
2.現在的會員喜歡擺自己的頭像
3.退流行 (奇摩好像也沒有造型精靈了)
我是小駝‧小駝是我
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP

大大我有問題請教您!?

2. 下載下列附件 virtualimage.part01.rar 至 virtualimage.part09.rar 解壓後上載至相關目錄

請問關於這點是要上載到哪一個目錄下?

另外我下載之後解壓縮都說檔案意外毀損了

煩請大大解答 感激不盡!!
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP

引用:
原帖由 versus1030 於 2008-9-1 12:00 AM 發表
2. 下載下列附件 virtualimage.part01.rar 至 virtualimage.part09.rar 解壓後上載至相關目錄

請問關於這點是要上載到哪一個目錄下?

另外我下載之後解壓縮都說檔案意外毀損了
1. 解壓縮後剩下 virtualimage 資料夾, 進入第一層後就會看到很多資料夾
/virtualimage/1, 2, 3 ~ 25

而不是 /virtualimage/virtualimage/

上傳到 images 資料夾裡面
/論壇/images/virtualimage/1, 2, 3 ~ 25


2. 測試一下是否完整下載, 按一下測試就會顯示有無問題, 不行的話用 flashget 下載看看
附件: 您所在的用戶組無法下載或查看附件
Hack 安裝錯誤, 80% 來自粗心, 請專心安裝
Linux0911 打造您的個性論壇

本人現在忙於研究所, 沒多的時間管論壇, 有問題別發 pm 給我, 謝謝~
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP

感謝大大指導 我裝好了 謝謝
Linux0911 Forum © 2004-2009 All Rights Reserved.

TOP



論壇聲明
  • 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
    如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
    請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!
最佳瀏覽解析度:不低於 1024 (最佳 1280 以上).(支援 IE 7, Mozilla Firefox, Safari, Chrome)
The Best Surfing Resolution: No Lower than 1024 (Best: above 1280).(IE 7, Mozilla Firefox, Safari, Chrome Supported)