18
This still works.
Create a php file and name it ex_assign.php
ex_assign.php
<?php // $Id$ // FILE :: ex_assign.php // AUTHOR :: Ryuji AMANO <info@joetsu.info> // WEB :: Ryu's Planning <http://ryus.joetsu.info/> // global $xoopsUser, $xoopsModule; if (is_object($xoopsUser)) { $pm_handler =& xoops_gethandler('privmessage'); $criteria = new CriteriaCompo(new Criteria('read_msg', 0)); $criteria->add(new Criteria('to_userid', $xoopsUser->getVar('uid'))); $this->assign("ex_new_messages", $pm_handler->getCount($criteria)); } if ( is_object($xoopsModule) ) { $this->assign('ex_moduledir', $xoopsModule->getVar('dirname')); } ?>
Put ex-assign.php inside the THEME folder.
Now call ex_assign.php into theme by placing the below code right after the body statement in the theme.html.
le="color: #000000"><?php <{include_php file="$xoops_rootpath/themes/YOUR_THEME_NAME_HERE/ex_assign.php"}>
Now place the below code where you want the message alert to go inside the theme.html
le="color: #000000"><?php <{if $ex_new_messages < 1}> <a href="<{$xoops_url}>/viewpmsg.php">Private Messages</a> <{/if}> <{if $ex_new_messages > 0}> <{if $smarty.server.SCRIPT_NAME == "/index.php"}> <script language="javascript" type="text/javascript"> <!-- msg="<b>Hello! <{$xoops_uname}></b><br />You have <span style='color:#ff0000; font-weight: bold;'><{$ex_new_messages}></span> new Message(s)"; openwin (msg) function openwin(message) { w = open("", "message", "width=250,height=150,toolbar=no,scrollbars=yes,resizable=yes"); w.focus(); w.document.open(); w.document.write("<html><head></head><meta http-equiv='content-type' content='text/html; charset=<{$xoops_charset}>' /><title>You've Got Messages</title><body><br><br><center>"); w.document.write(message); w.document.write("<br /><br /><a href="javascript:window.opener.location='<{$xoops_url}>/viewpmsg.php';window.close();">"); w.document.write("View</a>"); w.document.write("</center></body></html>"); w.document.close(); } // --> </script> <{/if}> <a href="<{$xoops_url}>/viewpmsg.php"> <span style="color:#ff6600;"><{$ex_new_messages}>-Message(s) </span></a> <{/if}>
With this you not only have a Red link saying how many new messages you have, when you return to front page a popup tells you also. If no new messages it just says "Private Message, linking to the inbox.
I am sure someone could clean up and update, but this works in XOOPS 2 XOOPS 2.2 and XOOPS 2.2.3a.