query("UPDATE ".C_USR_TBL." SET status='d' WHERE room='$room'"); $DbLink->query("SELECT COUNT(*) FROM ".C_USR_TBL." WHERE room='$room'"); list($anybody) = $DbLink->next_record(); $DbLink->clean_results(); $i = time() + 20; // let the time to users to be 'kicked' (max=20 sec) while ($anybody != 0 && time() < $i) { $DbLink->query("SELECT COUNT(*) FROM ".C_USR_TBL." WHERE room='$room'"); list($anybody) = $DbLink->next_record(); $DbLink->clean_results(); sleep(2); } // Remove permissions for that room when it's not a default one (define in config.lib.php3) if (!room_in(stripslashes($room), $DefaultChatRooms)) { $UpdLink = new DB; $DbLink->query("SELECT username,rooms FROM ".C_REG_TBL." WHERE perms='moderator'"); while (list($mod_un,$mod_rooms) = $DbLink->next_record()) { $changed = false; $roomTab = explode(",",$mod_rooms); for ($i = 0; $i < count($roomTab); $i++) { if (strcasecmp(stripslashes($room), $roomTab[$i]) == 0) { $roomTab[$i] = ""; $changed = true; break; }; }; if ($changed) { $mod_rooms = str_replace(",,",",",ereg_replace("^,|,$","",implode(",",$roomTab))); $UpdLink->query("UPDATE ".C_REG_TBL." SET rooms='".addslashes($mod_rooms)."' WHERE username='".addslashes($mod_un)."'"); }; unset($roomTab); }; $DbLink->clean_results(); }; // Clean the room; $DbLink->query("DELETE FROM ".C_USR_TBL." WHERE room='$room'"); $DbLink->query("DELETE FROM ".C_MSG_TBL." WHERE room='$room'"); }; // Optimize the messages table when a MySQL DB is used $DbLink->optimize(C_MSG_TBL); }; ?>