[GDRCD 5.6.0.0/.1] - MP non riportano al destinatario selezionato
[GDRCD 5.6.0.0/.1] - MP non riportano al destinatario selezionato postato il 03/01/2022 17:12:05 nel forum programmazione, open source e hosting
Ciao a tutti come da titolo, volevo farvi presente che purtroppo sia con la versione del gdrcd [GDRCD 5.6.0.0/.1] si verifica il medesimo problema:
selezionando la dicitura invia un MP dalla scheda di un utente o da presenti estesi mi si presenta questa situazione:
https://prnt.sc/25u8yq9 ↗
Quindi mi domandavo come potessi risolvere questo piccolo problema che noto dà un po' noia dovendo scrivere di proprio pugno il nome dell'utente e questo penso sia un po' macchinoso!
Grazie in anticipo!
Pagine → 1
04/01/2022 00:35:20
In effetti, non sembra essere previsto alcun automatismo che compila la voce Destinatario in automatico con il nome del Personaggio desiderato.
Per poter correggere questa mancanza è sufficiente correggere in pages/messages/create.inc.php la seguente riga:
<input type="text" list="personaggi" name="destinatario" placeholder="Nome del personaggio" value="<?php echo gdrcd_filter('get', $_POST['destinatario']); ?>" required />
in questo modo (in grassetto le modifiche):
<input type="text" list="personaggi" name="destinatario" placeholder="Nome del personaggio" value="<?=gdrcd_filter('get', ($_POST['destinatario'] ?: $_GET['destinatario']));?>" required />
In questo modo ora è possibile passare come variabile $_GET anche il Destinatario, per facilitare l'invio dei messaggi.
A questo punto, in pages/scheda.inc.php occorre modificare da così:
<div class="ritratto_invia_messaggio"><!-- Link invia messaggio -->
<a href="main.php?page=messages_center&op=create&reply_dest=<?php echo gdrcd_filter('url', $personaggio['nome']); ?>"
class="link_invia_messaggio">
<?php if(empty($PARAMETERS['names']['private_message']['image_file']) === false) { ?>
<img src="<?php echo $PARAMETERS['names']['private_message']['image_file']; ?>"
alt="<?php echo gdrcd_filter('out', $MESSAGE['interface']['sheet']['send_message_to']['send']).' '.gdrcd_filter('out', $PARAMETERS['names']['private_message']['sing']).' '.gdrcd_filter('out', $MESSAGE['interface']['sheet']['send_message_to']['to']).' '.gdrcd_filter('out', $personaggio['nome']); ?>"
title="<?php echo gdrcd_filter('out', $MESSAGE['interface']['sheet']['send_message_to']['send']).' '.gdrcd_filter('out', $PARAMETERS['names']['private_message']['sing']).' '.gdrcd_filter('out', $MESSAGE['interface']['sheet']['send_message_to']['to']).' '.gdrcd_filter('out', $personaggio['nome']); ?>"
class="link_messaggio_forum">
<?php } else {
echo gdrcd_filter('out', $MESSAGE['interface']['sheet']['send_message_to']['send']).' '.gdrcd_filter('out', strtolower($PARAMETERS['names']['private_message']['sing'])).' '.gdrcd_filter('out', $MESSAGE['interface']['sheet']['send_message_to']['to']).' '.gdrcd_filter('out', $personaggio['nome']);
} ?>
</a>
</div>
a così:
<div class="ritratto_invia_messaggio"><!-- Link invia messaggio -->
<a href="main.php?page=messages_center&op=create&destinatario=<?=gdrcd_filter('url', $personaggio['nome']); ?>"
class="link_invia_messaggio">
<?php if(empty($PARAMETERS['names']['private_message']['image_file']) === false) { ?>
<img src="<?php echo $PARAMETERS['names']['private_message']['image_file']; ?>"
alt="<?php echo gdrcd_filter('out', $MESSAGE['interface']['sheet']['send_message_to']['send']).' '.gdrcd_filter('out', $PARAMETERS['names']['private_message']['sing']).' '.gdrcd_filter('out', $MESSAGE['interface']['sheet']['send_message_to']['to']).' '.gdrcd_filter('out', $personaggio['nome']); ?>"
title="<?php echo gdrcd_filter('out', $MESSAGE['interface']['sheet']['send_message_to']['send']).' '.gdrcd_filter('out', $PARAMETERS['names']['private_message']['sing']).' '.gdrcd_filter('out', $MESSAGE['interface']['sheet']['send_message_to']['to']).' '.gdrcd_filter('out', $personaggio['nome']); ?>"
class="link_messaggio_forum">
<?php } else {
echo gdrcd_filter('out', $MESSAGE['interface']['sheet']['send_message_to']['send']).' '.gdrcd_filter('out', strtolower($PARAMETERS['names']['private_message']['sing'])).' '.gdrcd_filter('out', $MESSAGE['interface']['sheet']['send_message_to']['to']).' '.gdrcd_filter('out', $personaggio['nome']);
} ?>
</a>
</div>
</div>
e nella pagina pages/presenti_estesi.inc.php da così:
//Nome pg e link alla sua scheda
echo '<a href="main.php?page=messages_center&newmessage=yes&reply_dest='.$record['nome'].'" class="link_sheet">MP</a> ';
a così:
//Nome pg e link alla sua scheda
echo '<a href="main.php?page=messages_center&op=create&destinatario='.gdrcd_filter('url', $record['nome']).'" class="link_sheet">MP</a> ';
Riesci a verificare se tutto ti torna?
Kasa.
04/01/2022 14:36:46
Ho fatto ora la verifica e torna tutto quanto, grazie mille gentilissimo! 😍
04/01/2022 15:03:35
Perfetto!
Queste aggiunte saranno già presenti nella versione 5.6.0.2 di GDRCD.
Kasa.
28/01/2022 21:27:02
io ho lo stesso problema. Come hai suggerito ho cercato di modificare le stringhe di codice ma non trovo il punto da modificare
<div class="panels_box">
<form class="form_messaggi" action="main.php?page=messages_center" method="post">
<!-- Destinatario -->
<div class='form_label'>
<?php echo gdrcd_filter('out', $MESSAGE['interface']['messages']['destination']); ?>
</div>
<div class='form_field'>
<input type="text" list="personaggi" name="destinatario" placeholder="Nome del personaggio" value="<?php echo gdrcd_filter('get', $_REQUEST['reply_dest']); ?>" />
</div>
<?php
echo gdrcd_list('personaggi');
if($_SESSION['permessi'] >= GUILDMODERATOR) { ?>
<div class="form_field">
<select name="multipli">
<option value="singolo" selected>
<?php echo gdrcd_filter('out', $MESSAGE['interface']['messages']['multiple']['single']); ?>
</option>
<option value="multiplo">
<?php echo gdrcd_filter('out', $MESSAGE['interface']['messages']['multiple']['multiple']); ?>
</option>
<option value="presenti">
<?php echo gdrcd_filter('out', $MESSAGE['interface']['messages']['multiple']['online']); ?>
</option>
<?php if($_SESSION['permessi'] >= MODERATOR) { ?>
<option value="broadcast">
<?php echo gdrcd_filter('out', $MESSAGE['interface']['messages']['multiple']['all']); ?>
</option>
<?php } ?>
</select>
</div>
<?php
} //if
?>
<div class="form_info">
<?php echo gdrcd_filter('out', $MESSAGE['interface']['messages']['multiple']['info']); ?>
</div>
<!-- Testo -->
<div class='form_label'>
<?php echo gdrcd_filter('out', $MESSAGE['interface']['messages']['body']); ?>
</div>
<div class='form_field'>
<textarea type="textbox" name="testo"><?php
/** * Fix per evitare le parentesi quadre vuote quando si compone un nuovo messaggio
* @author Blancks
*/
if(isset($_POST['testo'])) {
echo "\n\n\n[".gdrcd_filter('out', trim($_POST['testo']))."]";
}
?></textarea>
</div>
<!-- Submit -->
<input type="hidden" name="op" value="send_message" />
<input type="hidden" name="reply_attach" value="<?php echo gdrcd_filter('get', $_POST['reply_attach']); ?>" />
<div class='form_submit'>
<input type="submit" value="<?php echo gdrcd_filter('out', $MESSAGE['interface']['forms']['submit']); ?>" />
</div>
</form>
</div>
<div class="link_back">
<a href="main.php?page=messages_center&offset=0"><?php echo gdrcd_filter('out', $MESSAGE['interface']['messages']['go_back']); ?></a>
</div>
03/02/2022 09:25:56
alejandra ha scritto: ...
Le correzioni riportate sopra possono essere applicate senza alcun particolare intervento a nelle versioni 5.6.0.0 e 5.6.0.1 di GDRCD (dalla 5.6.0.2 in su le modifiche sono già integrate) e il motivo è correlato alle ingenti modifiche apportate al modulo dei messaggi.
A primo acchito, i tuoi sorgenti appartengono ad una versione precedente di GDRCD e quindi è comprensibile la difficoltà nell'adattamento.
In ogni caso, se ti sei assicurata di aver passato correttamente la variabile $_GET['destinatario'] al modulo dei messaggi, allora la modifica da fare è la seguente:
<div class="panels_box">
<form class="form_messaggi" action="main.php?page=messages_center" method="post">
<!-- Destinatario -->
<div class='form_label'>
<?php echo gdrcd_filter('out', $MESSAGE['interface']['messages']['destination']); ?>
</div>
<div class='form_field'>
<input type="text" list="personaggi" name="destinatario" placeholder="Nome del personaggio" value="<?php echo gdrcd_filter('get', $_REQUEST['reply_dest'] ?: $_GET['destinatario']); ?>" />
</div>
<?php
echo gdrcd_list('personaggi');
if($_SESSION['permessi'] >= GUILDMODERATOR) { ?>
<div class="form_field">
<select name="multipli">
<option value="singolo" selected>
<?php echo gdrcd_filter('out', $MESSAGE['interface']['messages']['multiple']['single']); ?>
</option>
<option value="multiplo">
<?php echo gdrcd_filter('out', $MESSAGE['interface']['messages']['multiple']['multiple']); ?>
</option>
<option value="presenti">
<?php echo gdrcd_filter('out', $MESSAGE['interface']['messages']['multiple']['online']); ?>
</option>
<?php if($_SESSION['permessi'] >= MODERATOR) { ?>
<option value="broadcast">
<?php echo gdrcd_filter('out', $MESSAGE['interface']['messages']['multiple']['all']); ?>
</option>
<?php } ?>
</select>
</div>
<?php
} //if
?>
<div class="form_info">
<?php echo gdrcd_filter('out', $MESSAGE['interface']['messages']['multiple']['info']); ?>
</div>
<!-- Testo -->
<div class='form_label'>
<?php echo gdrcd_filter('out', $MESSAGE['interface']['messages']['body']); ?>
</div>
<div class='form_field'>
<textarea type="textbox" name="testo"><?php
/** * Fix per evitare le parentesi quadre vuote quando si compone un nuovo messaggio
* @author Blancks
*/
if(isset($_POST['testo'])) {
echo "\n\n\n[".gdrcd_filter('out', trim($_POST['testo']))."]";
}
?></textarea>
</div>
<!-- Submit -->
<input type="hidden" name="op" value="send_message" />
<input type="hidden" name="reply_attach" value="<?php echo gdrcd_filter('get', $_POST['reply_attach']); ?>" />
<div class='form_submit'>
<input type="submit" value="<?php echo gdrcd_filter('out', $MESSAGE['interface']['forms']['submit']); ?>" />
</div>
</form>
</div>
<div class="link_back">
<a href="main.php?page=messages_center&offset=0"><?php echo gdrcd_filter('out', $MESSAGE['interface']['messages']['go_back']); ?></a>
</div>
In grassetto le modifiche.
Dovrebbe funzionare, ma fammi sapere.
Kasa.
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!
AlterEgo ↗
Enlisted ↗
Exclusive Villa GdR ↗
RAID Shadow Legends ↗
The Coven ↗