FreeDiscuz!'s Archiver

horseluke 发表于 2008-7-24 23:53

MiniSpace For discuz 6.1F头像显示和发送短消息的修改方法

以下修改基于该帖的插件包:
[url]http://www.discuz.net/viewthread.php?tid=946455[/url]

[b]安装到dz6.1F后普遍问题是无法显示头像和无法发送短消息,现在给出较笨的修改方法(聪明的应该是搞个avatar.php调用)[/b]

include\viewpro.inc.php

找到:[code]
if(!$member = $db->fetch_array($query)) {
        showmessage('member_nonexistence');
}
[/code]后面加上:[code]
if($member['avatar']) {
        $member['avatar'] = '<img src="'.$member['avatar'].'" width="'.$member['avatarwidth'].'" height="'.$member['avatarheight'].'" border="0" alt="" />';

} else {
        $member['avatar'] = '<img class="avatar" src="images/avatars/noavatar.gif" alt="" />';
}
[/code]==========================



space.php

找到[code]
$moduledata['userinfo']['value'] = $member;
[/code]在上面加上:[code]
if($member['avatar']) {
        $member['avatar'] = '<img src="'.$member['avatar'].'" width="'.$member['avatarwidth'].'" height="'.$member['avatarheight'].'" border="0" alt="" />';

} else {
        $member['avatar'] = '<img class="avatar" src="images/avatars/noavatar.gif" alt="" />';
}
[/code]===========================

templates\default\space_module.htm
把[code]
<img src="{UC_API}/avatar.php?uid=$moduledata[uid]" border="0" alt="" />
[/code]改为[code]
$moduledata[avatar]
[/code]把[code]
<img src="mspace/$spacesettings[style]/sendmail.gif" alt="" /><a href="###" onclick="pmwin('open', 'uid=$uid')">{lang send_pm}</a>
[/code]改为[code]
<img src="mspace/$spacesettings[style]/sendmail.gif" alt="" /><a target="_blank" href="pm.php?action=send&uid=$uid">{lang send_pm}</a>
[/code]=============================
templates\default\viewpro.htm


找到[code]
<img src="{UC_API}/avatar.php?uid=$member[uid]" border="0" alt="" />
[/code]修改为[code]
$member[avatar]
[/code]把[code]
<img src="mspace/$spacesettings[style]/sendmail.gif" alt="" /><a href="###" onclick="pmwin('open', 'uid=$member[uid]')">{lang send_pm}</a>
[/code]改为[code]
<img src="mspace/$spacesettings[style]/sendmail.gif" alt="" /><a target="_blank" href="pm.php?action=send&uid=$member[uid]">{lang send_pm}</a>
[/code]Done。

=========================

[b]备注:反安装方法。[/b]
把dz6.1F安装包的space.php替换服务器上的space.php。然后删除以下文件即可
[quote]
论坛根目录
│  blog.php
│  
├─templates
│  └─default
│          admincp_space.lang.php
│          memcp_spacemodule.htm
│          space.htm
│          spaces.lang.php
│          space_module.htm
│          space_topic.htm
│          viewpro.htm

├─mspace整个文件夹删除
│         
├─images
│  └─spaces整个文件夹删除

│         
├─include
│  │  space.func.php
│  │  viewpro.inc.php
│  │  
│  └─javascript
│          drag.js
│          drag_space.js
│         
└─plugins
    └─minispace整个文件夹删除
[/quote]

[[i] 本帖最后由 horseluke 于 2008-7-25 19:43 编辑 [/i]]

horseluke 发表于 2008-7-24 23:58

演示

[url]http://www.ubikeu.cn/bbs/space.php?uid=80[/url]

158web 发表于 2008-7-25 02:11

不错兄弟 可惜我已经删除了 感觉没什么用

horseluke 发表于 2008-7-25 08:52

回复 3# 158web 的帖子

对于从dz6过来,没有安装x-space和supersite、升级到6.1又不想安装uch的人来说,这个minispace可是比较重要..........
想当初我也是不想要uch才安装dz6.1F.........:L

[[i] 本帖最后由 horseluke 于 2008-7-25 09:07 编辑 [/i]]

小铭铭 发表于 2008-7-27 18:22

感觉没什么用:(

Fanourios 发表于 2008-8-25 13:58

有安裝了可發現了不少問題耶...

我用是utf-8(tc),那導入後理所當然啥資料都沒有~所以我就手動設定了,但是在後台無法更改space的設定呀!每次按提交時都會顯示我沒有權限使用後台管理

另外,就是查詢個人資訊部份,原6.0的是按用戶名顯示mini-space版本的個人資料,可是在這個插件包中按進去是顯示mini-space的首頁,而且,在6.1中的mini-space的好友設定是調用uc的~這個樓主也沒放出修改方法呀~

另外是加入文集的問題,這個我不知道更怎去設定...

horseluke 发表于 2008-8-25 18:15

[quote]原帖由 [i]Fanourios[/i] 于 2008-8-25 13:58 发表 [url=http://www.freediscuz.net/bbs/redirect.php?goto=findpost&pid=28629&ptid=4004][img]http://www.freediscuz.net/bbs/images/common/back.gif[/img][/url]
有安裝了可發現了不少問題耶...

我用是utf-8(tc),那導入後理所當然啥資料都沒有~所以我就手動設定了,但是在後台無法更改space的設定呀!每次按提交時都會顯示我沒有權限使用後台管理

另外,就是查詢個人資訊部份 ... [/quote]

Answer:

第一个问题,你要问问原作者猴子:[url]http://www.discuz.net/viewthread.php?tid=946455[/url]。

第二个问题,打开templete\default\viewthread.htm模板,把[code]<p><a href="space.php?uid=$post[authorid]" target="_blank">{lang member_viewpro}</a></p>[/code]改为[code]<p><a href="space.php?action=viewpro&uid=$post[authorid]" target="_blank">{lang member_viewpro}</a></p>[/code]第三个问题......简单来说,“加入文集”的功能需要会员移动到右上角“插件”下面的“添加到文集”实现的(如下图所示),不是像以前DZ6那样在帖子里面实现。
[attach]1878[/attach]
不过我所在的论坛已经成功修改成为了DZ6的形式(演示如下图)。
[attach]1877[/attach]

方法如下:
打开templete\default\viewthread.htm模板,在[code]<!--{if $discuz_uid}-->
                        <a href="my.php?item=favorites&amp;tid=$tid" id="ajax_favorite" onclick="ajaxmenu(event, this.id, 3000, 0)">{lang thread_favorite}</a>[/code]上面加入:[code]                <!--{if $thread['authorid'] == $discuz_uid}-->
                        <a href="plugin.php?identifier=minispace&amp;module=addblog"><!--{if $thread['blog']}-->从文集移除<!--{else}-->添加到文集<!--{/if}--></a>
                <!--{/if}-->[/code]然后在[code]<!--{if $lastmod['magicname']}--><a href="misc.php?action=viewthreadmod&amp;tid=$tid" title="{lang thread_mod}" target="_blank">{lang magics_logs}</a><!--{/if}-->[/code]下面加上[code]                        <!--{if $thread['blog']}--><a href="space.php?{$thread['authorid']}/myblogs" title="{lang thread_mod}" target="_blank">本主题已被作者添加到个人文集</a><!--{/if}-->[/code]OK!

Fanourios 发表于 2008-8-25 19:08

嗯~謝大大~都設定好了...

就只差space設置那部份,我曾經嘗試把sql的資料直接更改...可是一改就出問題...反覆測試後,應該是s的那部份有問題...請問有大大能解釋一下嗎?

a:11:{s:9:\"cachelife\";s:3:\"900\";s:14:\"limitmythreads\";s:1:\"5\";s:14:\"limitmyreplies\";s:1:\"5\";s:14:\"limitmyrewards\";s:1:\"5\";s:13:\"limitmytrades\";s:1:\"5\";s:13:\"limitmyvideos\";s:1:\"0\";s:12:\"limitmyblogs\";s:1:\"8\";s:14:\"limitmyfriends\";s:1:\"0\";s:16:\"limitmyfavforums\";s:1:\"5\";s:17:\"limitmyfavthreads\";s:1:\"0\";s:10:\"textlength\";s:3:\"300\";}

就是這段東西...我搞明白用引號的部份是啥,可是修改那部份後...不確定是否s:xx那部份出問題了
這段是原本6.0安裝sql代碼

我想改的就是不緩存,
limitmythreads, limitmyreplies, limitmyrewards, limitmyblogs各顯示3個,
limitmytrades不顯示
limitmyvideos顯示1個
limitmyfriends, limitmyfavforums, limitmyfavthreads各顯示5個
預覽字數改為50

麻煩各位大大

horseluke 发表于 2008-8-25 20:12

回复 8# Fanourios 的帖子

[url]http://www.monkeye.cn/thread-1975-1-1.html[/url]

这里是6月1日的包,原作者修复了“个人空间允许访问的版块设置失效(多写了一个字母s  )”问题,你下载尝试一下。
(好像两者之间只有一个文件有差异,你用Beyond Compare 2对比一下)

serize和unserize这两个函数到现在为止还没弄懂,没法帮你:(

[[i] 本帖最后由 horseluke 于 2008-8-25 20:13 编辑 [/i]]

Fanourios 发表于 2008-8-25 20:42

那好~明白了~看來還是要問一下猴子@_@""

Fanourios 发表于 2008-8-25 20:50

對比過了~我的已經是最新的版本...但是好像只有我的有問題耶...

另外...有發現那個admincp_space.lang.php怪怪嗎?

好似不是正常的語言包格式...

horseluke 发表于 2008-8-25 21:41

不说我还没留意它用的是array_merge函数呢
[url]http://www.php.net/manual/zh/function.array-merge.php[/url]

看上面函数说明的话,猜测可能是做语言覆盖作用(在不修改原论坛文件的情况下).........

以后有时间看看这函数究竟是做什么的........

Fanourios 发表于 2008-8-25 22:01

可是連基本的 ?>都沒打上...猴子做得好像很粗糙耶...

horseluke 发表于 2008-8-25 23:08

这样也被你很细心的看出来啊,惭愧...........

MINI-SPACE这个功能是猴子开发的。因为6.1的UCH关系,被舍弃了,于是乎他把这个东西给剥离出来单独做成插件了。
可能是剥离的过程中忘记添加而已.............你向他说说吧。

Fanourios 发表于 2008-8-26 17:14

先謝大大讚揚:P

其實不加也應該沒影響吧?

我研究了那一堆程式碼好久了...也看不出問題出在啥..

但是有一點很有趣...

就是好友那部份是調用uc的;P

horseluke 发表于 2008-8-26 19:23

大大:L
我和你一样也是站长,只是喜欢瞎捣鼓而已:L :L

好友部分调用了UC吗?能否说说代码是在哪里?

Fanourios 发表于 2008-8-27 19:08

space.func.php中搜

function module_myfriends(&$parms) {

把那一段改為

function module_myfriends(&$parms) {
        global $uid, $tablepre;
        $parms['table'] = 'members m';
        $parms['cols'] = 'm.uid, m.username, mf.spacename';
        $parms['conditions'] = "LEFT JOIN {$tablepre}buddys b ON m.uid=b.buddyid
                LEFT JOIN {$tablepre}memberfields mf ON m.uid=mf.uid
                WHERE b.uid='$uid'";
}

页: [1]

Powered by Discuz! Archiver 6.1.0F  © 2001-2007 Comsenz Inc.