Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carcleo

[Resolvido] Saber innerHtml antes do carregamento

Recommended Posts

Pessoal.

Boa Noite.

 

Peguei na net aquele chat do Romano e me deparei com a seguine situação;

Uma coisa me chamou a atenção.

 

Quando mando mensagem privada para o usuario TODOS, eu, o usuario ue envia, vejo a mensagem reservada. Porem, os outros estinatarios não veem a mensagem.

 

Porem, quando a mensagem é endereçada a cada um deles em privado. Ai, eles veem sim a mensagem.

 

Se enviar a mensagem a TODOS sem ser privada todos veem mas se for privada, só que enviou ve.

 

Como corrigir isso?

 

como normalmente não consegui, ai fiz assim:

 

Quando clikasse no usuario, no menu de usuarios, se esse usuario fosso o "TODOS", teria uma div (que seria desabilitada) com um radio button dentro.

Quando o usuario não fosse o todos, ai sim a div seria habilitada e o clike no radio butoon habilitado tambem.

 

Acontece que, numa coinversa em resevado, quando eu submeto a mensagem, a pagina da um reload e, como eu coloquei no carregamento da pagina que o style.block do radio buitton seria none. daí não sei como, apos o reload da pagina, eu saber que o usuario selecionado é o mesmo e que pode continua liberado a radio.

 

Mais facil voces acessando:

 

http://www.carcleo.com/chat2

 

Quem puder ajudar agradeço.

 

Aqui esta a função que lista as mensagens:


/**
* Lista as mensagens da sala.
**/
  function msgs() {
     $i = "0";
  $msgs=array();
     $consulta = mysql_query("SELECT * FROM msg WHERE ((rem='".$this->nome."' OR dest='".$this->nome."' OR tipo='pub') && date > '$_SESSION[date]' && sala='".$this->sala."') ORDER BY date ASC;", $this->dbh);
     while ($row = mysql_fetch_array($consulta)) {
        $msgs[$i]["tipo"]  = $row["tipo"];
	 $msgs[$i]["msg"]  = $row["msg"];
        $msgs[$i]["som"]  = $row["som"];
        $msgs[$i]["dest"] = $row["dest"];
        $msgs[$i]["rem"]  = $row["rem"];
        $_SESSION['date'] = $row["date"];
        $i++;
     }
     mysql_free_result($consulta);
     return $msgs;
  }

Aqui esta o filtro

<?php

####################################
#                                  #
#  MODIFICADO POR: JRF WEBMASTER   #
#  VERSÃO ATUAL:   8.0             #
#  DATA:           01/08/2006      #
#                                  #
####################################

include_once("./config.php");
include_once("./global.php");
include_once("./biblioteca/tbs_class.php");
$banco = new chat;
$banco->dados($_GET['uid']);
if($banco->block($_GET['uid'])){
 $target="vai();";
}else{
 $target="";
}
if (empty($_SESSION['date'])) {
$_SESSION['date'] = 0;
}
if (empty($_SESSION['header']) OR $_SESSION['header']!= $_GET['uid']) {
$arquivo = "./templates/".$banco->config['modelo']['val']."/principal.htm";
$header = fopen($arquivo, "r");
$lido = fread($header, filesize($arquivo));
fclose($header);
$limpa = addslashes($lido)."\n\n";
$limpa = str_replace("\t", "", $limpa);
$limpa = str_replace("\r", "", $limpa);
$limpa = str_replace("\n", "\\n", $limpa);
$inicio = $limpa;
$_SESSION['header'] = $_GET['uid'];
}
$model = new clsTinyButStrong ;
$model->LoadTemplate("./templates/".$banco->config['modelo']['val']."/inferior.htm") ; 
$msgs  = $banco->msgs();
$total = count($msgs);
$cont  = $banco->cont("TODOS");
$str   = $ext = "";
$str  .= (!empty($inicio)) ? $inicio : "";
for ($i = "0"; $i < $total; $i++) {
$tipo  = $msgs[$i]["tipo"]; 
$rem  = $msgs[$i]["rem"];
$dest = $msgs[$i]["dest"];
$mensagem = addslashes($msgs[$i]["msg"]);
$som = $msgs[$i]["som"];

if (empty($_SESSION['ignora'][$rem]) && empty($_SESSION['ignora'][$rem])) {
 $para = ($dest == $banco->nome) ? ' bgcolor=\"#cccccc\"' : "";
 $codigo = '<table width=\"100%\" border=\"0\" cellspacing=\"5\" cellpadding=\"2\"><tr><td'.$para.'>'.$mensagem.'"+PlaySound("'.$som.'")+"</td></tr></table>'."\n";
 $codigo = str_replace("\t", "", $codigo);
 $codigo = str_replace("\r", "", $codigo);
 $codigo = str_replace("\n", "\\n", $codigo);
 $str .= $codigo;

}
if (empty($inicio) && ($som == "entra" OR $som == "saida" OR $cont != $_SESSION['cont'])) {
 $ext .= "window.parent.nomes.location.reload();\n";
 $_SESSION['cont'] = $cont;
}
}
$banco->atualiza();
$refresh=10*$banco->config['refresh']['val'];
$model->Show() ;
?>
<script language="Javascript">
function right(e) {
if (navigator.appName == 'Netscape' && (e.which == 3 || e.which == 2)){
alert("Proibido a cópia do código desta página");
return false;
}
else if (navigator.appName == 'Microsoft Internet Explorer' &&
(event.button == 2 || event.button == 3)) {
alert("Proibido a cópia do código desta página");
return false;
}
return true;
}
document.onmousedown=right;
if (document.layers) window.captureEvents(Event.MOUSEDOWN);
window.onmousedown=right;
</script>

Só não entendo porque o reservado a todos só vai para quem envia e o enviado a todos sem reserva vai para todos ois usuarios.

 

Pela query ou pelo php não vejo logica.

 

Segue tambem a estrutura da tabela:

CREATE TABLE `msg` (
 `msg` mediumtext,
 `date` datetime DEFAULT NULL,
 `rem` varchar(30) DEFAULT NULL,
 `dest` varchar(30) DEFAULT NULL,
 `som` varchar(20) DEFAULT NULL,
 `tipo` varchar(10) DEFAULT NULL,
 `sala` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui assim:

<script language=JavaScript>
function carrega()
{
if (parent.menu.document.getElementById("enviar").innerHTML != "TODOS")
{
	parent.menu.document.getElementById("radioreserva").style.display = 'block';
}
}
</script>
</head>
<body bgcolor="#FFFFFF" scroll="no" onload="carrega();" >

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.