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 groupDropFlags($id, $flags) { $group = groupGetById($id); if (is_array($group)) { $flags1 = $group["flags"]; $flags1 = stringDropTokens($flags1, $flags); global $database_cfg; databaseQuery("update " . $database_cfg["prefix"] . "groups set (flags='" . $flags1 . "'", "Can not add group flags"); } else { return "Group with given id doesn't exists"; } }
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; }