Comunidad PHPeros

Lenguajes => Aplicaciones Pre-Fabricadas => Minichat o MC => Mensaje iniciado por: callosino en 01 de Noviembre de 2006, 20:52:01 pm

Título: Error en lo de poner mas rangos
Publicado por: callosino en 01 de Noviembre de 2006, 20:52:01 pm
El error es este:
Parse error: parse error, unexpected T_ELSE in /home/webcindario/felipeadrian/MC/funciones.php on line 374
y no se donde es, aqui teneis el funciones:


<?

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 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'] == "0") {

if ($usuario['pass'] == $pas)

return $usuario['nick'];

else

return "-1";

}



if ($usuario['rol'] == "Owner"
|| $usuario['rol'] == "Tecnico"

|| $usuario['rol'] == "Moderador"

|| $usuario['rol'] == "Rubi"

|| $usuario['rol'] == "Zafiro"

|| $usuario['rol'] == "Bronze") {

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'] == "0")

return true;

}



if ($rol == "Owner" && $rows && $user['rol'] == "Owner" && $user['id'] != $id)

return true;

if ($rol == "Tecnico" && $rows && $user['rol'] == "Tecnico" && $user['id'] != $id) 
return true;



if ($rol == "Zafiro" && $rows && $user['rol'] == "Zafiro" && $user['id'] != $id) 

return true;



if ($rol == "Moderador" && $rows && $user['rol'] == "Moderador" && $user['id'] != $id) 

return true;



if ($rol == "Rubi" && $rows && $user['rol'] == "Rubi" && $user['id'] != $id) 

return true;



if ($rol == "Bronze" && $rows && $user['rol'] == "Bronze" && $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'] == "Owner"
|| $usuario['rol'] == "Tecnico"

|| $usuario['rol'] == "Moderador"

|| $usuario['rol'] == "Zafiro"

|| $usuario['rol'] == "Rubi"

|| $usuario['rol'] == "Bronze")

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'] == "Owner")

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);

}



    return $palabra;

    }



function bbcode($texto) {

        $texto = eregi_replace("\\[u\\]([^\\[]*)\\[/u\\]","<u>\\1</u>", $texto);



        $texto = eregi_replace("\\[i\\]([^\\[]*)\\[/i\\]","<em>\\1</em>", $texto);



        $texto = eregi_replace("\\[b\\]([^\\[]*)\\[/b\\]","<strong>\\1</strong>", $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, $colorowners, $colormoderador, $colorvip, $coloranonimo, $colorrubi, $colorzafiro,

   $colorbronze, $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("&lt;","<", $palabrasm[$i]);

$palabrasm[$i] = str_replace("&gt;",">", $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 == "Owner")
$color= $colorowner;
else if ($rol == "Tecnico")
$color= $colortecnico
else if ($rol == "Moderador")
$color = $colormoderador;
else if ($rol == "Zafiro")
$color = $colorzafiro;
else if ($rol == "Bronze")
$color = $colorbronze;
else if ($rol == "Rubi")
$color = $colorrubi;
else if ($rol == "0")
$color = $colorvip;

// Comprobamos si no quiere mostrar placa, y activamos el autoplacas

if ($ocultarplaca != "si"){



if ($placasAutomaticas == "on") {

if ($rol == "Moderador")

$anadir = "es";

else

$anadir = "s";

$b = $rol."".$anadir;

$sql = "SELECT imagen FROM smilies WHERE mostrar = '$b'";

$resp = mysql_query($sql);

$rows = mysql_num_rows($resp);

if ($rows) {

$placa = mysql_fetch_array($resp);

$placa = $placa['imagen'];

$texto = "<img border=\"0\" src=\"".$placa."\" style=\"float: left\">".$texto;

}

}

}

         if ($rol == "Owner") {

               $color = $colorowners;

               $texto = "<img src=\"http://felipeadrian.webcindario.com/MC/img/lyg3061fn.gif\">".$texto;

         } else if ($rol == "Tecnico") {

               $color = $colortecnico;

                    $texto = "<img src=\"http://felipeadrian.webcindario.com/MC/img/lyg3061fn.gif\">".$texto;
} else if ($rol == "Moderador") {

               $color = $colormoderador;

                    $texto = "<img src=\"http://felipeadrian.webcindario.com/MC/img/badge_staff.gif\">".$texto;

         } else if ($rol == "Zafiro"){

               $color = $colorzafiro;

                    $texto = "<img src=\"http://felipeadrian.webcindario.com/MC/img/p.gif\">".$texto;

         } else if ($rol == "Bronze"){

               $color = $colorbronze;   

                    $texto = "<img src=\"http://felipeadrian.webcindario.com/MC/img/b.gif\">".$texto;

         } else if ($rol == "Rubi"){

               $color = $colorrubi;

                    $texto = "<img src=\"http://felipeadrian.webcindario.com/MC/img/lyg3061fn.gif\">".$texto;

         } else if ($rol == "0") {

               $color = $colorvip;

               $texto = "<img src=\"http://felipeadrian.webcindario.com/MC/img/badge_vampireopen.gif\">".$texto;

                    }



$query = "SELECT * FROM `usuarios` WHERE nick = '".$login."'";

$resp = @mysql_query($query);

$usuario = @mysql_fetch_array($resp);

$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']."', 'http://www.diver-habbo.net/', '#cc0000', '', '".$fecha."', 'InfoMensaje', '".$tiempo."')";

@mysql_query($query);

$query = "UPDATE `automensaje` set ultimo = '".$fecha2."' WHERE id = '1'";

@mysql_query($query);

}



}



return "";

    }



?>




Haber quien lo sabe.
Título: Re: Error en lo de poner mas rangos
Publicado por: RamFu en 01 de Noviembre de 2006, 21:35:02 pm
Postea aqui la linea 374 plis. Gracias!
Título: Re: Error en lo de poner mas rangos
Publicado por: callosino en 02 de Noviembre de 2006, 16:50:11 pm
Aora mismo no dispongo de ningun programa que me diga cual es la linea 374, en cuanto tenga el Dreamweaver que hay si que sale os lo digo ;)
Título: Re: Error en lo de poner mas rangos
Publicado por: RamFu en 02 de Noviembre de 2006, 17:50:08 pm
Ok, pero de toas, maneras dime cuantos rangos añadiste y el nombre del rango, y te creo el funciones.pp y lo pruebas a ver que tal.
Título: Re: Error en lo de poner mas rangos
Publicado por: callosino en 02 de Noviembre de 2006, 17:58:57 pm
Solo añadi el rango Tecnico, que lo pongo justo abajo de Owner, porque quiero hacerlo SUPERadminitrador, ah pon lo de las placas auto ;)

Muchas Gracias
Título: Re: Error en lo de poner mas rangos
Publicado por: RamFu en 02 de Noviembre de 2006, 18:56:32 pm
El codigo que tu deberias utilizar seria:
// Fecha en la que se envió el mensaje
      $fecha .= " "._AT." ";
       
       $fecha .= Date("H:i");
       
        if ($existeNick == "true") {
         $rol = idenAdmin($login);
// Comprobamos si no quiere mostrar placa, y activamos el autoplacas
if ($ocultarplaca != "si"){

if ($placasAutomaticas == "on") {
if ($rol == "Moderador")
$anadir = "es";
else
$anadir = "s";
$b = $rol."".$anadir;
$sql = "SELECT imagen FROM smilies WHERE mostrar = '$b'";
$resp = mysql_query($sql);
$rows = mysql_num_rows($resp);
if ($rows) {
$placa = mysql_fetch_array($resp);
$placa = $placa['imagen'];
$texto = "<img border=\"0\" src=\"".$placa."\" style=\"float: left\">".$texto;
}
}
}
         if ($rol == "Owner") {
               $color = $colorowners;
               $texto = "<img src=\"owner.gif\">".$texto;
         } else if ($rol == "Moderador") {
               $color = $colormoderador;
                    $texto = "<img src=\"z.gif\">".$texto;
         } else if ($rol == "Zafiro"){
               $color = $colorzafiro;
                    $texto = "<img src=\"p.gif\">".$texto;
         } else if ($rol == "Tecnico"){
               $color = $colortecnico;
                    $texto = "<img src=\"tecnico.gif\">".$texto;
         } else if ($rol == "Bronze"){
               $color = $colorbronze;   
                    $texto = "<img src=\"b.gif\">".$texto;
         } else if ($rol == "Rubi"){
               $color = $colorrubi;
                    $texto = "<img src=\"r.gif\">".$texto;
         } else if ($rol == "0") {
               $color = $colorvip;
               $texto = "<img src=\"vips.gif\">".$texto;
                    }
Título: Re: Error en lo de poner mas rangos
Publicado por: callosino en 02 de Noviembre de 2006, 19:37:44 pm
eso es el placas autos, pero el problema ya esta solucionado gracias
Título: Re: Error en lo de poner mas rangos
Publicado por: RamFu en 02 de Noviembre de 2006, 21:30:31 pm
de nada  ;)
Título: Re: Error en lo de poner mas rangos
Publicado por: caha en 04 de Noviembre de 2006, 23:18:02 pm
Los colores si los tengo bien pero ala hora de Iniciar seccion con el user ya con el rango no lo reconose y no se conecta a que se debera o que archivo sera
Título: Re: Error en lo de poner mas rangos
Publicado por: naveda en 05 de Noviembre de 2006, 12:27:22 pm
Aora mismo no dispongo de ningun programa que me diga cual es la linea 374, en cuanto tenga el Dreamweaver que hay si que sale os lo digo ;)

PHP Designer ;) Es gratuito y muy muy bueno, Lo recomiento.
Título: Re: Error en lo de poner mas rangos
Publicado por: RamFu en 06 de Noviembre de 2006, 18:39:49 pm
Caha, revisa los archivos. si a un rango le pusiste Coordinador, no le pongas coordinador. Siempre si lo pones el MAYUSCULa la primera letra, en todos los sitios, igual.