我在帖子上传两个图片,其中一个打水印开放给所有人察看,另一个无水印原图以hide=3的代码隐藏限制只有积分高于3的人才能查看。
复制内容到剪贴板
代码:
[attach]29912[/attach]
原图-->
[hide=3][attach]29949[/attach]
[/hide]结果以普通会员身份浏览时两个附件都不能显示。帖子显示为
引用:
[attach]***[/attach]
原图-->
本帖隐藏的内容需要积分高于 3 才可浏览
附件: 本帖附件需要回复才可下载或查看
在论坛上搜索了很久,之前也有人反映过类似的问题,但是别人只反应 “回复可见”的问题,斑竹只给出回复可见问题的解答,例如如下帖子
http://www.discuz.net/viewthread ... B2%D8&page=1###引用:
就是修改include文件夹下的 discuzcode.func.php
将238行的 $hideattach[$pid] = 1; 改成 $hideattach[$pid] = 0;
可是修改以后,更新缓存完全无效。普通会员依然不能浏览帖子内的任何附件图片。最后自己对照前后代码琢磨了一下,
将241行开始的这段代码
复制内容到剪贴板
代码:
if(strpos($message, '[hide=') !== FALSE) {
$message = preg_replace("/\[hide=(\d+)\]\s*(.+?)\s*\[\/hide\]/ies", "creditshide(\\1,'\\2', $pid)", $message);
}替换成
复制内容到剪贴板
代码:
if(strpos($message, '[hide=') !== FALSE) {
$message = preg_replace("/\[hide=(\d+)\]\s*(.+?)\s*\[\/hide\]/ies", "creditshide(\\1,'\\2', $pid)", $message);
$hideattach[$pid] = 0;
}也就是根据hide(回复可见)代码的形式,在 hide=积分(积分高于设定可见)的隐藏代码下面,增加
$hideattach[$pid] = 0; 这条语句,即时解决了积分隐藏功能将代码以外的附件都隐藏掉的问题。
因为据说6.1已经修改好了(有朋友特别做了个测试),但对照过6.1的discuzcode.func.php,文件只是修改了第一部分(也就是解决了回复可见的问题),建议官方可以再加一句,使得积分隐藏的问题也解决掉。:) 第一次自己研究代码解决了点小问题,贴上来分享一下,希望对有同样问题的朋友有帮助。^_^