(5.5.1) Aggiorno chat
(5.5.1) Aggiorno chat postato il 24/07/2020 07:38:20 nel forum programmazione, open source e hosting
Ho scaricato il pacchetto di GDRCD 5.5.1 e ho visto che la chat si cancella appena provi a aggiornarla. Capita anche a voi o sono io che sbaglio qualcosa??
Pagine → 1
25/07/2020 19:48:06
Aggiorno dicendo che, caricando la pagina ref_header della versione precedente (5.4.1) il codice funziona correttamente. Dite di lasciare così o potrebbe collidere?
28/07/2020 13:49:43
utente cancellato ha scritto: Fai un confronto tra le due versioni e dimmi dove differisce. Forse potrei esserti di aiuto io.
Ho provato a fare quanto detto. Le differenze sono 3:
La prima parte del codice è molto simile. Le uniche differenze riscontrate sono che, nel codice del 5.4.1, alla riga 4 c'è:
$last_message = $_SESSION['last_message'];
contrariamente al 5.5.1 che, alla riga 6, viene sostituita con:
$last_message = isset($_SESSION['last_message']) ? $_SESSION['last_message'] : 0;
La prima (e unica) vera differenza tra i due codici inizia con lo stamp dei diversi case.
Nella versione 5.5.1 il codice è più asciutto, con accorpamenti di diversi cases:
switch($row['tipo']) {
case 'A':
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 .= ($row['tipo'] === 'P') ? ': </span> ' : '</span> ';
$add_chat .= '<span class="chat_msg">'.gdrcd_chatme($_SESSION['login'], gdrcd_chatcolor(gdrcd_filter('out', $row['testo']))).'</span>';
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
if($PARAMETERS['mode']['chat_avatar'] == 'ON') {
$add_chat .= '<br style="clear:both;" />';
}
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>';
} elseif($_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>';
} elseif(($_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_chatme($_SESSION['login'], gdrcd_filter('out', $row['testo']), true).'</span>';
break;
case 'I':
$add_chat .= '<img class="chat_img" src="'.gdrcd_filter('fullurl', $row['testo']).'" />';
break;
case 'C':
case 'D':
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;
}
Nel codice 5.4.1, che parte dalla riga 332, non vi è nessun accorpamento e risulta più lungo:
switch ($row['tipo'])
{
case 'P':
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '<div class="chat_row_'.$row['tipo'].'">';
/** * 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_chatme($_SESSION['login'], gdrcd_chatcolor(gdrcd_filter('out',$row['testo']))).'</span>';
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
if ($PARAMETERS['mode']['chat_avatar']=='ON')
$add_chat .= '<br style="clear:both;" />';
$add_chat.= '</div>';
break;
case 'A':
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '<div class="chat_row_'.$row['tipo'].'">';
/** * 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_chatme($_SESSION['login'], gdrcd_chatcolor(gdrcd_filter('out',$row['testo']))).'</span>';
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
if ($PARAMETERS['mode']['chat_avatar']=='ON')
$add_chat .= '<br style="clear:both;" />';
$add_chat.= '</div>';
break;
case 'S':
if ($_SESSION['login']==$row['destinatario'])
{
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '<div class="chat_row_'.$row['tipo'].'">';
$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>';
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '</div>';
} else if ($_SESSION['login']==$row['mittente'])
{
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '<div class="chat_row_'.$row['tipo'].'">';
$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>';
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '</div>';
} else if (($_SESSION['permessi']>=MODERATOR)&&($PARAMETERS['mode']['spyprivaterooms']=='ON'))
{
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '<div class="chat_row_'.$row['tipo'].'">';
$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>';
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '</div>';
}
break;
case 'N':
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '<div class="chat_row_'.$row['tipo'].'">';
$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>';
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '</div>';
break;
case 'M':
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '<div class="chat_row_'.$row['tipo'].'">';
$add_chat.= '<span class="chat_master">'.gdrcd_chatme_master($_SESSION['login'], gdrcd_filter('out',$row['testo'])).'</span>';
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '</div>';
break;
case 'I':
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '<div class="chat_row_'.$row['tipo'].'">';
$add_chat.= '<img class="chat_img" src="'.gdrcd_filter('fullurl',$row['testo']).'" />';
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '</div>';
break;
case 'C':
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '<div class="chat_row_'.$row['tipo'].'">';
$add_chat.= '<span class="chat_time">'.gdrcd_format_time($row['ora']).'</span>';
$add_chat.= '<span class="chat_msg">'.gdrcd_filter('out',$row['testo']).'</span>';
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '</div>';
break;
case 'D':
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '<div class="chat_row_'.$row['tipo'].'">';
$add_chat.= '<span class="chat_time">'.gdrcd_format_time($row['ora']).'</span>';
$add_chat.= '<span class="chat_msg">'.gdrcd_filter('out',$row['testo']).'</span>';
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '</div>';
break;
case 'O':
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '<div class="chat_row_'.$row['tipo'].'">';
$add_chat.= '<span class="chat_time">'.gdrcd_format_time($row['ora']).'</span>';
$add_chat.= '<span class="chat_msg">'.gdrcd_filter('out',$row['testo']).'</span>';
/** * Fix problema visualizzazione spazi vuoti con i sussurri
* @author eLDiabolo
*/
$add_chat.= '</div>';
break;
}
Ultima differenza è nel pezzo immediatamente successivo, e riguarda la chiusura della seconda }.
Laddove nel 5.5.1, alla riga 321, abbiamo:
if($row['id'] > (int) $last_message) {
$last_message = $row['id'];
}
}
gdrcd_query($query, 'free');
$_SESSION['last_message'] = $last_message;
nella 5.4.1 abbiamo:
if ($row['id'] > (int)$last_message)
$last_message=$row['id'];
}
gdrcd_query($query, 'free');
$_SESSION['last_message']=$last_message;
}
09/10/2020 15:01:18
Non so se può servire o se è già stato risolto (non ho visto pacchetti) ma visto che era presente come bug indicato quando si scarica la 5.5.1, lo segnalo.
In riga 225 del file ref_header.php è presente questo
}//Fine (gdrcd_filter('get', $_POST['op']) == 'new_chat_message')
Spostandolo alla riga 326 si va a "pareggiare" quanto presente e funzionante nella 5.4, e quindi la chat non va più a cancellarsi dopo il refresh.
27/05/2021 15:59:45
kgviigdr ha scritto: Non so se può servire o se è già stato risolto (non ho visto pacchetti) ma visto che era presente come bug indicato quando si scarica la 5.5.1, lo segnalo.
In riga 225 del file ref_header.php è presente questo
}//Fine (gdrcd_filter('get', $_POST['op']) == 'new_chat_message')
Spostandolo alla riga 326 si va a "pareggiare" quanto presente e funzionante nella 5.4, e quindi la chat non va più a cancellarsi dopo il refresh.
riesumo questa conversazione... nessuno sa come come risolvere con la versione 5.5
27/05/2021 22:30:28
confermo che per risolvere i lproblema della chat su gdrcd 5.5
basta spostare, dal file ref_header questa stringa
}//Fine (gdrcd_filter('get', $_POST['op']) == 'new_chat_message')
dalla riga 225 in cui si trova alla riga 326.
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
New Orleans ↗
Foundation Galactic Frontier ↗
World of the Sea Battle ↗
World of Tanks ↗
Tiles Survive ↗