Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

php opensource insertarle un de script adicional o funcion ayuda plz

Estas en el tema de php opensource insertarle un de script adicional o funcion ayuda plz en el foro de Sistemas de gestión de contenidos en Foros del Web. hola amigos que tal estoy aqui por que tengo un chat open source pero el codigo de la mensajeria no lo entiendo al 100% estoy ...
  #1 (permalink)  
Antiguo 06/03/2009, 20:39
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Exclamación php opensource insertarle un de script adicional o funcion ayuda plz

hola amigos que tal estoy aqui por que tengo un chat open source pero el codigo de la mensajeria no lo entiendo al 100% estoy intentando anclarle un scrip a ver si me dan una manito

aqui esta el codigo de mensajeria, lo marcado en rojo es lo que llevo modificado

Primera parte


Código 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;
  #2 (permalink)  
Antiguo 06/03/2009, 20:41
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: php opensource insertarle un de script adicional o funcion ayuda plz

Esta es la continuacion de la primera parte

Código PHP:
    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;
        [
COLOR="red"]case 'roll':
          echo 
"    parent.am('Ayuda del Comando Roll<br>&nbsp;&nbsp;<a href=# onclick=\"mn(&quot;/whois nombre&quot;)\">/roll </a><br>&nbsp;&nbsp;Envia el Roll de Dados que haces al Chat');\n";
          break;[/
COLOR]
        default:
          echo 
"    parent.am('No hay ayuda para el comando ".$comandos[1]."');\n";
          break;
      }
      break;
    [
COLOR="red"]case 'roll':
      
aqui deveria ir el script supongo XD
      
break;[/COLOR]
    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> 
le marco con rojo lo que e modificado o agregado
  #3 (permalink)  
Antiguo 06/03/2009, 20:42
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: php opensource insertarle un de script adicional o funcion ayuda plz

les dejo escrito el script que havia echo en php para insertar el cual no tengo ni la menor idea XD de como insertarlo XD

Código PHP:
<?php

// este codigo deveria hacer la tirada de dados hechas por el usuario no este vacia los campos nesesarios
if(isset($_POST['rason']) && !empty($_POST['rason']) &&
isset(
$_POST['dados']) && !empty($_POST['dados']) &&
isset(
$_POST['caras']) && !empty($_POST['caras'])) {
// envia la informacion del post a las variables
$rason=$_POST['rason'];//razon por la que tira dados
$dados=$_POST['dados'];//cantidad de dados(1 a infinito)
$caras=$_POST['caras'];//cantidad de caras del dado (4,6,8,10,12,20,100)
$num=0;
$mod=$_POST['mod'];//modificador de la tirada
$count=1;
$res=0;
// comienza el cilco de los dados cuantos dados tienes que tirar?
while($count<=$dados){
if(
$caras == 6){
$count++;
$num rand(1,6);
}else{
if(
$caras == 10){
$count++;
$num rand(1,10);
}else{
if(
$caras == 100){
$count++;
$num rand(1,100);
}else{
echo (
" Los dados no son correctos; revise el numero de caras");
}
}
}
//suma el dado tirado a la suma anterior de los dados
$res $num+$res;
$num=0;
}
//de existir un modificador lo suma
$res=$res+$mod;
$count=0;
// imprime la informacion de dados lanzados y el resultado
echo ("lanza por ".$_POST['rason']." son ".$_POST['dados']." dados de ".$_POST['caras']." mas modificador ".$_POST['mod']." resultado ".$res);
}else {
// de aver algun tipo de problema se activa este mensaje
echo ("Error, en el sistema");

}

?>
  #4 (permalink)  
Antiguo 06/03/2009, 20:48
 
Fecha de Ingreso: noviembre-2008
Mensajes: 279
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: php opensource insertarle un de script adicional o funcion ayuda plz

mmm y si nesesitan el archivo completo aki esta

http://enlinea.sytes.net/descargas/chat.zip
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:33.