作 者: T.O.M.
AL8 版: alan888
技術支援:
http://www.alan888.com/D6/index.php
演 示:
http://www.alan888.com/D6/plugin ... module=virtualimage
適用版本: Discuz! 6.0.0 RC1
說 明: 根據 Discuz! 6.0.0 RC1 插件格式整理, 完善的後台管理只須匯入 "discuz_plugin_virtualimage.txt" 及 "discuz_plugin_images_admin.txt", 而不用修改任可後台文件, 功能設定包括編輯及加入形象, 批量修改形象價格, 修改會員形象等
新增功能: 按 Discuz! 6.0.0 RC1 規範重新編寫所有模板及檔案
注 意:
1. 此版本為測試版本, 請作好相關檔案及數據庫的備份
2. 照相館必須服務器支援 GD 庫才可正常使用
全新安裝辦法:
1. 下載程式附件 virtualimage_60B_Big5.rar (繁體中文), 解壓後按原設定上載至相關目錄 (discuz_plugin_virtualimage.txt 及 discuz_plugin_images_admin.txt 檔案不用上載), 此 beta 版只提供繁體中文版本, 其他語言版本在完成測試及 Discuz 6.0.0 正式版推出後才發放
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 = '';
//----------------------------
找 (注意不連後面的 "," 號)
在後面插入
找
在後面插入
找
$post['avatar'] = '<div class="avatar"><img class="avatar" src="images/avatars/noavatar.gif" alt="" /></div>';
}
在下面加上
//------------------------------------------------------------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'] = "
<!-- virtualimage start-->
<div class=\"viavatar\" id=\"Show{$post['pid']}\" style=\"padding-right: 0px; padding-left: 0px; left: 0px; padding-bottom: 0px; width: 140px; padding-top: 0px; position: relative; top: 0px; height: 226px;\"></div>
<!-- virtualimage end-->";
}
//--------------------------------------------------------------
找
if($pagebydesc) {
$postlist = array_reverse($postlist, TRUE);
在上面加上
//--------------------------------------------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]+\")";}
//-----------------------------
找
在上面加上
//------------------------------------------------------------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
找 (注意不連後面的 "," 號)
在後面插入
找
$post = $postlist[$post['pid']];
在下面加上
//--------------------------------------------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]+\")";}
//-----------------------------
找
在上面加上
//------------------------------------------------------------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.
修改 include/viewthread_reward.inc.php
找
在後面插入
找
在上面加上
//--------------------------------------------virtualimage
if($imagesdatas!=''){
$vimages = '';
require_once('./virtualimage/global.php');
$vimages = images_showimages($imagesdatas,$alhpa,$imagesset[imageurl]);
unset($imagesdatas,$imagesdata,$alpha);
}
//--------------------------------------
13.
修改 include/viewthread_activity.inc.php 及 include/viewthread_debate.inc.php (
注意: 是兩個 php 檔, 修改辦法相同)
找
在後面插入
找
$post = $postlist[$post['pid']];
在上面加上
//--------------------------------------------virtualimage
if($imagesdatas!=''){
$vimages = '';
require_once('./virtualimage/global.php');
$vimages = images_showimages($imagesdatas,$alhpa,$imagesset[imageurl]);
unset($imagesdatas,$imagesdata,$alpha);
}
//--------------------------------------
14.
修改 include/viewthread_trade.inc.php
找 (
兩處)
在後面插入 (
兩處)
找
include template('viewthread_trade');
在上面加上
//--------------------------------------------virtualimage
if($imagesdatas!=''){
$vimages = '';
require_once('./virtualimage/global.php');
$vimages = images_showimages($imagesdatas,$alhpa,$imagesset[imageurl]);
unset($imagesdatas,$imagesdata,$alpha);
}
//--------------------------------------
15.
修改 css 模板 (所有風格及日後新增風格如有此文件均要修改), 完成後到後台執行 "更新 css 文件緩存"
找
div.avatar { margin: 5px; text-align: center; width: 160px; overflow: hidden }
在下面加上
div.viavatar { margin: 5px; text-align: center; width: 140px; height:226px;overflow: hidden }
16.
修改 viewthread 模板 (所有風格及日後新增風格如有此文件均要修改)
找
<!--{if $post['first'] && $thread['replies']}--></div><div id="ad_interthread"><!--{/if}-->
<!--{/loop}-->
在下面加上
17.
修改 viewthread_poll 模板 (所有風格及日後新增風格如有此文件均要修改)
找
<div id="ad_interthread"></div>
在上面加上
18.
修改 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}-->
更換為
19.
修改 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}-->
更換為
20.
修改 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>
更換為
21.
修改 viewthread_reward 模板 (所有風格及日後新增風格如有此文件均要修改)
找
<div id="ad_interthread"></div>
在上面加上
22.
修改 viewthread_activity 模板 (所有風格及日後新增風格如有此文件均要修改)
找
<div id="ad_interthread"></div>
在上面加上
23.
修改 viewthread_trade 模板 (所有風格及日後新增風格如有此文件均要修改)
找
在上面加上
24.
修改 viewthread_debate 模板 (所有風格及日後新增風格如有此文件均要修改)
找
<!--{if $debate['umpirepoint']}-->
在上面加上
25.
修改 actions.lang.php 語言包
找
在下面加上
26. 如設定 "是否開啟強制使用" 是否時, 會員必須到 "虛擬形像設計中心" 在 " 個人設置" 內將 "打開或關閉虛擬形像" 設定為 "啟用" 才可正常顯示會員的形像
~完成~
1. 於 2007.08.10 下午 12:30 加入在辯論, 活動, 商品, 懸賞內顯示 "虛擬形像"
請按上第 12 步驟 至 14 步驟 及 第 21 步驟 至 24 步驟修改
2. 修正我的衣櫃內不能贈送及刪除物品
於2007.08.14 01:30 更新, 在池之前前下載者
請下附件 images_userimages.rar 解壓後取代 templates/defalt 下相同文件, 然後到後台 -> 更新緩存"
[attach]48866[/attach]
從 虛擬形像 AL8 版 for Discuz! 5.0 / 5.5 升級此版本
1. 下載附件程式 virtualimage_60B_Big5.rar (暫時只提供繁體中文版本) 解壓後將 upload 目錄下根據文件的目錄編排上載覆蓋舊版本所有文件
2. 執行上 8 - 25 的步驟修改相關檔案
3. 後台 - 更新緩存
4. 執行 images_install.php 選擇 "從 5.0 / 5.5 升級", 完成後請立即刪除 images_install.php 文件
由於本插件修改較多及容易出錯, 本站特提供已修改好的所有檔案供參考: [attach]48733[/attach]