vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.0 Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=33)
-   -   Improved Post Report System (https://vborg.vbsupport.ru/showthread.php?t=76582)

Delphiprogrammi 02-19-2005 04:04 PM

hi,

nevermind i figured it out it works ok now i did something wrong while editing report.php up and running

[high]* Delphiprogrammi clcks install
[/high]

i will add this hack to my list ;)

shadiguy1 02-19-2005 05:25 PM

any chance u can add it in the admincp as well so i dont have to use the modcp lol on my site and my mods can use it on the modcp. Most appreciated if you can do this for me thanks in advance ,. Awsome hack Thanks again.

boozehound 02-19-2005 05:30 PM

Quote:

Originally Posted by shadiguy1
any chance u can add it in the admincp as well so i dont have to use the modcp lol on my site and my mods can use it on the modcp. Most appreciated if you can do this for me thanks in advance ,. Awsome hack Thanks again.

You could just put the modcp/postreports.php file into the admincp directory, and edit admincp/index.php to add the links to the two pages, which would still be postreports.php?do=closed and postreports.php?do=list. The hack will work just the same way, as it does not rely on that file being anywhere specific.

shadiguy1 02-19-2005 06:28 PM

to add this to AdminCp Do these edits. And Copy postreports.php from modcp over to admincp folder

Find in This: /admincp/index.php

Find This Code:

construct_nav_group($vbphrase['users']);

Below This Add:

construct_nav_option($vbphrase['postreports_new'], "postreports.php?do=list");
construct_nav_option($vbphrase['postreports_closed'], "postreports.php?do=closed");
construct_nav_group($vbphrase['postreports'], '<hr />', "$df");

Diana Notacat 02-20-2005 05:08 AM

Will this work along with Erwin's vB Report Manager or will there be a future versions where you can have a report note sent to Mod's Forum or PMs? I rather like this mod for letting user's know they're being heard but I like using the other so staff can discuss reported threads if needed! :]

The Realist 02-20-2005 11:06 AM

I would like to know this as well.

Quote:

Originally Posted by Diana Notacat
Will this work along with Erwin's vB Report Manager or will there be a future versions where you can have a report note sent to Mod's Forum or PMs? I rather like this mod for letting user's know they're being heard but I like using the other so staff can discuss reported threads if needed! :]


boozehound 02-20-2005 12:24 PM

Quote:

Originally Posted by Diana Notacat
Will this work along with Erwin's vB Report Manager or will there be a future versions where you can have a report note sent to Mod's Forum or PMs? I rather like this mod for letting user's know they're being heard but I like using the other so staff can discuss reported threads if needed! :]

I haven't installed that hack but from looking at the code for it the two should be able to coexist perfectly happily. I'll figure out the changes to report.php need to get these two working together and post it up here, for those that don't fancy figuring it out themselves :)

boozehound 02-20-2005 03:23 PM

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


Nickeh32 02-26-2005 08:00 PM

I installed this mod, well i tried. Followed everything correctly but they links arent showing up in modcp, the tables around them are their but no links!

Is it something i've done wrong, can someone help thanks!

boozehound 02-26-2005 08:04 PM

Quote:

Originally Posted by Nickeh32
I installed this mod, well i tried. Followed everything correctly but they links arent showing up in modcp, the tables around them are their but no links!

Is it something i've done wrong, can someone help thanks!

Did you refresh the phrase cache by editing a phrase through admincp? That's the only thing I can really think of.

I really should have put a call to build_language in the installer, but I didn't know about it at the time.


All times are GMT. The time now is 10:13 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01681 seconds
  • Memory Usage 1,808KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_code_printable
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete