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 $
|| ####################################################################
\*======================================================================*/
?>
|