test
-
File test
@mzlh001
对就是这个情况
@admin:回复 #1 @mzlh001你把 禁止管理员下载 取消,也就是里面什么都没有,你试试看还是不能下载,清空缓存无效,只能手动在数据库里把json那个板块对应的字段重新设置为null
@admin:回复 #1 @mzlh001而且不是因为你禁止了管理员的关系,你就是禁止其他用户组下载没有禁止管理员用户组,管理员用户组在这个板块也是无法下载,应该是代码有个判断错了
还有就是不光是禁止下载不行,就是连禁止其他用户组发帖或其他项在那个板块设置了。管理员也是不能下载,根本原因就是,json字段只要不是null,管理员在那个板块就会不能下载
正常到 不能再正常了
上传到百度云了
http://pan.baidu.com/s/1bo4OmOB
密码:sk87
@mzlh001:回复 #1视频我看了 需要我晚上8点的时候 远程调试一下
或者你可以现在打开 /Tmp/function.php 找到is_group_forum函数
并在下面找到 $arr 变量 把它 var_dump($arr)
然后浏览器开着F12 看着Network 点击下载附件
看看Network 返回的 数组内容
我直接输出了str字符串,里面只有一个1
此时我的数据表里是
另外我发现,当我在
这里禁止除了管理员组以外的用户组时,管理员用户组就可以下载了,而其他用户组不能下载。
其他用户返回的str是 2,3 ,与我后台禁止的用户组id是一样,没有了 1
刚刚丢人了,编辑一下,
还是我圈的那里,最后改为false就好了
$str = isset($json[$gn]) ? $json[$gn] : false ;
isset($json[$gn])如果为true则会返回$json[$gn]字符串,如果isset($json[$gn])为false,则返回false也就是0
应该这样写好一点
function is_group_forum($fid,$group,$gn,$forum){ if(empty($forum[$fid]['json'])) return true; $data = $forum[$fid]['json']; $json = json_decode($data,true); // 如果设置有,返回则 返回值 , if(isset($json[$gn])){ $str = $json[$gn]; $arr = explode(",",$str); foreach ($arr as $v) { if($v == $group) return false; } } return true; }
判断发帖和浏览的好像是is_comp的方法,所以只有下载才会这样