+// because GetRoles does not correctly support filters, it's really painful to do this
+function sort_roles ($r1, $r2) { return $r2['role_id'] - $r1['role_id']; }
+function roles_except ($roles, $exception_ids) {
+ $result=array();
+ if ($roles) foreach ($roles as $role) {
+ if ( ! in_array ($role['role_id'],$exception_ids) ) {
+ $result[]=$role;
+ }
+ }
+ usort($result,sort_roles);
+ return $result;
+}
+