Ignore:
Timestamp:
07/29/10 16:45:09 (22 months ago)
Author:
WanWizard
Message:

implemented new ajax code to fetch the number of unread pm's and forum posts
updated the header templates of all themes to use the new code

File:
1 edited

Legend:

Unmodified
Added
Removed
  • themes/public/Hobugt/php-files/themes/Hobugt/templates/templates/_header.tpl

    r2098 r2362  
    3131    <meta name="verify-v1" content="Ek6JHBkP+IbfHNOB0DaMHmxpC9eAljv3JCcWmUpcF+U=" /> 
    3232    {if $headparms|default:false != false}{$headparms}{/if} 
    33     <link href="{$smarty.const.THEME}exitecms__0001.css" rel="stylesheet" type="text/css" /> 
     33    <link href="{$smarty.const.THEME}exitecms__0001.css?version=1" rel="stylesheet" type="text/css" /> 
    3434    {literal} 
    3535    <style type="text/css"> 
     
    3838    {/literal} 
    3939    {if $favicon|default:false != false}<link rel='shortcut icon' href='{$favicon}' />{/if} 
    40     <script type='text/javascript' src='{$smarty.const.INCLUDES}jscripts/core_functions__0001.js'></script> 
     40    <script type='text/javascript' src='{$smarty.const.INCLUDES}jscripts/core_functions__0001.js?version=1'></script> 
    4141    {if $smarty.const.LOAD_TINYMCE} 
    4242        {include file="_load_tinymce.tpl"} 
     
    9191    document.body.style.fontSize = fontGrootte + 'em'; 
    9292    createCookie('pliFontSize',fontGrootte,365); 
    93 }        
     93} 
    9494 
    9595function fontReset(aantal) { 
     
    9797    document.body.style.fontSize = fontGrootte + 'em'; 
    9898    createCookie('pliFontSize',fontGrootte,365); 
    99 }        
     99} 
    100100 
    101101fontReset(fontGrootte); 
    102  
    103 function checkMessages() { 
    104     // check for new forum messages 
    105     var newmsg = AjaxCall("{/literal}{$smarty.const.BASEDIR}{literal}includes/ajax.response.php?request=posts"); 
    106     if (newmsg != null && document.getElementById("new_posts_header")) { 
    107         if (newmsg > 0) { 
    108             document.getElementById("new_posts_header").innerHTML = "<a href='{/literal}{$smarty.const.BASEDIR}{literal}modules/forum_threads_list_panel/new_posts.php'><img src='{/literal}{$smarty.const.THEME}{literal}images/newposts.gif' height='9' alt='{/literal}{$locale.028}{literal}' /></a>&nbsp;"; 
    109         } else { 
    110             document.getElementById("new_posts_header").innerHTML = ""; 
    111         } 
    112     } 
    113     if (newmsg != null && document.getElementById("new_posts_panel")) { 
    114         if (newmsg > 0) { 
    115             document.getElementById("new_posts_panel_value").innerHTML = AjaxCall("{/literal}{$smarty.const.BASEDIR}{literal}includes/ajax.response.php?request=posts&parms=text"); 
    116             document.getElementById("new_posts_panel").style.display = 'inline'; 
    117         } else { 
    118             document.getElementById("new_posts_panel").style.display = 'none'; 
    119         } 
    120     } 
    121     // check for new pm messages 
    122     var newpm = AjaxCall("{/literal}{$smarty.const.BASEDIR}{literal}includes/ajax.response.php?request=pm"); 
    123     if (newpm != null && document.getElementById("new_pm_header")) { 
    124         if (newpm > 0) { 
    125             document.getElementById("new_pm_header").innerHTML = "<a href='{/literal}{$smarty.const.BASEDIR}{literal}pm.php?action=show_new'><img src='{/literal}{$smarty.const.THEME}{literal}images/newmsgs.gif' height='9' alt='' /></a>&nbsp;"; 
    126         } else { 
    127             document.getElementById("new_pm_header").innerHTML = ""; 
    128         } 
    129     } 
    130     if (newpm != null && document.getElementById("new_pm_panel")) { 
    131         if (newpm > 0) { 
    132             document.getElementById("new_pm_panel_value").innerHTML = AjaxCall("{/literal}{$smarty.const.BASEDIR}{literal}includes/ajax.response.php?request=pm&parms=text"); 
    133             document.getElementById("new_pm_panel").style.display = 'inline'; 
    134         } else { 
    135             document.getElementById("new_pm_panel").style.display = 'none'; 
    136         } 
    137     } 
    138     // restart the timer for the next check, in 5 minutes 
    139     msgtimerid = setTimeout("checkMessages()", 300000); 
    140 } 
    141102{/literal} 
    142103{if iMEMBER} 
    143 // start the timer for the first check, in 5 minutes 
    144 msgtimerid = setTimeout("checkMessages()", 300000); 
     104{literal} 
     105// 
     106// PM and forum post counter checks 
     107// 
     108function checkMessages() { 
     109    // check for new pm messages 
     110    var asyncajax = asyncajaxcall(); 
     111    if (asyncajax) { 
     112        try { 
     113            // Asynchronous request, wait till we have it all 
     114            asyncajax.open('GET', exitecms_basedir + "includes/ajax.response.php?request=counters", true); 
     115            asyncajax.onreadystatechange = function() { 
     116                if(asyncajax.readyState == 4) { 
     117                    if (asyncajax.status == 200) { 
     118                        try { 
     119                            // update the new message indicator 
     120                            newmsg = eval('('+asyncajax.responseText+')'); 
     121                            if (document.getElementById("new_pm_header")) { 
     122                                if (parseInt(newmsg.pmcount) > 0) { 
     123                                    document.getElementById("new_pm_header").innerHTML = "<a href='" + exitecms_basedir + "pm.php?action=show_new'><img src='" + exitecms_themedir + "images/newmsgs.gif' height='9' alt='' /></a>&nbsp;"; 
     124                                } else { 
     125                                    document.getElementById("new_pm_header").innerHTML = ''; 
     126                                } 
     127                            } 
     128                            if (document.getElementById("new_pm_panel")) { 
     129                                if (parseInt(newmsg.pmcount) > 0) { 
     130                                    document.getElementById("new_pm_panel_value").innerHTML = newmsg.pmtext; 
     131                                    document.getElementById("new_pm_panel").style.display = 'inline'; 
     132                                } else { 
     133                                    document.getElementById("new_pm_panel").style.display = 'none'; 
     134                                } 
     135                            } 
     136                            if (document.getElementById("new_posts_header")) { 
     137                                if (parseInt(newmsg.postcount) > 0) { 
     138                                    document.getElementById("new_posts_header").innerHTML = "<a href='" + exitecms_basedir + "modules/forum_threads_list_panel/new_posts.php'><img src='" + exitecms_themedir + "images/newposts.gif' height='9' alt='" + locale_028 + "' /></a>&nbsp;"; 
     139                                } else { 
     140                                    document.getElementById("new_posts_header").innerHTML = ''; 
     141                                } 
     142                            } 
     143                            if (document.getElementById("new_posts_panel")) { 
     144                                if (parseInt(newmsg.postcount) > 0) { 
     145                                    document.getElementById("new_posts_panel_value").innerHTML = newmsg.posttext; 
     146                                    document.getElementById("new_posts_panel").style.display = 'inline'; 
     147                                } else { 
     148                                    document.getElementById("new_posts_panel").style.display = 'none'; 
     149                                } 
     150                            } 
     151                            // set a timer for the next check 
     152                            msgtimerid = setTimeout("checkMessages()", 60000); 
     153                        } 
     154                        catch (e) { 
     155                            // catch the error 
     156                        } 
     157                    } 
     158                } 
     159            }; 
     160            asyncajax.send(null); 
     161        } catch (e) { 
     162            return null; 
     163        } 
     164    } else { 
     165        return null; 
     166    } 
     167} 
     168{/literal} 
     169var locale_028 = "{$locale.028}"; 
     170var exitecms_basedir = "{$smarty.const.BASEDIR}"; 
     171var exitecms_themedir = "{$smarty.const.THEME}"; 
     172// start the timer for the first check, in 1 minute 
     173msgtimerid = setTimeout("checkMessages()", 60000); 
    145174{/if} 
    146175/* ]]> */ 
Note: See TracChangeset for help on using the changeset viewer.