+function permissionNameToId($permission)\r
+{\r
+ global $mysqli,$db_table_prefix;\r
+ $stmt = $mysqli->prepare("SELECT id\r
+ FROM ".$db_table_prefix."permissions\r
+ WHERE\r
+ name = ?\r
+ LIMIT 1");\r
+ $stmt->bind_param("s", $permission); \r
+ $stmt->execute();\r
+ $stmt->bind_result($id);\r
+ \r
+ while ($stmt->fetch()){\r
+ $perm_id = $id;\r
+ }\r
+ $stmt->close();\r
+ \r
+ return $perm_id;\r
+}\r
+\r
+function fetchAllUsersWithPerm($perm_name)\r
+{\r
+ global $mysqli,$db_table_prefix; \r
+ \r
+ $perm_id = permissionNameToId($perm_name);\r
+ $stmt = $mysqli->prepare("SELECT \r
+ p1.id\r
+ FROM ".$db_table_prefix."users p1\r
+ WHERE EXISTS (SELECT * FROM ".$db_table_prefix."user_permission_matches\r
+ WHERE user_id=p1.id AND permission_id=?)"\r
+ );\r
+ $stmt->bind_param("i", $perm_id); \r
+ $stmt->execute();\r
+ $stmt->bind_result($id);\r
+ \r
+ while ($stmt->fetch()){\r
+ $row[] = $id;\r
+ }\r
+ $stmt->close();\r
+ return ($row);\r
+}\r
+\r
+function fetchAllUsersWithoutPerm($perm_name)\r
+{\r
+ global $mysqli,$db_table_prefix; \r
+ \r
+ $perm_id = permissionNameToId($perm_name);\r
+ $stmt = $mysqli->prepare("SELECT \r
+ p1.id\r
+ FROM ".$db_table_prefix."users p1\r
+ WHERE NOT EXISTS (SELECT * FROM ".$db_table_prefix."user_permission_matches\r
+ WHERE user_id=p1.id AND permission_id=?)"\r
+ );\r
+ $stmt->bind_param("i", $perm_id); \r
+ $stmt->execute();\r
+ $stmt->bind_result($id);\r
+ \r
+ while ($stmt->fetch()){\r
+ $row[] = $id;\r
+ }\r
+ $stmt->close();\r
+ return ($row);\r
+}\r
+\r