Thread: vB Pager 2.0.4
View Single Post
  #67  
Old 12-24-2004, 03:04 PM
TwinsX2Dad TwinsX2Dad is offline
 
Join Date: Oct 2004
Posts: 72
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01060 seconds
  • Memory Usage 1,831KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete