vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 2.x Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=4)
-   -   Report post to moderator -> PM or e-mail (https://vborg.vbsupport.ru/showthread.php?t=18305)

JohnM 05-26-2001 10:00 PM

This hack allows you to select the method of delivery for the report to moderator message.

Rename the attached script to JohnMinstall.php and run it. It will make the necessary database modification and give you further instructions. Delete the script when you're done.

I hope this helps some people :)

DEMOLiTiON 05-27-2001 10:10 AM

But I get this when installing.

Parse error: parse error in /usr/local/etc/httpd/sites/demolition/htdocs/vb/admin/johnminstall.php on line 10

JohnM 05-28-2001 02:39 PM

not in admin, just your normal directory

works for me :-(

JohnM 05-28-2001 02:48 PM

If you're using PHP3 use the attached script instead and do the following:

Code:

Database update complete.

You must now find the following code in <b>report.php</b>:

//check usergroup of user to see if they can use PMs
if ($bbuserinfo[userid]==0) {
  show_nopermission();
}

After it add:

//if reporting is disabled, show an error
if ($reporttomoderator == 0) {
  eval("standarderror(\"".gettemplate("error_noreportpost")."\");");
}

Find:

$moderators=$DB_site->query("SELECT DISTINCT user.email FROM moderator,user WHERE user.userid=moderator.userid AND moderator.forumid IN ($foruminfo[parentlist])");

Replace with:

$moderators=$DB_site->query("SELECT DISTINCT userid, user.email FROM moderator,user WHERE user.userid=moderator.userid AND moderator.forumid IN ($foruminfo[parentlist])");

Find:

  if ($DB_site->num_rows($moderators)==0) {
    // get admins if no mods
    $moderators=$DB_site->query("SELECT DISTINCT user.userid, user.email FROM user,usergroup WHERE user.usergroupid=usergroup.usergroupid AND usergroup.cancontrolpanel=1");
  }
 
Replace with:

  if ($DB_site->num_rows($moderators)==0) {
    // get admins if no mods
    $moderators=$DB_site->query("SELECT user.userid, user.email FROM user,usergroup WHERE user.usergroupid=usergroup.usergroupid AND usergroup.cancontrolpanel=1");
  }

Find:

    eval("$message = \"".gettemplate("email_reportbadpost",1,0)."\";");
    eval("$subject = \"".gettemplate("emailsubject_reportbadpost",1,0)."\";");
   
    mail ($moderator[email],$subject,$message,"From: \"$bbtitle Mailer\" <$webmasteremail>");

Replace with:

    if ($reporttomoderator == 1 || $reporttomoderator == 3) {
      eval("\$message = \"".gettemplate("email_reportbadpost",1,0)."\";");
      eval("\$subject = \"".gettemplate("emailsubject_reportbadpost",1,0)."\";");
      mail ($moderator[email],$subject,$message,"From: \"$bbtitle Mailer\" <$webmasteremail>");
    }
    if ($reporttomoderator == 2 || $reporttomoderator == 3) {
      eval("\$message = \"".gettemplate("pm_reportbadpost",1,0)."\";");
      eval("\$subject = \"".gettemplate("pmsubject_reportbadpost",1,0)."\";");
      $DB_site->query("INSERT INTO privatemessage (privatemessageid,userid,touserid,fromuserid,title,message,dateline,showsignature,iconid,messageread,folderid) VALUES (NULL,$moderator[userid],$moderator[userid],$bbuserinfo[userid],'$subject','$message',".time().",0,0,0,0)");
    }

Now, add a new template called 'error_noreportpost':
Sorry, this feature is disabled.

And templates 'pm_reportbadpost' and 'pmsubject_reportbadpost', based on the email_reportbadpost and emailsubject_reportbadpost templates.

Finally, upload the files and go into your control panel and select an option :)


JohnM 05-28-2001 02:55 PM

Err, forgot to attach it :O

DEMOLiTiON 05-28-2001 04:10 PM

ok the installing is working now :)
but when reporting a post I get this in my e-mail:

Database error in vBulletin: Invalid SQL: SELECT DISTINCT userid, user.email FROM moderator,user WHERE user.userid=moderator.userid AND moderator.forumid IN (4,3,-1)
mysql error: Column: 'userid' in field list is ambiguous
mysql error number: 1052
Date: Monday 28th of May 2001 07:09:27 PM
Script: /vb/report.php

:(

Psycho 05-28-2001 09:42 PM

ive installed everything just like you laid it out. but when i test it, i get a parse error on the last line on the report.php

the last line is the ?>

any suggestions?

JohnM 05-28-2001 11:37 PM

demolition:

change:
$moderators=$DB_site->query("SELECT DISTINCT userid, user.email FROM moderator,user WHERE user.userid=moderator.userid AND moderator.forumid IN ($foruminfo[parentlist])");

to:
$moderators=$DB_site->query("SELECT DISTINCT user.userid, user.email FROM moderator,user WHERE user.userid=moderator.userid AND moderator.forumid IN ($foruminfo[parentlist])");

Psycho: make sure you didn't overwrite the } for the while() loop

Psycho 05-29-2001 03:15 AM

I changed that section of code, but still receive the same error code. the } is still there for the while loop, made sure there were 3 open and closing.

I attached the file for you to look at if you so wish, Maybe I set something wrong in it. Reason I tried to set this hack up is because the report didnt work on its own as an email, now it still isnt working.

<file removed>

DEMOLiTiON 05-29-2001 12:36 PM

ok I got this working now :)
but the reports are only send to one moderator.. is there a way to send it to all moderators and admins?
thnx

JohnM 05-29-2001 04:29 PM

First of all, it's against the license to post files. Please remove it.

for your question, your tags were a bit messed up :p

your while() loop part should be:

Code:

  while ($moderator=$DB_site->fetch_array($moderators)) {
    if ($reporttomoderator == 1 || $reporttomoderator == 3) {
              eval("\$message = \"".gettemplate("email_reportbadpost",1,0)."\";");
              eval("\$subject = \"".gettemplate("emailsubject_reportbadpost",1,0)."\";");
              mail ($moderator[email],$subject,$message,"From: \"$bbtitle Mailer\" <$webmasteremail>");
            }
            if ($reporttomoderator == 2 || $reporttomoderator == 3) {
              eval("\$message = \"".gettemplate("pm_reportbadpost",1,0)."\";");
              eval("\$subject = \"".gettemplate("pmsubject_reportbadpost",1,0)."\";");
              $DB_site->query("INSERT INTO privatemessage  (privatemessageid,userid,touserid,fromuserid,title,message,dateline,showsignature,iconid,messageread,folderid) VALUES (NULL,$moderator[userid],$moderator[userid],$bbuserinfo[userid],'$subject','$message',".time().",0,0,0,0)");
            }
  }


JohnM 05-29-2001 04:32 PM

Quote:

Originally posted by DEMOLiTiON
ok I got this working now :)
but the reports are only send to one moderator.. is there a way to send it to all moderators and admins?
thnx

it should send it to all of them... I don't see why it wouldn't... PM me your while loop part of report.php

Psycho 05-29-2001 10:16 PM

I wasnt thinking on the file, but I appreciate your help. It works great now. Thank you very much :)

Psycho 05-31-2001 09:10 PM

I know your probably getting sick of me. Ive put that code into my file which seemed to have fixed it. However, when I look at the private message it give me this

("INSERT INTO privatemessage (privatemessageid,userid,touserid,fromuserid,title
,message,dateline,showsignature,iconid,messageread
,folderid) VALUES (NULL,1,1,1,',',".time().",0,0,0,0)");

DEMOLiTiON 06-01-2001 05:17 AM

JohnM, I emailed you my report.php, please look at it :)

JohnM 06-01-2001 10:51 PM

"Look at the private message"?

Demolition: it shouldn't be doing that. are you sure you have more than one moderator? ;)

kdog316 06-02-2001 03:13 AM

i keep getting parase error and here is what my code looks like

oh and the parase is on line 68 which is ?>





PHP Code:

 while ($moderator=$DB_site->fetch_array($moderators)) { 
    if (
$reporttomoderator == || $reporttomoderator == 3) { 
      eval(
"\ = \"".gettemplate("email_reportbadpost",1,0)."\";"); 
      eval(
"\ = \"".gettemplate("emailsubject_reportbadpost",1,0)."\";"); 
      
mail ($moderator[email],$subject,$message,"From: \"$bbtitle Mailer\" <$webmasteremail>"); 
    } 
    if (
$reporttomoderator == || $reporttomoderator == 3) { 
      eval(
"\ = \"".gettemplate("pm_reportbadpost",1,0)."\";"); 
      eval(
"\ = \"".gettemplate("pmsubject_reportbadpost",1,0)."\";"); 
      
$DB_site->query("INSERT INTO privatemessage (privatemessageid,userid,touserid,fromuserid,title,message,dateline,showsignature,iconid,messageread,folderid) VALUES (NULL,$moderator[userid],$moderator[userid],$bbuserinfo[userid],'$subject','$message',".time().",0,0,0,0)"); 
    }

  
$url str_replace("\""""$url);
  eval(
"standardredirect(\"".gettemplate("redirect_reportthanks")."\",\"$url\");");
}
? > 

with out the space after the question mark

jojo85 06-02-2001 04:14 AM

Good idea,nice hack,
CONGRATS :D

daydreamer 06-28-2001 01:15 AM

"go into your control panel and select an option"

You lost me there... select an option where?

dd

daydreamer 06-28-2001 01:51 AM

Duh, found it.

Foxtroter 07-02-2001 01:04 AM

Quote:

Originally posted by kdog316
i keep getting parase error and here is what my code looks like

oh and the parase is on line 68 which is ?>





PHP Code:

 while ($moderator=$DB_site->fetch_array($moderators)) { 
    if (
$reporttomoderator == || $reporttomoderator == 3) { 
      eval(
"\ = \"".gettemplate("email_reportbadpost",1,0)."\";"); 
      eval(
"\ = \"".gettemplate("emailsubject_reportbadpost",1,0)."\";"); 
      
mail ($moderator[email],$subject,$message,"From: \"$bbtitle Mailer\" <$webmasteremail>"); 
    } 
    if (
$reporttomoderator == || $reporttomoderator == 3) { 
      eval(
"\ = \"".gettemplate("pm_reportbadpost",1,0)."\";"); 
      eval(
"\ = \"".gettemplate("pmsubject_reportbadpost",1,0)."\";"); 
      
$DB_site->query("INSERT INTO privatemessage (privatemessageid,userid,touserid,fromuserid,title,message,dateline,showsignature,iconid,messageread,folderid) VALUES (NULL,$moderator[userid],$moderator[userid],$bbuserinfo[userid],'$subject','$message',".time().",0,0,0,0)"); 
    }

  
$url str_replace("\""""$url);
  eval(
"standardredirect(\"".gettemplate("redirect_reportthanks")."\",\"$url\");");
}
? > 

with out the space after the question mark

add another } after this
PHP Code:

      $DB_site->query("INSERT INTO privatemessage (privatemessageid,userid,touserid,fromuserid,title,message,dateline,showsignature,iconid,messageread,folderid) VALUES (NULL,$moderator[userid],$moderator[userid],$bbuserinfo[userid],'$subject','$message',".time().",0,0,0,0)"); 

there should be two.

anyway i believe two other people have answered ur question.

ptegan 08-14-2001 12:48 PM

Thx !!

Nice hack.

idban 09-18-2001 04:57 AM

i just modified report.php to make this possible

JJR512 09-19-2001 08:24 AM

Quote:

Originally posted by daydreamer
"go into your control panel and select an option"

You lost me there... select an option where?

dd

Quote:

Originally posted by daydreamer
Duh, found it.
Sorry, I haven't found it yet! What option am I looking for and on which control panel (admin cp, my own user cp, what?) I can't find anything anywhere!

Also...maybe this is related to the option that I haven't set because I don't know what the option is or where it is, but after installing it, I try clicking the Report link in any thread in any forum and I get the new error message "Sorry, this feature is disabled" or whatever.

Sephi 01-22-2002 07:42 PM

Quote:

Originally posted by idban
i just modified report.php to make this possible
Thank You :D
This hack works perfectly :p

See 4 Later !

Omero 02-06-2002 10:53 AM

Bug found! If ' or " is present in the report text and the notify with PM is active, the mysql INSERT into private messages fail with mysql error!

Here is the workaround:

Change this:

PHP Code:


 
if ($reporttomoderator == || $reporttomoderator == 3) {
          eval(
"\$message = \"".gettemplate("pm_reportbadpost",1,0)."\";");
          eval(
"\$subject = \"".gettemplate("pmsubject_reportbadpost",1,0)."\";");
          
$DB_site->query("INSERT INTO privatemessage (privatemessageid,userid,touserid,fromuserid,title,message,dateline,showsignature,iconid,messageread,folderid) VALUES (NULL,$moderator[userid],$moderator[userid],$bbuserinfo[userid],'$subject','$message',".time().",0,0,0,0)");
        } 

into this

PHP Code:

 if ($reporttomoderator == || $reporttomoderator == 3) {
          eval(
"\$message = \"".gettemplate("pm_reportbadpost",1,0)."\";");
          eval(
"\$subject = \"".gettemplate("pmsubject_reportbadpost",1,0)."\";");
          
$DB_site->query("INSERT INTO privatemessage (privatemessageid,userid,touserid,fromuserid,title,message,dateline,showsignature,iconid,messageread,folderid) VALUES (NULL,$moderator[userid],$moderator[userid],$bbuserinfo[userid],'$subject','".addslashes($message)."',".time().",0,0,0,0)");
        } 

This will fix the bug, by adding the proper slashes where they are needed ;)

Stoned Gecko 02-08-2002 12:04 AM

Works great!!! Thanks!

Remi 04-07-2002 07:47 PM

Does this hack work also with 2.2.4?

Thanks

Erwin 04-08-2002 01:09 AM

Yes. Also with 2.2.5 - it's one of the best hacks around and should be standard in 3.0 methinks.

Remi 04-08-2002 01:13 PM

Thanks Erwin

I followed the instructions, but I could not find some of the Text I was asked to replace.

I must be doing something wrong :D

I will try again today :)

mas404 04-09-2002 07:49 AM

hi
it is work but nothing apper on the PM (no message )
only the temp. which I install ..
and the email working good

why??

Dylan Leblanc 07-03-2002 02:35 AM

This hack sounds cool, I was looking for something kind of like it. What I was looking for is something that would take the Report a Post messages and automatically post them into a private moderators forum.

Would this be possible?

Pilot 07-08-2002 08:01 PM

Is the original attachment updated with the fixes?

Seifer 07-09-2002 04:54 AM

Quote:

Parse error: parse error, unexpected '=' in /home/plasmic/www/forums/report.php(66) : eval()'d code on line 1

Parse error: parse error, unexpected '=' in /home/plasmic/www/forums/report.php(67) : eval()'d code on line 1
Uh...help?

Seifer 07-09-2002 05:06 AM

Also, when I tested it, the moderator said the PM is there, but there's no subject or link or anything. The PM said it was from me, but that's it she said.

Seifer 07-09-2002 05:11 AM

She sent me this image:

Edit: Also, when tried with e-mails, the e-mails are blank too.

Exo 10-06-2002 10:18 PM

same here

Parse error: parse error in /home/www/web3/html/report.php(62) : eval()'d code on line 1

Parse error: parse error in /home/www/web3/html/report.php(63) : eval()'d code on line 1

Parse error: parse error in /home/www/web3/html/report.php(62) : eval()'d code on line 1

Parse error: parse error in /home/www/web3/html/report.php(63) : eval()'d code on line 1

Exo 10-07-2002 09:38 PM

plz someone help us!!

Zelda-King 11-27-2002 09:23 PM

I'm using vBulletin 2.2.9 and the last three report.php edits don't exist. The script is different. I tried installing the hack. Looked promising then I got untold parse errors and though the PMs/emails would send they would be blank.

Sebastian 11-29-2002 01:10 AM

Quote:

Originally posted by Zelda-King
I'm using vBulletin 2.2.9 and the last three report.php edits don't exist. The script is different. I tried installing the hack. Looked promising then I got untold parse errors and though the PMs/emails would send they would be blank.
I wouldn't even bother installing it, this is one of the worst poorly written hacks I've ever seen. It would be nice if someone could rewrite it.


All times are GMT. The time now is 06:11 AM.

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.01447 seconds
  • Memory Usage 1,871KB
  • 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
  • (2)bbcode_code_printable
  • (5)bbcode_php_printable
  • (7)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (40)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