Log in

View Full Version : Updating PM Data Mod to vB3.5


mark99
09-14-2005, 07:33 AM
Using code from some other mods over past vB versions, cleaned up a little and rounded down, I created this simple OUTPUT.php file that worked fine under v3.0.x:

<?

require_once('/homepages/6/d119993967/htdocs/talk/global.php');

///----------------------------------
//check usergroup of user to see if they can use PMs
//$permissions=getpermissions($forumid);
if ($enablepms==1 and $permissions['canusepm'] and $bbuserinfo['receivepm']) {
$ignoreusers="";
if (trim($bbuserinfo['ignorelist'])!="") {
$ignoreusers='AND fromuserid<>'.implode(' AND fromuserid<>',explode(' ', trim($bbuserinfo['ignorelist'])));
}
$allpm=$DB_site->query_first("SELECT COUNT(*) AS messages FROM privatemessage WHERE userid=$bbuserinfo[userid] $ignoreusers");
$newpm=$DB_site->query_first("SELECT COUNT(*) AS messages FROM privatemessage WHERE userid=$bbuserinfo[userid] AND dateline>$bbuserinfo[lastvisit] AND folderid=0 $ignoreusers");
$unreadpm=$DB_site->query_first("SELECT COUNT(*) AS messages FROM privatemessage WHERE userid=$bbuserinfo[userid] AND messageread=0 AND folderid=0 $ignoreusers");
if ($newpm['messages']==0) {
echo "";
} else {
echo "";
}
} else {
$pminfo='';
}

// ########## \\__> Added from Hwulex's Welcome Hack THANKS!!!<__// ########## \\
$getnewthread=$DB_site->query_first("SELECT COUNT(*) AS threads FROM thread WHERE lastpost > '$bbuserinfo[lastvisit]'");
$getnewpost=$DB_site->query_first("SELECT count(*) AS posts FROM post WHERE dateline > '$bbuserinfo[lastvisit]'");
if ($bbuserinfo['userid']!=0) {
$username=$bbuserinfo['username'];

echo "Welcome: <b>$bbuserinfo[username]</b> - <a href=\"http://www.ispreview.co.uk/talk/private.php\" target=\"_parent\">New Messages</a>: <b>$bbuserinfo[pmunread] ($bbuserinfo[pmtotal] Total)</b></font></center></TR></TD>
<TR><TD><IMG SRC=\"../../images/hr1.gif\" width=\"434\" height=\"1\" border=\"0\"></TD></TR>";

} else {

echo "Welcome: <i>Please <a href=\"talk/register.php\" target=\"_parent\">REGISTER</a> to use our Forum/Review systems</i></font></center></TR></TD>
<TR><TD><IMG SRC=\"../../images/hr1.gif\" width=\"434\" height=\"1\" border=\"0\"></TD></TR>";

}

?>

Obviously this won't work under vB3.5.0 RC3 and gives the following error:

Fatal error: Call to a member function on a non-object in /homepages/forum/OUTPUT.php on line 26

Being a novice at PHP and given how confused I am with the new vB3.5 code design, can anybody help or advise me on how this program can be updated so that it functions. The correct output, when working, should be something akin to and goes on a non-vB page through SSI:

Welcome: USERNAME - New Messages: ? (? Total)
----------------------------------------

Andreas
09-14-2005, 07:44 AM
Sorry, but what the hell is this Code supposed to to?
A table privatemessage doesn't even exist in vBulletin (not in 3.0 and not in 3.5).

I can only assume you want to show the amount of total/unread PMs.
Then you don't need any of the Queries:

if ($vbulletin->userinfo['userid'])
{
echo "Welcome: <b>{$vbulletin->userinfo['username']}</b> - <a href=\"http://www.ispreview.co.uk/talk/private.php\" target=\"_parent\">New Messages</a>: <b>{$vbulletin->userinfo['pmunread']} ({$vbulletin->userinfo['pmtotal']} Total)</b></font></center></TR></TD>
<TR><TD><IMG SRC=\"../../images/hr1.gif\" width=\"434\" height=\"1\" border=\"0\"></TD></TR>";

}
else
{
echo "Welcome: <i>Please <a href=\"talk/register.php\" target=\"_parent\">REGISTER</a> to use our Forum/Review systems</i></font></center></TR></TD>
<TR><TD><IMG SRC=\"../../images/hr1.gif\" width=\"434\" height=\"1\" border=\"0\"></TD></TR>";

}

mark99
09-14-2005, 10:29 AM
Like I say, edited from a much older mod =) and your code works fine thanks. However you could of achieved that without swearing at somebody just looking for help.