function groupCheckFlags($id, $flags) { $group = groupGetById($id); if (is_array($group)) { return stringCheckForTokens($group["flags"], $flags); } }
function topicCheckFlags($topic_id, $flags) { $topic_flags = topicGetFlags($topic_id); return stringCheckForTokens($topic_flags, $flags); }
function userCheckFlags($user_id, $flags) { $user = userGetById(intval($user_id)); if (!userExistsById($user_id) || !is_array($flags)) { return; } $res = stringCheckForTokens($user["flags"], $flags); $a = userGetGroups($user_id); for ($i = 0; $i < count($a); $i++) { $group = groupGetById($a[$i]); $res1 = stringCheckForTokens($group["flags"], $flags); for ($j = 0, $t = 0; $j < count($res1), $t < count($res); $j++, $t++) { $res[$t] = $res[$t] | $res1[$j]; } } return $res; }
function topicCheckModerators($topic_id, $users) { $topic = topicGetById($topic_id); return stringCheckForTokens($topic["moderators"], $users); }
function userCheckFlags($user_id, $flags) { $user = userGetById(intval($user_id)); if (!userExistsById($user_id)) { return; } function merge($a, $b) { if ($a | $b) { return true; } else { return false; } } $res = stringCheckForTokens($user["flags"], $flags); $a = userGetGroups($user_id); for ($i = 0; $i < count($a); $i++) { $group = groupGetById($a[$i]); $res1 = stringCheckForTokens($group["flags"], $flags); $res = array_map("merge", $res1, $res); } return $res; }