discuz3.4 手机版收费附件不显示的bug修复
手机触屏版,收费附件,用户未登录时可以看到附件并有“登录后可见”的字样,但是等到登陆后却踪迹全无。有些站长反馈说在PC端购买过这个附件的,在手机端才能显示附件
这样导致手机端的附件平白无故的消失了~ 应该算是一个比较大的功能上的bug,由于不影响安全,所以官方并未急于修复。
修复起来倒是不很复杂,过程如下(如果懒得了解,可以直接拉到底部,下载懒人包,覆盖到根目录即可)
打开:/upload/source/language/lang_message.php
'attachment_buyall' => '本帖所有附件购买成功 ',
改
'attachment_mobile_buy' => '附件购买成功',
打开:/upload/source/module/forum/forum_misc.php
if(count($aids) > 1) { showmessage('attachment_buyall', 'forum.php?mod=redirect&goto=findpost&ptid='.$attach['tid'].'&pid='.$attach['pid']); } else { $_G['forum_attach_filename'] = $attach['filename']; showmessage('attachment_buy', "forum.php?mod=attachment&aid=$aidencode", array('filename' => $_G['forum_attach_filename']), array('redirectmsg' => 1)); }
改
if(defined('IN_MOBILE')) { showmessage('attachment_mobile_buy', 'forum.php?mod=redirect&goto=findpost&ptid='.$attach['tid'].'&pid='.$attach['pid']); }else{ if(count($aids) > 1) { showmessage('attachment_buyall', 'forum.php?mod=redirect&goto=findpost&ptid='.$attach['tid'].'&pid='.$attach['pid']); } else { $_G['forum_attach_filename'] = $attach['filename']; showmessage('attachment_buy', "forum.php?mod=attachment&aid=$aidencode", array('filename' => $_G['forum_attach_filename']), array('redirectmsg' => 1)); } }
打开:/upload/template/default/touch/forum/discuzcode.htm
<!--{if !$attach['price'] || $attach['payed']}--> <div id="attach_$attach[aid]" class="box attach mbn" > <!--{if $_G['setting']['mobile']['mobilesimpletype'] == 0}--> $attach[attachicon] <!--{/if}--> <!--{if !$attach['price'] || $attach['payed']}--> <a href="forum.php?mod=attachment{$is_archive}&aid=$aidencode" target="_blank">$attach[filename]</a> <!--{else}--> <a href="forum.php?mod=misc&action=attachpay&aid=$attach[aid]&tid=$attach[tid]" target="_blank">$attach[filename]</a> <!--{/if}--> <em class="xg1">($attach[attachsize])</em> <em class="xg1"><br />({lang downloads}: $attach[downloads], $attach[dateline] {lang upload}) </em> <!--{if !$attach['attachimg'] && $_G['getattachcredits']}--><p>{lang attachcredits}: $_G[getattachcredits]</p><!--{/if}--> </div> <!--{/if}-->
改为:
<div id="attach_$attach[aid]" class="box attach mbn" > <!--{if $_G['setting']['mobile']['mobilesimpletype'] == 0}--> $attach[attachicon] <!--{/if}--> <!--{if !$attach['price'] || $attach['payed']}--> <a href="forum.php?mod=attachment{$is_archive}&aid=$aidencode" target="_blank">$attach[filename]</a> <!--{else}--> <a href="forum.php?mod=misc&action=attachpay&aid=$attach[aid]&tid=$attach[tid]" target="_blank">$attach[filename]</a> <!--{/if}--> <em class="xg1">($attach[attachsize])</em> <em class="xg1"><br />({lang downloads}: $attach[downloads], $attach[dateline] {lang upload}) </em> <!--{if !$attach['attachimg'] && $_G['getattachcredits']}-->{lang attachcredits}: $_G[getattachcredits]<!--{/if}--> </div>