[RISOLTO][GDRCD 5.4.1] Tasti della chat
[RISOLTO][GDRCD 5.4.1] Tasti della chat postato il 06/02/2017 10:14:01 nel forum programmazione, open source e hosting e modificato da wind84 il 06/02/2017 21:13:10
Salve, ho inserito il blocco note nella chat di GDRCD (usando il tool scaricabile qui sul forum), ma l'inserimento del tastino per aprirlo ha fatto slittare sopra i due menù a tendina di azione e tag, mentre iniziano a seguire alla destra della barra di inserimento del testo!
Qualcuno sa come posso mandare a capo le informative (sarebbe: 'il parlato va tra < e >' ecc.) ed i tastini blocco note e salva chat?
Così dovrebbe tornare tutto a posto?
Pagine → 1 2
06/02/2017 10:50:56
Posso chiederti gentilmente ti postare quella parte di codice, così vediamo subito con che cosa abbiamo a che fare, esattamente?
Purtroppo il mio l'ho pesantemente modificato e basandomi su quello rischierei di darti indicazioni errate.
06/02/2017 13:34:08 e modificato da wind84 il 06/02/2017 16:36:43
maclay ha scritto: Posso chiederti gentilmente ti postare quella parte di codice, così vediamo subito con che cosa abbiamo a che fare, esattamente?
Purtroppo il mio l'ho pesantemente modificato e basandomi su quello rischierei di darti indicazioni errate.
Vi allego la mia intera pagina incriminata, frame_chat_inc.php.
<link rel="stylesheet" href="scroll/jquery.mCustomScrollbar.css" />
<script src="scroll/jquery.mCustomScrollbar.concat.min.js"></script>
<?php /* HELP: Frame della chat */
/* Tipi messaggio: (A azione, P parlato, N PNG, M Master, I Immagine, S sussurro, D dado, C skill check, O uso oggetto) */
/*Seleziono le info sulla chat corrente*/
$info = gdrcd_query("SELECT nome, stanza_apparente, invitati, privata, proprietario, scadenza FROM mappa WHERE id=".$_SESSION['luogo']." LIMIT 1");
?>
<div class="pagina_frame_chat">
<div class="page_title"><h2></h2></div>
<div class="page_body">
<?php
//e' una stanza privata?
if ($info['privata']==1) {
$allowance=FALSE;
if ( (($info['proprietario']==gdrcd_capital_letter($_SESSION['login'])) || (strpos($_SESSION['gilda'], $info['proprietario'])!=FALSE) || (strpos($info['invitati'], gdrcd_capital_letter($_SESSION['login']))!=FALSE) ||
(($PARAMETERS['mode']['spyprivaterooms']=='ON')&&($_SESSION['permessi']>MODERATOR))) && ($info['scadenza']>strftime('%Y-%m-%d %H:%M:%S')) ) {$allowance=TRUE;}
} else {$allowance=TRUE;}
//se e' privata e l'utente non ha titolo di leggerla
if ($allowance === FALSE) {
echo '<div class="warning">'.$MESSAGE['chat']['whisper']['privat'].'</div>';
//echo $info['invitati']; echo gdrcd_capital_letter($_SESSION['login']);
} else {
?>
<?php $_SESSION['last_message']=0; ?>
<div style="height: 1px; width: 1px;">
<iframe src ="pages/chat.inc.php?ref=30&chat=yes" class="iframe_chat" id="chat_frame" name="chat_frame" frameborder="0" allowtransparency="true">
</iframe>
</div>
<div id='pagina_chat' class="chat_box">
</div>
<div class="panels_box"><div class="form_chat">
<!-- Form messaggi -->
<div class="form_row">
<form action="pages/chat.inc.php?ref=10&chat=yes" method="post" target="chat_frame" id="chat_form_messages">
<div class="casella_chat">
<select name="type" id="type">
<option value="0"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][0]);//parlato ?></option>
<option value="1"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][1]);//azione ?></option>
<option value="4"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][4]);//sussurro ?></option>
<?php if($_SESSION['permessi']>=GAMEMASTER){ ?>
<option value="2"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][2]);//master ?></option>
<option value="3"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][3]);//png ?></option>
<?php } ?>
<?php if(($info['privata']==1)&&(($info['proprietario']==$_SESSION['login'])||((is_numeric($info['proprietario'])===TRUE)&&(strpos($_SESSION['gilda'], ''.$info['proprietario']))))){ ?>
<option value="5"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][5]);//invita ?></option>
<option value="6"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][6]);//caccia ?></option>
<option value="7"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][7]);//elenco ?></option>
<?php }//if ?>
</select>
<br/><span class="casella_info"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type']['info']);?></span>
</div>
<div class="casella_chat">
<input name="tag" id="tag" value="" />
<br/><span class="casella_info">
<?php echo gdrcd_filter('out',$MESSAGE['chat']['tag']['info']['tag'].$MESSAGE['chat']['tag']['info']['dst']);
if($_SESSION['permessi']>=GAMEMASTER){echo gdrcd_filter('out',$MESSAGE['chat']['tag']['info']['png']);} ?>
</span>
</div>
<div class="casella_chat">
<input name="message" id="message" value="" />
<span class="casella_info">
<?php echo gdrcd_filter('out',$MESSAGE['chat']['tag']['info']['msg']); ?>
</span>
<!--NotePad-->
(<a href="#" onClick="javascript:window.open('/pages/notepad.php','NotePad','width=500,height=500')">NOTES</a>)
<!--NotePad-->
<?php if($PARAMETERS['mode']['chatsave']=='ON'){ ?>
<span class="casella_info">
<a href="javascript:void(0);" onClick="window.open('chat_save.proc.php','Log','width=1,height=1,toolbar=no');">
[Salva Chat]
</a>
<a href="javascript:void(0);" onClick="window.open('popup.php?page=chat_descr','Log','width=500,height=600,toolbar=no');">
[Descrizione Luogo]
</a>
</span>
<?php } ?>
</div>
<div class="casella_chat">
<input type="submit" value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['forms']['submit']); ?>" />
<input type="hidden" name="op" value="new_chat_message" />
</div>
</form>
</div>
<!-- Form messaggi -->
<?php if(($PARAMETERS['mode']['skillsystem']=='ON')||($PARAMETERS['mode']['dices']=='ON')){ ?>
<div class="form_row">
<form action="pages/chat.inc.php?ref=30&chat=yes" method="post" target="chat_frame" id="chat_form_actions">
<?php if($PARAMETERS['mode']['skillsystem']=='ON'){ ?>
<div class="casella_chat">
<?php $result = gdrcd_query("SELECT id_abilita, nome FROM abilita WHERE id_razza=-1 OR id_razza IN (SELECT id_razza FROM personaggio WHERE nome = '".$_SESSION['login']."') ORDER BY nome", 'result'); ?>
<select name="id_ab" id="id_ab">
<option value="no_skill"></option>
<?php while($row = gdrcd_query($result, 'fetch'))
{ ?>
<option value="<?php echo $row['id_abilita']; ?>">
<?php echo gdrcd_filter('out',$row['nome']); ?>
</option>
<?php }//while
gdrcd_query($result, 'free');
?>
</select>
<br/><span class="casella_info"><?php echo gdrcd_filter('out',$MESSAGE['chat']['commands']['skills']);?></span>
</div>
<div class="casella_chat">
<select name="id_stats" id="id_stats">
<option value="no_stats"></option>
<?php
/** * Questo modulo aggiunge la possibilità di eseguire prove col dado e caratteristica.
* Pertanto sono qui elencate tutte le caratteristiche del pg.
* @author Blancks
*/
foreach ($PARAMETERS['names']['stats'] as $id_stats => $name_stats)
{
if (is_numeric(substr($id_stats, 3)))
{
?>
<option value="stats_<?php echo substr($id_stats, 3); ?>"><?php echo $name_stats; ?></option>
<?php
}
}
?>
</select>
<br/><span class="casella_info"><?php echo gdrcd_filter('out',$MESSAGE['chat']['commands']['stats']);?></span>
</div>
<?php } else { echo '<input type="hidden" name="id_ab" id="id_ab" value="no_skill">';}?>
<?php if($PARAMETERS['mode']['dices']=='ON'){ ?>
<div class="casella_chat">
<select name="dice" id="dice">
<option value="no_dice"></option>
<?php
/** * Tipi di dado personalizzati da config
* @author Blancks
*/
foreach ($PARAMETERS['settings']['skills_dices'] as $dice_name => $dice_value)
{
?>
<option value="<?php echo $dice_value; ?>"><?php echo $dice_name; ?></option>
<?php
}
?>
</select>
<br/><span class="casella_info"><?php echo gdrcd_filter('out',$MESSAGE['chat']['commands']['dice']);?></span>
</div>
<?php } else { echo '<input type="hidden" name="dice" id="dice" value="no_dice">';}?>
<?php if($PARAMETERS['mode']['skillsystem']=='ON'){ ?>
<div class="casella_chat">
<?php
$result = gdrcd_query("SELECT clgpersonaggiooggetto.id_oggetto, oggetto.nome, clgpersonaggiooggetto.cariche FROM clgpersonaggiooggetto JOIN oggetto ON clgpersonaggiooggetto.id_oggetto = oggetto.id_oggetto WHERE clgpersonaggiooggetto.nome = '".$_SESSION['login']."' AND posizione > 0 ORDER BY oggetto.nome", 'result'); ?>
<select name="id_item" id="id_item">
<option value="no_item"></option>
<?php while($row=gdrcd_query($result, 'fetch')){ ?>
<option value="<?php echo $row['id_oggetto'].'-'.$row['cariche'].'-'.gdrcd_filter('out',$row['nome']); ?>">
<?php echo $row['nome']; ?>
</option>
<?php }//while
gdrcd_query($result, 'free');
?>
</select>
<br/><span class="casella_info"><?php echo gdrcd_filter('out',$MESSAGE['chat']['commands']['item']);?></span>
</div>
<?php } else { echo '<input type="hidden" name="id_item" id="id_item" value="no_item">';} ?>
<div class="casella_chat">
<input type="submit" value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['forms']['submit']); ?>" />
<input type="hidden" name="op" value="take_action">
</div>
</form>
</div>
<?php } ?>
</div></div>
<?php }//else?>
</div><!-- Page-Body -->
</div><!-- Pagina -->
L'ultima modifica - ossia l'inserimento del notepad - che ha creato il problema, è alla mia riga 81..
e lo riporto qui così che sia più facile per voi individuarlo all'interno della pagina completa:
<!--NotePad-->
(<a href="#" onClick="javascript:window.open('/pages/notepad.php','NotePad','width=500,height=500')">NOTES</a>)
<!--NotePad-->
Grazie mille!! ç__ç
06/02/2017 16:36:07 e modificato da maclay il 06/02/2017 16:36:55
Uhm, ti faccio fare prima una prova veloce, così vediamo se cambia qualcosa e come cambia.
Sposta questo pezzo:
<!--NotePad-->
(<a href="#" onClick="javascript:window.open('/pages/notepad.php','NotePad','width=500,height=500')">NOTES</a>)
<!--NotePad-->
In modo che stia subito sotto a quest'altro:
<a href="javascript:void(0);" onClick="window.open('chat_save.proc.php','Log','width=1,height=1,toolbar=no');">
[Salva Chat]
</a>
In questo modo, lo posizioni tra Salva Chat e Descrizione luogo all'interno dello <span> che li comprende entrambi.
Vediamo se riusciamo a smuovere un po' le cose.
06/02/2017 16:42:46
maclay ha scritto: Uhm, ti faccio fare prima una prova veloce, così vediamo se cambia qualcosa e come cambia.
Sposta questo pezzo:
<!--NotePad-->
(<a href="#" onClick="javascript:window.open('/pages/notepad.php','NotePad','width=500,height=500')">NOTES</a>)
<!--NotePad-->
In modo che stia subito sotto a quest'altro:
<a href="javascript:void(0);" onClick="window.open('chat_save.proc.php','Log','width=1,height=1,toolbar=no');">
[Salva Chat]
</a>
In questo modo, lo posizioni tra Salva Chat e Descrizione luogo all'interno dello <span> che li comprende entrambi.
Vediamo se riusciamo a smuovere un po' le cose.
Dunque, il problema non si è risolto però la logica ha funzionato!
Adesso il notepad sta tra il salva chat e la descrizione del luogo.
06/02/2017 17:12:09 e modificato da maclay il 06/02/2017 17:13:02
Non preoccuparti, avevo già previsto che il problema sarebbe rimasto! Purtroppo il frame_chat è molto "compresso", nel senso che già di suo ci son dentro un sacco di cose e quando vuoi aggiungerne altre devi fare gli incastri come a Tetris.
Posso chiederti uno screenshot di quella parte della pagina? Perchè dobbiamo toccare il CSS - per questo ti ho fatto spostare il blocnotes dentro lo span, così è più facile giostrare il tutto - ma se non vedo esattamente dov'è il problema, diventa difficile.
06/02/2017 18:09:30
Ok, ho visto l'immagine!
Adesso il problema è moooolto più chiaro.
Proviamo una cosa veloce e, se funziona, poi ti spiego come modificare anche il css.
Modifica il primo div "casella_chat", (che trovi alla riga 55 del tuo codice"), in questo modo:
<div class="casella_chat" style="clear: both;">
Fai la stessa cosa con il terzo div "casella_chat", che trovi alla riga 81 del codice.
In alternativa, prova a lasciare il primo div "casella_chat" così com'è e modificare solo quello alla riga 81 in questo modo:
<div class="casella_chat" style"float: left;">
06/02/2017 18:39:16
maclay ha scritto: Ok, ho visto l'immagine!
Adesso il problema è moooolto più chiaro.
Proviamo una cosa veloce e, se funziona, poi ti spiego come modificare anche il css.
Modifica il primo div "casella_chat", (che trovi alla riga 55 del tuo codice"), in questo modo:
<div class="casella_chat" style="clear: both;">
Fai la stessa cosa con il terzo div "casella_chat", che trovi alla riga 81 del codice.
In alternativa, prova a lasciare il primo div "casella_chat" così com'è e modificare solo quello alla riga 81 in questo modo:
<div class="casella_chat" style"float: left;">
Ho provato entrambe le soluzioni, ma apparentemente non è cambiato nulla in ambedue i casi ç__ç
06/02/2017 18:47:08 e modificato da maclay il 06/02/2017 18:51:12
Ok, alternativa dell'alternativa.
Visto che il problema si è presentato quando hai inserito il link al blocknotes, cioè quando hai aggiunto la scritta "(NOTES)", si tratta ovviamente di una questione di spazio.
Proviamo così, quindi.
Alla riga 82, dovresti avere questo:
<input name="message" id="message" value="" />
Prova a modificarlo così:
<input name="message" id="message" value="" style="width: 250px;" />
Vedrai che la barra per l'inserimento del messaggio si ridurrà, probabilmente di molto.
Se così facendo tutto il resto torna a posto, gioca con quei 250px finchè trovi la dimensione giusta, (la cosa migliore da fare sarebbe usare delle percentuali, in modo che la barra si adatti al meglio alle diverse risoluzioni, ma nel tuo caso diventerebbe un po' problematico).
In alternativa ancora, potresti pensare di spostare qualche cosa.
Per esempio, la descrizione del luogo potresti spostarla in alto, a fianco del nome della chat.
06/02/2017 19:02:34
maclay ha scritto: Ok, alternativa dell'alternativa.
Visto che il problema si è presentato quando hai inserito il link al blocknotes, cioè quando hai aggiunto la scritta "(NOTES)", si tratta ovviamente di una questione di spazio.
Proviamo così, quindi.
Alla riga 82, dovresti avere questo:
<input name="message" id="message" value="" />
Prova a modificarlo così:
<input name="message" id="message" value="" style="width: 250px;" />
Vedrai che la barra per l'inserimento del messaggio si ridurrà, probabilmente di molto.
Se così facendo tutto il resto torna a posto, gioca con quei 250px finchè trovi la dimensione giusta, (la cosa migliore da fare sarebbe usare delle percentuali, in modo che la barra si adatti al meglio alle diverse risoluzioni, ma nel tuo caso diventerebbe un po' problematico).
In alternativa ancora, potresti pensare di spostare qualche cosa.
Per esempio, la descrizione del luogo potresti spostarla in alto, a fianco del nome della chat.
Dunque, ora a capo c'è solo il tasto Invia, però la finestra di inserimento testo è già piccolissima, e ancora i tue tag a tendina stanno sulla chat! ç__ç
Non c'è un modo per mandare A CAPO tutto quello che viene dopo la finestra di inserimento del testo??
Quello, lo farebbe tornare ordinato ç_ç
Se no, in alternativa, pensi di potermi spiegare come spostare le info della chat?
Ma anche facendo così, non capisco perché tutta la roba a partire dalle istruzioni chat, con i tre tastini salva, notepad e info, non vanno a capo... prima di inserire il notepad ci andavano ç_ç
06/02/2017 19:11:11
Purtroppo, come ti dicevo, io il mio frame_chat l'ho modificato pesantemente e non ho più i testi esplicativi come li hai tu, quindi mi riesce molto difficile basarmi sul mio file per aiutarti.
Per quanto riguarda lo spostamento delle info, è molto semplice.
Sempre in frame_chat, vedo che tu hai tolto il nome delle chat, ma poco male.
Per inserire lì le info della chat, basta semplicemente che sposti questo, (alla linea 95):
<a href="javascript:void(0);" onClick="window.open('popup.php?page=chat_descr','Log','width=500,height=600,toolbar=no');">[Descrizione Luogo]</a>
E lo inserisci qui, alla riga 15 del tuo codice:
<div class="page_title"><a href="javascript:void(0);" onClick="window.open('popup.php?page=chat_descr','Log','width=500,height=600,toolbar=no');">[Descrizione Luogo]</a>
</div>[/code]
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Sea of Conquest ↗
Project Entropy ↗
Neverness to Everness ↗
CRSED: F.O.A.D. ↗
War Thunder ↗
State of Survival ↗
Tiles Survive ↗
Raja Dunia ↗