標題: [D6.0] 虛擬形像 AL8 for Discuz! 6.0 (big5, GBK, UTF-8) - 2007.11.13 更新
  本主題由 Poka 於 2008-8-16 11:07 解除高亮 
 alan888
 0000001
Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

頭銜: Administrator

自述: skywalker

帖子: 21933

精華: 195

積分: 558625 點

現金: 78355948 元

存款: 144392954 元

閱讀權限: 120

註冊: 2003-11-13

來自: Hong Kong

狀態: 離線
 
發表於 2007-9-13 02:22  資料  個人空間  主頁 短消息  加為好友 
虛擬形像 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. 往下帖下載附件 1-9 (附件 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[openalpha]==1){
                $alpha = "FILTER: alpha(opacity=\"+WearArray[i]+\")";
        }
        $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[gender]==1){
                        $imagesdata[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
                        $imagesdata[sex] = "m";
                        $imagesdata[upid] = "init";
                        }elseif ($post[gender]==2){
                        $imagesdata[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
                        $imagesdata[sex] = "f";
                        $imagesdata[upid] = "initf";
                        }
                $imagesdata[pid] = $post[pid];
                  $imagesdata[uid] = $post[uid];
                $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'] .= '<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>';
                }
        }

       

viewthread_parsetags();

在下面加上
//--------------------------------------------virtualimage
       if($imagesdatas!=''){
                $vimages = '';
                require_once('./virtualimage/global.php');
                $vimages = images_showimages($imagesdatas,$alhpa,$imagesset[imageurl]);
                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[openalpha]){$alpha = "FILTER: alpha(opacity=\"+WearArray[i]+\")";}
//-----------------------------


$uid = $member['uid'];

在上面加上
//------------------------------------------------------------virtualimage
$member['avatar'] = $member['avatar'] ? "<div class=\"avatar\" style=\"width: ".$member['avatarwidth']."\"><img src=\"$member[avatar]\" width=\"$member[avatarwidth]\" height=\"$member[avatarheight]\" 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[gender]==0)){
                $member['avatar'] = $member['avatar'];
                }else{
                        if ($member[gender]==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[gender]==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_user  where userid = '$member[uid]' and dafaultuse = '1' and (suitable = '$sex' or suitable = 't')");
                while ($userimages = $db->fetch_array($imagescookie)){
                $tempi = $userimages[classid];
                $cookiearray[$tempi] = $userimages[picid];
                        if($imagesset[beold]){
                        $images_weardate = $userimages[endurance] - (time() -  $userimages[lastuse]);
                        $images_weardate = ceil($images_weardate/8640);
                                if ($images_weardate <= 0){
                                $db->query("UPDATE {$tablepre}images_user SET  dafaultuse = '3' WHERE userid='$member[userid]' and picid = '$userimages[facepicid]' and classid=  '$userimages[classid]' and dafaultuse='1'");
                                if($userimages[classid] ==  8||$userimages[classid]==9||$userimages[classid]==11||$userimages[classid] ==13||$userimages[classid]==14||$userimages[classid]==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[6] != '0'){
                        showArray[8] = 0;
                        showArray[9] = 0;
                        }
                var s=\"\";
                for (var i=0; i<26; i++){
                        if(showArray[i] != '0'){
                                if((showArray[i] == 'init') || (showArray[i] == 'initf')){
                                s+='<img src=\"{$imagesset[imageurl]}'+i+'/'+showArray[i]+'.gif\" style=\"padding:0px; position:absolute; top:0px; left:0px; width:140px; height:226px; z-index:'+i+';\" />';
                                }else{
                                s+='<img src=\"{$imagesset[imageurl]}'+i+'/'+showArray[i]+'.gif\" style=\"padding:0px; position:absolute; top:0px; left:0; width:140px; height:226px; z-index:'+i+';".$alpha."\" />';
                                }
                        }
                }
                s+='<img src=\"{$imagesset[imageurl]}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[imageurl]);
                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[openalpha]){$alpha = "FILTER: alpha(opacity=\"+WearArray[i]+\")";}
//-----------------------------


$uid = $member['uid'];

在上面加上
//------------------------------------------------------------virtualimage
$member['avatar'] = $member['avatar'] ? "<div class=\"avatar\" style=\"width: ".$member['avatarwidth']."\"><img src=\"$member[avatar]\" width=\"$member[avatarwidth]\" height=\"$member[avatarheight]\" 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[gender]==0)){
                $member['avatar'] = $member['avatar'];
                }else{
                        if ($member[gender]==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[gender]==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_user  where userid = '$member[uid]' and dafaultuse = '1' and (suitable = '$sex' or suitable = 't')");
                while ($userimages = $db->fetch_array($imagescookie)){
                $tempi = $userimages[classid];
                $cookiearray[$tempi] = $userimages[picid];
                        if($imagesset[beold]){
                        $images_weardate = $userimages[endurance] - (time() -  $userimages[lastuse]);
                        $images_weardate = ceil($images_weardate/8640);
                                if ($images_weardate <= 0){
                                $db->query("UPDATE {$tablepre}images_user SET  dafaultuse = '3' WHERE userid='$member[userid]' and picid = '$userimages[facepicid]' and classid=  '$userimages[classid]' and dafaultuse='1'");
                                if($userimages[classid] ==  8||$userimages[classid]==9||$userimages[classid]==11||$userimages[classid] ==13||$userimages[classid]==14||$userimages[classid]==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[6] != '0'){
                        showArray[8] = 0;
                        showArray[9] = 0;
                        }
                var s=\"\";
                for (var i=0; i<26; i++){
                        if(showArray[i] != '0'){
                                if((showArray[i] == 'init') || (showArray[i] == 'initf')){
                                s+='<img src=\"{$imagesset[imageurl]}'+i+'/'+showArray[i]+'.gif\" style=\"padding:0px; position:absolute; top:0px; left:0px; width:140px; height:226px; z-index:'+i+';\" />';
                                }else{
                                s+='<img src=\"{$imagesset[imageurl]}'+i+'/'+showArray[i]+'.gif\" style=\"padding:0px; position:absolute; top:0px; left:0; width:140px; height:226px; z-index:'+i+';".$alpha."\" />';
                                }
                        }
                }
                s+='<img src=\"{$imagesset[imageurl]}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}-->

在下面加上


14. 修改 viewthread_poll, viewthread_reward, viewthread_trade, viewthread_video, viewthread_debate, viewthread_activity 模板共 6 個模板, 修改辦法相同 (所有風格及日後新增風格如有此文件均要修改)

<div id="ad_interthread"></div>

在上面加上


15. 修改 space_module 模板 (所有風格及日後新增風格如有此文件均要修改)

        <!--{if $moduledata[avatar]}-->
                <a href="space.php?action=viewpro&uid=$uid"><img src="$moduledata[avatar]" width="$moduledata[avatarwidth]" height="$moduledata[avatarheight]" border="0" alt="" /></a>
        <!--{else}-->
                <img src="images/avatars/noavatar.gif" alt="" />
        <!--{/if}-->

更換為
        $moduledata[avatar]


16. 修改 viewpro 模板 (所有風格及日後新增風格如有此文件均要修改)

                <!--{if $member[avatar]}-->
                        <img src="$member[avatar]" width="$member[avatarwidth]" height="$member[avatarheight]" border="0" alt="" />
                <!--{else}-->
                        <img src="images/avatars/noavatar.gif" alt="" />
                <!--{/if}-->

更換為
                $member[avatar]


17. 修改 viewpro_classic 模板 (所有風格及日後新增風格如有此文件均要修改)

                        <div class="avatar">
                                <!--{if $member[avatar]}-->
                                        <img src="$member[avatar]" width="$member[avatarwidth]" height="$member[avatarheight]" alt="$member[username]" />
                                <!--{else}-->
                                        <img src="images/avatars/noavatar.gif" alt="$member[username]" />
                                <!--{/if}-->
                        </div>

更換為
                $member[avatar]


18. 修改 actions.lang.php 語言包

211 => '修改系統設置',

在下面加上
        221 => '正在選擇個人形象',


19. 如設定 "是否開啟強制使用" 是否時, 會員必須到 "虛擬形像設計中心" 在 " 個人設置" 內將 "打開或關閉虛擬形像" 設定為 "啟用" 才可正常顯示會員的形像

~完成~



QUOTE:
從 虛擬形像 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 文件


QUOTE:
修正:
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 解壓及選擇正確語系後取代相同文件
[attach]53816[/attach]


QUOTE:
補充:
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,"&lt;").replace(/>/g,"&gt;").replace(/\n/g,"<br>");
               
        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 緩存", 但不修改也不會影響正常使用



 附件: 您所在的用戶組無法下載或查看附件



 AL8 Forum © All rights reserved.
頂部
 alan888
 0000001
Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

頭銜: Administrator

自述: skywalker

帖子: 21933

精華: 195

積分: 558625 點

現金: 78355948 元

存款: 144392954 元

閱讀權限: 120

註冊: 2003-11-13

來自: Hong Kong

狀態: 離線
 
發表於 2007-9-13 02:22  資料  個人空間  主頁 短消息  加為好友 
QUOTE:
修正形象在帖中移位的問題
注: 由於 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>";

~完成∼


QUOTE:
減少形象在帖中的數據庫查詢次數
凡於 2007年9月19日 19:45 前修改此插件者, 請按下辦法修改
1. viewthead.php
找到及刪除
//--------------------------------------------virtualimage
       if($imagesdatas!=''){
                $vimages = '';
                require_once('./virtualimage/global.php');
                $vimages = images_showimages($imagesdatas,$alhpa,$imagesset[imageurl]);
                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[imageurl]);
                unset($imagesdatas,$imagesdata,$alpha);
        }
//--------------------------------------



QUOTE:
修正形象在帖中與組頭象共存的問題
凡於 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>';
                }
        }


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

修改 memcp.php

if($allowavatar || $allownickname) {

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


mf.avatarheight,

在後面插入
mf.useimages, m.uid,

$validating = array();

在上面加上
//------------------------------------------------------------virtualimage
                if ($member['gender']!='0' && ($imagesset['orderuse']=='1' || $member['useimages']=='1')){
                        if ($member[gender]==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[gender]==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_user  where userid = '$member[uid]' and dafaultuse = '1' and (suitable = '$sex' or suitable = 't')");
                        while ($userimages = $db->fetch_array($imagescookie)){
                        $tempi = $userimages[classid];
                        $cookiearray[$tempi] = $userimages[picid];
                                if($imagesset[beold]){
                                        $images_weardate = $userimages[endurance] - (time() -  $userimages[lastuse]);
                                        $images_weardate = ceil($images_weardate/8640);
                                        if ($images_weardate <= 0){
                                                $db->query("UPDATE {$tablepre}images_user SET  dafaultuse = '3' WHERE userid='$member[userid]' and picid = '$userimages[facepicid]' and classid=  '$userimages[classid]' and dafaultuse='1'");
                                                if($userimages[classid] ==  8||$userimages[classid]==9||$userimages[classid]==11||$userimages[classid] ==13||$userimages[classid]==14||$userimages[classid]==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[6] != '0'){
                                showArray[8] = 0;
                                showArray[9] = 0;
                        }
                var s=\"\";
                for (var i=0; i<26; i++){
                        if(showArray[i] != '0'){
                                if((showArray[i] == 'init') || (showArray[i] == 'initf')){
                                        s+=\"<IMG  src={$imagesset[imageurl]}\"+i+\"/\"+showArray[i]+\".gif style='padding:0;position:absolute;left:0px;width:140;height:226;z-index:\"+i+\";'>\";
                                        }else{
                                        s+=\"<IMG  src={$imagesset[imageurl]}\"+i+\"/\"+showArray[i]+\".gif style='padding:0;position:absolute;left:0px;width:140;height:226;z-index:\"+i+\";".$alpha." '>\";
                                        }
                        }
                }
                s+=\"<IMG src={$imagesset[imageurl]}blank.gif  style='padding:0;position:absolute;left:0px;width:140;height:226;z-index:50'>\";
                $('Show{$member['uid']}').innerHTML=s;
                </SCRIPT>
                ";
                }
//------------------------------------------------------------virtualimage




 AL8 Forum © All rights reserved.
頂部
 柳生
 0042231
Rank: 4Rank: 4Rank: 4Rank: 4
點擊查看 柳生 的詳細資料

頭銜: Lord

帖子: 346

精華: 1

積分: 634 點

現金: 800 元

存款: 5451 元

閱讀權限: 25

註冊: 2006-3-25

來自: 『台灣』

狀態: 離線
 
發表於 2007-9-13 03:34  資料  個人空間  短消息  加為好友 
支持

[ 本帖最後由 柳生 於 2007-9-13 07:59 編輯 ]




 AL8 Forum © All rights reserved.
頂部
 pmfromhk
 0044441
Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

頭銜: Forum Legend

暱稱: 鹹魚尾獅像

帖子: 2365

精華: 0

積分: 20210 點

現金: 1132 元

存款: 0 元

閱讀權限: 70

註冊: 2006-5-3

來自: 香港

狀態: 離線
 
發表於 2007-9-13 07:14  資料  個人空間  短消息  加為好友  添加 pmfromhk 為MSN好友 通過MSN和 pmfromhk 交談
支持




 AL8 Forum © All rights reserved.
頂部
 sohohung
 0045450
Rank: 3Rank: 3Rank: 3

頭銜: Conqueror

帖子: 134

精華: 0

積分: 1500 點

現金: 104 元

存款: 0 元

閱讀權限: 20

註冊: 2006-5-22

來自: HK

狀態: 離線
 
發表於 2007-9-13 10:04  資料  個人空間  主頁 短消息  加為好友  ICQ 狀態 Yahoo!
又試下先~ 支持!




 AL8 Forum © All rights reserved.
頂部
 wboys
 0067804
Rank: 5Rank: 5Rank: 5Rank: 5Rank: 5

頭銜: King

帖子: 803

精華: 0

積分: 7973 點

現金: 0 元

存款: 178 元

閱讀權限: 30

註冊: 2007-2-19

狀態: 離線
 
發表於 2007-9-13 10:13  資料  個人空間  短消息  加為好友 
AL8 出品,果然係極品..
支持了...  




 AL8 Forum © All rights reserved.
頂部
 小鮪魚
 0022295
Rank: 4Rank: 4Rank: 4Rank: 4

頭銜: Lord

帖子: 475

精華: 0

積分: 6574 點

現金: 16 元

存款: 0 元

閱讀權限: 25

註冊: 2005-5-27

狀態: 離線