Comunidad PHPeros
Lenguajes => Aplicaciones Pre-Fabricadas => Minichat o MC => Mensaje iniciado por: CriisDark en 24 de Noviembre de 2011, 23:09:13 pm
-
tengo el "TagBoard/MiniChat V0.5 Nautilius by Siquillote -PHPeros.net-"
y encontre el archivo de los comandos: (autoenviar.php)
y me gustaria crear un nuevo comando que envie una alerta a todos en el chat
ejemplo: el administrador escribe :alertachat hooola
y que en la pantalla del chat salga asi como la pagina dice:
"hooola"
aqui les dejo el code del archivo aver si alguen me puede ayudar :)
<?php
// programado por Siquillote. Agradecimientos a SoyJoaquin ;).
session_start();
include("conectar.php");
include("comprobaciones.php");
// Configuramos los valores de las variables y las "limpiamos";
$boton = Limpiar($_POST['boton']);
$men = Limpiar($_POST['m']);
$ses = Limpiar($_SESSION['usuario']);
$mi_ip = Limpiar($_SERVER['REMOTE_ADDR']);
$time = time()+10;
$h = date("H:i:s");
$contar = strlen($men);
// Fin
if($boton){
if(!AntiFlood($ses)){
echo "<script>alert('Tienes que esperar el tiempo establecido para poder volver a enviar un mensaje')</script>";
echo _DIRECCION;
} else {
if($men and $ses and $mi_ip and $contar <= 100){
if(Baneado($ses)){
echo _DIRECCION;
} else {
if(esAdmin($_SESSION['usuario'])){
if(stristr($men,':bot')){
$empezar = stristr($men,':bot');
$empezar = str_replace(":bot ","",$empezar);
GuardarMensaje("Informador",$empezar,$time,$h,$mi_ip);
echo _DIRECCION;
} elseif(stristr($men,':alerta')){
$empezar = stristr($men,':alerta');
$partir = explode(" ",$empezar);
$para = $partir[1];
$empezar = str_replace(":alerta ".$para."","",$men);
mysql_query("INSERT INTO alertas (por,para,motivo) VALUES ('".$_SESSION['usuario']."','".$para."','".$empezar."')");
echo _DIRECCION;
} elseif(stristr($men,':cred')){
$empezar = stristr($men,':cred');
$separar = explode(" ",$empezar);
$para = $separar[1]; $cuantos = $separar[2];
$con = mysql_fetch_object(mysql_query("SELECT dinero FROM usuarios WHERE nombre = '".$para."'"));
$total = $con->dinero+$cuantos;
mysql_query("UPDATE usuarios SET dinero = '".$total."' WHERE nombre = '".$para."'");
echo _DIRECCION;
} elseif(stristr($men,':placa')){
$empezar = stristr($men,':placa');
$separar = explode(" ",$empezar);
$para = $separar[1]; $placa = $separar[2];
$con = mysql_fetch_object(mysql_query("SELECT placas FROM usuarios WHERE nombre = '".$para."'"));
$antes = $con->placas;
$total = $antes.';'.$placa;
mysql_query("UPDATE usuarios SET placas = '".$total."' WHERE nombre = '".$para."'");
echo _DIRECCION;
} elseif(stristr($men,':ban')){
$empezar = stristr($men,':ban');
$empezar = str_replace(":ban ","",$empezar);
mysql_query("UPDATE usuarios SET ban = '1' WHERE nombre = '".$empezar."'");
echo _DIRECCION;
} elseif(stristr($men,':rango')){
$empezar = stristr($men,':rango');
$separar = explode(" ",$empezar);
$quien = $separar[1]; $rango = $separar[2];
mysql_query("UPDATE usuarios SET rango = '".$rango."' WHERE nombre = '".$quien."'");
echo _DIRECCION;
} elseif(stristr($men,':borrarmsg')){
$empezar = stristr($men,':borrarmsg');
$empezar = str_replace(":borrarmsg ","",$empezar);
mysql_query("DELETE FROM mensajes WHERE id = '".$empezar."'");
echo _DIRECCION;
} elseif(stristr($men,':vaciar')){
mysql_query("TRUNCATE TABLE mensajes");
mysql_query("INSERT INTO mensajes (nombre,mensaje,IP,time,hora) VALUES ('Informador','Los mensajes han sido borrados para liberar espacio en el servidor.','".$_SERVER['REMOTE_ADDR']."','".time()."','".date("H")."')");
echo _DIRECCION;
} elseif(stristr($men,':bp')){
$mostrar = mysql_query("SELECT placas FROM usuarios WHERE nombre = '".$_SESSION['usuario']."'");
$buscar = mysql_fetch_object($mostrar);
$placas = $buscar->placas;
$empezar = stristr($men,':bp');
$separar = explode(" ",$empezar);
$borrar_a = $separar[1]; $cual = $separar[2];
if(stristr($placas,$cual)){
$placas = str_replace($cual.';',"",$placas);
mysql_query("UPDATE usuarios SET placas = '".$placas."' WHERE nombre = '".$borrar_a."'");
echo _DIRECCION;
} else {
echo _DIRECCION;
}
} elseif(!stristr($men,':bot') or !stristr($meno,':alerta') or !stristr($men,':cred') or !stristr($men,':placa') or !stristr($men,':ban') or !stristr($men,':rango') or !stristr($men,':borrarmsg') or !stristr($men,':vaciar')){
if(GuardarMensaje($ses,$men,$time,$h,$mi_ip)){
echo _DIRECCION;
} else {
echo _DIRECCION;
}
}
} else {
if(GuardarMensaje($ses,$men,$time,$h,$mi_ip)){
echo _DIRECCION;
} else {
echo _DIRECCION;
}
}
}
} else {
echo _DIRECCION;
}
}
} else {
echo _DIRECCION;
}
?>
-
Yo personalmente veo ese chat uno de los mas completos hasta ahora (Por que yo colabore e.e), pero si quieres que te diga, esta muy mal programado en cuanto a recursos y lógica.
De hecho, Siquillote lo acepto meses después cuando se fue adentrando mas al PHP.
Saludos
-
Yo personalmente veo ese chat uno de los mas completos hasta ahora (Por que yo colabore e.e), pero si quieres que te diga, esta muy mal programado en cuanto a recursos y lógica.
De hecho, Siquillote lo acepto meses después cuando se fue adentrando mas al PHP.
Saludos
Hola,
Si, la verdad es que me ponía a trabajar bastante sucio y no había nadie que me paraba jaja.
Ahora ya es otro modo de programación :)
Respecto a tu duda, Criis, lo que haría yo sería averiguar con mysql_num_rows cuantos usuarios hay en la tabla de usuarios. Una vezque obtengas el total, realizar un for o while que saque a todos los usuarios y a cada uno le mande una alerta. Aunque, la verdad, mandar alertas que tienen importancia en ese mismo momento mandarsela a toooda la tabla incluso a gente offline, es una tontería.
Yo haría para mandarselo a la gente que está conectada o estuvo conectada entre 1 o 3 minutos...
Un saludo,
Siquillote.