GDRCD 5.1 "Advanced"
25/06/2011 12:23:04 e modificato da irenes il 25/06/2011 12:23:48
tobrak ha scritto: La differenza invece tra il 5 e il 5.1 c'è eccome nel 5 come ho detto bastava sostituire le due immagini per sostituire tutta la grafica sul 5.1 bob è più cosi e questo a mio avviso è una grossa differenza perchè un conto è fare un thema con due immagini e un conto è modificare uno a uno gli elementi(Immagine del menu, immagine di sfondo e via dicendo)Il lavoro raddoppia quindi.
Oltretutto non è vero che i file css sono identici alla precedente versione, perchè appunto nella versione precedente si poteva mettere un'unica immagine che andava a costituire l'intera grafica della land, ora in questa versione non è più possibile fare ciò.
Va semplificato a mio avviso mantenendo alcune innovazioni ma tornando al thema a due immagini.
ripeto: è esattamente uguale, invece o.o solo... migliorata. Non c'è alcun lavoro in più, alcun lavoro che raddoppia... Oltretutto il thema basic della 5.1 è esattamente uguale a quello della 5, praticamente
potresti indicare i file specifici, tanto per cominciare? Quelli così diversi per cui il lavoro raddoppierebbe. Tanto per dire: sei conscio che, per modificare l'index, ad esempio, non è il file index della cartella principale, che devi modificare, ma quello all'interno del tema?
Perchè, ti ripeto, io avevo una land fatta con la 5, ho scaricato la 5.1, ci ho messo la mia cartella themes ed è bastato mettere dove era necessario i nomi dei vari div da me aggiunti e tutto girava alla perfezione.
e poi, te lo chiedo conoscenza abbastanza bene il pacchetto: cosa intenderesti per "tema a due immagini"? o.o mi sfugge.
26/06/2011 18:25:00
ragazzi non so voi...ma ho un problema nelle chat, ossia ripete a manetta, ad alcuni utenti, la propria azione ogni 2 secondi 😳
28/06/2011 17:38:24
Confermo il problema della chat detto da Asvak, sempre per lo stesso gdr, ma non succede solo ad alcuni ormai è appurato che la chat si sdoppia a tutti.
In pratica quando entri vedi i post normali appena ne mandi uno tutti iniziano a riprodursi all'infinito finche non lasci la chat.
Ora ho notato che questa versione non ha il file di Refresh e mi chiedevo dove fosse inserito o che sistema è stato usato per il refresh.
28/06/2011 18:02:11
vamp ha scritto: Confermo il problema della chat detto da Asvak, sempre per lo stesso gdr, ma non succede solo ad alcuni ormai è appurato che la chat si sdoppia a tutti.
In pratica quando entri vedi i post normali appena ne mandi uno tutti iniziano a riprodursi all'infinito finche non lasci la chat.
Ora ho notato che questa versione non ha il file di Refresh e mi chiedevo dove fosse inserito o che sistema è stato usato per il refresh.
ref_header.inc.php
Gestisce sia l'inserimento dei messaggi che il refresh delle azioni di chat, forse avete toccato qualcosa senza accorgervene.
La versione demo che è su altervista i cui dati sono esplicati nel topic iniziale è la versione appena spacchettata scaricata da gdr-online, senza ulteriori accorgimenti.
Potreste verificare se anche li è presente lo stesso problema ?
Se si, mi servirebbe sapere quale browser state adoperando.
Se no, vi consiglio di scaricare il pacchetto da questo topic e sostituire il file ref_header.inc.php
28/06/2011 18:35:24
Allora la versione che ci hai dato funziona correttamente, abbiamo sovrascritto il file con quello originale come suggerito ma il bag persiste, non solo nel dominio altervista ma anche in altre prove fatte su dominio di secondo livello.
28/06/2011 18:50:00
Ho avuto un problema molto simile durante le fasi si sviluppo della chat per blacksoulshippuden.
Tutti i messaggi della stanza venivano riprodotti in continuazione nella finestra della chat.
Avete per caso notato se i messaggi vengono sempre riprodotti nello stesso ordine o magari vengono mischiati d'ordine?
Il mio problema era che nella query che va a prendere i messaggi dalla tabella del Database non avevo imposto alcun ordinamento per data. Di solito MySql restituisce i record nell'ordine in cui sono stati inseriti se non gli dai nessun ordinamento, ma non è un comportamento assicurato e infatti per il meccanismo della chat è letale non avere i messaggi ordinati per data.
Ora non ho il tempo di scaricare e controllare GDRCD5.1, ma magari è lo stesso problema.
28/06/2011 19:22:15 e modificato da asvak il 28/06/2011 19:59:51
leoblacksoul ha scritto: Ho avuto un problema molto simile durante le fasi si sviluppo della chat per blacksoulshippuden.
Tutti i messaggi della stanza venivano riprodotti in continuazione nella finestra della chat.
Avete per caso notato se i messaggi vengono sempre riprodotti nello stesso ordine o magari vengono mischiati d'ordine?
Il mio problema era che nella query che va a prendere i messaggi dalla tabella del Database non avevo imposto alcun ordinamento per data. Di solito MySql restituisce i record nell'ordine in cui sono stati inseriti se non gli dai nessun ordinamento, ma non è un comportamento assicurato e infatti per il meccanismo della chat è letale non avere i messaggi ordinati per data.
Ora non ho il tempo di scaricare e controllare GDRCD5.1, ma magari è lo stesso problema.
si i messaggi vengono rinviati nell'ordine in cui son stati inviati infatti, la soluzione quale può essere quindi?
Aggiungo alcuni dettagli che posson essere importanti al riguardo:
1) le azioni vengono rinviate in ordine però non appena si aggiorna le doppie azioni spariscono
2) le azioni si sdoppiano solo a chi invia un'azione in gioco, gli altri che si trovano lì a leggere semplicemente non hanno il problema di questo rinvio dell'azione.
Spero di aver dato un possibile indizio per risolvere il problema
28/06/2011 20:04:59
scusate aggiungo una cosa, questo codice vi sembra corretto?
<script type="text/javascript">setTimeout("self.location.href.reload();", <?php echo (int)$_GET['ref'] * 1000; ?>);</script>
<?php } ?>
29/06/2011 01:01:29
Ho controllato il funzionamento di GDRCD5.1 e non è lo stesso bug che avevo già visto io. XD
Dando uno sguardo al codice non mi salta all'occhio nessun errore, magari avete fatto voi dei cambiamenti al file?
Il codice che hai postato sembra corretto, ma non si può mai dire senza vedere tutta la pagina, magari è messo in un posto dove non deve stare.
29/06/2011 16:42:02
leoblacksoul ha scritto: Ho controllato il funzionamento di GDRCD5.1 e non è lo stesso bug che avevo già visto io. XD
Dando uno sguardo al codice non mi salta all'occhio nessun errore, magari avete fatto voi dei cambiamenti al file?
Il codice che hai postato sembra corretto, ma non si può mai dire senza vedere tutta la pagina, magari è messo in un posto dove non deve stare.
allora io ho seguito il consiglio di blancks ma il problema permane anche se ho caricato la pagina ref_header.inc.php che ha consigliato di metter lui e non abbiamo fin adesso modificato ciò che concerne il refresh o le chat nella loro parte di codice, comunque ti posto qui il codice di tutta la paginetta.
<?php session_start();
header('Content-Type:text/html; charset=UTF-8');
$last_message = $_SESSION['last_message'];
//Includio i parametri, la configurazione, la lingua e le funzioni
require 'includes/constant_values.inc.php';
require 'config.inc.php';
require 'vocabulary/'.$PARAMETERS['languages']['set'].'.vocabulary.php';
require 'includes/functions.inc.php';
//Eseguo la connessione al database
$handleDBConnection = gdrcd_connect();
//Ricevo il tempo di reload
$i_ref_time = gdrcd_filter_get($_GET['ref']);
/**********************************************************************************/
if((gdrcd_filter_get($_REQUEST['chat'])=='yes')&&(empty($_SESSION['login'])===FALSE)){ /*Aggiornamento chat*/
/*Se ho inviato un azione*/
if ((gdrcd_filter('get',$_POST['op'])=='take_action')&&(($PARAMETERS['mode']['skillsystem']=='ON')||($PARAMETERS['mode']['dices']=='ON'))){
$actual_healt = gdrcd_query("SELECT salute FROM personaggio WHERE nome = '".$_SESSION['login']."'");
if (gdrcd_filter('get',$_POST['id_ab'])!='no_skill'){
if ($actual_healt['salute']>0){
$skill = gdrcd_query("SELECT nome, car FROM abilita WHERE id_abilita = ".gdrcd_filter('num',$_POST['id_ab'])." LIMIT 1");
$car = gdrcd_query("SELECT car".gdrcd_filter('num',$skill['car'])." AS car_now FROM personaggio WHERE nome = '".$_SESSION['login']."' LIMIT 1");
$bonus = gdrcd_query("SELECT SUM(oggetto.bonus_car".gdrcd_filter('num',$skill['car']).") as bonus FROM oggetto JOIN clgpersonaggiooggetto ON clgpersonaggiooggetto.id_oggetto=oggetto.id_oggetto WHERE clgpersonaggiooggetto.nome='".$_SESSION['login']."' AND clgpersonaggiooggetto.posizione > 1");
$racial_bonus = gdrcd_query("SELECT bonus_car".gdrcd_filter('num',$skill['car'])." AS racial_bonus FROM razza WHERE id_razza IN (SELECT id_razza FROM personaggio WHERE nome='".$_SESSION['login']."')");
$rank = gdrcd_query("SELECT grado FROM clgpersonaggioabilita WHERE id_abilita=".gdrcd_filter('num',$_POST['id_ab'])." AND nome='".$_SESSION['login']."' LIMIT 1");
/** * Bug Fix: Con skill on e dadi off, il dado lanciava sempre 1 modificando il conteggio finale
* @author Blancks
*/
if ($PARAMETERS['mode']['dices']=='ON')
{
mt_srand((double)microtime()*1000000);
$die = mt_rand(1,(int)$_POST['dice']);
$chat_dice_msg = gdrcd_filter('in', $MESSAGE['chat']['commands']['use_skills']['die']).' '.gdrcd_filter('num',$die).',';
}else
{
$chat_dice_msg = '';
$die = 0;
}
gdrcd_query("INSERT INTO chat ( stanza, imgs, mittente, destinatario, ora, tipo, testo ) VALUES (".$_SESSION['luogo'].", '".$_SESSION['sesso'].";".$_SESSION['img_razza']."', '".$_SESSION['login']."', '', NOW(), 'C', '".$_SESSION['login'].' '.gdrcd_filter('in',$MESSAGE['chat']['commands']['use_skills']['uses']).' '.gdrcd_filter('in',$skill['nome']).': '.gdrcd_filter('in',$PARAMETERS['names']['stats']['car'.$skill['car'].'']).' '.gdrcd_filter('num',$car['car_now']+$racial_bonus['racial_bonus']).', '.$chat_dice_msg.' '.gdrcd_filter('in',$MESSAGE['chat']['commands']['use_skills']['ramk']).' '.gdrcd_filter('num',$rank['grado']).', '.gdrcd_filter('in',$MESSAGE['chat']['commands']['use_skills']['items']).' '.gdrcd_filter('num',$bonus['bonus']).', '.gdrcd_filter('in',$MESSAGE['chat']['commands']['use_skills']['sum']).' '.(gdrcd_filter('num',$car['car_now']+$racial_bonus['racial_bonus'])+gdrcd_filter('num',$die)+gdrcd_filter('num',$rank['grado'])+gdrcd_filter('in',$bonus['bonus']))."')");
}else
{
gdrcd_query("INSERT INTO chat ( stanza, imgs, mittente, destinatario, ora, tipo, testo ) VALUES (".$_SESSION['luogo'].", '".$_SESSION['sesso'].";".$_SESSION['img_razza']."', '".$_SESSION['login']."', '".gdrcd_capital_letter(gdrcd_filter('in', $_SESSION['login']))."', NOW(), 'S', '".
gdrcd_filter('in',$MESSAGE['status_pg']['exausted'])."')");
}
/** * Tiro su caratteristica
* @author Blancks
*/
} else if (gdrcd_filter('get', $_POST['id_stats']) != 'no_stats' && gdrcd_filter('get',$_POST['dice']) != 'no_dice')
{
mt_srand((double)microtime()*1000000);
$die=mt_rand(1,gdrcd_filter('num', (int)$_POST['dice']));
$id_stats = explode('_', $_POST['id_stats']);
$car = gdrcd_query("SELECT car".gdrcd_filter('num',$id_stats[1])." AS car_now FROM personaggio WHERE nome = '".$_SESSION['login']."' LIMIT 1");
$racial_bonus = gdrcd_query("SELECT bonus_car".gdrcd_filter('num',$id_stats[1])." AS racial_bonus FROM razza WHERE id_razza IN (SELECT id_razza FROM personaggio WHERE nome='".$_SESSION['login']."')");
gdrcd_query("INSERT INTO chat ( stanza, imgs, mittente, destinatario, ora, tipo, testo ) VALUES (".$_SESSION['luogo'].", '".$_SESSION['sesso'].";".$_SESSION['img_razza']."', '".$_SESSION['login']."', '', NOW(), 'C', '".$_SESSION['login'].' '.gdrcd_filter('in',$MESSAGE['chat']['commands']['use_skills']['uses']).' '.gdrcd_filter('in',$PARAMETERS['names']['stats']['car'.$id_stats[1]]).': '.gdrcd_filter('in',$PARAMETERS['names']['stats']['car'.$id_stats[1].'']).' '.gdrcd_filter('num',$car['car_now']+$racial_bonus['racial_bonus']).', '.gdrcd_filter('in', $MESSAGE['chat']['commands']['use_skills']['die']).' '.gdrcd_filter('num',$die).', '.gdrcd_filter('in',$MESSAGE['chat']['commands']['use_skills']['sum']).' '.(gdrcd_filter('num',$car['car_now']+$racial_bonus['racial_bonus'])+gdrcd_filter('num',$die)+gdrcd_filter('num',$rank['grado'])+gdrcd_filter('in',$bonus['bonus']))."')");
} else if (gdrcd_filter('get',$_POST['dice'])!='no_dice'){
mt_srand((double)microtime()*1000000);
$die=mt_rand(1,gdrcd_filter('num',$_POST['dice']));
gdrcd_query("INSERT INTO chat ( stanza, imgs, mittente, destinatario, ora, tipo, testo ) VALUES (".$_SESSION['luogo'].", '".$_SESSION['sesso'].";".$_SESSION['img_razza']."', '".$_SESSION['login']."', '', NOW(), 'D', '".$_SESSION['login'].' '.gdrcd_filter('in',$MESSAGE['chat']['commands']['die']['cast']).gdrcd_filter('num',$_POST['dice']).': '.gdrcd_filter('in',$MESSAGE['chat']['commands']['die']['sum']).' '.gdrcd_filter('num',$die)."')");
} else if (gdrcd_filter('get',$_POST['id_item'])!='no_item'){
$item=explode('-', gdrcd_filter('in',$_POST['id_item']));
if ($item[1]==1){
$query="DELETE FROM clgpersonaggiooggetto WHERE nome ='".$_SESSION['login']."' AND id_oggetto='".gdrcd_filter('num',$item[0])."' LIMIT 1";
} elseif ($item[1]>1){
$query="UPDATE clgpersonaggiooggetto SET cariche = cariche -1 WHERE nome ='".$_SESSION['login']."' AND id_oggetto='".gdrcd_filter('num',$item[0])."' LIMIT 1";
}
gdrcd_query($query);
gdrcd_query("INSERT INTO chat ( stanza, imgs, mittente, destinatario, ora, tipo, testo ) VALUES (".$_SESSION['luogo'].", '".$_SESSION['sesso'].";".$_SESSION['img_razza']."', '".$_SESSION['login']."', '', NOW(), 'O', '".$_SESSION['login'].' '.gdrcd_filter('in',$MESSAGE['chat']['commands']['die']['item']).': '.gdrcd_filter('in',$item[2])."')");
}
}
/*Se ho inviato un messaggio*/
/** * Fix controllo per impedire messaggi inviati a vuoto
* @author Blancks
*/
if (gdrcd_filter('get',$_POST['op'])=='new_chat_message' && !empty($_POST['message']))
{
$actual_healt = gdrcd_query("SELECT salute FROM personaggio WHERE nome = '".$_SESSION['login']."'");
$chat_message=gdrcd_filter('in', gdrcd_angs($_POST['message']));
$tag_n_beyond=gdrcd_filter('in',$_POST['tag']);
$type=gdrcd_filter('in',$_POST['type']);
$first_char=substr($chat_message,0,1);
if($type < "5"){ //E' un messaggio.
/*Verifico il tipo di messaggio*/
if (($type=="4")||($first_char=="@")){ /*Sussurro*/
$m_type='S';
if($type!='4'){
$dest_end = strpos(substr($chat_message, 1), "@");
if ($dest_end === FALSE){
/*Se il destinatario e' mal formattato lo prendo come parlato*/
$m_type='P';
} else {
$tag_n_beyond=gdrcd_capital_letter(substr($chat_message, 1, $dest_end));
$chat_message=substr($chat_message, $dest_end+2);
}
}//if
if ($m_type=='S'){/*Se il sussurro e' inviato correttamente*/
$r_check_dest = gdrcd_query("SELECT nome FROM personaggio WHERE DATE_ADD(ultimo_refresh, INTERVAL 2 MINUTE) > NOW() AND ultimo_luogo = ".$_SESSION['luogo']." AND nome = '".$tag_n_beyond."' LIMIT 1", 'result');
if (gdrcd_query($r_check_dest, 'num_rows') < 1){
$chat_message=$tag_n_beyond.' '.gdrcd_filter('in',$MESSAGE['chat']['whisper']['no']);
$tag_n_beyond=$_SESSION['login'];
}
} else { $tag_n_beyond=$_SESSION['tag']; }
} elseif (($type=="1")||($first_char=="+")){ /*Azione*/
if ($actual_healt['salute']>0){
if ($first_char=="+"){$chat_message=substr($chat_message, 1);}
$m_type='A';
$_SESSION['tag']=$tag_n_beyond;
} else {
$m_type='S';
$tag_n_beyond=$_SESSION['login'];
$chat_message=gdrcd_filter('in',$MESSAGE['status_pg']['exausted']);
}
} elseif ((($type=="2")||($first_char=="§")||($first_char=="-")||($first_char=="*"))&&
($_SESSION['permessi']>=GAMEMASTER)) { /*Master*/
$m_type='M';
if(($first_char=="§")||($first_char=="-")){$chat_message=substr($chat_message, 1);}
if($first_char=="*"){$chat_message=substr($chat_message, 1); $m_type='I';}
} elseif (($type=="3")&&($_SESSION['permessi']>=GAMEMASTER)) { /*PNG*/
$m_type='N';
$_SESSION['tag']=$tag_n_beyond;
} else if (($type=="0") || (empty($type)===TRUE)){ /*Parlato*/
if ($actual_healt['salute']>0){
$m_type='P';
$_SESSION['tag']=$tag_n_beyond;
} else {
$m_type='S';
$tag_n_beyond=$_SESSION['login'];
$chat_message=gdrcd_filter('in',$MESSAGE['status_pg']['exausted']);
}
} //elseif
/*Inserisco il messaggio*/
gdrcd_query("INSERT INTO chat ( stanza, imgs, mittente, destinatario, ora, tipo, testo ) VALUES (".$_SESSION['luogo'].", '".$_SESSION['sesso'].";".$_SESSION['img_razza']."', '".$_SESSION['login']."', '".gdrcd_capital_letter(gdrcd_filter('in', $tag_n_beyond))."', NOW(), '".$m_type."', '".$chat_message."')");
} else { //Altrimenti e' un comando di stanza privata.
$info = gdrcd_query("SELECT invitati, nome, proprietario FROM mappa WHERE id=".$_SESSION['luogo']."");
$ok_command=FALSE;
if($info['proprietario']==$_SESSION['login']){$ok_command=TRUE;}
if(strpos($_SESSION['gilda'],$info['proprietario'])!=FALSE){$ok_command=TRUE;}
if (($type=="5")&&($ok_command===TRUE)){ //invita
gdrcd_query("UPDATE mappa SET invitati = '".$info['invitati'].','.gdrcd_capital_letter(strtolower(gdrcd_filter('in', $tag_n_beyond)))."' WHERE id=".$_SESSION['luogo']." LIMIT 1");
gdrcd_query("INSERT INTO chat ( stanza, mittente, destinatario, ora, tipo, testo ) VALUES (".$_SESSION['luogo'].", 'System message', '".$_SESSION['login']."', NOW(), 'S', '".gdrcd_capital_letter(gdrcd_filter('in', $tag_n_beyond)).' '.$MESSAGE['chat']['warning']['invited']."')");
if(empty($_POST['tag'])===FALSE)
{
gdrcd_query("INSERT INTO messaggi ( mittente, destinatario, spedito, letto, testo ) VALUES ('System message', '".gdrcd_capital_letter(gdrcd_filter('in',$_POST['tag']))."', NOW(), 0, '".$_SESSION['login'].' '.$MESSAGE['chat']['warning']['invited_message'].' '.$info['nome']."')");
}
} else if (($type=="6")&&($ok_command===TRUE)){ //caccia
$scaccia=str_replace(','.gdrcd_capital_letter(gdrcd_filter('in', $tag_n_beyond)), '',$info['invitati']);
gdrcd_query("UPDATE mappa SET invitati = '".$scaccia."' WHERE id=".$_SESSION['luogo']." LIMIT 1");
gdrcd_query("INSERT INTO chat ( stanza, mittente, destinatario, ora, tipo, testo ) VALUES (".$_SESSION['luogo'].", 'System message', '".$_SESSION['login']."', NOW(), 'S', '".gdrcd_capital_letter(gdrcd_filter('in', $tag_n_beyond)).' '.$MESSAGE['chat']['warning']['expelled']."')");
} else if ($ok_command===TRUE){ //elenco
$ospiti=str_replace(',', '', $info['invitati']);
gdrcd_query("INSERT INTO chat ( stanza, mittente, destinatario, ora, tipo, testo ) VALUES (".$_SESSION['luogo'].", 'System message', '".$_SESSION['login']."', NOW(), 'S', '".$MESSAGE['chat']['warning']['list'].': '.$ospiti."')");
}//else
}//else
/** * Fix ricomparsa tag di locazione in caso di messaggio inviato a vuoto
* @author Blancks
*/
}else//if(op)
{
$_SESSION['tag'] = gdrcd_filter('in',$_POST['tag']);
}
/*Carico i nuovi messaggi*/
if(empty($last_message)) $last_message = 0;
/** * Scorrimento dei messaggi in chat, verifico se non è stato invertito il flusso, in caso modifico l'ordinamento della query
* @author Blancks
*/
$typeOrder = 'ASC';
if ($PARAMETERS['mode']['chat_from_bottom']=='ON')
$typeOrder = 'DESC';
/** * Controllo per impedire il print in chat delle azioni dei precedenti proprietari di una stanza privata
* Per stanze non private ora_prenotazione equivarrà ad un tempo sempre inferiore all'orario dell'azione inviata
* facendo risultare quindi sempre veritiero il controllo in questo caso.
* @author Blancks
*/
$query= gdrcd_query(" SELECT chat.id, chat.imgs, chat.mittente, chat.destinatario, chat.tipo, chat.ora, chat.testo, personaggio.url_img_chat, mappa.ora_prenotazione
FROM chat
INNER JOIN mappa ON mappa.id = chat.stanza
LEFT JOIN personaggio ON personaggio.nome = chat.mittente
WHERE chat.id > ".$last_message." AND stanza = ".$_SESSION['luogo']." AND chat.ora > IFNULL(mappa.ora_prenotazione, '0000-00-00 00:00:00') AND DATE_SUB(NOW(), INTERVAL 30 MINUTE) < ora ORDER BY id ". $typeOrder, 'result');
while ($row = gdrcd_query($query, 'fetch'))
{
if ($PARAMETERS['mode']['chaticons']=='ON')
{
$icone_chat=explode(";",gdrcd_filter('out', $row['imgs']));
$add_icon = '<span class="chat_icons"> <img class="presenti_ico" src="themes/'.$PARAMETERS['themes']['current_theme'].'/imgs/races/'.$icone_chat[1].'"><img class="presenti_ico" src="imgs/icons/testamini'.$icone_chat[0].'.png"> </span>';
}
$add_chat.= '<div class="chat_row_'.$row['tipo'].'">';
switch ($row['tipo'])
{
case 'P':
/** * Avatar di chat
*@author Blancks
*/
if ($PARAMETERS['mode']['chat_avatar']=='ON' && !empty($row['url_img_chat']))
{
$add_chat .='<img src="'.$row['url_img_chat'].'" class="chat_avatar" style="width:'.$PARAMETERS['settings']['chat_avatar']['width'].'px; height:'.$PARAMETERS['settings']['chat_avatar']['height'].'px;" />';
}
$add_chat.= '<span class="chat_time">'.gdrcd_format_time($row['ora']).'</span>';
if ($PARAMETERS['mode']['chaticons']=='ON')
{
$add_chat.= $add_icon;
}
$add_chat.= '<span class="chat_name"><a href="#" onclick="Javascript: document.getElementById('tag').value=''.$row['mittente'].''; document.getElementById('type')[2].selected = '1'; document.getElementById('message').focus();">'.$row['mittente'].'</a>';
if(empty ($row['destinatario']) === FALSE )
{
$add_chat.= '<span class="chat_tag"> ['.gdrcd_filter('out',$row['destinatario']).']</span>';
}
$add_chat.=': </span> ';
$add_chat.= '<span class="chat_msg">'.gdrcd_chatcolor(gdrcd_filter('out',$row['testo'])).'</span>';
break;
case 'A':
/** * Avatar di chat
*@author Blancks
*/
if ($PARAMETERS['mode']['chat_avatar']=='ON' && !empty($row['url_img_chat']))
{
$add_chat .='<img src="'.$row['url_img_chat'].'" class="chat_avatar" style="width:'.$PARAMETERS['settings']['chat_avatar']['width'].'px; height:'.$PARAMETERS['settings']['chat_avatar']['height'].'px;" />';
}
$add_chat.= '<span class="chat_time">'.gdrcd_format_time($row['ora']).'</span>';
if ($PARAMETERS['mode']['chaticons']=='ON')
{
$add_chat.= $add_icon;
}
$add_chat.= '<span class="chat_name"><a href="#" onclick="Javascript: document.getElementById('tag').value=''.$row['mittente'].''; document.getElementById('type')[2].selected = '1'; document.getElementById('message').focus();">'.$row['mittente'].'</a>';
if(empty ($row['destinatario']) === FALSE )
{
$add_chat.= '<span class="chat_tag"> ['.gdrcd_filter('out',$row['destinatario']).']</span>';
}
$add_chat.='</span> ';
$add_chat.= '<span class="chat_msg">'.gdrcd_chatcolor(gdrcd_filter('out',$row['testo'])).'</span>';
break;
case 'S':
if ($_SESSION['login']==$row['destinatario'])
{
$add_chat.= '<span class="chat_name">'.$row['mittente'].' '.$MESSAGE['chat']['whisper']['by'].': </span> ';
$add_chat.= '<span class="chat_msg">'.gdrcd_filter('out',$row['testo']).'</span>';
} else if ($_SESSION['login']==$row['mittente'])
{
$add_chat.= '<span class="chat_msg">'.$MESSAGE['chat']['whisper']['to'].' '.gdrcd_filter('out',$row['destinatario']).': </span>';
$add_chat.= '<span class="chat_msg">'.gdrcd_filter('out',$row['testo']).'</span>';
} else if (($_SESSION['permessi']>=MODERATOR)&&($PARAMETERS['mode']['spyprivaterooms']=='ON'))
{
$add_chat.= '<span class="chat_msg">'.$row['mittente'].' '.$MESSAGE['chat']['whisper']['from_to'].' '.gdrcd_filter('out',$row['destinatario']).' </span>';
$add_chat.= '<span class="chat_msg">'.gdrcd_filter('out',$row['testo']).'</span>';
}
break;
case 'N':
$add_chat.= '<span class="chat_time">'.gdrcd_format_time($row['ora']).'</span>';
$add_chat.= '<span class="chat_name">'.$row['destinatario'].'</span> ';
$add_chat.= '<span class="chat_msg">'.gdrcd_chatcolor(gdrcd_filter('out',$row['testo'])).'</span>';
break;
case 'M':
$add_chat.= '<span class="chat_master">'.gdrcd_filter('out',$row['testo']).'</span>';
break;
case 'I':
$add_chat.= '<img class="chat_img" src="'.gdrcd_filter('out',$row['testo']).'" />';
break;
case 'C':
$add_chat.= '<span class="chat_time">'.gdrcd_format_time($row['ora']).'</span>';
$add_chat.= '<span class="chat_msg">'.gdrcd_filter('out',$row['testo']).'</span>';
break;
case 'D':
$add_chat.= '<span class="chat_time">'.gdrcd_format_time($row['ora']).'</span>';
$add_chat.= '<span class="chat_msg">'.gdrcd_filter('out',$row['testo']).'</span>';
break;
case 'O':
$add_chat.= '<span class="chat_time">'.gdrcd_format_time($row['ora']).'</span>';
$add_chat.= '<span class="chat_msg">'.gdrcd_filter('out',$row['testo']).'</span>';
break;
}
if ($PARAMETERS['mode']['chat_avatar']=='ON')
$add_chat .= '<br style="clear:both;" />';
$add_chat.= '</div>';
if ($row['id'] > (int)$last_message)
$last_message=$row['id'];
}
gdrcd_query($query, 'free');
$_SESSION['last_message']=$last_message;
}//if
/******************************************************************************************/
?>
<html>
<head>
<?php if(gdrcd_filter('get',$_REQUEST['chat'])=='yes'){
echo '<script type="text/javascript"> function echoChat(){';
/** * Gestione dell'ordinamento
* @author Blancks
*/
if ($PARAMETERS['mode']['chat_from_bottom']=='OFF')
{
echo 'parent.document.getElementById('pagina_chat').innerHTML+= ''.addslashes($add_chat).'';';
echo 'scrolling = parent.document.getElementById('pagina_chat').scrollHeight;';
}elseif ($PARAMETERS['mode']['chat_from_bottom']=='ON')
{
echo 'parent.document.getElementById('pagina_chat').innerHTML= ''.addslashes($add_chat).''+parent.document.getElementById('pagina_chat').innerHTML;';
echo 'scrolling = 0;';
}
/** * Gestione intelligente della scrollbar
* Forza lo scroll solo quando ci sono nuovi messaggi
* @author Blancks
*/
if (!empty($add_chat))
echo 'parent.document.getElementById('pagina_chat').scrollTop = scrolling;';
if ((gdrcd_filter('get',$_POST['op'])=='take_action')||(gdrcd_filter('get',$_POST['op'])=='new_chat_message')){
if($PARAMETERS['mode']['skillsystem']=='ON'){
echo 'parent.document.getElementById('chat_form_actions').reset();';
}
echo 'parent.document.getElementById('chat_form_messages').reset();
parent.document.getElementById('chat_form_messages').elements["tag"].value=''.$_SESSION["tag"].'';';
}//if
echo '}</script>';
} ?>
<!--meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="refresh" content="<?php echo $i_ref_time; ?>">
<link rel="stylesheet" href="../themes/<?php echo $PARAMETERS['themes']['current_theme'];?>/presenti.css" TYPE="text/css">
<link rel="stylesheet" href="../themes/<?php echo $PARAMETERS['themes']['current_theme'];?>/main.css" TYPE="text/css">
<link rel="stylesheet" href="../themes/<?php echo $PARAMETERS['themes']['current_theme'];?>/chat.css" TYPE="text/css">
</head>
<body class="transparent_body" <?php if(gdrcd_filter('get',$_REQUEST['chat'])=='yes'){ echo 'onLoad="echoChat();"';} ?> >
<?php
//controlla sessione
//controlla esilio
?>
Discussione seguita da
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Storie di Agarthi ↗
Cafuné ↗
Wuthering Waves ↗
Tiles Survive ↗
Sea of Conquest ↗
World of Warship ↗