AGAMES 討論區

 找回密碼
 快速註冊
搜索
查看: 1828|回復: 1
打印 上一主題 下一主題

虛擬形像 For Discuz 6.1 (繁/簡/UTF-8) [複製鏈接]

七級帝王會員

☆Prince★}+}|電腦王子

Rank: 7Rank: 7Rank: 7

帖子
3799
EXP
6040 點
金幣
4990 個
好友
0
註冊時間
2008-3-27

友誼之星勳章

跳轉到指定樓層
樓主
發表於 2008-11-9 16:18:12 |只看該作者 |倒序瀏覽
作  者: T.O.M.
AL8   版: alan888
適用版本:  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. 由於 Internet Explorer 6 對 div + css 的兼容不足, 部份形象可能出現移位現象
由於本插件修改較多及容易出錯, 修改時請先備份所有文件及加倍小心


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

1. 下載程式附件 virtualimage_61_Big5 (繁體中文), virtualimage_61_UTF8.rar (UTF-8 繁體中文) 或 virtualimage_61_GBK.rar (簡體中文) 解壓後將 upload 目錄下所有文件按原設定上載至相關目錄

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

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
  1. $postlist = $attachtags = $attachlist = array();
複製代碼
在上面加上
  1. /*hack virtualimage*/
  2. require_once './forumdata/cache/plugin_virtualimage.php';
  3. $image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
  4. $image_use = $_DPLUGIN['virtualimage']['vars']['orderuse'];
  5. $beold = $_DPLUGIN['virtualimage']['vars']['beold'];
  6. /*hack virtualimage*/
複製代碼
再找
  1. viewthread_parsetags();
複製代碼
在下面加上
  1. /*Hack virtualimage*/
  2.         if (!empty($imagesdatas) && ($image_use=='1' || $beold=='1')){
  3.                 $vimages = '';
  4.                 require_once('./virtualimage/global.php');
  5.                 $vimages = images_showimages($imagesdatas);
  6.                 unset($imagesdatas);
  7.         }elseif(!empty($viids)){
  8.                 $vimages = "var image_url = '{$image_url}';\r\n";
  9.                 foreach($viids as $viid){
  10.                 $vimages .= "showimage('Show".$viid[pid]."','".$viid[viid]."');\r\n";
  11.                 unset($viids);               
  12.                 }
  13.         }
  14. /*Hack virtualimage*/
複製代碼
找  (注意不連後面的 "," 號)
  1. m.invisible
複製代碼
在後面插入
  1. , m.viid
複製代碼
  1. $videoopen, $threadpay
複製代碼
在後面插入
  1. , $image_url, $image_use, $imagesdatas, $beold, $viids
複製代碼
  1. if($post['avatar']) {
複製代碼
更換為
  1. /* hack virtualimage*/
  2.                         if ($post['gender']!='0' && $post['anonymous']=='0' && ($image_use=='1' ||!empty($post['viid']))){
  3.                                 if ($image_use == '1' || $beold == '1'){
  4.                                         $post['viid'] = '';
  5.                                         $imagesdata['gender'] = $post['gender'];
  6.                                         $imagesdata['pid'] = $post['pid'];
  7.                                         $imagesdata['uid'] = $post['uid'];
  8.                                         $imagesdatas[] = $imagesdata;
  9.                                 }else{
  10.                                         $viid['viid'] = $post['viid'];                                       
  11.                                         $viid['pid'] = $post['pid'];
  12.                                         $viids[] = $viid;
  13.                                 }
  14.                 $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>";
  15.                 }elseif($post['avatar']) {
  16. /* hack virtualimage*/
複製代碼
  1.                                 $post['avatar'] .= '<div class="avatar"><img src="'.$_DCACHE['usergroups'][$post['groupid']]['groupavatar'].'" border="0" alt="" />';
  2.                         }
  3.                         $post['avatar'] .= '</div>';
複製代碼
更換為
  1. /* hack virtualimage*/
  2.                                 $post['avatar'] .= '</div><p><img src="'.$_DCACHE['usergroups'][$post['groupid']]['groupavatar'].'" border="0" alt="" /></p>';
  3.                         }else{
  4.                                 $post['avatar'] .= '</div>';
  5.                         }
  6. /* hack virtualimage*/
複製代碼
9. 修改 space.php
  1. $discuz_action = 61;
複製代碼
在下面加上
  1. /*hack virtualimage*/
  2. require_once './forumdata/cache/plugin_virtualimage.php';
  3. $image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
  4. $image_use = $_DPLUGIN['virtualimage']['vars']['orderuse'];
  5. $beold = $_DPLUGIN['virtualimage']['vars']['beold'];
  6. /*hack virtualimage*/
複製代碼
  1. if($member['avatar']) {
複製代碼
更換為
  1. /*hack virtualimage*/
  2.         if ($member['gender']!='0' && ($image_use == '1' || !empty($member['viid']))){
  3.                 if($image_use == '1' || $beold == '1'){
  4.                         require_once DISCUZ_ROOT.'./virtualimage/global.php';
  5.                         $imageviid = discuz_vi($member[uid],$member[gender],$beold,0);
  6.                 }else{
  7.                         $imageviid = $member[viid];
  8.                 }
  9.                 $member['avatar'] = "<DIV id=\"Show{$member['uid']}\"  class=\"imagefr1\"></DIV>
  10. <script type=\"text/javascript\">
  11. var image_url = '{$image_url}';
  12. showimage('Show{$member[uid]}','{$imageviid}');
  13. </script>
  14.                         ";
  15.         }elseif($member['avatar']) {
  16. /*hack virtualimage*/
複製代碼
10. 修改 memcp.php
  1. $discuz_action = 7;
複製代碼
在下面加上
  1. /*hack virtualimage*/
  2. require_once './forumdata/cache/plugin_virtualimage.php';
  3. $image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
  4. $image_use = $_DPLUGIN['virtualimage']['vars']['orderuse'];
  5. $beold = $_DPLUGIN['virtualimage']['vars']['beold'];
  6. /*hack virtualimage*/
複製代碼
  1. m.gender, m.groupid
複製代碼
更換為
  1. m.uid, m.gender, m.groupid, m.viid
複製代碼
  1. $validating = array();
複製代碼
在上面加上
  1. /*hack virtualimage*/
  2.                 if ($member['gender']!='0' && ($image_use == '1' || !empty($member['viid']))){
  3.                         if($image_use == '1' || $beold == '1'){
  4.                                 require_once DISCUZ_ROOT.'./virtualimage/global.php';
  5.                                 $imageviid = discuz_vi($member[uid],$member[gender],$beold,0);
  6.                         }else{
  7.                                 $imageviid = $member[viid];
  8.                         }        
  9.                 $avatar = "<DIV id=\"Show{$member['uid']}\" class=\"imagefr1\"></DIV>
  10. <script type=\"text/javascript\">
  11. var image_url = '{$image_url}';
  12. showimage('Show{$member[uid]}','{$imageviid}');
  13. </script>
  14.                         ";
  15.                        }
  16. /*hack virtualimage*/
複製代碼
11. 修改 eccredit.php
  1. $discuz_action = 62;
複製代碼
在下面加上
  1. /*hack virtualimage*/
  2. require_once './forumdata/cache/plugin_virtualimage.php';
  3. $image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
  4. $image_use = $_DPLUGIN['virtualimage']['vars']['orderuse'];
  5. $beold = $_DPLUGIN['virtualimage']['vars']['beold'];
  6. /*hack virtualimage*/
複製代碼
  1. m.username, m.groupid
複製代碼
在後面插入
  1. , m.gender, m.viid
複製代碼
  1. if($member['avatar']) {
複製代碼
更換為
  1. /*hack virtualimage*/
  2.         if ($member['gender']!='0' && ($image_use == '1' || !empty($member['viid']))){
  3.                 if($image_use == '1' || $beold == '1'){
  4.                         require_once DISCUZ_ROOT.'./virtualimage/global.php';
  5.                         $imageviid = discuz_vi($member[uid],$member[gender],$beold,0);
  6.                 }else{
  7.                         $imageviid = $member[viid];
  8.                 }
  9.                 $member['avatar'] = "<DIV id=\"Show{$member['uid']}\"  class=\"imagefr1\"></DIV>
  10. <script type=\"text/javascript\">
  11. var image_url = '{$image_url}';
  12. showimage('Show{$member[uid]}','{$imageviid}');
  13. </script>
  14.                         ";
  15.         }elseif($member['avatar']) {
  16. /*hack virtualimage*/
複製代碼
  1.                 $member['avatar'] .= '<br /><img src="'.$_DCACHE['usergroups'][$member['groupid']]['groupavatar'].'" border="0" alt="" />';
  2.         }
  3.         $member['avatar'] .= '</div>';
複製代碼
更換為
  1.                 $member['avatar'] .= '</div><p><img src="'.$_DCACHE['usergroups'][$member['groupid']]['groupavatar'].'" border="0" alt="" /></p>';
  2.         }else{
  3.                 $member['avatar'] .= '</div>';
  4.         }
複製代碼
12. 修改 include/global.func.php
  1. $show_message .= $url_forward && empty($inajax) ? '<script>setTimeout("window.location.href =\''.$url_forward.'\';", '.$msgforward['refreshtime'].');</script>' : '';
複製代碼
更換為
  1. $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 個文件, 修改辦法相同
找 (注意不連後面的 "," 號)
  1. m.invisible
複製代碼
在後面插入
  1. , m.viid
複製代碼
  1. viewthread_parsetags();
複製代碼
在下面加上
  1. /*Hack virtualimage*/
  2.         if (!empty($imagesdatas) && ($image_use=='1' || $beold=='1')){
  3.                 $vimages = '';
  4.                 require_once('./virtualimage/global.php');
  5.                 $vimages = images_showimages($imagesdatas);
  6.                 unset($imagesdatas);
  7.         }elseif(!empty($viids)){
  8.                 $vimages = "var image_url = '{$image_url}';\r\n";
  9.                 foreach($viids as $viid){
  10.                 $vimages .= "showimage('Show".$viid[pid]."','".$viid[viid]."');\r\n";
  11.                 unset($viids);               
  12.                 }
  13.         }
  14. /*Hack virtualimage*/
複製代碼
14. 修改 include/javascript/common.js
在文件最尾部份加上
  1. function showimage(showpid,currface) {
  2.         if(currface == '') {
  3.                 currface = 0;
  4.         }
  5.         var faceArray = currface.split('-');
  6.         if(faceArray[6] != 0){
  7.                 faceArray[8] = 0;
  8.                 faceArray[9] = 0;
  9.         }
  10.         if(faceArray[12] != 0) {
  11.                 faceArray[6] = 0;
  12.                 faceArray[8] = 0;
  13.                 faceArray[9] = 0;
  14.                 faceArray[10] = 0;
  15.                 faceArray[11] = 0;
  16.                 faceArray[13] = 0;
  17.                 faceArray[14] = 0;
  18.                 faceArray[17] = 0;
  19.                 faceArray[18] = 0;
  20.                 faceArray[20] = 0;
  21.                 faceArray[21] = 0;
  22.                 faceArray[22] = 0;
  23.         }
  24.         var s='';
  25.         for(var i=0; i < 26; i++) {
  26.                 if(faceArray != '0'){
  27.                         s += '<img src="'+image_url+i+'/'+faceArray+'.gif" style="padding:0px; position:absolute; width:140px; height:226px;z-index: '+i+'" alt="" />';
  28.                 }
  29.         }
  30.         s += '<img src="'+image_url+'blank.gif" style="padding:0px; position:absolute; width:140px; height:226px;" alt="" />';
  31.         $(showpid).innerHTML = s;
  32. }
複製代碼
15. 修改 css_common 模板 (所有風格及日後新增風格如有此文件均要修改), 完成後到後台執行 "更新 css 文件緩存"
在文件最尾部份加上
  1. /*virtualimage*/
  2. .vispace{width:1em;}
  3. .perinfo{font-family: Tahoma, Verdana; font-size: 11px; color: #202020;margin-left:5px; text-align:left;}
  4. .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;}
  5. .redtext{font-family: Tahoma, Verdana; font-size: 12px; color: #990000;}
  6. .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;}
  7. .imagefr{padding:0px; position:absolute; top:0px; left:0px; width:140px; height:226px;}
  8. .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;}
  9. .showimages{border: 1px solid {BORDERCOLOR}; background: {ALTBG1}; width: 163px; padding: 8px; margin-bottom:15px;-moz-border-radius:8px;}
  10. .images_iamges{border: 1px solid {BORDERCOLOR}; width: 140px; background: {ALTBG1}; padding: 10px; -moz-border-radius:8px;}
  11. .images_iamges dt, .bold{font-weight: bold;}
  12. .images_iamges dt img{margin-top:5px; margin-bottom:5px; border: 1px solid {COMMONBOXBORDER}; width: 92px;
  13. height: 92px;}
  14. .images_iamges dd, .images_show dd{padding:2px; margin-left:15px; text-align: left;}
  15. .images_iamges dd img, .images_show dd img, .images_show dt, .images_show dl, .images_iamges dl{ margin:0px}
  16. .subhead{font-weight:bold; text-align:center; background:{ALTBG1}; border: 1px solid {COMMONBOXBORDER}; font-size: 1.2em; padding:7px;}
  17. .images_show{border: 1px solid {BORDERCOLOR}; background: {ALTBG1}; padding: 10px;}
  18. .images_show dt img{margin-top:5px; margin-bottom:5px; border: 1px solid {COMMONBOXBORDER}; height: 230px;}
  19. .imagetmp{padding: 0px; position: absolute; top: 0px; left: 0px; width: 280px; height: 226px;}
  20. /*virtualimage*/
複製代碼
16. 修改 css_viewthread 模板 (所有風格及日後新增風格如有此文件均要修改), 完成後到後台執行 "更新 css 文件緩存"
在文件最尾部份加上
  1. /*virtualimage*/
  2. .imagefixeddiv {height:235px;width:140px;margin-top:-5px;}
  3. .imagefixed {padding:0px;vertical-align: top; position:absolute;margin-top:-5px; width:185px;}        
  4. div.viavatar{margin: 5px; padding: 0px; width:140px; position:relative; height: 226px;}
  5. /*virtualimage*/
複製代碼
17. 修改 viewthread 模板 (所有風格及日後新增風格如有此文件均要修改)
  1. <!--{if $relatedthreadlist && $qihoo['relate']['position']}-->
複製代碼
在上面加上
  1. <!--{if $vimages}-->
  2. <script type="text/javascript">
  3. $vimages
  4. </script>
  5. <!--{/if}-->
複製代碼
18. 修改 viewthread_poll, viewthread_reward, viewthread_trade, viewthread_video, viewthread_debate, viewthread_activity 模板共 6 個模板, 修改辦法相同 (所有風格及日後新增風格如有此文件均要修改)
  1. <!--{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}-->
複製代碼
在下面加上
  1. <!--{if $vimages}-->
  2. <script type="text/javascript">
  3. $vimages
  4. </script>
  5. <!--{/if}-->
複製代碼
19. 修改 actions.lang.php 語言包
  1. 211 => '修改系統設置',
複製代碼
在下面加上
  1.         221 => '正在選擇個人形象',
複製代碼
20. 如設定 "是否開啟強制使用" 是否時, 會員必須到 "虛擬形像設計中心" 在 " 個人設置" 內將 "打開或關閉虛擬形像" 設定為 "啟用" 才可正常顯示會員的形像

~完成~

Discuz 6.1.0 文件修改 (按 20080606 版本為準)
8. 修改 viewthread.php
  1. $postlist = $attachtags = $attachlist = array();
複製代碼
在上面加上
  1. /*hack virtualimage*/
  2. require_once './forumdata/cache/plugin_virtualimage.php';
  3. $image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
  4. $image_use = $_DPLUGIN['virtualimage']['vars']['orderuse'];
  5. $beold = $_DPLUGIN['virtualimage']['vars']['beold'];
  6. /*hack virtualimage*/
複製代碼
再找
  1. viewthread_parsetags();
複製代碼
在下面加上
  1. /*Hack virtualimage*/
  2.         if (!empty($imagesdatas) && ($image_use=='1' || $beold=='1')){
  3.                 $vimages = '';
  4.                 require_once('./virtualimage/global.php');
  5.                 $vimages = images_showimages($imagesdatas);
  6.                 unset($imagesdatas);
  7.         }elseif(!empty($viids)){
  8.                 $vimages = "var image_url = '{$image_url}';\r\n";
  9.                         foreach($viids as $viid){
  10.                                 $vimages .= "showimage('Show".$viid[pid]."','".$viid[viid]."');\r\n";
  11.                                 unset($viids);               
  12.                         }
  13.         }
  14. /*Hack virtualimage*/
複製代碼
找  (注意不連後面的 "," 號)
  1. m.invisible
複製代碼
在後面插入
  1. , m.viid
複製代碼
  1. $videoopen, $threadpay
複製代碼
在後面插入
  1. , $image_url, $image_use, $imagesdatas, $beold, $viids
複製代碼
  1.                         $post['avatar'] = '<div class="avatar">'.discuz_uc_avatar($post['authorid']);
  2.                         if($_DCACHE['usergroups'][$post['groupid']]['groupavatar']) {
  3.                                 $post['avatar'] .= '<br /><img src="'.$_DCACHE['usergroups'][$post['groupid']]['groupavatar'].'" border="0" alt="" />';
  4.                         }
  5.                         $post['avatar'] .= '</div>';
  6.                 } else {
  7.                         $post['avatar'] = '';
  8.                 }
複製代碼
更換為
  1. /* hack virtualimage*/
  2.                         if ($post['gender']!='0' && $post['anonymous']=='0' && ($image_use=='1' ||!empty($post['viid']))){
  3.                                 if ($image_use == '1' || $beold == '1'){
  4.                                         $post['viid'] = '';
  5.                                         $imagesdata[gender] = $post[gender];
  6.                                         $imagesdata[pid] = $post[pid];
  7.                                         $imagesdata[uid] = $post[uid];
  8.                                         $imagesdatas[] = $imagesdata;
  9.                                 }else{
  10.                                         $viid['viid'] = $post['viid'];                                       
  11.                                         $viid['pid'] = $post['pid'];
  12.                                         $viids[] = $viid;
  13.                                 }
  14.                                 $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>";
  15.                         }else{
  16.                                 $post['avatar'] = '<div class="avatar">'.discuz_uc_avatar($post['authorid']);
  17.                         }
  18.                         if($_DCACHE['usergroups'][$post['groupid']]['groupavatar']) {
  19.                                 $post['avatar'] .= '</div><p><img src="'.$_DCACHE['usergroups'][$post['groupid']]['groupavatar'].'" border="0" alt="" /></p>';
  20.                         }else{
  21.                                 $post['avatar'] .= '</div>';
  22.                         }
  23.                 } else {
  24.                         $post['avatar'] = '';
  25.                 }
  26. /* hack virtualimage*/
複製代碼
9. 修改 space.php
  1. $discuz_action = 61;
複製代碼
在下面加上
  1. /*hack virtualimage*/
  2. require_once './forumdata/cache/plugin_virtualimage.php';
  3. $image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
  4. $image_use = $_DPLUGIN['virtualimage']['vars']['orderuse'];
  5. $beold = $_DPLUGIN['virtualimage']['vars']['beold'];
  6. /*hack virtualimage*/
複製代碼
  1. $member['usernameenc'] = rawurlencode($member['username']);
複製代碼
在下面加上
  1. /*hack virtualimage*/
  2. if ($member['gender']!='0' && ($image_use == '1' || !empty($member['viid']))){
  3.                 if($image_use == '1' || $beold == '1'){
  4.                                 require_once DISCUZ_ROOT.'./virtualimage/global.php';
  5.                                 $imageviid = discuz_vi($member[uid],$member[gender],$beold,0);
  6.                 }else{
  7.                                 $imageviid = $member[viid];
  8.                 }
  9.         $avatar = "<DIV id=\"Show{$member['uid']}\"  class=\"imagefr1\"></DIV>
  10. <script type=\"text/javascript\">
  11. var image_url = '{$image_url}';
  12. showimage('Show{$member[uid]}','{$imageviid}');
  13. </script>";
  14.                 }else{
  15.                                 $avatar = "<div class=\"avatar\">".discuz_uc_avatar($member[uid])."</div>";
  16.                 }               
  17. /*hack virtualimage*/
複製代碼
10. 修改 memcp.php
  1. $discuz_action = 7;
複製代碼
在下面加上
  1. /*hack virtualimage*/
  2. require_once './forumdata/cache/plugin_virtualimage.php';
  3. $image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
  4. $image_use = $_DPLUGIN['virtualimage']['vars']['orderuse'];
  5. $beold = $_DPLUGIN['virtualimage']['vars']['beold'];
  6. /*hack virtualimage*/
複製代碼
  1. lastvisit, lastip, lastpost
複製代碼
在後面插入
  1. , gender, viid
複製代碼
  1. $member['postperday'] = $timestamp - $member['regdate'] > 86400
複製代碼
在上面加上
  1. /*hack virtualimage*/
  2. if ($member['gender']!='0' && ($image_use == '1' || !empty($member['viid']))){
  3.         if($image_use == '1' || $beold == '1'){
  4.                 require_once DISCUZ_ROOT.'./virtualimage/global.php';
  5.                 $imageviid = discuz_vi($member[uid],$member[gender],$beold,0);
  6.         }else{
  7.                 $imageviid = $member[viid];
  8.         }
  9.     $avatar = "<td><DIV id=\"Show{$member['uid']}\"  class=\"imagefr1\"></DIV>
  10. <script type=\"text/javascript\">
  11. var image_url = '{$image_url}';
  12. showimage('Show{$member[uid]}','{$imageviid}');
  13. </script>
  14. <p class=\"memberinfo_avatar\"><a href=\"space.php?uid=".$discuz_uid."\">".$discuz_userss."</a></p></td>";
  15.         }else{
  16.                 $avatar = "<td class=\"memberinfo_avatar\">".discuz_uc_avatar($member[uid])."<p><a href=\"space.php?uid=".$discuz_uid."\">".$discuz_userss."</a></p></td>";
  17.         }        
  18. /*hack virtualimage*/
複製代碼
11. 修改 eccredit.php
  1. $discuz_action = 62;
複製代碼
在下面加上
  1. /*hack virtualimage*/
  2. require_once './forumdata/cache/plugin_virtualimage.php';
  3. $image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
  4. $image_use = $_DPLUGIN['virtualimage']['vars']['orderuse'];
  5. $beold = $_DPLUGIN['virtualimage']['vars']['beold'];
  6. /*hack virtualimage*/
複製代碼
  1. m.username, m.groupid
複製代碼
在後面插入
  1. , m.gender, m.viid
複製代碼
  1. $member['avatar'] = '<div class="avatar">'.discuz_uc_avatar($member['uid']);
複製代碼
在上面加上
  1. /*hack virtualimage*/
  2.         if ($member['gender']!='0' && ($image_use == '1' || !empty($member['viid']))){
  3.                 if($image_use == '1' || $beold == '1'){
  4.                         require_once DISCUZ_ROOT.'./virtualimage/global.php';
  5.                         $imageviid = discuz_vi($member[uid],$member[gender],$beold,0);
  6.                 }else{
  7.                         $imageviid = $member[viid];
  8.                 }
  9.                 $member['avatar'] = "<DIV id=\"Show{$member['uid']}\"  class=\"imagefr1\"></DIV>
  10. <script type=\"text/javascript\">
  11. var image_url = '{$image_url}';
  12. showimage('Show{$member[uid]}','{$imageviid}');
  13. </script>
  14.                         ";
  15.         }else{
  16. /*hack virtualimage*/
複製代碼
  1.                 $member['avatar'] .= '<br /><img src="'.$_DCACHE['usergroups'][$member['groupid']]['groupavatar'].'" border="0" alt="" />';
  2.         }
  3.         $member['avatar'] .= '</div>';
複製代碼
更換為
  1.                 $member['avatar'] .= '</div><p><img src="'.$_DCACHE['usergroups'][$member['groupid']]['groupavatar'].'" border="0" alt="" /></p>';
  2.         }else{
  3.                 $member['avatar'] .= '</div>';
  4.         }
  5. }
複製代碼
12. 修改 include/global.func.php
  1. $show_message .= $url_forward && empty($inajax) ? '<script>setTimeout("window.location.href =\''.$url_forward.'\';", '.$msgforward['refreshtime'].');</script>' : '';
複製代碼
更換為
  1. $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 個文件, 修改辦法相同
找 (注意不連後面的 "," 號)
  1. m.invisible
複製代碼
在後面插入
  1. , m.viid
複製代碼
  1. viewthread_parsetags();
複製代碼
在下加上面
  1. /*Hack virtualimage*/
  2.         if (!empty($imagesdatas) && ($image_use=='1' || $beold=='1')){
  3.                 $vimages = '';
  4.                 require_once('./virtualimage/global.php');
  5.                 $vimages = images_showimages($imagesdatas);
  6.                 unset($imagesdatas);
  7.         }elseif(!empty($viids)){
  8.                 $vimages = "var image_url = '{$image_url}';\r\n";
  9.                 foreach($viids as $viid){
  10.                 $vimages .= "showimage('Show".$viid[pid]."','".$viid[viid]."');\r\n";
  11.                 unset($viids);               
  12.                 }
  13.         }
  14. /*Hack virtualimage*/
複製代碼
14. 修改 include/javascript/common.js
在文件最尾部份加上
  1. function showimage(showpid,currface) {
  2.         if(currface == '') {
  3.                 currface = 0;
  4.         }
  5.         var faceArray = currface.split('-');
  6.         if(faceArray[6] != 0){
  7.                 faceArray[8] = 0;
  8.                 faceArray[9] = 0;
  9.         }
  10.         if(faceArray[12] != 0) {
  11.                 faceArray[6] = 0;
  12.                 faceArray[8] = 0;
  13.                 faceArray[9] = 0;
  14.                 faceArray[10] = 0;
  15.                 faceArray[11] = 0;
  16.                 faceArray[13] = 0;
  17.                 faceArray[14] = 0;
  18.                 faceArray[17] = 0;
  19.                 faceArray[18] = 0;
  20.                 faceArray[20] = 0;
  21.                 faceArray[21] = 0;
  22.                 faceArray[22] = 0;
  23.         }
  24.         var s='';
  25.         for(var i=0; i < 26; i++) {
  26.                 if(faceArray != '0'){
  27.                         s += '<img src="'+image_url+i+'/'+faceArray+'.gif" style="padding:0px; position:absolute; width:140px; height:226px;z-index: '+i+'" alt="" />';
  28.                 }
  29.         }
  30.         s += '<img src="'+image_url+'blank.gif" style="padding:0px; position:absolute; width:140px; height:226px;" alt="" />';
  31.         $(showpid).innerHTML = s;
  32. }
複製代碼
15. 修改 css_common 模板 (所有風格及日後新增風格如有此文件均要修改), 完成後到後台執行 "更新 css 文件緩存"
在文件最尾部份加上
  1. /*virtualimage*/
  2. .vispace{width:1em;}
  3. .perinfo{font-family: Tahoma, Verdana; font-size: 11px; color: #202020;margin-left:5px; text-align:left;}
  4. .perinfo p{
  5. 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;}
  6. .redtext{font-family: Tahoma, Verdana; font-size: 12px; color: #990000;}
  7. .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};}
  8. .imagefr{padding:0px; position:absolute; top:0px; left:0px; width:140px; height:226px;}
  9. .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; }
  10. .showimages{border: 1px solid {BORDERCOLOR}; background: {ALTBG1}; width: 163px; padding: 8px; margin-bottom:15px;-moz-border-radius:8px;}
  11. .images_iamges{border: 1px solid {BORDERCOLOR}; width: 140px; background: {ALTBG1}; padding: 10px; -moz-border-radius:8px; }
  12. .images_iamges dt, .bold{font-weight: bold;}
  13. .images_iamges dt img { margin-top:5px; margin-bottom:5px; border: 1px solid {COMMONBOXBORDER}; width: 92px;
  14. height: 92px;}
  15. .images_iamges dd, .images_show dd{padding:2px; margin-left:15px; text-align: left;}
  16. .images_iamges dd img, .images_show dd img, .images_show dt, .images_show dl, .images_iamges dl{margin:0px}
  17. .subhead{font-weight:bold; text-align:center; background:{ALTBG1}; border: 1px solid {COMMONBOXBORDER}; font-size: 1.2em; padding:7px;}
  18. .images_show{border: 1px solid {BORDERCOLOR}; background: {ALTBG1}; padding: 10px;}
  19. .images_show dt img{margin-top:5px; margin-bottom:5px; border: 1px solid {COMMONBOXBORDER}; height: 230px;}
  20. .imagetmp { padding: 0px; position: absolute; top: 0px; left: 0px; width: 280px; height: 226px;}
  21. .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;}
  22. /*virtualimage*/
複製代碼
16. 修改 css_viewthread 模板 (所有風格及日後新增風格如有此文件均要修改), 完成後到後台執行 "更新 css 文件緩存"
在文件最尾部份加上
  1. /*virtualimage*/
  2. .imagefixeddiv {height:235px;width:140px;margin-top:-5px;}
  3. .imagefixed {padding:0px;vertical-align: top; position:absolute;margin-top:-5px; width:185px;}        
  4. div.viavatar{margin: 5px; padding: 0px; width:140px; position:relative; height: 226px;}
  5. /*virtualimage*/
複製代碼
17. 修改 viewthread 模板 (所有風格及日後新增風格如有此文件均要修改)
  1. <!--{if $relatedthreadlist && $qihoo['relate']['position']}-->
複製代碼
在上面加上
  1. <!--{if $vimages}-->
  2. <script type="text/javascript">
  3. $vimages
  4. </script>
  5. <!--{/if}-->
複製代碼
18. 修改 viewpro_classic 模板 (所有風格及日後新增風格如有此文件均要修改)
  1.                         <div class="avatar">
  2.                                 {echo discuz_uc_avatar($member[uid])}
  3.                         </div>
複製代碼
更換為
  1.                 $avatar
複製代碼
19. 修改 memcp_home 模板 (所有風格及日後新增風格如有此文件均要修改)
  1.                                 <td class="memberinfo_avatar">
  2.                                         {echo discuz_uc_avatar($discuz_uid)}
  3.                                         <p><a href="space.php?uid=$discuz_uid">$discuz_userss</a></p>
  4.                                 </td>
複製代碼
更換為
  1. $avatar
複製代碼
20. 修改 viewthread_poll, viewthread_reward, viewthread_trade, viewthread_video, viewthread_debate, viewthread_activity 模板共 6 個模板, 修改辦法相同 (所有風格及日後新增風格如有此文件均要修改)
  1. <!--{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}-->
複製代碼
在下面加上
  1. <!--{if $vimages}-->
  2. <script type="text/javascript">
  3. $vimages
  4. </script>
  5. <!--{/if}-->
複製代碼
21. 修改 actions.lang.php 語言包
  1. 211 => '修改系統設置',
複製代碼
在下面加上
  1.         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 測試版本,
這個版本與正式版相差不大, 雖然修改辦法有些差異, 但不會影響整體性能, 如果在加回該帖說明的修正後已可以正常使用

本版本如有相關修正請見第二帖

[ 本帖最後由 dlalden 於 2008-11-9 16:21 編輯 ]
附件: 你需要登錄才可以下載或查看附件。沒有帳號?快速註冊
Alta Multimedia - Youtube:http://www.youtube.com/user/altahk

七級帝王會員

☆Prince★}+}|電腦王子

Rank: 7Rank: 7Rank: 7

帖子
3799
EXP
6040 點
金幣
4990 個
好友
0
註冊時間
2008-3-27

友誼之星勳章

2
發表於 2008-11-9 16:27:18 |只看該作者
虛擬形像 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

  1. /* hack virtualimage*/
  2.                         if ($post['gender']!='0' && $post['anonymous']=='0' && ($image_use=='1' ||!empty($post['viid']))){
  3.                                 if ($image_use == '1' || $beold == '1'){
  4.                                         $post['viid'] = '';
  5.                                         $imagesdata[gender] = $post[gender];
  6.                                         $imagesdata[pid] = $post[pid];
  7.                                         $imagesdata[uid] = $post[uid];
  8.                                         $imagesdatas[] = $imagesdata;
  9.                         }else{
  10.                                 $post['viid'] = "
  11. <script type=\"text/javascript\">
  12. var image_url = '{$image_url}';
  13. showimage('Show{$post[pid]}','{$post[viid]}')
  14. </script>";
  15.                         }
  16.                         $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>
  17. {$post['viid']}";
  18.                         }else{
  19.                                 $post['avatar'] = '<div class="avatar">'.discuz_uc_avatar($post['authorid']);
  20.                         }
  21.                         if($_DCACHE['usergroups'][$post['groupid']]['groupavatar']) {
  22.                                 $post['avatar'] .= '</div><p><img src="'.$_DCACHE['usergroups'][$post['groupid']]['groupavatar'].'" border="0" alt="" /></p>';
  23.                         }else{
  24.                                 $post['avatar'] .= '</div>';
  25.                         }
  26.                 } else {
  27.                         $post['avatar'] = '';
  28.                 }
  29. /* hack virtualimage*/
複製代碼

更換為
  1. /* hack virtualimage*/
  2.                         if ($post['gender']!='0' && $post['anonymous']=='0' && ($image_use=='1' ||!empty($post['viid']))){
  3.                                 if ($image_use == '1' || $beold == '1'){
  4.                                         $post['viid'] = '';
  5.                                         $imagesdata[gender] = $post[gender];
  6.                                         $imagesdata[pid] = $post[pid];
  7.                                         $imagesdata[uid] = $post[uid];
  8.                                         $imagesdatas[] = $imagesdata;
  9.                                 }else{
  10.                                         $viid['viid'] = $post['viid'];                                       
  11.                                         $viid['pid'] = $post['pid'];
  12.                                         $viids[] = $viid;
  13.                                 }
  14.                                 $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>";
  15.                         }else{
  16.                                 $post['avatar'] = '<div class="avatar">'.discuz_uc_avatar($post['authorid']);
  17.                         }
  18.                         if($_DCACHE['usergroups'][$post['groupid']]['groupavatar']) {
  19.                                 $post['avatar'] .= '</div><p><img src="'.$_DCACHE['usergroups'][$post['groupid']]['groupavatar'].'" border="0" alt="" /></p>';
  20.                         }else{
  21.                                 $post['avatar'] .= '</div>';
  22.                         }
  23.                 } else {
  24.                         $post['avatar'] = '';
  25.                 }
  26. /* hack virtualimage*/
複製代碼


加送下拉 Q 版形象顯示修改辦法 For Discuz 6.1.0 版本
(為減少資源消耗, 不適用於使用 "形象過期" 及 "強制使用形象" 情況下)

1. 修改 include/common.inc.php
  1. m.customshow, m.customaddfeed
複製代碼

在後面插入
  1. , m.viid AS discuz_viid
複製代碼

2. 修改 include/global.func.php
找文件最後一行的
  1. ?>
複製代碼

在上面加上
  1. function discuz_minivi() {
  2.         global $discuz_uid, $discuz_viid;
  3.         @include DISCUZ_ROOT.'./forumdata/cache/plugin_virtualimage.php';
  4.         $image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
  5.         $discuz_vishow = "
  6. <script src=\"include/javascript/minivi.js\" type=\"text/javascript\"></script>
  7. <div id=\"Showminivi_{$discuz_uid}\"></div>
  8. <script type=\"text/javascript\">
  9. var image_url = '{$image_url}';
  10. showminiimage('Showminivi_{$discuz_uid}','{$discuz_viid}')
  11. </script>";
  12.         return $discuz_vishow;
  13. }
複製代碼

3. 修改 jsmenu 模版

  1. <li class="popavatar">{echo discuz_uc_avatar($discuz_uid, 'small');}</li>
複製代碼

更換為
  1.                 <!--{if $discuz_viid}-->
  2.                 <li style="height:150px; width:92px;">
  3.                 {echo discuz_minivi();}</li>
  4.                 <!--{else}-->        
  5.                 <li class="popavatar">{echo discuz_uc_avatar($discuz_uid, 'small');}</li>
  6.                 <!--{/if}-->
複製代碼

4. 下載附件 minivi.rar 解壓後上載至 include/javascript 目錄下

日後調用此 "Q 版形象顯示" 可簡單在調用模板直接用下語法調用, 當然顯示位置還要加上 css 的修改
(注意: 這是顯示會員本身的形象)
  1. <!--{if $discuz_viid}-->
  2. {echo discuz_minivi();}
  3. <!--{/if}-->
複製代碼

附件: 你需要登錄才可以下載或查看附件。沒有帳號?快速註冊
您需要登錄後才可以回帖 登錄 | 快速註冊

Archiver|手機版|AGAMES 討論區

GMT+8, 2024-9-20 06:30 , Processed in 0.081468 second(s), 12 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回頂部