Databases, I am not too bad on. It is php calls to a database where I have troubles. Yet I am not certain my problem lies within pager.php - here is my file:
Code:
<?php
/*======================================================================*\
|| #################################################################### ||
|| # ---------------------------------------------------------------- # ||
|| # vB Pager Version 2.0.2 for vBulletin 3.0.1 or Above # ||
|| # by [WwW.UAEWEB.COM] # ||
|| # ---------------------------------------------------------------- # ||
|| # Copyright ?2000?2004 WwW.UAEWEB.COM All Rights Reserved. # ||
|| # This file may not be redistributed in whole or significant part. # ||
|| #################################################################### ||
\*======================================================================*/
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
$templatesused='vbpager';
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array('vbpager');
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
global $vboptions;
// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################
// Start of Pager LOG
if ($do=='log')
{
// Pager inbox
if ($folder=='inbox')
{
$show[inbox] = 1;
// Delete Pager
globalize($_POST, array('dowhat', 'pagerno'));
if ($dowhat=="del")
{
if (!is_array($pagerno))
{
$idname = "Pager ID";
eval(print_standard_error('invalidid'));
}
$messageids = array();
foreach (array_keys($pagerno) AS $pmid)
{
$pmid = intval($pmid);
$messageids["$pmid"] = $pmid;
}
$pagerids = implode(', ', $messageids);
$DB_site->query("update " . TABLE_PREFIX . "pager set delread=1 where pagerid in ($pagerids)");
}
// Delete Pager
// Pager NavPage
$tmpsql = $DB_site->query_first("select count(*) as totpager from " . TABLE_PREFIX . "pager as p left join " . TABLE_PREFIX . "user as u on (p.fromuserid=u.userid) where touserid=" . $bbuserinfo[userid] . " and delread=0 and active=0");
$totalpager = $tmpsql[totpager];
if (!isset($perpage))
$perpage=$vboptions[vbpager_message_perpage];
$pagenumber=$page;
if ((!isset($pagenumber) or $pagenumber==0) and $pagenumber!="lastpage")
$pagenumber=1;
$limitlower=($pagenumber-1)*$perpage+1;
$limitupper=($pagenumber)*$perpage;
// Pager NavPage
$sql = "select pagerid, fromuserid, username, message, msgdate, deliverdate, hidden, delread, active from " . TABLE_PREFIX . "pager as p left join " . TABLE_PREFIX . "user as u on (p.fromuserid=u.userid) where touserid=" . $bbuserinfo[userid] . " and delread=0 and active=0 order by deliverdate desc LIMIT " . ($limitlower-1) . ", $perpage";
if ($limitupper>$totalpager)
{
$limitupper=$totalpager;
if ($limitlower>$totalpager)
$limitlower=$totalpager-$perpage;
}
$pagenav = construct_page_nav($totalpager,"pager.php?action=pager&do=log&folder=inbox&perpage=$perpage");
$result = $DB_site->query($sql);
$i = 0;
while ($pagerinfo=$DB_site->fetch_array($result))
{
$i++;
if (!($pagerinfo[username]))
$pagerinfo[username] = $vbphrase['guest'];
if ($pagerinfo[hidden])
$pagerinfo[username] = $vbphrase['vbpager_nat'];
$pagerinfo[deliverdate] = vbdate($vboptions['dateformat'], $pagerinfo[deliverdate], true) . " " . vbdate($vboptions['timeformat'], $pagerinfo[deliverdate]);
$pagerinfo[msgdate] = vbdate($vboptions['dateformat'], $pagerinfo[msgdate], true) . " " . vbdate($vboptions['timeformat'], $pagerinfo[msgdate]);
eval('$pagerinbox .= "' . fetch_template('vbpager_listbit') . '";');
}
}
// Pager outbox
elseif ($folder=='outbox')
{
$show[outbox] = 1;
// Delete Pager
globalize($_POST, array('dowhat', 'pagerno'));
if ($dowhat=="del")
{
if (!is_array($pagerno))
{
$idname = "Pager ID";
eval(print_standard_error('invalidid'));
}
$messageids = array();
foreach (array_keys($pagerno) AS $pmid)
{
$pmid = intval($pmid);
$messageids["$pmid"] = $pmid;
}
$pagerids = implode(', ', $messageids);
$DB_site->query("update " . TABLE_PREFIX . "pager set delsent=1 where pagerid in ($pagerids)");
$result = $DB_site->query("select touserid, count(*) as totpager from " . TABLE_PREFIX . "pager where active=1 and touserid is not NULL and pagerid in ($pagerids) group by touserid");
while ($sql = $DB_site->fetch_array($result))
if ($sql[totpager])
$DB_site->query("UPDATE " . TABLE_PREFIX . "user set pager = pager - " . $sql[totpager] . " where userid = " . $sql[touserid] );
}
// Delete Pager
// Pager NavPage
$tmpsql = $DB_site->query_first("select count(*) totpager from " . TABLE_PREFIX . "pager as p left join " . TABLE_PREFIX . "user as u on (p.touserid=u.userid) where fromuserid=" . $bbuserinfo[userid] . " and delsent=0");
$totalpager = $tmpsql[totpager];
if (!isset($perpage))
$perpage=$vboptions[vbpager_message_perpage];
$pagenumber=$page;
if ((!isset($pagenumber) or $pagenumber==0) and $pagenumber!="lastpage")
$pagenumber=1;
$limitlower=($pagenumber-1)*$perpage+1;
$limitupper=($pagenumber)*$perpage;
// Pager NavPage
$sql = "select pagerid, parentpid, fromuserid, username, message, msgdate, deliverdate, hidden, delread, active from " . TABLE_PREFIX . "pager as p left join " . TABLE_PREFIX . "user as u on (p.touserid=u.userid) where fromuserid=" . $bbuserinfo[userid] . " and delsent=0 order by msgdate desc LIMIT " . ($limitlower-1) . ", $perpage";
if ($limitupper>$totalpager)
{
$limitupper=$totalpager;
if ($limitlower>$totalpager)
$limitlower=$totalpager-$perpage;
}
$pagenav = construct_page_nav($totalpager,"pager.php?action=pager&do=log&folder=outbox&perpage=$perpage");
$result = $DB_site->query($sql);
$i = 0;
while ($pagerinfo=$DB_site->fetch_array($result))
{
$i++;
if (!($pagerinfo[username]))
$pagerinfo[username] = $vbphrase['guest'];
if ($pagerinfo[parentpid])
if ($DB_site->query_first("select * from " . TABLE_PREFIX . "pager where pagerid=". $pagerinfo[parentpid] ." and hidden=1"))
$pagerinfo[username] = $vbphrase['vbpager_nat'];
if ($pagerinfo[deliverdate])
$pagerinfo[deliverdate] = vbdate($vboptions['dateformat'], $pagerinfo[deliverdate], true) . " " . vbdate($vboptions['timeformat'], $pagerinfo[deliverdate]);
else
$pagerinfo[deliverdate] = $vbphrase['vbpager_not_read'];
$pagerinfo[msgdate] = vbdate($vboptions['dateformat'], $pagerinfo[msgdate], true) . " " . vbdate($vboptions['timeformat'], $pagerinfo[msgdate]);
eval('$pageroutbox .= "' . fetch_template('vbpager_listbit') . '";');
}
}
else
$show[pagererror] = 1;
}
// Start of Pager LOG
// Start of Pager reply
if ($do=='pagerreply')
{
$show[pagerreply] = 1;
// Reply message
$touserid = $touid;
$message = addslashes(htmlspecialchars(trim($message)));
$sqltemp = $DB_site->query_first("select active from " . TABLE_PREFIX . "pager where pagerid=$pid");
$addpager = intval($sqltemp[active]);
$DB_site->query("UPDATE " . TABLE_PREFIX . "user set pager = pager - $addpager where userid = " . $bbuserinfo[userid] . "");
$DB_site->query("UPDATE " . TABLE_PREFIX . "pager set deliverdate = " . TIMENOW . " , active = 0 where pagerid = $pid");
if ($message)
{
$DB_site->query("INSERT into " . TABLE_PREFIX . "pager(touserid, parentpid, fromuserid, message, msgdate) values ($touserid, $pid, " . $bbuserinfo[userid] . ", '$message', " . TIMENOW . ")");
$DB_site->query("UPDATE user set " . TABLE_PREFIX . "pager = pager + 1 where userid = $touserid");
$replysent = 1;
}
// Update delivered messages
}
// End of Pager reply
// Start of Pager Deliver Report
if ($do=='pagerreport')
{
$show[pagerreport] = 1;
}
// End of Pager Deliver Report
// Start of Pager Logs
if ($do=='pagerlogs')
{
$show[pagerlogs] = 1;
}
// End of Pager Logs
// Start New Pager to User
if ($do=='newpager')
{
$show[newpager] = 1;
if (trim($guestid))
$done = can_pager(1);
else
$done = can_pager();
if ($pid)
{
$sqltemp = $DB_site->query_first("select active, deliverdate from " . TABLE_PREFIX . "pager where pagerid=$pid");
$addpager = intval($sqltemp[active]);
if ($sqltemp[deliverdate])
{
$DB_site->query("UPDATE " . TABLE_PREFIX . "user set pager = pager - $addpager where userid = " . $bbuserinfo[userid] . "");
$DB_site->query("UPDATE " . TABLE_PREFIX . "pager set active = 0 where pagerid =$pid");
}
$DB_site->query("UPDATE " . TABLE_PREFIX . "pager set deliverdate = " . TIMENOW . " where pagerid =$pid");
}
$uids = explode(',', str_replace(' ', '', $vboptions[vbpager_canhidename]));
foreach($uids AS $ids)
if ($bbuserinfo[userid]==$ids)
$canhide = 1;
if ($done==1)
{
if ($touserid > 0)
{
if ($touserid==$bbuserinfo[userid])
{
$show[newpager] = "";
$show[pagererror] = 1;
$selfpager = 1;
}
else
$pagerinfo = $DB_site->query_first("SELECT userid, username from " . TABLE_PREFIX . "user WHERE userid=$touserid");
}
elseif ($guestid)
{
$pagerinfo = $DB_site->query_first("SELECT * from " . TABLE_PREFIX . "session where sessionhash='$guestid'");
$pagerinfo[username] = $vbphrase['guest'];
$pagerinfo[guestid] = $guestid;
}
if (!($pagerinfo))
{
$show[newpager] = "";
$show[pagererror] = 1;
$nouser = 1;
}
}
else
print_no_permission();
}
// End New Pager to User
// Start New Pager to User
if ($do=='sendpager')
{
$show[sendpager] = 1;
$canreply = intval($usercanreply);
$message = addslashes(htmlspecialchars($message));
$hidden = intval($hideuser);
if ($touserid==0)
$DB_site->query("INSERT into " . TABLE_PREFIX . "pager(tosessionid, fromuserid, message, msgdate, canreply, hidden) values ('$toguestid', " . $bbuserinfo[userid] . ", '$message', " . TIMENOW . ",$canreply, $hidden)");
else
{
$DB_site->query("INSERT into " . TABLE_PREFIX . "pager(touserid, fromuserid, message, msgdate, canreply, hidden) values ($touserid, " . $bbuserinfo[userid] . ", '$message', " . TIMENOW . ",$canreply, $hidden)");
$DB_site->query("UPDATE user set " . TABLE_PREFIX . "pager = pager + 1 where userid = $touserid");
}
}
// End New Pager to User
eval('print_output("' . fetch_template('vbpager') . '");');
?>
I can't recall the last time I've had this much difficulty with a modification.