ajax chat

Discuţii legate de instalarea şi funcţionarea unor MODificări vechi sau noi ale forumului phpBB 3.0.x.
Reguli forum
Aveti o problema si vreti sa primiti ajutor? Click aici ! Nu uitati si de regulamentul forumului !
Închis
yOz
Utilizator înregistrat
Mesaje: 129
Membru din: 24-Noi-2009, 19:17:27
Versiune: 3.0.7
Ext: Da
Server: Windows
Nivel phpBB: Puţin experimentat
Localitate: California, U.S :X
Contact:

ajax chat

Mesaj de yOz »

salut. cum pot face un ajax chat dar pe tipul de tema hestia? nu folosesc prosilver sau subsilver2 ci folosesc hestia si difera putin fisierele, are cineva vreun chat gen ajax chat dar care sa functioneze pe tema hestia? folosesc phpbb 3.0.6
Avatar utilizator
Gotyc
Utilizator înregistrat
Mesaje: 518
Membru din: 20-Iun-2009, 02:10:00
Versiune: 3.1.x
Ext: Da
Server: UNIX/Linux
Nivel phpBB: Mediu
Nivel php: Mediu
Localitate: iasi
Contact:

Re: ajax chat

Mesaj de Gotyc »

Pentru hestia :

Cod: Selectaţi tot

<!-- IF S_GET_CHAT -->
       <!-- IF S_READ or S_ADD -->
          <!-- BEGIN chatrow -->
             <div id="p{chatrow.MESSAGE_ID}">
                <table cellspacing="0" width="100%">
                   <tr>
                      <td class="row1">
                         <!-- IF U_ACP or U_MCP --><a href="javascript:void({chatrow.MESSAGE_ID})" title="{L_DELETE_POST}" onclick="delete_post('{chatrow.MESSAGE_ID}')"><img src="{T_IMAGESET_LANG_PATH}/icon_post_delete.gif" /></a> <!-- ENDIF -->
                          <b class="postauthor">{chatrow.USERNAME_FULL}</b> « {chatrow.TIME} » &nbsp; <span class="postbody">{chatrow.MESSAGE}</span>
                      </td>
                   </tr>
                   
                </table>
             </div>
          <!-- END chatrow -->---{LAST_ID}
       <!-- IF S_WHOISONLINE -->---
             <!-- BEGIN whoisrow -->
                <div><img src="{T_IMAGESET_PATH}/{whoisrow.USER_STATUS}.png" class="online_img" /> {whoisrow.USERNAME_FULL}</div>
             <!-- END whoisrow -->---{LAST_TIME}---{DELAY}---{LAST_POST}
          <!-- ENDIF -->
       <!-- ENDIF -->
    <!-- ELSE -->
       <!-- IF S_CHAT -->
          <!-- INCLUDE overall_header.html -->
       <!-- ENDIF -->
       <script type="text/javascript">
       <!--
       var fieldname = 'chat';
       var last_time = 0;
       var xmlHttp = http_object();
       var last_id = {LAST_ID};
       var type = 'receive';
       var post_time = {TIME};
       var read_interval = 15000;
       var interval = setInterval('handle_send("read", last_id);', read_interval);

       function handle_send(mode, f)
       {
          if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
          {
             indicator_switch('on');
             type = 'receive';
             param = 'mode=' + mode;   
             param += '&last_id=' + last_id;
             param += '&last_time=' + last_time;         
             param += '&last_post=' + post_time;         
             param += '&read_interval=' + read_interval;         
       
             if (mode == 'add' && document.text.message.value != '')
             {
                type = 'send';
                for(var i = 0; i < f.elements.length; i++)
                {
                   elem = f.elements[i];
                   param += '&' + elem.name + '=' + encodeURIComponent(elem.value);
                }
                document.text.message.value = '';
             }
             else if (mode == 'delete')
             {
                type = 'delete';
                param += '&chat_id=' + f;
             }
             xmlHttp.open("POST", '{FILENAME}', true);
             xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
             xmlHttp.onreadystatechange = handle_return;
             xmlHttp.send(param);
          }
       }
       
       function handle_return()
       {
          if (xmlHttp.readyState == 4)
          {
             if (type != 'delete')
             {
                results = xmlHttp.responseText.split('---');
                if (results[1])
                {
                   if (last_id == 0)
                   {
                      document.getElementById(fieldname).innerHTML = results[0];
                   }
                   else
                   {
                      document.getElementById(fieldname).innerHTML = results[0] + document.getElementById(fieldname).innerHTML;
                   }
                   last_id = results[1];
                   if (results[2])
                   {
                      document.getElementById('whois_online').innerHTML = results[2];
                      last_time = results[3];
                      if (results[4] != read_interval * 1000)
                      {
                         window.clearInterval(interval);
                         read_interval = results[4] * 1000;
                         interval = setInterval('handle_send("read", last_id);', read_interval);
                         document.getElementById('update_seconds').innerHTML = results[4];
                      }
                      post_time = results[5];
                   }
                }
             }
             indicator_switch('off');
          }
       }
       
       function delete_post(chatid)
       {
          document.getElementById('p' + chatid).style.display = 'none';
          handle_send('delete', chatid);
       }
       
       function indicator_switch(mode)
       {
          if(document.getElementById("act_indicator"))
          {
             var img = document.getElementById("act_indicator");   
             if(img.style.visibility == "hidden" && mode == 'on')
             {
                img.style.visibility = "visible";
             }
             else if (mode == 'off')
             {
                img.style.visibility = "hidden"
             }   
          }
       }
       
       function http_object()
       {
          if (window.XMLHttpRequest)
          {
             return new XMLHttpRequest();
          }
          else if(window.ActiveXObject)
          {
             return new ActiveXObject("Microsoft.XMLHTTP");
          }
          else
          {
             document.getElementById('p_status').innerHTML = 'Status: Cound not create XmlHttpRequest Object.  Consider upgrading your browser.';
          }
       }
       -->
       </script>
       <style type="text/css">
       <!--
          .shouts {
             width: 100%;
             height:300px;
             overflow:auto;
          }
          #chat {
             width: 100%;
             text-align:left;
          }
          #message {
             width: 65%;
          }
          #whois_online{
             vertical-align:text-top;
             text-align:left;
          }
          .online_img {
             vertical-align:middle;
          }   
          #act_indicator {
             visibility:hidden;
          }
       -->
       </style>
       <div class="box">
           {$CA_BLOCK_START}
          {$CA_CAP2_START}
              {SITENAME} {L_CHAT}
          {$CA_CAP2_END}
          <table class="tablebg" cellspacing="{$CA_SPACING}" width="100%">
             <!-- IF S_USER_LOGGED_IN -->
                <tr>
                   <td align="center" class="cat nav" width="85%">
                      <form name="text" id="text" method="post" action="javascript:void(0);" onsubmit="handle_send('add', this)" autocomplete="off">{L_MESSAGE}:
                         <input type="text" tabindex="1" name="message" id="message" class="post" size="28" />
                         <input class="btnmain" type="submit" name="submit" value="{L_SUBMIT}" />
                      </form>
                   </td>
                   <td align="center" class="cat nav" width="15%">{L_ONLINE_LIST}</td>
             <!-- ENDIF -->
             <tr>
                <td class="row3" style="text-align:left;" height="220">
                   <div class="shouts">
                      <div id="chat">
                         <!-- BEGIN chatrow -->
                            <div id="p{chatrow.MESSAGE_ID}">
                               <table cellspacing="0" width="100%">
                                  <tr>
                                     <td class="row1">
                                        <!-- IF U_ACP or U_MCP -->
                                           <a href="javascript:void({chatrow.MESSAGE_ID})" title="{L_DELETE_POST}" onclick="delete_post('{chatrow.MESSAGE_ID}')">
                                              <img src="{T_IMAGESET_LANG_PATH}/icon_post_delete.gif" />
                                           </a>
                                        <!-- ENDIF -->
                                        <b class="postauthor">{chatrow.USERNAME_FULL}</b> « {chatrow.TIME} » &nbsp; <span class="postbody">{chatrow.MESSAGE}</span>
                                     </td>
                                  </tr>
                                 
                               </table>
                            </div>
                         <!-- END chatrow -->
                      </div>
                   </div>
                </td>
                <td class="row1" nowrap="nowrap">
                   <div class="shouts">
                      <div id="whois_online">
                         <!-- BEGIN whoisrow -->
                            <div><img src="{T_IMAGESET_PATH}/{whoisrow.USER_STATUS}.png" class="online_img" /> {whoisrow.USERNAME_FULL}</div>
                         <!-- END whoisrow -->
                      </div>
                   </div>
                </td>
             </tr>
             <tr>
                <td class="cat" colspan="2" align="center">
                   {L_DETAILS}
                   <img src="{T_IMAGESET_PATH}/act_indicator.gif" id="act_indicator" />
                   <strong>• {L_UPDATES} <span id="update_seconds">{DELAY}</span> {L_UNIT}</strong>
                </td>
             </tr>
          </table>
           {$CA_BLOCK_END}
       </div>
       <br clear="all" />
       <!-- IF S_CHAT -->
          <!-- INCLUDE overall_footer.html -->
       <!-- ENDIF -->
    <!-- ENDIF -->
yOz
Utilizator înregistrat
Mesaje: 129
Membru din: 24-Noi-2009, 19:17:27
Versiune: 3.0.7
Ext: Da
Server: Windows
Nivel phpBB: Puţin experimentat
Localitate: California, U.S :X
Contact:

Re: ajax chat

Mesaj de yOz »

mersi
Închis

Înapoi la “3.0.x Suport pentru MODificări”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 7 vizitatori