discuz3.4 手机版收费附件不显示的bug修复 [复制链接]

moqu8 2018-11-11

3619 0
手机触屏版,收费附件,用户未登录时可以看到附件并有“登录后可见”的字样,但是等到登陆后却踪迹全无。有些站长反馈说在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>


然后将下列附件attachpay.htm 复制到 template/default/touch/forum/ 即可


点击下载 attachpay.htm(大小:3.63K)
[color=#000000]discuz3.4(gbk)懒人包:


点击下载 discuz3.4_gbk.zip(大小:41.30K)
直接复制到网站根目录即可


[/color]











最新回复 (0)
返回
支持中心
邮箱:winkill2012@qqcom
新站优化中!部分功能尚未完善,敬请谅解!
支持中心