YK Forum » 網頁製作 » Discuz! 研究 » 虛擬形像 For Discuz 7.1 & 7.2 (BIG5|GBK|TC_UTF8|SC_UTF8)


2010-7-22 05:06 PM e79n38
虛擬形像 For Discuz 7.1 & 7.2 (BIG5|GBK|TC_UTF8|SC_UTF8)

作  者: T.O.M.
持續發展: alan888
適用語系: BIG5, GBK, TC_UTF8, SC_UTF8
演  示: [url]http://www.youngsforum.com/bbs/plugin.php?id=virtualimage:virtualimage[/url]
適用版本:  Discuz! 7.1, Discuz! 7.2
更  新:
1. 善用 Discuz 7.1 插件新增功能, 減少文件修改, 整個安裝過程只須修改一個文件;
2. 善用 Discuz 7.1 插件新增功能, 安裝/移除更為方便;
3. 增加部份 ajax 功能, 處理部份功能更為迅速、美觀及改善瀏覽器的兼容性;
4. 集中整個插件目錄, 方便安裝及移除;
5. 加強在其他調用虛擬形像的兼容, 減少問題出現;
6. 改善 css 調用的問題, 直接產生 css 快取檔;

注  意:
1. 本插件必須服務器支援 GD 庫才可正常使用
2. "過期形像" 除會員進入 "虛擬形像" 時更新外, "虛擬形像後台管理" 增加 "過期形像" 更新 (使用過期形像時才會顯示), 在使用 "形象過期" 同時顯示形象將不會增加數據庫查詢次數;
3. 為減少此插件的資源損耗, "強制使用形象" 修改為只提供會員一經使用 "形像" 便不能關閉帖內顯示



全新安裝
1. 下載程式附件 virtualimage71_BIG5.rar (繁體中文), virtualimage71_TC_UFT8.rar(UTF-8 繁體中文), virtualimage71_SC_UFT8.rar(UTF-8 簡體中文)或 virtualimage71_GBK.rar (簡體中文) 解壓後將 upload 目錄下所有文件按照結構上載

2. 下載下列附件 VLimages.part01.rar 至 VLimages.part10.rar 解壓後上載至相關目錄 (可自行在後台設定圖片擺放目錄)

3. 將 Discuz 根目錄下的 virtualimage, virtualimage/avatar. virtualimage/photo, virtualimage/vidoc 目錄屬性設為 777

4. 修改 include/global.func.php

[code]function discuz_uc_avatar($uid, $size = '', $returnsrc = FALSE) {
        if($uid > 0) {
                $size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
                $uid = abs(intval($uid));
                if(empty($GLOBALS['avatarmethod'])) {
                        return $returnsrc ? UC_API.'/avatar.php?uid='.$uid.'&size='.$size : '<img src="'.UC_API.'/avatar.php?uid='.$uid.'&size='.$size.'" />';
                } else {
                        $uid = sprintf("%09d", $uid);
                        $dir1 = substr($uid, 0, 3);
                        $dir2 = substr($uid, 3, 2);
                        $dir3 = substr($uid, 5, 2);
                        $file = UC_API.'/data/avatar/'.$dir1.'/'.$dir2.'/'.$dir3.'/'.substr($uid, -2).'_avatar_'.$size.'.jpg';
                        return $returnsrc ? $file : '<img src="'.$file.'" onerror="this.onerror=null;this.src=\''.UC_API.'/images/noavatar_'.$size.'.gif\'" />';
                }
        } else {
                $file = $GLOBALS['boardurl'].IMGDIR.'/syspm.gif';
                return $returnsrc ? $file : '<img src="'.$file.'" />';
        }
}[/code]
更換為
[code]function discuz_uc_avatar($uid, $size = '', $returnsrc = FALSE) {
$size = in_array($size, array('big', 'middle', 'small')) ? $size : 'middle';
$uid = abs(intval($uid));
require DISCUZ_ROOT.'./forumdata/cache/plugin_virtualimage.php';
$image_close = $_DPLUGIN['virtualimage']['vars']['imagesclose'];
$image_url = $_DPLUGIN['virtualimage']['vars']['imageurl'];
        if(!$image_close && $uid > 0 && $size !='small' && file_exists(DISCUZ_ROOT.'./virtualimage/vidoc/vi_'.$uid.'.php') && CURSCRIPT != 'memcp'){
                clearstatcache();
                require DISCUZ_ROOT.'./virtualimage/vidoc/vi_'.$uid.'.php';
                $addfilter = rand();
                $vi_avatar = "<div id=\"Show{$uid}_{$addfilter}\" class=\"imagefixeddiv\"></div>
<script type=\"text/javascript\">
var image_url = '".$image_url."';
showimage('Show{$uid}_{$addfilter}','{$viid}');
</script>";
                return $vi_avatar;
        }elseif ($uid > 0 && $size == 'small' && !$image_close && file_exists("virtualimage/avatar/".$uid."_s.jpg")){
                clearstatcache();
                return '<img src="virtualimage/avatar/'.$uid.'_s.jpg">';
        }elseif($uid > 0) {
                if(empty($GLOBALS['avatarmethod'])) {
                        return $returnsrc ? UC_API.'/avatar.php?uid='.$uid.'&size='.$size : '<img src="'.UC_API.'/avatar.php?uid='.$uid.'&size='.$size.'" />';
                } else {
                        $uid = sprintf("%09d", $uid);
                        $dir1 = substr($uid, 0, 3);
                        $dir2 = substr($uid, 3, 2);
                        $dir3 = substr($uid, 5, 2);
                        $file = UC_API.'/data/avatar/'.$dir1.'/'.$dir2.'/'.$dir3.'/'.substr($uid, -2).'_avatar_'.$size.'.jpg';
                        return $returnsrc ? $file : '<img src="'.$file.'" onerror="this.onerror=null;this.src=\''.UC_API.'/images/noavatar_'.$size.'.gif\'" />';
                }
        }else {
                $file = $GLOBALS['boardurl'].IMGDIR.'/syspm.gif';
                return $returnsrc ? $file : '<img src="'.$file.'" />';
        }
}[/code]

5. 進入後台->插件->虛擬形像->安裝->完成後在 "虛擬形像" 勾選左手邊空格->提交

6. 在後台->插件->左手邊選單按 "虛擬形像" -> 設置 -> 按提示設定好各項細節

~完成~

[quote][color=Red][size=4][b]升級辦法[/b][/size][/color]
[color=DarkOrange]從 Discuz 7.0 升級至 Discuz 7.1 [/color]
1. 按全新安裝辦法執行 1, 3 及 4 安裝程序;
2. 上在插件包內的 upvi70_71.php 至 Discuz 根目錄及執行, 完成後按指示執行然後即時刪除此文件
[color=DarkOrange]從 Discuz 7.1 測試版升級至 Discuz 7.1 [/color]
1. 下載插件包解壓後覆蓋原來所有文件;
2. 更新緩存
~完成~[/quote]

[quote][color=Red][size=4][b]更新記錄[/b][/size] (插件包已是最後更新版本)[/color]
[color=Red]更新日期: 2009-11-2 14:42[/color]
更新事項: 帖子內鼠標移動到虛擬形象上時跳出的虛擬形象會右移
更新版法: 重新下載插件包將 upload/plugins/virtualimage/ 目錄下的 virtualimage.class.php 文件更換便可
[color=Red]更新日期: 2009-11-7 02:11[/color]
更新事項: 修正後台修改虛擬形象時找不到形象
更新版法: 重新下載插件包將 upload/plugins/virtualimage/ 目錄下的 images_admin.inc.php 文件更換便可
[color=Red]更新日期: 2009-11-11 11:07[/color]
更新事項: 修正使用虛擬形象過期功能時, 如沒有會員使用形象便出現數據庫錯誤問題
更新版法: 重新下載插件包將 upload/plugins/virtualimage/virtualimage/ 目錄下的 images_show.php 文件更換便可
[color=Red]更新日期: 2010-4-7 02:07[/color]
更新事項: 修正版兩處跳轉頁面連接錯誤
更新版法: 重新下載插件包將 upload/plugins/virtualimage/virtualimage/ 目錄下的 images_operation.php 文件更換便可
[/quote]

Download:
Big5:
http://www.alan888.com/Discuz/attachment.php?aid=76321
UtF8:
http://www.alan888.com/Discuz/attachment.php?aid=76322

2010-11-9 04:06 PM Gifts
good information,thanks for sharing

2011-3-11 05:42 PM boysvs
學習下。。。。謝謝!!!!

頁: [1]


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.