Salve a tutti.
Da un po' di tempo sto lavorando su una chat scaricata da freephp: LSPhpChat1.1
Sono riuscito a modificarla in varie parti, inserendo messaggi speciali, modificandola nella configurazione generale e quant'altro finora mi sia stato possibile fare.
Una cosa che non sono riuscito a fare è però quella di insrire una stringa che mi permetta di inviare messaggi privati agli utenti presenti nella chat. Messaggi privati che però siano visualizzabili all'interno della pagina stessa e non in una form a parte.
Qualcosa che compaia solo all'utente destinatario del messaggio e che si presenti più o meno in questo modo:

-Messaggio privato da Tizio-
Ehi ciao come stai?

Quindi sostanzialmente qualcosa che si sviluppi su due righe: quella superiore che contanga la specifica "-Messaggio privato da $nick-"; quello inferiore in cui compare il contenuto del messaggio, privo di nick, di orario e quant'altro. Solo il testo.

Se fosse possibile non mi dispiacerebbe che anche il mittente del messaggio possa visualizzare quanto ha scritto. In questo modo può seguire meglio la conversazione e rendersi conto di quel che ha scritto. Una cosa tipo:

-Hai scritto a Tizio-
Ehi ciao come stai?

Il destinatario visualizzerà il primo messaggio, il mittente il secondo. Ed entrambi potranno continuare a seguire la chat senza bisogno di ricorrere ad altre finestre aggiuntive.

Poi un'ultima cosa.
LsphpChat ha una modalità di scrolling e aggiornamento del testo in senso ascensionale. Quindi i nuovi messaggi tendono a salire anzicché scendere e l'aggiornamento automatico mi riporta sempre alla parte superiore della pagina.
Io invece vorrei invertire il flusso e far sì che il testo scorra verso il basso e che l'aggiornamento avvenga a fondo pagina e non a inizio pagina.
Tempo fa boomboom69 mi consigliò di sostituire questa stringa:
codice:
$contenuto = $testa.$nuovo_mex.$vecchi_mexx.$coda;
con questa:
codice:
$contenuto = $testa.$vecchi_mexx.$nuovo_mex.$coda;
ed effettivamente in questo modo il testo si succede a scendere e non a salire. L'unico problema è che l'aggiornamento riporta la pagina, creando problemi con l'uso della chat.
Ho provato a modificare le stringhe che mi sembravano più pertinenti, ma non ho mai ottenuto risultati. Sapreste darmi qualche consiglio?
Per comodità riporto tutto il codice della chat, magari voi riuscite a vedere meglio di me dove mettere mano.
Grazie a tutti

codice:
<?php

//--Srtart code --//
////////////questa varibile si può modificare//////////////////////////
require("config.inc.php");
//////////////////////////////////
/*Non è necessario modificare nient'altro*/
///////////////////////////////////

$ora = date("H:i:s");
$ip = getenv(REMOTE_ADDR);
$now = time();

$testa = "<html><head><meta http-equiv=\"refresh\" content=\"$time_refresh\"></head><body bgcolor=\"$bgcolor\">\n";
$coda = "<!--LsPhpChat http://www.latoserver.com--></body></html>\n";
$err_mess = "Impossbile scrivere o trovare il file $pat.
 Assicuarsi che la cartella abbia i permessi di scrittura attivi (CHMOD 777) o verificare la variabile ".'$path';

if ($messaggio == $special_word){
	clear();
}

if (!empty($nick) && !empty($messaggio)){ 
	
	$vecchi_mex = @file($path) or die ($err_mess);
	
	$nline = count($vecchi_mex);
	
	for ($i = 1; $i < $max_mex; $i++){
	
		if ($i < $nline-1){
		
		eregi("(.*)",$vecchi_mex[$i],$nick_old);
		eregi("",$vecchi_mex[$i],$ip_old);
		eregi("",$vecchi_mex[$i],$time_out);
		
			if ($nick == $nick_old[1] && $ip != $ip_old[1]){
				$nick = $nick."_".mt_rand(0,10);
			}
			//echo $time_out[1];
			if ($time_out[1]+($time_limit * 60) > $now  ){
				$vecchi_mexx .= $vecchi_mex[$i];
			}
		}
	}
	
	if (!isset($lschat) || $lschat != $nick){
		setcookie("lschat",$nick,time()+360000);
	}
	
	$messaggio = htmlspecialchars($messaggio);
	
	while (list($char,$rep) = each($emotion) ){
		$messaggio = str_replace($char, "<img src=\"".$rep."\">", $messaggio );
	}
	
	if ($moderate == "y"){
			for ($i = 0; $i < count($badwords);$i++){
				$messaggio = ereg_replace (strtoupper($badwords[$i]), str_repeat("x",strlen($badwords[$i])), strtoupper($messaggio));
			}
		$messaggio = strtolower($messaggio);
	}
	
	
	//Per il corretto funzionamento del programma lasciare inalterate le sringe di commento////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	$nuovo_mex = "<font face=\"$font_face\" size=\"$font_size\" color=\"$fontcolor\">[$ora] - $nick:</font> <font face=\"$font_face\" size=\"$font_size\" color=\"$font_color\">".$messaggio."</font>
\n";
	///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	$contenuto = $testa.$nuovo_mex.$vecchi_mexx.$coda;
	
	$contenuto=stripslashes($contenuto);
	
	$fp = @fopen($path,"w") or die ($err_mess);
	
	$len = strlen($contenuto);
	
	fwrite($fp,$contenuto,$len);
	
	fclose($fp);
	
	header("Location: $form_file");
	
}else{
	header("Location: $form_file");
}

function clear(){

	global $testa;
	global $path;
	global $coda;
	global $form_file;
	
	$contenuto = $testa.$coda;
	$contenuto = stripslashes($contenuto);
	$fp = @fopen($path,"w");
	$len = strlen($contenuto);
	fwrite($fp,$contenuto,$len);
	fclose($fp);
	header("Location: $form_file");
	exit();
}
/*--End code--*/
?>

PS. Per ragioni di spazio qui non ho riportato le stringhe di commento relative alla licenza d'uso della chat, ma nel file originale le ho lasciate intatte.