22/06/2021 22:45:25
Figurati!
Se hai bisogno di una mano, posta pure qua sotto le cose che non tornano.
Kasa.
GitHub: https://github.com/GDRCD/GDRCD
Discord: https://discord.com/invite/K2eWXpvu4M
GdR-O: https://www.gdr-online.com/readforum.asp?id=250579
23/06/2021 11:23:08 e modificato da haruka il 23/06/2021 11:24:34
kasa ha scritto: Figurati!
Se hai bisogno di una mano, posta pure qua sotto le cose che non tornano.
Kasa.
while($row = gdrcd_query($result, 'fetch')) {
?>
<tr>
<td>
<?php echo $row['id'] ?>
</td>
...
Leggendra.eu - Fantasy steampunk itinerante
https://www.leggendra.eu
23/06/2021 11:54:54 e modificato da kasa il 23/06/2021 11:58:29
haruka ha scritto:
Ho inserito la query in index. Mi dava errori, poi cercando di capire perché ho visto che tu nella tua query avevi messo gli apici, mentre nelle query di gdrcd 5.5 non ce ne sono, quindi ho provato a toglierli e gli errori sono spariti.
haruka ha scritto:
Ad un certo punto devo aver qualcosa di questo tipo:
while($row = gdrcd_query($result, 'fetch')) {
?>
<tr>
<td>
<?php echo $row['id'] ?>
</td>
...
A posto di quel $row['id'], cosa devo mettere per stampare l'elenco dei personaggi con cui il mio intrattiene una conversazione? Lì mi perdo.
SELECT personaggio_conversazione, testo, letto, MAX(spedito) AS spedito
FROM ( ...
<td>
<div class="elementi_elenco">
<a href="main.php?page=messages_center&op=read&id_messaggio=<?php echo $row['id'] ?>"><?php echo gdrcd_filter('out', substr($row['testo'], 0, 40)); ?>
...
</a>
</div>
</td>
<td>
<div class="elementi_elenco">
<a href="main.php?page=messages_center&op=read&personaggio_conversazione=<?php echo $row['personaggio_conversazione'] ?>"><?php echo gdrcd_filter('out', substr($row['testo'], 0, 40)); ?>
...
</a>
</div>
</td>
GitHub: https://github.com/GDRCD/GDRCD
Discord: https://discord.com/invite/K2eWXpvu4M
GdR-O: https://www.gdr-online.com/readforum.asp?id=250579
23/06/2021 13:32:29
Allora, con l'index ci sono quasi. C'è il problema però che mi porta in cima solo i messaggi che ho già letto.
Me ne sono accorta perché al momento ho creato due diverse pagine (messages_center collegata alla vecchia index e messages_center_new collegata a indexnew) mentre faccio i test.
Se leggo il messaggio che mi è arrivato, poi nella nuova index confermo che va in cima alle conversazioni.
A parte questo piccolo intoppo, il sistema per ora funziona e spero a breve di poter condividere dei risultati concreti. Spero nel pomeriggio di riuscire ad attaccare con il nuovo file read.
Leggendra.eu - Fantasy steampunk itinerante
https://www.leggendra.eu
23/06/2021 14:12:21
haruka ha scritto: Allora, con l'index ci sono quasi. C'è il problema però che mi porta in cima solo i messaggi che ho già letto.
Me ne sono accorta perché al momento ho creato due diverse pagine (messages_center collegata alla vecchia index e messages_center_new collegata a indexnew) mentre faccio i test.
Se leggo il messaggio che mi è arrivato, poi nella nuova index confermo che va in cima alle conversazioni.
GitHub: https://github.com/GDRCD/GDRCD
Discord: https://discord.com/invite/K2eWXpvu4M
GdR-O: https://www.gdr-online.com/readforum.asp?id=250579
23/06/2021 14:43:24
Grazie Kasa, intanto mi sto orientando verso la possibilità di permettere agli user se scegliere il vecchio sistema o il nuovo.
Quindi in database, tabella personaggio, ho aggiunto il campo
new_mess | tinyint(1) | Come definito: 0
***
Nel file scheda_modifica.inc.php
dove c'è:
/*Carico le informazioni del PG*/
$record = gdrcd_query("SELECT descrizione,
gdrcd_query("UPDATE personaggio SET cognome =
blocca_media = " . (int) $blocca_media . ",
blocca_media = " . (int) $blocca_media . ", new_mess= '" . gdrcd_filter('in', $_POST['modifica_messaggistica']) . "',
<div class='form_label'>
Sistema di messaggistica
</div>
<div class='form_field'>
<select name="modifica_messaggistica">
<option value="0" <?php if ($record['new_mess'] == '0')
{
echo 'selected';
} ?> />
Vecchio sistema</option>
<option value="1" <?php if ($record['new_mess'] == '1')
{
echo 'selected';
} ?> />
Nuovo sistema</option>
</select>
</div>
Leggendra.eu - Fantasy steampunk itinerante
https://www.leggendra.eu
23/06/2021 15:15:19
Per quel che riguarda il file messaggi.inc.php
In cima ho aggiunto:
$new_mess = gdrcd_query("SELECT new_mess FROM personaggio WHERE nome = '".$_SESSION['login']."'");
echo '<script type="text/javascript"> if (document.images) { var msg_button1_up = new Image(); msg_button1_up.src = "../themes/'.$PARAMETERS['themes']['current_theme'].'/imgs/menu/'.$img_up.'"; var msg_button1_over = new Image(); msg_button1_over.src = "../themes/'.$PARAMETERS['themes']['current_theme'].'/imgs/menu/'.$img_down.'";} function msg_over_button() { if (document.images) { document["msg_buttonOne"].src = msg_button1_over.src;}} function msg_up_button() { if (document.images) { document["msg_buttonOne"].src = msg_button1_up.src}}</script>';
if ($new_mess['new_mess'] == '0') {
echo '<a onMouseOver="msg_over_button()" onMouseOut="msg_up_button()" href="../main.php?page=messages_center&offset=0" target="_top"><img src="../themes/'.$PARAMETERS['themes']['current_theme'].'/imgs/menu/'.$PARAMETERS['names']['private_message']['image_file'].'" alt="'.gdrcd_filter('out',
$PARAMETERS['names']['private_message']['plur']
).'" title="'.gdrcd_filter('out', $PARAMETERS['names']['private_message']['plur']).'" name="msg_buttonOne" /></a>';
}
else
{
echo '<a onMouseOver="msg_over_button()" onMouseOut="msg_up_button()" href="../main.php?page=messages_center_new&offset=0" target="_top"><img src="../themes/'.$PARAMETERS['themes']['current_theme'].'/imgs/menu/'.$PARAMETERS['names']['private_message']['image_file'].'" alt="'.gdrcd_filter('out',
$PARAMETERS['names']['private_message']['plur']
).'" title="'.gdrcd_filter('out', $PARAMETERS['names']['private_message']['plur']).'" name="msg_buttonOne" /></a>';
}
}
else {
if ($new_mess['new_mess'] == '0') {
echo '<a href="../main.php?page=messages_center&offset=0" target="_top">'.gdrcd_filter('out', $PARAMETERS['names']['private_message']['plur']).'</a>';
}
else
{
echo '<a href="../main.php?page=messages_center_new&offset=0" target="_top">'.gdrcd_filter('out', $PARAMETERS['names']['private_message']['plur']).'</a>';
}
}
echo '</div>';
if($PARAMETERS['mode']['alert_pm_via_pagetitle'] == 'ON') { ?>
<script type="text/javascript">
parent.stop_blinking_title();
</script>
<?php
}
} else { //$_SESSION['last_istant_message']=$max_id['max']; ?>
<?php if ($new_mess['new_mess'] == '0') { ?>
<div class="messaggio_forum_nuovo">
<a href="../main.php?page=messages_center&offset=0" target="_top">
<?php
if(empty ($PARAMETERS['names']['private_message']['image_file_new']) === false) {
echo '<img src="../themes/'.$PARAMETERS['themes']['current_theme'].'/imgs/menu/'.$PARAMETERS['names']['private_message']['image_file_new'].'" alt="'.gdrcd_filter('out', $PARAMETERS['names']['private_message']['plur']).'" title="'.gdrcd_filter('out', $PARAMETERS['names']['private_message']['plur']).'" />';
} else {
echo gdrcd_filter('out', $PARAMETERS['names']['private_message']['plur']);
} ?>
</a>
</div>
<?php } else { ?>
<div class="messaggio_forum_nuovo">
<a href="../main.php?page=messages_center_new&offset=0" target="_top">
<?php
if(empty ($PARAMETERS['names']['private_message']['image_file_new']) === false) {
echo '<img src="../themes/'.$PARAMETERS['themes']['current_theme'].'/imgs/menu/'.$PARAMETERS['names']['private_message']['image_file_new'].'" alt="'.gdrcd_filter('out', $PARAMETERS['names']['private_message']['plur']).'" title="'.gdrcd_filter('out', $PARAMETERS['names']['private_message']['plur']).'" />';
} else {
echo gdrcd_filter('out', $PARAMETERS['names']['private_message']['plur']);
} ?>
</a>
</div>
<?php } ?>
<?php
if($PARAMETERS['mode']['alert_pm_via_pagetitle'] == 'ON'){ ?>
Leggendra.eu - Fantasy steampunk itinerante
https://www.leggendra.eu
23/06/2021 15:29:01 e modificato da kasa il 23/06/2021 15:39:09
Perfetto.
Se tutto torna, ora manca da adattare per bene index.inc.php e il read.inc.php.
Oltre questo, bisogna tenere in considerazione che nel caso in cui si scelga la nuova visualizzazione anche la funzione di cancellare i messaggi e il rispondi devono cambiare.
Ad esempio, quando si cancella index.inc.php andrebbe cancellata l'intera conversazione ( e di rimando popolare i campi mittente_del e destinatario_del di tutti i messaggi avuti con quel determinato personaggio della conversazione ) e nel selezionare quali messaggi cancellare, va fatto per le conversazioni.
Il rispondi in index.inc.php dovrebbe rimanere più o meno invariato.
Ma un passo alla volta.
Kasa.
GitHub: https://github.com/GDRCD/GDRCD
Discord: https://discord.com/invite/K2eWXpvu4M
GdR-O: https://www.gdr-online.com/readforum.asp?id=250579
23/06/2021 15:36:37
Sì, un passo alla volta perché ora la rogna è il read xD
Tanto per capire, la query che c'è in index va replicata anche lì?
E poi vanno stampati i messaggi della conversazione?
Perché al momento l'index mi genera un collegamento di questo tipo
main.php?page=messages_center_new&op=readnew&personaggio_conversazione=Haruka
ma se ci clicco, mi apre nuovamente la pagina di indexnew (insomma non cambia niente a livello di visualizzazione)
Leggendra.eu - Fantasy steampunk itinerante
https://www.leggendra.eu
23/06/2021 16:27:41
La scema sono io (facepalm).
Nel messages_center_new avevo lasciato
switch(gdrcd_filter_get($_GET['op'])) {
case 'read':
switch(gdrcd_filter_get($_GET['op'])) {
case 'readnew':
GDRCD MySQLi Error [File: readnew.inc.php; Line: 34]
Error Code: 1064
Error String: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 27
Error Detail: SELECT personaggio_conversazione, testo, letto, MAX(spedito) as spedito FROM ( ( SELECT mittente as personaggio_conversazione, testo, letto, spedito FROM messaggi WHERE 1 AND destinatario = 'Kether' AND destinatario_del = 0 AND spedito = (SELECT MAX(mcheck.spedito) from messaggi as mcheck WHERE mcheck.destinatario = messaggi.destinatario AND mcheck.mittente = messaggi.mittente ) GROUP BY mittente ORDER BY letto, spedito DESC ) UNION ALL ( SELECT destinatario as personaggio_conversazione, testo, letto, spedito FROM messaggi WHERE 1 AND mittente = 'Kether' AND mittente_del = 0 AND spedito = (SELECT MAX(mcheck.spedito) from messaggi as mcheck WHERE mcheck.destinatario = messaggi.destinatario AND mcheck.mittente = messaggi.mittente ) GROUP BY destinatario ORDER BY letto, spedito DESC ) ) AS conversazioni GROUP BY personaggio_conversazione ORDER BY letto, spedito DESC LIMIT ,
Leggendra.eu - Fantasy steampunk itinerante
https://www.leggendra.eu
Discussione seguita da:
Non puoi scrivere in questo Forum
Aggiungi Discussione ai Preferiti
Inoltra Discussione
Forum Programmazione, GDRCD, Grafica e Open Source
Torna alla lista Forum
✋😟
Abbiamo rilevato che stai usando un software per bloccare la pubblicità!
L'utilizzo di GDR-online.com è gratuito da oltre 17 anni ma è necessario coprire i costi per mantenerlo online... ti chiediamo di aiutarci disabilitando il blocco dei banner pubblicitari.
Togliere il blocco significa fare in modo che GDR-online.com possa continuare a far conoscere piccoli giochi amatoriali gratuitamente e offrire un servizio sempre migliore e adatto alle esigenze dei suoi giocatori!
Se questo avviso continua ad apparire nonostante tu abbia autorizzato il portale:
- Verifica nelle opzioni che venga disattivato AdBlock in tutto il dominio gdr-online.com e non solo in una pagina
- Controlla di non avere fra le estensioni installate altre analoghe ad AdBlock, come AdBlock Plusbr, ublock origin, ecc.
- Probabilmente sul tuo PC è installato un Antivirus che ha anche funzioni di blocco pubblicità
- Se usi Firefox impostare il "Blocco Contenuti" su "Normale" e non su "Restrittivo". Per farlo clicca sull'icona dello scudo vicino all'URL e clicca su "Disattiva Blocco per questo sito"
- Prova a premere CTRL + F5, riloggarti e vedi se il problema persiste