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/ChristmasDays/php-files/themes/ChristmasDays/templates/templates/_header.tpl

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