query("SELECT username,perms FROM ".C_REG_TBL." WHERE perms != 'admin'"); $users = Array(); while (list($username, $perms) = $DbLink->next_record()) { $users[] = $username; } $DbLink->clean_results(); for (reset($users); $username=current($users); next($users)) { $usrHash = md5($username); $VarName = "user_".$usrHash; if (!isset($$VarName)) continue; // Delete a profile after having sent a message to the user if he is connected if ($DELETE_MODE) { $VarName = "selected_".$usrHash; if (isset($$VarName)) { $uuu = addslashes($username); $DbLink->query("DELETE FROM ".C_REG_TBL." WHERE username='$uuu'"); $DbLink->query("SELECT room FROM ".C_USR_TBL." WHERE username='$uuu' LIMIT 1"); $in_room = ($DbLink->num_rows() != 0); if ($in_room) { list($room) = $DbLink->next_record(); $DbLink->clean_results(); $DbLink->query("SELECT type FROM ".C_MSG_TBL." WHERE room='".addslashes($room)."' LIMIT 1"); list($type) = $DbLink->next_record(); $DbLink->clean_results(); $DbLink->query("UPDATE ".C_USR_TBL." SET status='u' WHERE username='$uuu'"); $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ('$type', '".addslashes($room)."', 'SYS delreg', '', ".time().", '$uuu', 'L_ADM_2')"); }; // Optimize the registered users table when a MySQL DB is used $DbLink->optimize(C_REG_TBL); }; } // Banish an user elseif ($BANISH_MODE) { $VarName = "selected_".$usrHash; if (isset($$VarName)) { $uuu = addslashes($username); $DbLink->query("SELECT latin1,ip FROM ".C_REG_TBL." WHERE username='$uuu' LIMIT 1"); list($Latin1, $IP) = $DbLink->next_record(); $DbLink->clean_results(); $DbLink->query("SELECT count(*) FROM ".C_BAN_TBL." WHERE username='$uuu' LIMIT 1"); list($Nb) = $DbLink->next_record(); $DbLink->clean_results(); if ($Nb == "0") { $Until = time() + round(C_BANISH * 60 * 60 * 24); if ($Until > 2147483647) $Until = "2147483647"; $DbLink->query("INSERT INTO ".C_BAN_TBL." VALUES ('$uuu','$Latin1','$IP','**ToDefine**','$Until')"); }; $Warning = A_SHEET1_10; }; } // Modify perms for a registered user and send him a message if he is connected else { $VarName = "perms_".$usrHash; $ppp = $$VarName; $VarName = "rooms_".$usrHash; $rrr = $$VarName; $VarName = "old_perms_".$usrHash; $old_ppp = $$VarName; $VarName = "old_rooms_".$usrHash; $old_rrr = $$VarName; if ($ppp == $old_ppp && $rrr == $old_rrr) continue; $uuu = addslashes($username); $DbLink->query("UPDATE ".C_REG_TBL." SET perms='$ppp', rooms='$rrr' WHERE username='$uuu'"); $DbLink->query("SELECT room FROM ".C_USR_TBL." WHERE username='$uuu' LIMIT 1"); $in_room = ($DbLink->num_rows() != 0); if ($in_room) { list($room) = $DbLink->next_record(); $DbLink->clean_results(); // Find the changes in moderated rooms list if ($ppp != $old_ppp) { if ($ppp == 'user') $diff_rooms = explode(",", $old_rrr); else $diff_rooms = explode(",", $rrr); } else { $old_rooms_Tab = explode(",",$old_rrr); $new_rooms_Tab = explode(",",$rrr); $diff_rooms_Tab = array(); for (reset($old_rooms_Tab); $room2Check=current($old_rooms_Tab); next($old_rooms_Tab)) { if ($room2Check == "") continue; if (!room_in($room2Check, $rrr)) $diff_rooms_Tab[] = $room2Check; } for (reset($new_rooms_Tab); $room2Check=current($new_rooms_Tab); next($new_rooms_Tab)) { if ($room2Check == "") continue; if (!room_in($room2Check, $old_rrr)) $diff_rooms_Tab[] = $room2Check; } unset($old_rooms_Tab); unset($new_rooms_Tab); if (count($diff_rooms_Tab) > 0) $diff_rooms = str_replace(",,",",",ereg_replace("^,|,$","",implode(",",$diff_rooms_Tab))); unset($diff_rooms_Tab); } // Send a message to the user if he chats into one of the 'diff' rooms if (room_in(addslashes($room), $diff_rooms)) { if ($ppp == 'moderator' && room_in(addslashes($room), $rrr)) // user becomes moderator for the room he chats into { $status = "m"; $message = "sprintf(L_MODERATOR, \"".addslashes(htmlspecialchars(stripslashes($uuu)))."\")"; } else // user becomes user for the room he chats into { $status = "r"; $message = "sprintf(L_ADM_1, \"".addslashes(htmlspecialchars(stripslashes($uuu)))."\")"; }; $DbLink->query("UPDATE ".C_USR_TBL." SET status='$status' WHERE username='$uuu'"); $DbLink->query("SELECT type FROM ".C_MSG_TBL." WHERE room='".addslashes($room)."' LIMIT 1"); list($type) = $DbLink->next_record(); $DbLink->clean_results(); $DbLink->query("INSERT INTO ".C_MSG_TBL." VALUES ('$type', '".addslashes($room)."', 'SYS promote', '', ".time().", '', '$message')"); }; } else { $DbLink->clean_results(); }; }; }; }; // Remove profiles of users that have not been chatting for a time > C_REG_DEL if (!isset($FORM_SEND) && C_REG_DEL != 0) $DbLink->query("DELETE FROM ".C_REG_TBL." WHERE reg_time < ".(time() - C_REG_DEL * 60 * 60 * 24)." AND perms != 'admin'"); // Remove moderator status if no room is specified $DbLink->query("UPDATE ".C_REG_TBL." SET perms='user' WHERE perms='moderator' AND rooms=''"); ?>

$Warning


\n"); ?> query("SELECT COUNT(*) FROM ".C_REG_TBL." WHERE perms != 'admin' LIMIT 1"); list($count_RegUsers) = $DbLink->next_record(); $DbLink->clean_results(); if ($count_RegUsers != 0) { ?>
" METHOD="POST" AUTOCOMPLETE="OFF" NAME="Form1"> $lastPage_startReg) $startReg = $lastPage_startReg; if (C_DB_TYPE == "mysql") $limits = " LIMIT $startReg,10"; elseif (C_DB_TYPE == "pgsql") $limits = " LIMIT 10 OFFSET $startReg"; else $limits = ""; $DbLink->query("SELECT username,latin1,perms,rooms,reg_time,ip FROM ".C_REG_TBL." WHERE perms != 'admin' ORDER BY $sortBy $sortOrder".$limits); while (list($username,$Latin1,$perms,$rooms,$lastTime,$IP) = $DbLink->next_record()) { $usrHash = md5($username); ?> clean_results(); ?>
  "> "> "> "> *
*
 


0) { $downReg = $startReg - 10; if ($downReg < 0) $downReg = "0"; ?>  ">    ">  ">    ">