M-am gândit să pun acest script pentru cei care nu au adăugată comanda de ban de pe server!
Cod: Selectaţi tot
<?php
# Setari baza de date
$db_host = "IP SERVER"; # Adresa IP (domeniu, daca este cazul) a bazei de date
$db_port = ""; # Portul bazei de date (optional)
$db_user = "USERNAME"; # Utilizatorul bazei de date
$db_password = "PAROLA"; # Parola bazei de date (daca este cazul, lasati liber)
$db_acc_database = ""; # Numele bazei de date a conturilor (optional)
$db_player_database = ""; # Numele bazei de date a jucatorilor (optional)
# Setari script
$password = md5("PAROLA DORITA"); # Parola script-ului (a se scrie intre ghilimele)
$script_name = "ban1.php"; # Numele script-ului (numele fisierului)
# Nu umbla sub aceasta linie numai daca stii ce faci!
if(!isset($_POST["password"])) {
if(!isset($_COOKIE["password"])) {
die("
<h3>Nu esti conectat!</h3>
<p>Introdu parola pentru a accesa acest script!</p>
<form name=\"input\" action=\"".$script_name."\" method=\"post\">
Parola: <input type=\"password\" name=\"password\">
<input type=\"submit\" value=\"Trimite\">
</form>
");
}
} else {
if(md5($_POST["password"]) == $password) {
setcookie("password", $password, time()+3600);
echo "Parola introdusa este corecta! Ai fost conectat la script!";
} else {
die("Parola introdusa este gresita!");
}
}
if(empty($db_port)) {
$db_port = "3306";
}
if(empty($db_acc_database)) {
$db_acc_database = "account";
}
if(empty($db_player_database)) {
$db_player_database = "player";
}
if(empty($db_host)) {
die("<br /><br /><b><center><font color=\"red\">Nu a fost precizata adresa bazei de date!</font></center></b>");
}
if(empty($db_user)) {
die("<br /><br /><b><center><font color=\"red\">Nu a fost precizat utilizatorul bazei de date!</font></center></b>");
}
error_reporting(0);
$db_connect = mysql_connect($db_host.":".$db_port, $db_user, $db_password);
if(!$db_connect) {
die("<br /><br /><b><center><font color=\"red\">Nu m-am putut conecta la baza de date!<br />Eroare: ".mysql_error()." </font></center></b>");
}
$db_select = mysql_select_db($db_acc_database);
if(!$db_select) {
die("<br /><br /><b><center><font color=\"red\">Nu am putut selecta baza de date!<br />Eroare: ".mysql_error()." </font></center></b>");
}
error_reporting(-1);
# Functii
function acc_id($login, $db) {
$db_select = mysql_select_db($db);
if(!$db_select) {
die("<br /><br /><b><center><font color=\"red\">Nu am putut selecta baza de date!<br />Eroare: ".mysql_error()." </font></center></b>");
}
$login = mysql_real_escape_string($login);
$sql = mysql_query("SELECT id FROM account WHERE login = \"$login\"");
if(mysql_num_rows($sql) == 0) {
return false;
} else {
$sql_array = mysql_fetch_array($sql);
return $sql_array[0];
}
}
function acc_id_pn($name, $db) {
$db_select = mysql_select_db($db);
if(!$db_select) {
die("<br /><br /><b><center><font color=\"red\">Nu am putut selecta baza de date!<br />Eroare: ".mysql_error()." </font></center></b>");
}
$name = mysql_real_escape_string($name);
$sql = mysql_query("SELECT account_id FROM player WHERE name = \"$name\"");
if(mysql_num_rows($sql) == 0) {
return false;
} else {
$sql_array = mysql_fetch_array($sql);
return $sql_array[0];
}
}
function acc_login($id, $db) {
$db_select = mysql_select_db($db);
if(!$db_select) {
die("<br /><br /><b><center><font color=\"red\">Nu am putut selecta baza de date!<br />Eroare: ".mysql_error()." </font></center></b>");
}
$sql = mysql_query("SELECT login FROM account WHERE id = $id");
$sql_array = mysql_fetch_array($sql);
return $sql_array[0];
}
function acc_status($id, $db) {
$db_select = mysql_select_db($db);
if(!$db_select) {
die("<br /><br /><b><center><font color=\"red\">Nu am putut selecta baza de date!<br />Eroare: ".mysql_error()." </font></center></b>");
}
$sql = mysql_query("SELECT status, availDt FROM account WHERE id = $id");
$sql_array = mysql_fetch_array($sql);
$status = $sql_array[0];
$availDt = $sql_array[1];
if($status == "BLOCK") {
return array(
"status" => 1,
"type" => 0
);
}
if(strtotime($availDt) > time()) {
return array(
"status" => 1,
"type" => 1,
"date" => strtotime($availDt)
);
}
return array(
"status" => 0
);
}
function block($id, $db){
$db_select = mysql_select_db($db);
if(!$db_select) {
die("<br /><br /><b><center><font color=\"red\">Nu am putut selecta baza de date!<br />Eroare: ".mysql_error()." </font></center></b>");
}
$sql = mysql_query("UPDATE account SET status=\"BLOCK\" WHERE id = $id");
if(!$sql) {
return 0;
}
if(mysql_affected_rows() == 0) {
return 1;
}
return 2;
}
function unblock($id, $db){
$db_select = mysql_select_db($db);
if(!$db_select) {
die("<br /><br /><b><center><font color=\"red\">Nu am putut selecta baza de date!<br />Eroare: ".mysql_error()." </font></center></b>");
}
$sql = mysql_query("UPDATE account SET status=\"OK\", availDt = '0000-00-00 00:00:00' WHERE id = $id");
if(!$sql) {
return 0;
}
if(mysql_affected_rows() == 0) {
return 1;
}
return 2;
}
function check_date($date){
if(preg_match("/(\d{2})\|\|(\d{2})\|\|(\d{4})\|\|(\d{2})\|\|(\d{2})\|\|(\d{2})/", $date)) {
$explode = explode("||", $date);
$day = $explode[0];
$month = $explode[1];
$year = $explode[2];
$hour = $explode[3];
$minute = $explode[4];
$second = $explode[5];
if(!(is_numeric($day) || is_numeric($month) || is_numeric($year) || is_numeric($hour) || is_numeric($minute) || is_numeric($second))){
return false;
}
if(!checkdate($month, $day, $year)){
return false;
} else {
if(!($hour >= 0 && $hour <= 23)) {
return false;
}
if(!($minute >= 0 && $hour <= 59)) {
return false;
}
if(!($second >= 0 && $hour <= 59)) {
return false;
}
return true;
}
} else {
return false;
}
}
function tempblock($id, $date, $db){
$db_select = mysql_select_db($db);
if(!$db_select) {
die("<br /><br /><b><center><font color=\"red\">Nu am putut selecta baza de date!<br />Eroare: ".mysql_error()." </font></center></b>");
}
if(check_date($date)) {
$explode = explode("||", $date);
$day = $explode[0];
$month = $explode[1];
$year = $explode[2];
$hour = $explode[3];
$minute = $explode[4];
$second = $explode[5];
$date = $year."-".$month."-".$day." ".$hour.":".$minute.":".$second;
$sql = mysql_query("UPDATE account SET availDt='$date' WHERE id = $id");
if(!$sql) {
return 1;
}
if(mysql_affected_rows() == 0) {
return 2;
}
return 3;
} else {
return 0;
}
}
# Functii
if(!isset($_POST["id"])) {
if(!(isset($_GET["login"]) || isset($_GET["name"]))) {
echo "<h3>Alege un cont sau un nume de caracter pentru a vedea actiunile posibile:</h3>
<form name=\"input\" action=\"".$script_name."\" method=\"get\">
Nume cont: <input type=\"text\" name=\"login\">
Nume caracter: <input type=\"text\" name=\"name\">
<input type=\"submit\" value=\"Trimite\">
</form>
<font color=\"red\">Este obligatoriu doar unul dintre campuri!</font>";
} else {
if(empty($_GET["login"]) && empty($_GET["name"])){
die("<br /><br /><b><center><font color=\"red\">Nu ai ales niciun caracter/cont!</font></center></b>");
}
$id = 0;
if(!empty($_GET["login"])) {
$temp_id = acc_id($_GET["login"], $db_acc_database);
if($temp_id == false) {
print("<br /><br /><b><center><font color=\"red\">Nu exista acest cont: ".$_GET["login"]."!</font></center></b>");
} else {
$id = $temp_id;
}
}
if(!empty($_GET["name"])) {
$temp_id = acc_id_pn($_GET["name"], $db_player_database);
if($temp_id == false) {
print("<br /><br /><b><center><font color=\"red\">Nu exista acest caracter: ".$_GET["name"]."!</font></center></b>");
} else {
$id = $temp_id;
}
}
if($id == 0) {
die("<br /><br /><b><center><font color=\"red\">Nu am putut selecta niciun cont!</font></center></b>");
} else {
print("<h3>Cont selectat: <u>".acc_login($id, $db_acc_database)."</u> (ID: ".$id.")</h3>");
$banned = false;
echo "<b>Statut: ";
$status = acc_status($id, $db_acc_database);
if($status["status"] == 0) {
echo "<font color=\"green\">neblocat</font>";
} else {
$banned = true;
if($status["type"] == 0) {
echo "<font color=\"red\">blocat permanent</font>";
} else {
echo "<font color=\"red\">blocat temporar pana la ".date('j.m.Y, H:i:s', $status["date"])."</font>";
}
}
echo "</b>";
}
print("<h2>Actiuni</h2>");
echo "<form name=\"input\" action=\"".$script_name."\" method=\"post\">
<input type=\"hidden\" name=\"id\" value=\"$id\">";
if($banned == false) { echo "<input type=\"submit\" name=\"block\" value=\"Blocare permanenta\">"; }
if($banned == true) { echo "<input type=\"submit\" name=\"unblock\" value=\"Deblocare\">"; }
echo "</form>";
if($banned == false) { echo "
<form name=\"input\" action=\"".$script_name."\" method=\"post\">
<input type=\"hidden\" name=\"id\" value=\"$id\">
Blocare temporara pana la data (scrie data in urmatorul format: ZZ||LL||AAAA||OO||MM||SS)*: <input type=\"text\" name=\"date\">
<input type=\"submit\" name=\"tempblock\" value=\"Blocare temporara\">
</form>
* De exemplu, daca se introduce 05||01||2013||15||30||00, atunci contul va fi banat pana la 5 Ianuarie 2013, ora 15:30:00.
"; }
print("<br /><br /><a href=\"$script_name\">Alege alt jucator</a>");
}
} else {
$id = mysql_real_escape_string($_POST["id"]);
if(isset($_POST["block"])) {
$block = block($id, $db_acc_database);
if ($block == 0) {
print("<b><font color=\"red\">Eroare: Contul nu a fost blocat!</font></b>");
}
if ($block == 1) {
print("<b><font color=\"orange\">Atentie: Contul este deja blocat permanent sau nu exista!</font></b>");
}
if ($block == 2) {
print("<b><font color=\"green\">Contul a fost blocat permanent!</font></b>");
}
} else {
if(isset($_POST["unblock"])) {
$unblock = unblock($id, $db_acc_database);
if ($unblock == 0) {
print("<b><font color=\"red\">Eroare: Contul nu a fost deblocat!</font></b>");
}
if ($unblock == 1) {
print("<b><font color=\"orange\">Atentie: Contul este deja deblocat sau nu exista!</font></b>");
}
if ($unblock == 2) {
print("<b><font color=\"green\">Contul a fost deblocat.</font></b>");
}
} else {
if(isset($_POST["tempblock"])) {
if(isset($_POST["date"])){
$date = mysql_real_escape_string($_POST["date"]);
$tempblock = tempblock($id, $date, $db_acc_database);
if ($tempblock == 0) {
print("<b><font color=\"red\">Eroare: Data nu este valida!</font></b>");
}
if ($tempblock == 1) {
print("<b><font color=\"red\">Eroare: Contul nu a fost blocat!</font></b>");
}
if ($tempblock == 2) {
print("<b><font color=\"orange\">Atentie: Contul este deja blocat sau nu exista!</font></b>");
}
if ($tempblock == 3) {
print("<b><font color=\"green\">Contul a fost blocat.</font></b>");
}
} else {
print("<b><font color=\"red\">Eroare: nu ati precizat data</font></b>");
}
} else {
print("<b><font color=\"red\">Eroare: actiune invalida</font></b>");
}
}
}
echo "<br /><script>
document.write('<a href=\"' + document.referrer + '\">Inapoi</a>');
</script>";
}
?>


