(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.5basta 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!