MOON
Server: Apache/2.2.34 (Unix) mod_ssl/2.2.34 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 FrontPage/5.0.2.2635
System: Linux server.asjudinet.com 2.6.32-042stab141.3 #1 SMP Fri Nov 15 22:45:34 MSK 2019 i686
User: asjudine (504)
PHP: 5.2.17
Disabled: NONE
Upload Files
File: /home/asjudine/www/chatasjudinet/mensaje.php
<?php

// Archivo para enviar los mensajes nuevos a la
// capa de mensajes

include 'configuracion.php';
include 'conexion.php';

unset($usuario);
$ahora = time();
if(substr($_GET['texto'],0,1) == '/'){
  $comandos = split(' ',substr($_GET['texto'],1,strlen($_GET['texto'])));
  $texto = '';
}
if(isset($_COOKIE["ident"])){
  $sql = "SELECT nombre FROM c_usuarios WHERE cookie = ".$_COOKIE["ident"];
  $result = mysql_query($sql,$db);
  if(mysql_num_rows($result))$usuario = mysql_result($result,0);
}
if(isset($usuario)){
  if(isset($comandos) && ($comandos[0] == 'logout')){
    setcookie ("ident",""); 
    $sql = "DELETE FROM c_usuarios WHERE nombre = '$usuario'";
    mysql_query($sql,$db);
    for($i=1;$i<count($comandos);$i++)$texto .= $comandos[$i].' ';
    mysql_query("INSERT INTO c_mensajes (de,texto,time,color,para) VALUES ('','/logout $usuario $texto',".time().",'#FFFFFF','*')",$db);
  }
} else {
  if(isset($comandos) && ($comandos[0] == 'login')){
    if(!ereg("^[a-zA-Z0-9_]{4,12}$",$comandos[1])){
      $loginError = 'El nombre de usuario no es válido';
    } else {
      $sql = "SELECT * FROM c_usuarios WHERE nombre LIKE '".$comandos[1]."'";
      $q = mysql_query($sql,$db);
      if(!mysql_num_rows($q)){
        $r1 = rand(100,999);
        $r2 = rand(100,999);
        $random = $r1.$r2;
        setcookie ("ident","$random"); 
        mysql_query("INSERT INTO c_usuarios (nombre,time,cookie) VALUES ('".$comandos[1]."','".$ahora."',$random)",$db); 
        $sql = "INSERT INTO c_mensajes (de,texto,time,color,para) VALUES ('','/login ".$comandos[1]."',$ahora,'#FFFFFF','*')";
        mysql_query($sql,$db);
      } else {
        $loginError = 'El nombre de usuario esta ocupado';
      }
    }
  }
}
?><html>
  <head>
    <meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <script languaje="javascript"><!--
<?php
if(isset($comandos)){
  switch ($comandos[0]){
    case 'login':
      if(isset($usuario))echo "    parent.am('Ya estas conectado cómo $usuario');\n";
      else {
        if(isset($loginError)){
          echo "    parent.am('$loginError');\n";
          echo "    parent.mn('/login ".$comandos[1]."');\n";
        }
        else {
          echo "    parent.am('Acabas de iniciar sesion cómo ".$comandos[1]."');\n";
          echo "    parent.st();\n";
          echo "    u = new Array(";
          $sql="SELECT * FROM c_usuarios ORDER BY nombre";
          $result=mysql_query($sql,$db);
          $temp = 0;
          if(mysql_num_rows($result))while ($row=mysql_fetch_array($result)){
            if($temp++)echo ",";
            echo "'".$row['nombre']."'";
          }
          echo ");\n";
          echo "    parent.ul(u);\n";
        }
      }
      break;
    case 'logout':
      if(isset($usuario)){
        echo "    parent.am('Has sido desconectado del sistema');\n";
        echo "    parent.ul();\n";
        echo "    parent.sp();\n";
      } else echo "    parent.am('Para conectarte utiliza <a href=# onclick=\"mn(&quot;/login nombre&quot;)\">/login nombre</a>');\n";
      break;
    case 'clear':
      echo "    parent.cl();\n";
      break;
    case 'time':
      echo "    parent.am('Son las ".date("h:i:s")."');\n";
      break;
    case 'smilies':
	    echo "    parent.am('Los smilies disponibles són:<br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;:)&quot;)\">Sonrisa</a><br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;:(&quot;)\">Triste</a><br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;:\'(&quot;)\">Llora</a><br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;:D&quot;)\">Carcajada</a><br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;:O&quot;)\">Sorprendido</a><br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;:P&quot;)\">Saca la lengua</a>');\n";
      break;
    case 'msg':
      if(isset($usuario)){
        for($i=2;$i<count($comandos);$i++)$texto .= $comandos[$i].' ';
        $sql = "INSERT INTO c_mensajes (texto,time,color,para,de) VALUES ('".htmlspecialchars(htmlspecialchars($texto))."',".time().",'".$_GET['color']."','".$comandos[1]."','$usuario')";
        mysql_query($sql,$db);
        echo "    parent.mn('/msg ".$comandos[1]." ');\n";
      } else echo "    parent.am('Para conectarte utiliza <a href=# onclick=\"mn(&quot;/login nombre&quot;)\">/login nombre</a>');\n";
      break;
    case 'names':
      if(isset($usuario)){
        $sql="SELECT * FROM c_usuarios";
        $result=mysql_query($sql,$db);
        if(mysql_num_rows($result))while ($row=mysql_fetch_array($result))$lista .= '<br>&nbsp;&nbsp;<a href=# onclick=to(this)>'.$row['nombre'].'</a>';
        $mensaje = 'Lista de usuarios conectados:'.$lista;
        echo "    parent.am('$mensaje');\n";
      } else echo "    parent.am('Para conectarte utiliza <a href=# onclick=\"mn(&quot;/login nombre&quot;)\">/login nombre</a>');\n";
      break;
    case 'whois':
      if(isset($usuario)){
        $sql = "SELECT nombre FROM c_usuarios WHERE nombre = '".$comandos[1]."'";
        $result = mysql_query($sql,$db);
        if(mysql_num_rows($result)){
          $mensaje = 'El usuario '.$comandos[1].' esta conectado';
          $url = 'script.php?t='.$ahora;
        } else {
          $mensaje = 'El usuario '.$comandos[1].' no esta conectado';
          $url = 'script.php?t='.$ahora;
        }
       echo "    parent.am('$mensaje');\n";
      } else echo "    parent.am('Para conectarte utiliza <a href=# onclick=\"mn(&quot;/login nombre&quot;)\">/login nombre</a>');\n";
      break;
    case 'kick':
      if(isset($usuario)){
        if($comandos[2] == pwd){
        $sql = "DELETE FROM c_usuarios WHERE nombre = '".$comandos[1]."'";
        $mensaje = '';
        mysql_query($sql,$db);
        $sql = "INSERT INTO c_mensajes (texto,time,color,para) VALUES ('/logout ".$comandos[1]." baneado',".time().",'#FFFFFF','*')";
        mysql_query($sql,$db);
        $url = 'script.php';
        } else echo "    parent.am('La contraseña de administrador no es correcta');\n";
      } else echo "    parent.am('Para conectarte utiliza <a href=# onclick=\"mn(&quot;/login nombre&quot;)\">/login nombre</a>');\n";
      break;
    case 'help':
	    if(!isset($comandos[1]))echo "    parent.am('Lista de comandos del chat:<br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/help clear&quot;)\">/clear</a><br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/help help&quot;)\">/help [comando]</a><br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/help kick&quot;)\">/kick nombre contraseña</a><br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/help login&quot;)\">/login nombre</a><br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/help logout&quot;)\">/logout [mensaje]</a><br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/help msg&quot;)\">/msg nombre mensaje</a><br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/help names&quot;)\">/names</a><br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/help smilies&quot;)\">/smilies</a><br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/help time&quot;)\">/time</a><br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/help whois&quot;)\">/whois nombre</a>');\n";
      else switch ($comandos[1]){
	case 'smilies':
	  echo "    parent.am('Ayuda del comando smilies<br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/smilies&quot;)\">/smilies</a><br>&nbsp;&nbsp;Muestra la lísta de iconos de emoción disponible');\n";
	  break;
        case 'clear':
          echo "    parent.am('Ayuda del comando clear<br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/clear&quot;)\">/clear</a><br>&nbsp;&nbsp;Limpia la pantalla de mensajes');\n";
          break;
        case 'help':
          echo "    parent.am('Ayuda del comando help<br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/help [comando]&quot;)\">/help [comando]</a><br>&nbsp;&nbsp;Muestra la ayuda del comando [comando] o la lista de comandos si no se especifica [comando]');\n";
          break;
        case 'kick':
          echo "    parent.am('Ayuda del comando kick<br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/kick nombre contraseña&quot;)\">/kick nombre contraseña</a><br>&nbsp;&nbsp;Desconecta al usuario nombre siempre y cuando se haya dado correctamente la contraseña de administrador');\n";
          break;
        case 'login':
          echo "    parent.am('Ayuda del comando login<br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/login nombre&quot;)\">/login nombre</a><br>&nbsp;&nbsp;Conecta al chat como nombre');\n";
          break;
        case 'logout':
          echo "    parent.am('Ayuda del comando logout<br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/logout [mensaje]&quot;)\">/logout [mensaje]</a><br>&nbsp;&nbsp;Desconecta al chat dejando el mensaje [mensaje] si se especifica');\n";
          break;
        case 'names':
          echo "    parent.am('Ayuda del comando names<br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/names&quot;)\">/names</a><br>&nbsp;&nbsp;Devuelve la lista de usuarios conectados al chat');\n";
          break;
        case 'msg':
          echo "    parent.am('Ayuda del comando msg<br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/msg nombre mensaje&quot;)\">/msg nombre mensaje</a><br>&nbsp;&nbsp;Envia mensaje al usuario nombre');\n";
          break;
        case 'time':
          echo "    parent.am('Ayuda del comando time<br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/time&quot;)\">/time</a><br>&nbsp;&nbsp;Devuelve la hora del servidor');\n";
          break;
        case 'whois':
          echo "    parent.am('Ayuda del comando whois<br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/whois nombre&quot;)\">/whois nombre</a><br>&nbsp;&nbsp;Devuelve informacion del usuario nombre');\n";
          break;
        default:
          echo "    parent.am('No hay ayuda para el comando ".$comandos[1]."');\n";
          break;
      }
      break;
    default:
      echo "    parent.am('Para ver una lista de comandos utiliza <a href=# onclick=\"mn(&quot;/help&quot;)\">/help</a>');\n";
  }
} else {
  if(isset($usuario)){
    $sql = "INSERT INTO c_mensajes (texto,time,color,para,de) VALUES ('".htmlspecialchars($_GET['texto'])."',".time().",'".$_GET['color']."','*','$usuario')";
    mysql_query($sql,$db);
  } else echo "    parent.am('Para conectarte utiliza <a href=# onclick=\"mn(&quot;/login nombre&quot;)\">/login nombre</a>');\n";
}
?>
    --></script>
  </head>
</html>