Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.43 KB | None | 0 0
  1.  
  2. <?php /* HELP: Frame della chat */
  3. /* Tipi messaggio: (A azione, P parlato, N PNG, M Master, I Immagine, S sussurro, D dado, C skill check, O uso oggetto) */
  4.  
  5.  
  6. /*Seleziono le info sulla chat corrente*/
  7. $info = gdrcd_query("SELECT nome, stanza_apparente, invitati, privata, proprietario, scadenza FROM mappa WHERE id=".$_SESSION['luogo']." LIMIT 1");
  8.  
  9. ?>
  10.  
  11. <div class="pagina">
  12. <div class="page_body">
  13.  
  14. <?php
  15. //e' una stanza privata?
  16. if ($info['privata']==1) {
  17. $allowance=FALSE;
  18.  
  19. if ( (($info['proprietario']==gdrcd_capital_letter($_SESSION['login'])) || (strpos($_SESSION['gilda'], $info['proprietario'])!=FALSE) || (strpos($info['invitati'], gdrcd_capital_letter($_SESSION['login']))!=FALSE) ||
  20. (($PARAMETERS['mode']['spyprivaterooms']=='ON')&&($_SESSION['permessi']>MODERATOR))) && ($info['scadenza']>strftime('%Y-%m-%d %H:%M:%S')) ) {$allowance=TRUE;}
  21.  
  22.  
  23. } else {$allowance=TRUE;}
  24. //se e' privata e l'utente non ha titolo di leggerla
  25. if ($allowance === FALSE) {
  26. echo '<div class="warning">'.$MESSAGE['chat']['whisper']['privat'].'</div>';
  27.  
  28. //echo $info['invitati']; echo gdrcd_capital_letter($_SESSION['login']);
  29. } else {
  30.  
  31. ?>
  32.  
  33. <?php $_SESSION['last_message']=0; ?>
  34. <div style="height: 1; width: 1;">
  35. <iframe src ="pages/chat.inc.php?ref=30&chat=yes" class="iframe_chat" id="chat_frame" name="chat_frame" frameborder="0" allowtransparency="true">
  36. </iframe>
  37. </div>
  38.  
  39.  
  40. <div id='pagina_chat' class="chat_box">
  41.  
  42. </div>
  43.  
  44. <div class="chat_panels_box"><div class="form_chat">
  45.  
  46. <!-- Form messaggi -->
  47. <div class="form_row">
  48. <form action="pages/chat.inc.php?ref=10&chat=yes" method="post" target="chat_frame" id="chat_form_messages">
  49.  
  50. <div class="casella_chat">
  51. <select name="type" id="type">
  52. <option value="0"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][0]);//parlato ?></option>
  53. <option value="1"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][1]);//azione ?></option>
  54. <option value="4"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][4]);//sussurro ?></option>
  55. <?php if($_SESSION['permessi']>=GAMEMASTER){ ?>
  56. <option value="2"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][2]);//master ?></option>
  57. <option value="3"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][3]);//png ?></option>
  58. <?php } ?>
  59. <?php if(($info['privata']==1)&&(($info['proprietario']==$_SESSION['login'])||((is_numeric($info['proprietario'])===TRUE)&&(strpos($_SESSION['gilda'], ''.$info['proprietario']))))){ ?>
  60. <option value="5"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][5]);//invita ?></option>
  61. <option value="6"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][6]);//caccia ?></option>
  62. <option value="7"><?php echo gdrcd_filter('out',$MESSAGE['chat']['type'][7]);//elenco ?></option>
  63. <?php }//if ?>
  64. </select>
  65. </div>
  66.  
  67. <div class="casella_chat">
  68. <input name="tag" id="tag" value="" placeholder="tag/destinatario"/>
  69. <span id="charNum" style="font-family: roboto mono; color: #825a5a; font-size:10px; text-transform: uppercase;">0 Caratteri</span>
  70. </div>
  71.  
  72. <div class="casella_icone_chat">
  73.  
  74. <a href="javascript:void(0);" onClick="window.open('chat_save.proc.php','Log','width=1,height=1,toolbar=no');">
  75. <img src="/imgs/icons/salva.png" alt="Salva Chat" title="Salva Chat">
  76. </a> &nbsp;&nbsp;
  77.  
  78. <a href="javascript:parent.modalWindow('infochat', 'infochat', 'pages/infochat.html', '300', '500');">
  79. <img src="/imgs/icons/info.png" alt="Info Chat" title="Info Chat">
  80. </a> &nbsp;&nbsp;
  81.  
  82. <a href="javascript:parent.modalWindow('Notepad', 'Notepad', 'pages/notepad.inc.php', '500', '400');">
  83. <img src="/imgs/icons/notepad.gif" alt="Notepad" title="Notepad">
  84. </a> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
  85.  
  86. <input type="image" name="submit" id="inviachat" src="/imgs/icons/reply.png" alt="Invia" value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['forms']['submit']); ?>" />
  87. <input type="hidden" name="op" value="new_chat_message" />
  88.  
  89. </div>
  90. <br>
  91.  
  92. <textarea name="message" class="azione" id="message" value="" placeholder="messaggio/azione" onKeyUp="countChar(this)" /></textarea>
  93. <?php if($PARAMETERS['mode']['chatsave']=='ON'){ ?>
  94. <?php } ?>
  95.  
  96.  
  97. </form>
  98. </div>
  99.  
  100. <!-- Form skill e dadi-->
  101. <?php if(($PARAMETERS['mode']['skillsystem']=='ON')||($PARAMETERS['mode']['dices']=='ON')){ ?>
  102.  
  103. <div class="skill_row">
  104. <form action="pages/chat.inc.php?ref=30&chat=yes" method="post" target="chat_frame" id="chat_form_actions">
  105. <center>
  106. <?php if($PARAMETERS['mode']['skillsystem']=='ON'){ ?>
  107.  
  108. <?php
  109. # Query che prende le abilita singole senza/con talenti.
  110. $sql = "SELECT abilita.id_abilita AS idAbilita, abilita.nome AS nomeAbilita, talenti.id AS idTalento, clgpersonaggiotalenti.nome, talenti.nome AS nomeTalento FROM abilita";
  111. $sql .= " LEFT JOIN talenti";
  112. $sql .= " ON abilita.id_abilita = talenti.id_abilita_associata";
  113. $sql .= " LEFT JOIN clgpersonaggiotalenti";
  114. $sql .= " ON clgpersonaggiotalenti.id_talento = talenti.id AND clgpersonaggiotalenti.nome = '". $_SESSION['login'] ."' ";
  115. $sql .= " WHERE id_razza=-1 OR id_razza IN (SELECT id_razza FROM personaggio WHERE nome = '". $_SESSION['login'] ."')";
  116. $sql .= " AND ( ";
  117. $sql .= " talenti.id IS NOT NULL AND clgpersonaggiotalenti.nome IS NOT NULL AND talenti.nome IS NOT NULL";
  118. $sql .= " OR";
  119. $sql .= " talenti.id IS NULL AND clgpersonaggiotalenti.nome IS NULL && talenti.nome IS NULL";
  120. $sql .= " )";
  121. $sql .= " ORDER BY abilita.nome";
  122.  
  123. $result = gdrcd_query($sql, 'result');
  124.  
  125. $abilitaConTalenti = [];
  126.  
  127. # Genero l'array con le abilità e con i relativi talenti (se presenti)
  128. while ($row = gdrcd_query($result, 'object')):
  129. $abilitaConTalenti[$row->nomeAbilita][] = array(
  130. 'nomeAbilita' => gdrcd_filter('out', $row->nomeAbilita),
  131. 'idAbilita' => gdrcd_filter('num', $row->idAbilita),
  132. 'talenti' => (is_null($row->nomeTalento) && is_null($row->idTalento)) ? false : array(
  133. 'nomeTalento' => gdrcd_filter('out', $row->nomeTalento),
  134. 'idTalento' => gdrcd_filter('num', $row->idTalento)
  135. ),
  136. );
  137. endwhile;
  138.  
  139. # genero la select che stampa l'abilità ed eventuali talenti.
  140. # Se si seleziona un talento, viene passato sia il nome del talento che l'id dell'abilita
  141. echo '<select name="id_ab" id="id_ab">';
  142. foreach ($abilitaConTalenti as $nomeAbilita => $AbilitaTalenti):
  143. if(!is_array($AbilitaTalenti[0]['talenti'])){
  144. echo '<option value="'. $AbilitaTalenti[0]['idAbilita'] .'">'. $nomeAbilita .'</option>';
  145. }else{
  146. echo '<option value="'. $AbilitaTalenti[0]['idAbilita'] .'">'. $nomeAbilita .'</option>';
  147. foreach ($AbilitaTalenti as $k => $v):
  148. echo '<option value="'. $AbilitaTalenti[0]['idAbilita'] . "@" . $AbilitaTalenti[$k]['talenti']['nomeTalento'] .'"> -- '. $AbilitaTalenti[$k]['talenti']['nomeTalento'] .'</option>';
  149. endforeach;
  150. }
  151. endforeach;
  152. echo '</select>';
  153.  
  154. gdrcd_query($result, 'free');
  155. ?>
  156.  
  157.  
  158. <?php } else { echo '<input type="hidden" name="id_ab" id="id_ab" value="no_skill">';}?>
  159.  
  160. <?php if($PARAMETERS['mode']['dices']=='ON'){ ?>
  161.  
  162. <br>
  163. <select name="dice" id="dice">
  164. <option value="no_dice">Dadi</option>
  165. <?php
  166. /** * Tipi di dado personalizzati da config
  167. * @author Blancks
  168. */
  169.  
  170. foreach ($PARAMETERS['settings']['skills_dices'] as $dice_name => $dice_value)
  171. {
  172. ?>
  173. <option value="<?php echo $dice_value; ?>"><?php echo $dice_name; ?></option>
  174. <?php
  175. }
  176. ?>
  177. </select>
  178.  
  179.  
  180. <?php } else { echo '<input type="hidden" name="dice" id="dice" value="no_dice">';}?>
  181.  
  182.  
  183.  
  184. <br>
  185. <input type="image" id="inviachat" src="/imgs/icons/tira.gif" value="<?php echo gdrcd_filter('out',$MESSAGE['interface']['forms']['submit']); ?>" />
  186. <input type="hidden" name="op" value="take_action">
  187.  
  188. </center>
  189. </form>
  190. </div>
  191.  
  192. <?php } ?>
  193. </div>
  194. </div>
  195. <?php }//else?>
  196.  
  197.  
  198.  
  199.  
  200. </div><!-- Page-Body -->
  201.  
  202. </div><!-- Pagina -->
  203.  
  204. <div style="height:0;">
  205. <audio id="sound_player_chat">
  206. <source src="/sounds/azione.mp3" type="audio/mp3">
  207. </audio>
  208. </div>
  209.  
  210. <script type="text/javascript">
  211. function countChar(val) {
  212. var len = val.value.length;
  213. if (len == null) {
  214. $('#charNum').text("0 Caratteri");} else {
  215. $('#charNum').text(len+" Caratteri");
  216. }};
  217. </script>
  218.  
  219. <script type="text/javascript">
  220. $("#message").keypress(function (e) {
  221. if(e.which == 13 && !e.shiftKey) {
  222. $(this).closest("form").submit();
  223. e.preventDefault();
  224. return false;
  225. }
  226. });
  227. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement