woff 發表於 2008-5-24 13:07:53

虛擬形像 AL8 for Discuz! 6.0 (big5, GBK, UTF-8) - 2007.11.13 更新

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

新增功能: 按 Discuz! 6.0.0 規範重新編寫所有模板及檔案

注  意:
照相館必須服務器支援 GD 庫才可正常使用


由於本插件修改較多及容易出錯, 本站特提供已修改好的所有檔案供參考 (按 20070904 版本修改), 該等文件放在插件包內 hacked 的目錄下


全新安裝辦法:
1. 下載程式附件 virtualimage_60_Big5.rar (繁體中文), virtualimage_60_GB.rar (簡體中文) virtualimage_60_TC_UFT8.rar (UTF-8 繁體中文) 解壓後將 upload 目錄下所有文件按原設定上載至相關目錄 (discuz_plugin_virtualimage.txt及 discuz_plugin_images_admin.txt 檔案不用上載)

2. 往下帖下載附件 2-10 , 解壓後上載至相關目錄

或在此下載http://www.alan888.com/Discuz/viewthread.php?tid=63

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 將內容剪帖至:
後台→插件設置→插件管理→貼入 "導入插件數據" 下的空格內→提交

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

7. 打開附件的 discuz_plugin_images_admin.txt 將內容剪帖至
後台→插件設置→插件管理→貼入 "導入插件數據" 下的空格內→提交

8. 修改 viewthread.php
找$postlist = $attachtags = $attachlist = array();在上面加上//-----------------------------virtualimage
      require_once './forumdata/cache/plugin_virtualimage.php';
      $imagesset = $_DPLUGIN['virtualimage']['vars'];
      unset($_DPLUGIN['virtualimage']['vars']);
      if($imagesset==1){
                $alpha = "FILTER: alpha(opacity=\"+WearArray+\")";
      }
      $imagesdatas = '';
//----------------------------找 (注意不連後面的 "," 號)mf.customstatus在後面插入, mf.useimages找$firstpid, $videoopen在後面插入, $imagesdatas, $vimages, $imagesset找$post['avatar'] = '<div class="avatar"><img class="avatar" src="images/avatars/noavatar.gif" alt="" />';
                        }在下面加上//------------------------------------------------------------virtualimage
                if ($post['gender']!='0' && $post['anonymous']=='0' && ($imagesset['orderuse']=='1' || $post['useimages']=='1')){
                        if ($post==1){
                        $imagesdata = '0-0-0-0-0-0-0-0-init-init-0-init-0-init-init-0-0-0-init-0-0-0-0-0-0-0';//male initial
                        $imagesdata = "m";
                        $imagesdata = "init";
                        }elseif ($post==2){
                        $imagesdata = '0-0-0-0-0-0-0-0-initf-initf-0-initf-0-initf-initf-0-0-0-initf-0-0-0-0-0-0-0'; //female initial
                        $imagesdata = "f";
                        $imagesdata = "initf";
                        }
                $imagesdata = $post;
                  $imagesdata = $post;
                $imagesdatas[] = $imagesdata;
                $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>";
                }

//--------------------------------------------------------------找 (對下一行)                        if($_DCACHE['usergroups'][$post['groupid']]['groupavatar']) {
                              $post['avatar'] .= '
<img src="'.$_DCACHE['usergroups'][$post['groupid']]['groupavatar'].'" border="0" alt="" />';
                        }
                        $post['avatar'] .= '</div>';
                }改為                        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>';
                }
      }找viewthread_parsetags();在下面加上//--------------------------------------------virtualimage
       if($imagesdatas!=''){
                $vimages = '';
                require_once('./virtualimage/global.php');
                $vimages = images_showimages($imagesdatas,$alhpa,$imagesset);
                unset($imagesdatas,$imagesdata,$alpha);
      }
//--------------------------------------9. 修改 space.php
找include_once language('spaces');在下面加上//-----------------------------virtualimage queries
require_once DISCUZ_ROOT.'./forumdata/cache/plugin_virtualimage.php';
$imagesset = $_DPLUGIN['virtualimage']['vars'];
if($imagesset){$alpha = "FILTER: alpha(opacity=\"+WearArray+\")";}
//-----------------------------找$uid = $member['uid'];在上面加上//------------------------------------------------------------virtualimage
$member['avatar'] = $member['avatar'] ? "<div class=\"avatar\" style=\"width: ".$member['avatarwidth']."\"><img src=\"$member\" width=\"$member\" height=\"$member\" border=\"0\" alt=\"\"/></div>" : '<div class=\"avatar\" style=\"width: 128px\"><img class="avatar" src="images/avatars/noavatar.gif" alt="" /></div>';
      if ($imagesset['orderuse']!='1' && ($member['useimages'] != 1 ||$member==0)){
                $member['avatar'] = $member['avatar'];
                }else{
                        if ($member==1){
                        $tempequip ='0-0-0-0-0-0-0-0-init-init-0-init-0-init-init-0-0-0-init-0-0-0-0-0-0-0';//male initial
                        $sex = "m";
                        $upid = "init";
                        }elseif ($member==2){
                        $tempequip ='0-0-0-0-0-0-0-0-initf-initf-0-initf-0-initf-initf-0-0-0-initf-0-0-0-0-0-0-0'; //female initial
                        $sex = "f";
                        $upid = "initf";
                        }

                $userwearip ='400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-40 0-400-400';//goods check
                $cookiearray = split('-', $tempequip);
                $weararray = split('-', $userwearip);
                $imagescookie = $db->query("SELECT * FROM {$tablepre}images_userwhere userid = '$member' and dafaultuse = '1' and (suitable = '$sex' or suitable = 't')");
                while ($userimages = $db->fetch_array($imagescookie)){
                $tempi = $userimages;
                $cookiearray[$tempi] = $userimages;
                        if($imagesset){
                        $images_weardate = $userimages - (time() -$userimages);
                        $images_weardate = ceil($images_weardate/8640);
                              if ($images_weardate <= 0){
                              $db->query("UPDATE {$tablepre}images_user SETdafaultuse = '3' WHERE userid='$member' and picid = '$userimages' and classid='$userimages' and dafaultuse='1'");
                              if($userimages ==8||$userimages==9||$userimages==11||$userimages ==13||$userimages==14||$userimages==18){
                              $userupid = $upid;
                              }else{
                              $userupid = "0";
                              }
                              $cookiearray[$tempi] = $userupid;
                              }else{
                              $weararray[$tempi] = $images_weardate;
                              }
                        }else{
                        $weararray[$tempi] = 100;
                        }
                }
                $userimages = implode("-", $cookiearray);
                $userwear = implode("-", $weararray);
                $member['avatar'] = "
                <!-- virtualimage start-->
                <div id=\"Show{$member['uid']}\" style=\"padding:0px; left:0px; width:140px; position:relative; top:0px; height:226px; margin-top:5px; margin-bottom:5px\"></div>
                <SCRIPT language=JavaScript>
                var currface = \"$userimages\";
                var currwear = \"$userwear\";
                var showArray = currface.split('-');
                var WearArray = currwear.split('-');
                        if (showArray != '0'){
                        showArray = 0;
                        showArray = 0;
                        }
                var s=\"\";
                for (var i=0; i<26; i++){
                        if(showArray != '0'){
                              if((showArray == 'init') || (showArray == 'initf')){
                              s+='<img src=\"{$imagesset}'+i+'/'+showArray+'.gif\" style=\"padding:0px; position:absolute; top:0px; left:0px; width:140px; height:226px; z-index:'+i+';\" />';
                              }else{
                              s+='<img src=\"{$imagesset}'+i+'/'+showArray+'.gif\" style=\"padding:0px; position:absolute; top:0px; left:0; width:140px; height:226px; z-index:'+i+';".$alpha."\" />';
                              }
                        }
                }
                s+='<img src=\"{$imagesset}blank.gif\" style=\"padding:0px; position:absolute; top:0px; left:0px; width:140px; height:226px; z-index:50\" />';
                $('Show{$member['uid']}').innerHTML=s;
                </SCRIPT>
                <!-- virtualimage end-->
                ";
      }
//--------------------------------------------------------------10. 修改 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 個文件, 修改辦法相同
找 (注意不連後面的 "," 號)mf.customstatus在後面插入, mf.useimages找viewthread_parsetags();在下加上面//--------------------------------------------virtualimage
       if($imagesdatas!=''){
                $vimages = '';
                require_once('./virtualimage/global.php');
                $vimages = images_showimages($imagesdatas,$alhpa,$imagesset);
                unset($imagesdatas,$imagesdata,$alpha);
      }
//--------------------------------------11. 修改 include/viewpro.inc.php找$oltimeadd1 = $oltimeadd2 = '';
}在下面加上//-----------------------------virtualimage queries
require_once DISCUZ_ROOT.'./forumdata/cache/plugin_virtualimage.php';
$imagesset = $_DPLUGIN['virtualimage']['vars'];
if($imagesset){$alpha = "FILTER: alpha(opacity=\"+WearArray+\")";}
//-----------------------------找$uid = $member['uid'];在上面加上//------------------------------------------------------------virtualimage
$member['avatar'] = $member['avatar'] ? "<div class=\"avatar\" style=\"width: ".$member['avatarwidth']."\"><img src=\"$member\" width=\"$member\" height=\"$member\" border=\"0\" alt=\"\"/></div>" : '<div class=\"avatar\" style=\"width: 128px\"><img class="avatar" src="images/avatars/noavatar.gif" alt="" /></div>';
      if ($imagesset['orderuse']!='1' && ($member['useimages'] != 1 ||$member==0)){
                $member['avatar'] = $member['avatar'];
                }else{
                        if ($member==1){
                        $tempequip ='0-0-0-0-0-0-0-0-init-init-0-init-0-init-init-0-0-0-init-0-0-0-0-0-0-0';//male initial
                        $sex = "m";
                        $upid = "init";
                        }elseif ($member==2){
                        $tempequip ='0-0-0-0-0-0-0-0-initf-initf-0-initf-0-initf-initf-0-0-0-initf-0-0-0-0-0-0-0'; //female initial
                        $sex = "f";
                        $upid = "initf";
                        }

                $userwearip ='400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-40 0-400-400';//goods check
                $cookiearray = split('-', $tempequip);
                $weararray = split('-', $userwearip);
                $imagescookie = $db->query("SELECT * FROM {$tablepre}images_userwhere userid = '$member' and dafaultuse = '1' and (suitable = '$sex' or suitable = 't')");
                while ($userimages = $db->fetch_array($imagescookie)){
                $tempi = $userimages;
                $cookiearray[$tempi] = $userimages;
                        if($imagesset){
                        $images_weardate = $userimages - (time() -$userimages);
                        $images_weardate = ceil($images_weardate/8640);
                              if ($images_weardate <= 0){
                              $db->query("UPDATE {$tablepre}images_user SETdafaultuse = '3' WHERE userid='$member' and picid = '$userimages' and classid='$userimages' and dafaultuse='1'");
                              if($userimages ==8||$userimages==9||$userimages==11||$userimages ==13||$userimages==14||$userimages==18){
                              $userupid = $upid;
                              }else{
                              $userupid = "0";
                              }
                              $cookiearray[$tempi] = $userupid;
                              }else{
                              $weararray[$tempi] = $images_weardate;
                              }
                        }else{
                        $weararray[$tempi] = 100;
                        }
                }
                $userimages = implode("-", $cookiearray);
                $userwear = implode("-", $weararray);
                $member['avatar'] = "
                <!-- virtualimage start-->
                <div id=\"Show{$member['uid']}\" style=\"padding:0px; left:0px; width:140px; position:relative; top:0px; height:226px; margin-top:5px; margin-bottom:5px\"></div>
                <SCRIPT language=JavaScript>
                var currface = \"$userimages\";
                var currwear = \"$userwear\";
                var showArray = currface.split('-');
                var WearArray = currwear.split('-');
                        if (showArray != '0'){
                        showArray = 0;
                        showArray = 0;
                        }
                var s=\"\";
                for (var i=0; i<26; i++){
                        if(showArray != '0'){
                              if((showArray == 'init') || (showArray == 'initf')){
                              s+='<img src=\"{$imagesset}'+i+'/'+showArray+'.gif\" style=\"padding:0px; position:absolute; top:0px; left:0px; width:140px; height:226px; z-index:'+i+';\" />';
                              }else{
                              s+='<img src=\"{$imagesset}'+i+'/'+showArray+'.gif\" style=\"padding:0px; position:absolute; top:0px; left:0; width:140px; height:226px; z-index:'+i+';".$alpha."\" />';
                              }
                        }
                }
                s+='<img src=\"{$imagesset}blank.gif\" style=\"padding:0px; position:absolute; top:0px; left:0px; width:140px; height:226px; z-index:50\" />';
                $('Show{$member['uid']}').innerHTML=s;
                </SCRIPT>
                <!-- virtualimage end-->
                ";
      }
//--------------------------------------------------------------12. 修改 css 模板 (所有風格及日後新增風格如有此文件均要修改), 完成後到後台執行 "更新 css 文件緩存"
找div.avatar { margin: 5px; text-align: center; width: 160px; overflow: hidden }在下面加上                        .imagefixeddiv {height:235px;width:140px;margin-top:-5px;}
                        .imagefixed {padding:0px;vertical-align: top; position:absolute;margin-top:-5px;margin-left:-4px; width:185px;}      

                        div.viavatar { margin: 5px; padding: 0px; width:140px; position:relative; height: 226px;}13. 修改 viewthread 模板 (所有風格及日後新增風格如有此文件均要修改)
找                <!--{if $post['first'] && $thread['replies']}--></div><div id="ad_interthread"><!--{/if}-->
<!--{/loop}-->在下面加上$vimages14. 修改 viewthread_poll, viewthread_reward, viewthread_trade, viewthread_video, viewthread_debate, viewthread_activity 模板共 6 個模板, 修改辦法相同 (所有風格及日後新增風格如有此文件均要修改)
找<div id="ad_interthread"></div>在上面加上$vimages15. 修改 space_module 模板 (所有風格及日後新增風格如有此文件均要修改)
找      <!--{if $moduledata}-->
                <a href="space.php?action=viewpro&uid=$uid"><img src="$moduledata" width="$moduledata" height="$moduledata" border="0" alt="" /></a>
      <!--{else}-->
                <img src="images/avatars/noavatar.gif" alt="" />
      <!--{/if}-->更換為$moduledata16. 修改 viewpro 模板 (所有風格及日後新增風格如有此文件均要修改)
找 <!--{if $member}-->
                        <img src="$member" width="$member" height="$member" border="0" alt="" />
                <!--{else}-->
                        <img src="images/avatars/noavatar.gif" alt="" />
                <!--{/if}-->更換為$member17. 修改 viewpro_classic 模板 (所有風格及日後新增風格如有此文件均要修改)
找<div class="avatar">
                              <!--{if $member}-->
                                        <img src="$member" width="$member" height="$member" alt="$member" />
                              <!--{else}-->
                                        <img src="images/avatars/noavatar.gif" alt="$member" />
                              <!--{/if}-->
                        </div>更換為$member18. 修改 actions.lang.php 語言包
找211 => '修改系統設置',在下面加上 221 => '正在選擇個人形象',19. 如設定 "是否開啟強制使用" 是否時, 會員必須到 "虛擬形像設計中心" 在 " 個人設置" 內將 "打開或關閉虛擬形像" 設定為 "啟用" 才可正常顯示會員的形像

~完成~
從 虛擬形像 AL8 版 for Discuz! 4.x / 5.x / D6RC 升級此版本
1. 下載程式附件 virtualimage_60_Big5.rar (繁體中文), virtualimage_60_GB.rar (簡體中文) virtualimage_60_TC_UFT8.rar (UTF-8 繁體中文) 解壓後將 upload 目錄下根據文件的目錄編排上載覆蓋舊版本所有文件
2. 執行上 8 - 18 的步驟修改相關檔案
3. 後台 - 更新緩存
4. 執行 images_install.php 並選擇適當的升級版本, 完成後請立即刪除 images_install.php 文件
修正:
1. 修正形象在帖中移2位的問題
凡於 2007年9月14日 16:30前下載及修改者, 請按第二帖修改
2. 修正形象改強制使用時, 在特殊帖如投票帖等不能正常顯示回帖
凡於 2007年9月19日 02:00 前下載及強制顯示形象者, 修改辦法如下 (3) 減少形象在帖中的數據庫查詢次數相同
3. 減少形象在帖中的數據庫查詢次數, 每次只會增加一次數據庫查詢
凡於 2007年9月19日 19:45 前修改此插件者, 請按第二帖修改
4. 修正形象在帖中與組頭共存的問題
凡於 2007年9月30日 03:00 前修改此插件者, 請按第二帖修改
5. 修正使用 firefox 時在 "照相館" 第二步不能顯示形象的問題
凡於 2007年11月13日 15:00前下載及修改者
下載附件 virtualimage_P20071113.rar 解壓及選擇正確語系後取代相同文件


補充:
1. 不能正常顯示 image 跳出視窗是 Discuz 6 的 bug, 可修改 include/javascript/common.js 在最底部加入var sPop = null;
document.write("<style type='text/css'>");
document.write(".cPopText { font-family: Tahoma, Verdana; background-color: #FFFFFF; border: 1px #666666 dotted; font-size: 12px; padding-right: 4px; padding-left: 4px; line-height: 18px; padding-top: 2px; padding-bottom: 2px; text-align:left;visibility: hidden; filter: Alpha(Opacity=80); opacity: 0.8;}");

document.write("</style>");
document.write("<div id='popLayer' style='position:absolute;z-index:1000' class='cPopText'></div>")

function showPopupText(event) {
      if(event.srcElement) o = event.srcElement; else o = event.target;
      if(!o) {
                return;
      }
      MouseX = event.clientX;
      MouseY = event.clientY;
      if(o.alt != null && o.alt != '') {
                o.pop = o.alt;
                o.alt = '';
      }
      if(o.title != null && o.title != '') {
                o.pop = o.title;
                o.title = '';
      }
      if(o.pop != sPop) {
                sPop = o.pop;
                if(sPop == null || sPop == '') {
                        $('popLayer').style.visibility = "hidden";
                } else {
                        popStyle = o.dyclass != null ? o.dyclass : 'cPopText';
                        $('popLayer').style.visibility = "visible";
                        showIt();
                }
      }
}

function showIt() {
      $('popLayer').className = popStyle;
      $('popLayer').innerHTML = sPop.replace(/</g,"<").replace(/>/g,">").replace(/\n/g,"
");
               
      var bodySL, bodyST;
      if(window.pageXOffset){
                bodySL=window.pageXOffset;
      }else if(document.documentElement&&document.documentElement.scrollLeft){
                bodySL=document.documentElement.scrollLeft;
      }else if(document.body){
                bodySL=document.body.scrollLeft; //author: meizz
      }
      
      if(window.pageYOffset){
                bodyST=window.pageYOffset;
      }else if(document.documentElement&&document.documentElement.scrollTop){
                bodyST=document.documentElement.scrollTop;
      }else if(document.body){
                bodyST=document.body.scrollTop;
      }
      
      var bodyCW, bodyCH;
      if(window.innerWidth){
                bodyCW=window.innerWidth;
      }else if(document.documentElement&&document.documentElement.clientWidth){
                bodyCW=document.documentElement.clientWidth;
      }else if(document.body){
                bodyCW=document.body.clientWidth; //author: meizz
      }
      
      if(window.innerHeight){
                bodyCH=window.innerHeight;
      }else if(document.documentElement&&document.documentElement.clientHeight){
                bodyCH=document.documentElement.clientHeight;
      }else if(document.body){
                bodyCH=document.body.clientHeight;
      }

      if($('popLayer').clientWidth>300){
                var popWidth = 300;
      }else{
                var popWidth = $('popLayer').clientWidth;
      }
      
      var popWidth = $('popLayer').clientWidth;
      var popHeight = $('popLayer').clientHeight;
      var popLeftAdjust = MouseX + 12 + popWidth > bodyCW ? -popWidth - 24 : 0;
      var popTopAdjust = MouseY + 12 + popHeight > bodyCH ? -popHeight - 24 : 0;
      $('popLayer').style.left = (MouseX + 12 + bodySL + popLeftAdjust) + 'px';
      $('popLayer').style.top = (MouseY + 12 + bodyST + popTopAdjust) + 'px';
}

if(!document.onmouseover) {
      document.onmouseover = function(e) {
                var event = e ? e : window.event;
                showPopupText(event);
      };
}2. 對 xhtml 擁護者可將 images_css 模板中 <style type="text/css"> 至 </script> 中的內容 (不含此兩句) 剪貼到風格的 css 模板內, 再修改 images_index 模板將 {template images_css} 一句刪去, 然後到後台 "更新 css 緩存", 但不修改也不會影響正常使用            

woff 發表於 2008-6-10 19:31:17

修正形象在帖中移位的問題
注: 由於 IE 6 及之前的版本對 div + css 的兼容問題, 移位問題與本插件無關
下例修改已測試可支援 IE 7, Firefox 及 Opera
凡於 2007年9月14日 16:30前下載及修改者, 請如下修正
1. 修改 css 模板 (如其他風格含有此模板也要修改)




div.viavatar { margin: 5px; padding: 0px; width:140px; position:relative; height: 226px;}


在上面加上


                      .imagefixeddiv {height:235px;width:140px;margin-top:-5px;}
                        .imagefixed {padding:0px;vertical-align: top; position:absolute;margin-top:-5px;margin-left:-4px; width:185px;}


完成後 "更新 css 緩存"

2. 修改 viewthread.php


$post['avatar'] = "<div id=\"Show{$post['pid']}\" class=\"viavatar\">";


更換為



$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>";
~完成~







減少形象在帖中的數據庫查詢次數
凡於 2007年9月19日 19:45 前修改此插件者, 請按下辦法修改
1. viewthead.php
找到及刪除


//--------------------------------------------virtualimage
       if($imagesdatas!=''){
                $vimages = '';
                require_once('./virtualimage/global.php');
                $vimages = images_showimages($imagesdatas,$alhpa,$imagesset);
                unset($imagesdatas,$imagesdata,$alpha);
      }
//--------------------------------------


2. 修改 viewthread.php, 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 共 7 個文件, 修改辦法相同



viewthread_parsetags();


在下加上面


//--------------------------------------------virtualimage
       if($imagesdatas!=''){
                $vimages = '';
                require_once('./virtualimage/global.php');
                $vimages = images_showimages($imagesdatas,$alhpa,$imagesset);
                unset($imagesdatas,$imagesdata,$alpha);
      }
//--------------------------------------








修正形象在帖中與組頭象共存的問題
凡於 2007年9月30日 03:00 前修改此插件者請作如下修改
viewthread.php



                     if($_DCACHE['usergroups'][$post['groupid']]['groupavatar']) {
                              $post['avatar'] .= '<br /><img src="'.$_DCACHE['usergroups'][$post['groupid']]['groupavatar'].'" border="0" alt="" />';
                        }
                        $post['avatar'] .= '</div>';
                }
改為




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








在控制面板加入 "虛擬形像"

修改 memcp.php



if($allowavatar || $allownickname) {


在下面加上


       require_once './forumdata/cache/plugin_virtualimage.php';
      $imagesset = $_DPLUGIN['virtualimage']['vars'];
      if($imagesset){$alpha = "FILTER: alpha(opacity=\"+WearArray+\")";}





mf.avatarheight,


在後面插入


mf.useimages, m.uid,





$validating = array();


在上面加上



//------------------------------------------------------------virtualimage
                if ($member['gender']!='0' && ($imagesset['orderuse']=='1' || $member['useimages']=='1')){
                        if ($member==1){
                              $tempequip ='0-0-0-0-0-0-0-0-init-init-0-init-0-init-init-0-0-0-init-0-0-0-0-0-0-0';//male initial
                              $sex = "m";
                              $upid = "init";
                              }elseif ($member==2){
                              $tempequip ='0-0-0-0-0-0-0-0-initf-initf-0-initf-0-initf-initf-0-0-0-initf-0-0-0-0-0-0-0'; //femal initial
                              $sex = "f";
                              $upid = "initf";
                              }

                        $userwearip ='400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-400-40 0-400-400';//goods expire
                        $cookiearray = split('-', $tempequip);
                        $weararray = split('-', $userwearip);
                        $imagescookie = $db->query("SELECT * FROM {$tablepre}images_userwhere userid = '$member' and dafaultuse = '1' and (suitable = '$sex' or suitable = 't')");
                        while ($userimages = $db->fetch_array($imagescookie)){
                        $tempi = $userimages;
                        $cookiearray[$tempi] = $userimages;
                              if($imagesset){
                                        $images_weardate = $userimages - (time() -$userimages);
                                        $images_weardate = ceil($images_weardate/8640);
                                        if ($images_weardate <= 0){
                                                $db->query("UPDATE {$tablepre}images_user SETdafaultuse = '3' WHERE userid='$member' and picid = '$userimages' and classid='$userimages' and dafaultuse='1'");
                                                if($userimages ==8||$userimages==9||$userimages==11||$userimages ==13||$userimages==14||$userimages==18){
                                                      $userupid = $upid;
                                                      }else{
                                                      $userupid = "0";
                                                      }
                                                $cookiearray[$tempi] = $userupid;
                                                }else{
                                                $weararray[$tempi] = $images_weardate;
                                                }
                              }else{
                              $weararray[$tempi] = 100;
                              }
                        }
                $userimages = implode("-", $cookiearray);
                $userwear = implode("-", $weararray);
                $avatar = "
                <div id=\"Show{$member['uid']}\" style=\"padding:0px; width:140px; position: relative; height: 226px\"></div>
                <SCRIPT language=JavaScript>
                var currface = \"$userimages\";
                var currwear = \"$userwear\";
                var showArray = currface.split('-');
                var WearArray = currwear.split('-');
                        if (showArray != '0'){
                              showArray = 0;
                              showArray = 0;
                        }
                var s=\"\";
                for (var i=0; i<26; i++){
                        if(showArray != '0'){
                              if((showArray == 'init') || (showArray == 'initf')){
                                        s+=\"<IMGsrc={$imagesset}\"+i+\"/\"+showArray+\".gif style='padding:0;position:absolute;left:0px;width:140;height:226;z-index:\"+i+\";'>\";
                                        }else{
                                        s+=\"<IMGsrc={$imagesset}\"+i+\"/\"+showArray+\".gif style='padding:0;position:absolute;left:0px;width:140;height:226;z-index:\"+i+\";".$alpha." '>\";
                                        }
                        }
                }
                s+=\"<IMG src={$imagesset}blank.gifstyle='padding:0;position:absolute;left:0px;width:140;height:226;z-index:50'>\";
                $('Show{$member['uid']}').innerHTML=s;
                </SCRIPT>
                ";
                }
//------------------------------------------------------------virtualimage



cy1680 發表於 2012-9-12 00:51:37

真是汗啊我的帖子好少啊加油

zhding94 發表於 2012-9-12 00:52:33

讚啦!讚啦~

广森楚棋 發表於 2013-4-9 00:03:36

很好!很强大!

固化京津 發表於 2015-5-20 13:21:09



   不会刷墙的吧
頁: [1]
查看完整版本: 虛擬形像 AL8 for Discuz! 6.0 (big5, GBK, UTF-8) - 2007.11.13 更新