xoops forums

shank

Not too shy to talk
Posted on: 2005/12/12 14:47
shank
shank (Show more)
Not too shy to talk
Posts: 144
Since: 2004/8/17
#11

Re: New messages in theme as smarty; how to?

The code in the theme should be wrapped with
<{if $xoops_isuser}>....code goes here....<{/if}>


edited to fix space in code.
s l s h a n k l e @ b e l l s o u t h . n e t

tjnemez

Home away from home
Posted on: 2005/12/12 17:16
tjnemez
tjnemez (Show more)
Home away from home
Posts: 1594
Since: 2003/9/21
#12

Re: New messages in theme as smarty; how to?

thanks for your help. i tried this but it does not work for me.

<{if$xoops_isuser}><{insert name="pms"}>
<a href="<{$xoops_url}>/viewpmsg.php">
<{if $msgcount > 0}>
<{if $msgcount > 1}>You Have <{$msgcount}> New Messages
<{else}>You have <{$msgcount}> New Message
<{/if}>
<{else}>Private Messages
<{/if}></a><{/if}>
Not right now; I am busy screwing up my site!


Dream Catcher Dezines
Mind Health ...

blueteen

Quite a regular
Posted on: 2005/12/12 18:17
blueteen
blueteen (Show more)
Quite a regular
Posts: 379
Since: 2004/7/16
#13

Re: New messages in theme as smarty; how to?

can you activate 'debug php mode'

supermario

Just popping in
Posted on: 2005/12/12 23:13
supermario
supermario (Show more)
Just popping in
Posts: 6
Since: 2005/10/15
#14

Re: New messages in theme as smarty; how to?

Quote:
blueteen wrote:
can you activate 'debug php mode'


I'm having the same problem... it won't appear. I turned on PHP Debug and there were no errors that seemed to refer to this.

menochi

Friend of XOOPS
Posted on: 2005/12/13 2:12
menochi
menochi (Show more)
Friend of XOOPS
Posts: 259
Since: 2003/12/28
#15

Re: New messages in theme as smarty; how to?

Perhaps this is an other solution for you?:

PMBLOCK by tuff (brandycoke)

in valid code we trust

shank

Not too shy to talk
Posted on: 2005/12/13 2:43
shank
shank (Show more)
Not too shy to talk
Posts: 144
Since: 2004/8/17
#16

Re: New messages in theme as smarty; how to?

Quote:

tjnemez wrote:
thanks for your help. i tried this but it does not work for me.

<{if$xoops_isuser}><{insert name="pms"}>
<a href="<{$xoops_url}>/viewpmsg.php">
<{if $msgcount > 0}>
<{if $msgcount > 1}>You Have <{$msgcount}> New Messages
<{else}>You have <{$msgcount}> New Message
<{/if}>
<{else}>Private Messages
<{/if}></a><{/if}>


only thing I see wrong with this is there should be a space between <{if and $xoops_isuser}>

<{if $xoops_isuser}> is how it should look.

Did you create the insert.php file?
s l s h a n k l e @ b e l l s o u t h . n e t

shank

Not too shy to talk
Posted on: 2005/12/13 2:48
shank
shank (Show more)
Not too shy to talk
Posts: 144
Since: 2004/8/17
#17

Re: New messages in theme as smarty; how to?

Quote:

supermario wrote:
Quote:
blueteen wrote:
can you activate 'debug php mode'


I'm having the same problem... it won't appear. I turned on PHP Debug and there were no errors that seemed to refer to this.


Try smarty debug.

Also you may have to set in preferances to update template from theme folder.
s l s h a n k l e @ b e l l s o u t h . n e t

AAINC

Not too shy to talk
Posted on: 2005/12/13 3:58
AAINC
AAINC (Show more)
Not too shy to talk
Posts: 121
Since: 2003/10/18
#18

Re: New messages in theme as smarty; how to?

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.
<{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
<{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) {
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.

tjnemez

Home away from home
Posted on: 2005/12/13 4:06
tjnemez
tjnemez (Show more)
Home away from home
Posts: 1594
Since: 2003/9/21
#19

Re: New messages in theme as smarty; how to?

shank,

it was the space, thanks alot for your help.
Not right now; I am busy screwing up my site!


Dream Catcher Dezines
Mind Health ...

NeoFenix

Just popping in
Posted on: 2005/12/20 16:29
NeoFenix
NeoFenix (Show more)
Just popping in
Posts: 31
Since: 2005/7/8 3
#20

Re: New messages in theme as smarty; how to?

Wonderful hack! ..... but I'm using x-ipb for forum control .... so isn't working for me .... please, help!