This is a useabilty issue more than anything else. When
a user goes to set permissions on under a category with
no items under it, all they see is an 'All' checkbox.
It is easy to assume that cheking all will have set
permissions for a group. But it hasn't as there were no
items under that category to set. It seems like a
common confusion and though it is easy to understand
once you realize that You need something to set
permissions on before you can set them it really is
easy to become confused as a user since you are going
to see a check box for 'All'
suggested fix
XoopsGroupFormCheckBox->render()
around say line:274
CHANGE:
$ret .= _ALL." <input id="\\"".$checkallbtn_id."\\"" type="\\"checkbox\\"" value="\\"\\"" onclick="\\"var" optionids="new" Array(".$option_ids_str.");="" xoopsCheckAllElements(optionids,="" '".$checkallbtn_id."');\\"=""/>";
TO:
if (isset($option_ids_str)){
$ret .= _ALL." <input id="\\"".$checkallbtn_id."\\"" type="\\"checkbox\\"" value="\\"\\"" onclick="\\"var" optionids="new" Array(".$option_ids_str.");="" xoopsCheckAllElements(optionids,="" '".$checkallbtn_id."');\\"=""/>";
}
else {
$ret .= _NOCAT;
}
It eliminates the checkbox when it is not needed and
helps useabilty.
IMHO