View Single Post
  #29  
Old 02-20-2005, 03:23 PM
boozehound's Avatar
boozehound boozehound is offline
 
Join Date: Feb 2005
Posts: 66
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, assuming you've first installed the other hack, go about installing this one as normal, except when you come to the part that says:

Code:
find:

	if ($reason == '')
	{
		eval(print_standard_error('error_noreason'));
	}
	
add afterwards:

	if ($vboptions['postreports_enabled'])
	{
		require_once('./includes/functions.php');
	
		$userid = $bbuserinfo['userid'];
		$DB_site->query("INSERT INTO " . TABLE_PREFIX . "postreport
			(postid, userid, reporttext, status, dateline)
			VALUES 
			($postid,
			$userid,
			'". addslashes(htmlspecialchars_uni($reason)) . "',
			0,
			" . TIMENOW . "
			)");
	}
	
	if (!$vboptions['postreports_enabled'] || ($vboptions['postreports_enabled'] && $vboptions['postreports_alsoemail']))
	{
	
find:

	vbmail_end();
	
add afterwards:

	}
instead 'add afterwards' the following code only:
Code:
	if ($vboptions['postreports_enabled'])
	{
		require_once('./includes/functions.php');
	
		$userid = $bbuserinfo['userid'];
		$DB_site->query("INSERT INTO " . TABLE_PREFIX . "postreport
			(postid, userid, reporttext, status, dateline)
			VALUES 
			($postid,
			$userid,
			'". addslashes(htmlspecialchars_uni($reason)) . "',
			0,
			" . TIMENOW . "
			)");
	}
The two systems should then work in tandem, and the email setting of my hack is ignored and the email settings of the other hack is used.

My report.php with both hacks installed if I've not explained it very well:

Code:
<?php
/*======================================================================*\
|| #################################################################### ||
|| # vBulletin 3.0.7 - Licence Number <edited>
|| # ---------------------------------------------------------------- # ||
|| # Copyright ?2000?2005 Jelsoft Enterprises Ltd. All Rights Reserved. ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| #################################################################### ||
\*======================================================================*/

// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS', 1);
define('THIS_SCRIPT', 'report');

// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array('messaging');

// get special data templates from the datastore
$specialtemplates = array();

// pre-cache templates used by all actions
$globaltemplates = array(
	'newpost_usernamecode',
	'reportbadpost'
);

// pre-cache templates used by specific actions
$actiontemplates = array();

// ######################### REQUIRE BACK-END ############################
require_once('./global.php');

// Erwin's Report Hack 
require_once('./includes/functions_bbcodeparse.php'); 
require_once('./includes/functions_newpost.php'); 
// Erwin's Report Hack 

// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################

//check usergroup of user to see if they can use this
if (!$bbuserinfo['userid'])
{
	print_no_permission();
}

/*
if (!$vboptions['enableemail'])
{
	eval(print_standard_error('error_emaildisabled'));
}
*/
if (!$vboptions['enableemail'] && ($vboptions['postreports_enabled'] && $vboptions['postreports_alsoemail']))
{
	eval(print_standard_error('error_emaildisabled'));
}

if (empty($_REQUEST['do']))
{
	$_REQUEST['do'] = 'report';
}

$forumperms = fetch_permissions($threadinfo['forumid']);
if (!($forumperms & CANVIEW))
{
	print_no_permission();
}

if ($threadinfo['isdeleted'] OR $postinfo['isdeleted'])
{
	$idname = $vbphrase['post'];
	eval(print_standard_error('error_invalidid'));
}

// check if there is a forum password and if so, ensure the user has it set
verify_forum_password($foruminfo['forumid'], $foruminfo['password']);

if ($_REQUEST['do'] == 'report')
{
	$postid = verify_id('post', $_REQUEST['postid'] );

	/*if ($postinfo['userid'] == $bbuserinfo['userid'])
	{
		eval(print_standard_error('error_cantreportself'));
	}*/

	// draw nav bar
	$navbits = array();
	$parentlist = array_reverse(explode(',', $foruminfo['parentlist']));
	foreach ($parentlist AS $forumID)
	{
		$forumTitle = $forumcache["$forumID"]['title'];
		$navbits["forumdisplay.php?$session[sessionurl]f=$forumID"] = $forumTitle;
	}
	$navbits["showthread.php?$session[sessionurl]p=$postid"] = $threadinfo['title'];
	$navbits[''] = $vbphrase['report_bad_post'];
	$navbits = construct_navbits($navbits);

	require_once('./includes/functions_editor.php');
	$textareacols = fetch_textarea_width();
	eval('$usernamecode = "' . fetch_template('newpost_usernamecode') . '";');

	eval('$navbar = "' . fetch_template('navbar') . '";');
	eval('print_output("' . fetch_template('reportbadpost') . '");');

}

if ($_POST['do'] == 'sendemail')
{
	$postid = verify_id('post', $_REQUEST['postid'] );

	globalize($_POST , array('reason' => STR));

	if ($reason == '')
	{
		eval(print_standard_error('error_noreason'));
	}

	if ($vboptions['postreports_enabled'])
	{
		require_once('./includes/functions.php');
	
		$userid = $bbuserinfo['userid'];
		$DB_site->query("INSERT INTO " . TABLE_PREFIX . "postreport
			(postid, userid, reporttext, status, dateline)
			VALUES 
			($postid,
			$userid,
			'". addslashes(htmlspecialchars_uni($reason)) . "',
			0,
			" . TIMENOW . "
			)");
	}
	
/*
	$moderators = $DB_site->query("
		SELECT DISTINCT user.email
		FROM " . TABLE_PREFIX . "moderator AS moderator," . TABLE_PREFIX . "user AS user
		WHERE user.userid = moderator.userid
			AND moderator.forumid IN ($foruminfo[parentlist])
	");
*/
// Erwin's Report Hack 
    $moderators = $DB_site->query(" 
        SELECT DISTINCT user.email, user.userid 
        FROM " . TABLE_PREFIX . "moderator AS moderator," . TABLE_PREFIX . "user AS user 
        WHERE user.userid = moderator.userid 
            AND moderator.forumid IN ($foruminfo[parentlist]) 
    "); 
// Erwin's Report Hack 

	$mods = array();

	while ($moderator = $DB_site->fetch_array($moderators))
	{
		$mods[] = $moderator;
	}

	$threadinfo['title'] = unhtmlspecialchars($threadinfo['title']);
	$postinfo['title'] = unhtmlspecialchars($postinfo['title']);
/*
	if (empty($mods) OR $foruminfo['options'] & $_FORUMOPTIONS['warnall'])
	{
		// get admins if no mods or if this forum notifies all
		$moderators = $DB_site->query("
			SELECT user.email, user.languageid
			FROM " . TABLE_PREFIX . "user AS user
			INNER JOIN " . TABLE_PREFIX . "usergroup AS usergroup USING (usergroupid)
			WHERE usergroup.adminpermissions <> 0
		");

		while ($moderator = $DB_site->fetch_array($moderators))
		{
			$mods[] = $moderator;
		}
	}
*/
// Erwin's Report Hack 
if (empty($mods) OR $foruminfo['options'] & $_FORUMOPTIONS['warnall'])
{
// get admins if no mods or if this forum notifies all
$moderators = $DB_site->query("
SELECT user.email, user.languageid, user.userid
FROM " . TABLE_PREFIX . "user AS user
INNER JOIN " . TABLE_PREFIX . "usergroup AS usergroup USING (usergroupid)
WHERE usergroup.adminpermissions <> 0
");

while ($moderator = $DB_site->fetch_array($moderators))
{
$mods[] = $moderator;
}
}

// Erwin's Report Hack 
// Erwin's Report Hack 
if ($vboptions['vbreportthread'] == '1') {
$forumid = $vboptions['vbreportforum'];
$today = vbdate('m-d-Y', TIMENOW, false, false);
$DB_site->query("
INSERT INTO " . TABLE_PREFIX . "thread(title, lastpost, forumid, open, replycount,
postusername, postuserid, lastposter, dateline, iconid, visible, attach)
VALUES
('$today REPORT: " . addslashes($foruminfo['title']) . " - " . addslashes($postinfo['username']) . "', " . TIMENOW . ", $forumid,
1, 0, '" . addslashes($bbuserinfo['username']) . "', $bbuserinfo[userid],
'" . addslashes($bbuserinfo['username']) . "', " . TIMENOW . ", 0, 1,
0)
");
$thread['threadid'] = $DB_site->insert_id();
eval(fetch_email_phrases('reportbadpost'));
$message = convert_url_to_bbcode($message);
$DB_site->query("
INSERT INTO " . TABLE_PREFIX . "post
(threadid, title, username, userid, dateline, pagetext, allowsmilie,
showsignature, iconid, visible)
VALUES
($thread[threadid], '$today REPORT: " . addslashes($foruminfo['title']) . " - " . addslashes($postinfo['username']) . "',
'" . addslashes($bbuserinfo['username']) . "', $bbuserinfo[userid], " . TIMENOW . ",
'" . addslashes($message) . "', 1, 1,
0, 1)
");
$post['postid'] = $DB_site->insert_id();
$DB_site->query("
UPDATE " . TABLE_PREFIX . "thread
SET firstpostid = $post[postid]
WHERE threadid = $thread[threadid]
");
$DB_site->query("
UPDATE " . TABLE_PREFIX . "forum
SET replycount = replycount + 1,
threadcount = threadcount + 1,
lastpost = " . TIMENOW . ",
lastposter = '" . addslashes($bbuserinfo['username']) . " - " . addslashes($postinfo['username']) . "',
lastthread = '$today REPORT: " . addslashes($foruminfo['title']) . "',
lastthreadid = $thread[threadid]
WHERE forumid = $forumid
");
}
if ($vboptions['vbreportpm'] == '1') {
$DB_site->query("INSERT INTO " . TABLE_PREFIX . "pmtext\n\t(fromuserid, fromusername, title, message, touserarray, iconid, dateline, showsignature)\nVALUES\n\t($bbuserinfo[userid], '" . addslashes($bbuserinfo['username']) . "', '$today REPORT: " . addslashes($foruminfo['title']) . " - " . addslashes($postinfo['username']) . "', '".addslashes(htmlspecialchars($message))."', '" . addslashes(serialize($tostring)) . "', 0, " . TIMENOW . ", 1)");

$pmtextid = $DB_site->insert_id();
}

// Erwin's Report Hack 


	vbmail_start();
/*
	foreach ($mods AS $index => $moderator)
	{
		if (!empty($moderator['email']))
		{
			eval(fetch_email_phrases('reportbadpost', $moderator['languageid']));
			vbmail($moderator['email'], $subject, $message);
		}
	}
*/

// Erwin's Report Hack 
foreach ($mods AS $index => $moderator)
{
if (!empty($moderator['email']))
{
eval(fetch_email_phrases('reportbadpost', $moderator['languageid']));
if ($vboptions['vbreportemail'] == '1') {
vbmail($moderator['email'], $subject, $message);
}

if ($vboptions['vbreportpm'] == '1') {
$DB_site->query("INSERT INTO " . TABLE_PREFIX . "pm (pmtextid, userid, messageread) VALUES ($pmtextid, $moderator[userid], 0)");
$DB_site->shutdown_query("UPDATE " . TABLE_PREFIX . "user SET pmtotal=pmtotal+1, pmunread=pmunread+1 WHERE userid = $moderator[userid]");
}
}
}
// Erwin's Report Hack 

	vbmail_end();

	eval(print_standard_redirect('redirect_reportthanks'));
}

/*======================================================================*\
|| ####################################################################
|| # Downloaded: 08:35, Sun Feb 20th 2005
|| # CVS: $RCSfile: report.php,v $ - $Revision: 1.47 $
|| ####################################################################
\*======================================================================*/
?>
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01208 seconds
  • Memory Usage 1,836KB
  • 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
  • (3)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