Hola;
Supongo que será error del funciones.php porque lo he modificado yo, porque he cogido el MC de
naveda y ponerle los rangos que yo necesitaba y tal.
La web del MC es:
www.habbozot.es/mc/ftag.php El código del funciones es:
<?
function estaBaneado($ip) {
$query = "SELECT * FROM `baneos` WHERE ip = '$ip'";
$resp = @mysql_query($query);
$rows = @mysql_num_rows($resp);
if ($rows) {
$ban = @mysql_fetch_array($resp);
if ($ban['desbanear'] == 0)
return true;
else {
$actual = time();
if ($ban['desbanear'] <= $actual) {
$query = "DELETE FROM `baneos` WHERE ip = '$ip'";
@mysql_query($query);
return false;
} else
return true;
}
} else
return false;
}
function esclub($nick) {
$query = "SELECT * FROM `est_club` WHERE usuarios = '$nick'";
$resp = @mysql_query($query);
$rows = @mysql_num_rows($resp);
if ($rows) {
$ban = @mysql_fetch_array($resp);
if ($ban['fin'] == 0)
return true;
else {
if ($ban['fin'] <= $actual) {
return false;
} else
if($ban['fin'] >= $actual)
return true;
}
} else
return true;
}
function actualizarIps($esperar) {
$fecha2 = microtime();
$fecha2 = explode(" ", $fecha2);
$fecha2 = $fecha2[1];
$query = "SELECT * FROM `flood`";
$resp = @mysql_query($query);
$rows = @mysql_num_rows($resp);
if ($rows)
while ($flood = @mysql_fetch_array($resp)) {
$difseg = $fecha2 - $flood['tiempo'];
if ($difseg >= $esperar)
$query2 = "DELETE FROM `flood` WHERE ip = '".$flood['ip']."'";
@mysql_query($query2);
}
}
function actualizarIp($fecha, $ip) {
$query = "SELECT * FROM `flood` WHERE ip = '$ip'";
$resp = @mysql_query($query);
$rows = @mysql_num_rows($resp);
if (!$rows)
$query = "INSERT INTO `flood` (ip, tiempo) values ('".$ip."', '".$fecha."')";
else
$query = "UPDATE `flood` set tiempo = '".$fecha."' WHERE ip = '".$ip."'";
@mysql_query($query);
}
function validarIp($ip) {
if (!is_string($ip))
return false;
$ip_long = ip2long($ip);
$ip_reverse = long2ip($ip_long);
if ($ip == $ip_reverse)
return true;
else
return false;
}
function yaExiste($login) {
$query = "SELECT * FROM `usuarios` WHERE nick = '$login'";
$resp = @mysql_query($query);
$rows = @mysql_num_rows($resp);
if (!$rows)
return false;
else
return true;
}
// Verifica que existe un usuario y que su password es el indicado
function comprobarNick($login, $pas) {
global $activarReg;
$pas = md5($pas);
$query = "SELECT * FROM `usuarios` WHERE nick = '".$login."'";
$resp = @mysql_query($query);
$rows = @mysql_num_rows($resp);
if ($rows) {
$usuario = @mysql_fetch_array($resp);
if ($activarReg == "on" && $usuario['rol'] == "Registrado") {
if ($usuario['pass'] == $pas)
return $usuario['nick'];
else
return "-1";
if ($rows) {
$usuario = @mysql_fetch_array($resp);
if ($activarReg == "on" && $usuario['rol'] == "DJ-Fijo") {
if ($usuario['pass'] == $pas)
return $usuario['nick'];
else
return "-1";
if ($rows) {
$usuario = @mysql_fetch_array($resp);
if ($activarReg == "on" && $usuario['rol'] == "DJ-Pruebas") {
if ($usuario['pass'] == $pas)
return $usuario['nick'];
else
return "-1";
if ($rows) {
$usuario = @mysql_fetch_array($resp);
if ($activarReg == "on" && $usuario['rol'] == "Mastertrade") {
if ($usuario['pass'] == $pas)
return $usuario['nick'];
else
return "-1";
if ($rows) {
$usuario = @mysql_fetch_array($resp);
if ($activarReg == "on" && $usuario['rol'] == "Xpert") {
if ($usuario['pass'] == $pas)
return $usuario['nick'];
else
return "-1";
if ($rows) {
$usuario = @mysql_fetch_array($resp);
if ($activarReg == "on" && $usuario['rol'] == "Honor") {
if ($usuario['pass'] == $pas)
return $usuario['nick'];
else
return "-1";
}
if ($usuario['rol'] == "Staff"
|| $usuario['rol'] == "Moderador"
|| $usuario['rol'] == "Guia"
)
{
if ($usuario['pass'] == $pas)
return $usuario['nick'];
else
return "-1";
}
}
return "0";
}
function guardar($user, $pas, $email) {
$id = "";
$query = "INSERT INTO `usuarios` (id, nick, rol, pass, fecha_registro, censuras, email) VALUES ('".$id."', '".$user."', '0', '".md5($pas)."', '".date("d.m.y, H:i:s")."', 0, '".$email."')";
@mysql_query($query);
}
// Verifica que existe un usuario y un admin
function existeUser($login, $rol, $id) {
global $activarReg;
$query = "SELECT * FROM `usuarios` WHERE nick = '".strtolower($login)."'";
$resp = @mysql_query($query);
$rows = @mysql_num_rows($resp);
if ($rows)
$user = @mysql_fetch_array($resp);
if ($activarReg == "on") {
if ($rows && $user['rol'] == "Registrado")
return true;
if ($activarReg == "on") {
if ($rows && $user['rol'] == "DJ-Fijo")
return true;
if ($activarReg == "on") {
if ($rows && $user['rol'] == "DJ-Pruebas")
return true;
if ($activarReg == "on") {
if ($rows && $user['rol'] == "Mastertrade")
return true;
if ($activarReg == "on") {
if ($rows && $user['rol'] == "Xpert")
return true;
if ($activarReg == "on") {
if ($rows && $user['rol'] == "Honor")
return true;
}
if ($rol == "Staff" && $rows && $user['rol'] == "Staff" && $user['id'] != $id)
return true;
if ($rol == "Moderador" && $rows && $user['rol'] == "Moderador" && $user['id'] != $id)
return true;
if ($rol == "Guia" && $rows && $user['rol'] == "Guia" && $user['id'] != $id)
return true;
return false;
}
// Busca el Rango identificativo del admin
function idenAdmin($login) {
$query = "SELECT * FROM `usuarios` WHERE nick = '$login'";
$resp = @mysql_query($query);
$rows = @mysql_num_rows($resp);
$usuario = @mysql_fetch_array($resp);
if (!$rows)
return -1;
else
return $usuario['rol'];
}
// Busca el numero identificativo del admin
function idAdmin($login) {
$query = "SELECT * FROM `usuarios` WHERE nick = '$login'";
$resp = @mysql_query($query);
$rows = @mysql_num_rows($resp);
$usuario = @mysql_fetch_array($resp);
if (!$rows)
return -1;
else
return $usuario['id'];
}
// Verifica si es uno de los administradores
function esAdmin($login) {
$query = "SELECT * FROM `usuarios` WHERE nick = '$login'";
$resp = @mysql_query($query);
$rows = @mysql_num_rows($resp);
$usuario = @mysql_fetch_array($resp);
if ($usuario['rol'] == "Staff"
|| $usuario['rol'] == "Moderador"
|| $usuario['rol'] == "Guia"
)
return true;
else
return false;
}
function esGuia($loger) {
$query = "SELECT * FROM `guide_users` WHERE user = '$loger'";
$resp = @mysql_query($query);
$rows = @mysql_num_rows($resp);
$usuario = @mysql_fetch_array($resp);
if ($usuario['rango'] == "3"
|| $usuario['rango'] == "2"
|| $usuario['rango'] == "1"
)
return true;
else
return false;
}
function esmod($login) {
$query = "SELECT * FROM `usuarios` WHERE nick = '$login'";
$resp = @mysql_query($query);
$rows = @mysql_num_rows($resp);
$usuario = @mysql_fetch_array($resp);
if ($usuario['rol'] == "Staff"
|| $usuario['rol'] == "Moderador"
|| $usuario['rol'] == "Guia"
)
return true;
else
return false;
}
// Verifica si es el SUPERadministrador
function esSuperAdmin($login) {
$query = "SELECT * FROM `usuarios` WHERE nick = '$login'";
$resp = @mysql_query($query);
$rows = @mysql_num_rows($resp);
$usuario = @mysql_fetch_array($resp);
if ($usuario['rol'] == "Web-Master")
return true;
else
return false;
}
// Función para reemplazar los códigos por su respectivo smilie
function reemplazarSmilies($palabra) {
$query = "SELECT * FROM `smilies`";
$resp = @mysql_query($query);
$rows = @mysql_num_rows($resp);
if ($rows) {
while ($placa = @mysql_fetch_array($resp))
$palabra = str_replace($placa['codigo'] ,"<img src=".$placa['imagen']." align=middle>", $palabra);
}
$query2 = "SELECT * FROM `coleccionplacas`";
$resp2 = @mysql_query($query2);
while($uplaca = @mysql_fetch_array($resp2)) {
if($login == "".$uplaca['nick']."") {
$palabra = str_replace(placa1,"<img src=smilies/arrepentido.gif align=middle>",$palabra);
$palabra = str_replace(a2,"<img src=http:// align=middle>",$palabra);
$palabra = str_replace(a3,"<img src=http:// align=middle>",$palabra);
$palabra = str_replace(a4,"<img src=http:// align=middle>",$palabra);
$palabra = str_replace(a5,"<img src=http:// align=middle>",$palabra);
$palabra = str_replace(a6,"<img src=http:// align=middle>",$palabra);
$palabra = str_replace(a7,"<img src=http:// align=middle>",$palabra);
$palabra = str_replace(a8,"<img src=http:// align=middle>",$palabra);
$palabra = str_replace(a9,"<img src=http:// align=middle>",$palabra);
$palabra = str_replace(a10,"<img src=http:// align=middle>",$palabra);
}}
return $palabra;
}
function bbcode($texto) {
$query = "SELECT * FROM `bbcodes` WHERE type = '1' order by id desc";
$query2 = "SELECT * FROM `bbcodes` WHERE type = '2' order by id desc";
$resp = @mysql_query($query);
$resp2 = @mysql_query($query2);
while ($bbcode = @mysql_fetch_array($resp))
$texto = eregi_replace("\\".$bbcode['1']."".$bbcode['2']."\\".$bbcode['3']."([^\\[]*)\\".$bbcode['1']."/".$bbcode['2']."\\".$bbcode['3']."","".$bbcode['1et']."\\1".$bbcode['2et']."", $texto);
while($bbcode = @mysql_fetch_array($resp2))
$texto = eregi_replace("\\".$bbcode['name']."","".$bbcode['repla']."",$texto);
return $texto;
}
function arrayCensura() {
$query = "SELECT * from censuras";
$resp = @mysql_query($query);
$palabras = array();
$i = 0;
while ($palabras[$i] = @mysql_fetch_array($resp)) {
$palabras[$i] = $palabras[$i]['palabra'];
$i ++;
}
return $palabras;
}
function arrayCaracteres() {
$query = "SELECT * from caracteres";
$resp = @mysql_query($query);
$palabras = array();
$i = 0;
while ($palabras[$i] = @mysql_fetch_array($resp)) {
$palabras[$i] = $palabras[$i]['caracter'];
$i ++;
}
return $palabras;
}
function guardarMensaje($login, $texto, $web, $ipLogin) {
global $maximo, $existeNick, $activarIp, $activarHora, $maxMsg, $activarBBcode, $mensajes,
$maxNick, $colorstaff, $colormoderador, $colorguia, $colorfijo, $colorpruebas, $colorx, $colormts,
$colorhonor, $colorvip, $coloranonimo, $activarAutomensaje, $tAutomensaje;
if (strlen($login) > $maxNick)
return _NEXCEEDSLIMITCHARS;
if (strlen($texto) > $maxMsg)
return _MEXCEEDSLIMITCHARS;
$login = htmlentities($login);
// No permitir etiquetas HTML, ni espacios en blanco en el nick
$login = reemplazarSmilies($login);
$web = htmlentities($web);
// Aquí vamos a procesar el mensaje palabra por palabra para que ninguna
// sea demasiado larga y destroce el diseño
// Dividimos el mensaje por palabras
$palabrasm = explode(" ",$texto);
// Contamos cuantas palabras son
$numpalabras = count($palabrasm);
// Bucle "for" para recorrer las palabras y dividirlas si hay alguna larga
for ($i = 0; $i < $numpalabras; $i++) {
// Comparamos la longitud de las palabras con el máximo
if (strlen($palabrasm[$i]) > $maximo) {
// Dividimos las palabras que excedan el máximo
$palabrasm[$i] = wordwrap($palabrasm[$i], $maximo, "<br>", 1);
$palabrasm[$i] = htmlentities($palabrasm[$i]);
$palabrasm[$i] = str_replace("<","<", $palabrasm[$i]);
$palabrasm[$i] = str_replace(">",">", $palabrasm[$i]);
} else
$palabrasm[$i] = htmlentities($palabrasm[$i]);
$palabrasm[$i] = reemplazarSmilies($palabrasm[$i]);
} // Fin bucle "for"
$palabras = arrayCensura();
if ($palabras[0] != "") {
for ($i = 0; $i < sizeof($palabrasm); $i ++)
for ($j = 0; $j < (sizeof($palabras) - 1); $j ++) {
if (eregi($palabras[$j], $palabrasm[$i])) {
$palabrasm[$i] = "****";
if (isset($_SESSION['nnick'])) {
$query = "UPDATE `usuarios` SET censuras = censuras + 1 WHERE nick ='".$_SESSION['nnick']."'";
@mysql_query($query);
}
}
}
}
$caracteres = arrayCaracteres();
if ($caracteres[0] != "") {
for ($i = 0; $i < sizeof($palabrasm); $i ++)
for ($j = 0; $j < (sizeof($caracteres) - 1); $j ++) {
if (eregi($caracteres[$j], $palabrasm[$i])) {
$palabrasm[$i] = "";
if (isset($_SESSION['nnick'])) {
$query = "UPDATE `usuarios` SET censuras = censuras + 1 WHERE nick ='".$_SESSION['nnick']."'";
@mysql_query($query);
}
}
}
}
// Unimos las palabras mediante espacios vacíos para crear el mensaje
$texto = implode(" ",$palabrasm);
if ($texto == "")
return _NOMESSAGE;
if ($palabras[0] != "") {
for ($i = 0; $i < (sizeof($palabras) - 1); $i ++) {
if (eregi($palabras[$i],$login)) {
$login = "****";
if (isset($_SESSION['nnick'])) {
$query = "UPDATE `usuarios` SET censuras = censuras + 1 WHERE id ='".$_SESSION['nnick']."'";
@mysql_query($query);
}
}
}
}
if ($caracteres[0] != "") {
for ($i = 0; $i < (sizeof($caracteres) - 1); $i ++) {
if (eregi($caracteres[$i], $login)) {
$login = "";
if (isset($_SESSION['nnick'])) {
$query = "UPDATE `usuarios` SET censuras = censuras + 1 WHERE id ='".$_SESSION['nnick']."'";
@mysql_query($query);
}
}
}
}
if ($login == "")
return _NONICK;
if ($activarBBcode == "on")
$texto = bbcode($texto);
// Fecha en la que se envió el mensaje
$fecha .= " "._AT." ";
$fecha .= Date("H:i");
if ($existeNick == "true") {
$rol = idenAdmin($login);
if ($rol == "Staff") { // "RANGO" es el nombre del Rango
$color = $colorstaff; // $colorRANGO es la variable de color del rango
$texto = "<img src=\"img/badge-staff.gif\" align=\"left\">".$texto; // RANGO.gif es la imagen Placa del Rango
}
else if ($rol == "Moderador") { // "RANGO" es el nombre del Rango
$color = $colormoderador; // $colorRANGO es la variable de color del rango
$texto = "<img src=\"img/badge-staff.gif\" align=\"left\">".$texto; // RANGO.gif es la imagen Placa del Rango
}
else if ($rol == "Guia") { // "RANGO" es el nombre del Rango
$color = $colorguia; // $colorRANGO es la variable de color del rango
$texto = "<img src=\"img/guia.gif\" align=\"left\">".$texto; // RANGO.gif es la imagen Placa del Rango
}
else if ($rol == "DJ-Fijo") { // "RANGO" es el nombre del Rango
$color = $colorfijo; // $colorRANGO es la variable de color del rango
$texto = "<img src=\"img/dj-normal.gif\" align=\"left\">".$texto; // RANGO.gif es la imagen Placa del Rango
}
else if ($rol == "DJ-Pruebas") { // "RANGO" es el nombre del Rango
$color = $colorpruebas; // $colorRANGO es la variable de color del rango
$texto = "<img src=\"img/dj-azul.gif\" align=\"left\">".$texto; // RANGO.gif es la imagen Placa del Rango
}
else if ($rol == "Registrado") { // "RANGO" es el nombre del Rango
$color = $colorvip; // $colorRANGO es la variable de color del rango
$userplaca = $login;
$query = mysql_query("SELECT * FROM placas WHERE user='$userplaca'");
$ver = mysql_fetch_array($query);
$texto = "<img src=\"img/vip3.gif\" align=\"left\">".$texto; // RANGO.gif es la imagen Placa del Rango
}
else if ($rol == "Honor") { // "RANGO" es el nombre del Rango
$color = $colorhonor; // $colorRANGO es la variable de color del rango
$texto = "<img src=\"img/badge-vip.gif\" align=\"left\">".$texto; // RANGO.gif es la imagen Placa del Rango
}
else if ($rol == "Xpert") { // "RANGO" es el nombre del Rango
$color = $colorx; // $colorRANGO es la variable de color del rango
$texto = "<img src=\"img/badge-x.gif\" align=\"left\">".$texto; // RANGO.gif es la imagen Placa del Rango
}
else if ($rol == "Mastertrader") { // "RANGO" es el nombre del Rango
$color = $colormts; // $colorRANGO es la variable de color del rango
$texto = "<img src=\"img/tradeador.gif\" align=\"left\">".$texto; // RANGO.gif es la imagen Placa del Rango
}
$query = "SELECT * FROM `usuarios` WHERE nick = '".$login."'";
$resp = @mysql_query($query);
$usuario = @mysql_fetch_array($resp);
$color2 = $usuario['colorletra'];
$texto = "<b><font color=".$color2.">".$texto;
$user_id = $usuario['id'];
$login = "";
$query = "UPDATE `usuarios` SET mensajes = mensajes + 1 WHERE id ='" .$user_id. "'";
@mysql_query($query);
} else {
$color = $coloranonimo; // anonimo
$user_id = -1;
}
$query = "UPDATE `configuracion` SET valor = valor + 1 WHERE campo = 'total_mensajes'";
@mysql_query($query);
$id = "";
$tiempo = microtime();
$tiempo = explode(" ", $tiempo);
$tiempo = $tiempo[1];
$query = "INSERT INTO mensajes (id, usuario, texto, web, color, ip, fecha, nombre, tiempo) VALUES ('".$id."', '".$user_id."', '".$texto."', '".$web."', '".$color."', '".$ipLogin."', '".$fecha."', '".$login."', '".$tiempo."')";
@mysql_query($query);
if ($activarAutomensaje == "on") {
$query = "SELECT * FROM `automensaje` WHERE id = '1'";
$resp = @mysql_query($query);
$automensaje = @mysql_fetch_array($resp);
$fecha1 = $automensaje['ultimo'];
$fecha2 = microtime();
$fecha2 = explode(" ", $fecha2);
$fecha2 = $fecha2[1];
if (($fecha2 - $fecha1) >= $tAutomensaje) {
$id = "";
$fecha .= " "._AT." ";
$fecha .= Date("H:i");
$query = "INSERT INTO mensajes (id, usuario, texto, web, color, ip, fecha, nombre, tiempo) VALUES ('".$id."', '-1', '".$automensaje['texto']."', '', '#FF0000', '', '".$fecha."', 'Auto-Mensaje', '".$tiempo."')";
@mysql_query($query);
$query = "UPDATE `automensaje` set ultimo = '".$fecha2."' WHERE id = '1'";
@mysql_query($query);
}
}
return "";
}
?>
Espero que me podais ayudar porfavor;
Gracias y un saludo.