Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Details »»

Version: , by WreckRman2 WreckRman2 is offline
Developer Last Online: Jul 2014 Show Printable Version Email this Page

Version: 2.2.x Rating:
Released: 02-14-2001 Last Update: Never Installs: 14
 
No support by the author.

An update to the hack posted by chrispadfield at http://www.vbulletin.com/forum/showt...threadid=8582.

Updates:

1. Modified the look of page to match that of the email page.

2. Added select fields to send message to.

4. Fixed $adminuser and set to a hidden field.

Enjoy!

PHP Code:

<?php

require("./global.php");

adminlog();

cpheader();

  if (
$action=="") {

  echo 
"<p>In the private message, you may use \$username, \$password and \$email.</p>";
  
doformheader("masspm","masspm");

  
makehiddencode("fromuserid","$bbuserid");
  
makeinputcode("Subject:","title");
  
maketextareacode("Message:","message","",10,40);

  echo 
"<tr><td colspan=2><b>Private message to users where:</b></td></tr>\n";
  
makeinputcode("User Name contains","ausername");
  if (
$pwdincp!=0) {
    
makeinputcode("and password contains","apassword");
  }
  
makechoosercode("and usergroup is","usergroupid","usergroup",-1,"Any");
  
makeinputcode("and email contains","aemail");
  
makeinputcode("and parent's email contains","parentemail");
  
makeinputcode("and is coppa user (yes, no, blank for don't mind)","coppauser");
  
makeinputcode("and homepage contains","homepage");
  
makeinputcode("and ICQ Number contains","icq");
  
makeinputcode("and AIM Handle contains","aim");
  
makeinputcode("and Yahoo Messenger Handle contains","yahoo");
  
makeinputcode("and Biography contains","biography");
  
makeinputcode("and Signature contains","signature");
  
makeinputcode("and User Title contains","usertitle");
  
makeinputcode("and Join Date is after<br>(Format yyyy-mm-dd, leave blank for today)","joindateafter");
  
makeinputcode("and Join Date is before<br>(Format yyyy-mm-dd, leave blank for today)","joindatebefore");
  
makeinputcode("and Last Visit is after<br>(Format yyyy-mm-dd hh:mm:ss, leave blank for today)","lastvisitafter");
  
makeinputcode("and Last Visit is before<br>(Format yyyy-mm-dd hh:mm:ss, leave blank for today)","lastvisitbefore");
  
makeinputcode("and Last Post is after<br>(Format yyyy-mm-dd hh:mm:ss, leave blank for today)","lastpostafter");
  
makeinputcode("and Last Post is before<br>(Format yyyy-mm-dd hh:mm:ss, leave blank for today)","lastpostbefore");
  
makeinputcode("and Number of Posts is greater than","postslower");
  
makeinputcode("and Number of Posts is less than","postsupper");

  
doformfooter();
}

if (
$action=="masspm") {   

if (
$condition=="") {

    
$condition="1=1";
    if (
$ausername!="") {
      
$condition.=" AND INSTR(username,'".addslashes(htmlspecialchars($ausername))."')>0";
    }
    if (
$apassword!="") {
      
$condition.=" AND INSTR(password,'".addslashes($apassword)."')>0";
    }
    if (
$usergroupid!=-and $usergroupid!="") {
      
$condition.=" AND usergroupid=$usergroupid";
    }
    if (
$aemail!="") {
      
$condition.=" AND INSTR(email,'".addslashes(htmlspecialchars($aemail))."')>0";
    }
    if (
$parentemail!="") {
      
$condition.=" AND INSTR(parentemail,'".addslashes(htmlspecialchars($parentemail))."')>0";
    }
    
$coppauser=strtolower($coppauser);
    if (
$coppauser=="yes") {
      
$condition.=" AND coppauser=1";
    }
    if (
$coppauser=="no") {
      
$condition.=" AND coppauser=0";
    }
    if (
$homepage!="") {
      
$condition.=" AND INSTR(homepage,'".addslashes(htmlspecialchars($homepage))."')>0";
    }
    if (
$icq!="") {
      
$condition.=" AND INSTR(icq,'".addslashes(htmlspecialchars($icq))."')>0";
    }
    if (
$aim!="") {
      
$condition.=" AND INSTR(aim,'".addslashes(htmlspecialchars($aim))."')>0";
    }
    if (
$yahoo!="") {
      
$condition.=" AND INSTR(yahoo,'".addslashes(htmlspecialchars($yahoo))."')>0";
    }
    if (
$biography!="") {
      
$condition.=" AND INSTR(biography,'".addslashes(htmlspecialchars($biography))."')>0";
    }
    if (
$signature!="") {
      
$condition.=" AND INSTR(signature,'".addslashes($signature)."')>0";
    }
    if (
$usertitle!="") {
      
$condition.=" AND INSTR(usertitle,'".addslashes($usertitle)."')>0";
    }
    if (
$joindateafter!="") {
      
$condition.=" AND joindate>UNIX_TIMESTAMP('".addslashes($joindateafter)."')";
    }
    if (
$joindatebefore!="") {
      
$condition.=" AND joindate<UNIX_TIMESTAMP('".addslashes($joindatebefore)."')";
    }
    if (
$lastvisitafter!="") {
      
$condition.=" AND lastvisit>UNIX_TIMESTAMP('".addslashes($lastvisitafter)."')";
    }
    if (
$lastvisitbefore!="") {
      
$condition.=" AND lastvisit<UNIX_TIMESTAMP('".addslashes($lastvisitbefore)."')";
    }
    if (
$lastpostafter!="") {
      
$condition.=" AND lastpost>UNIX_TIMESTAMP('".addslashes($lastpostafter)."')";
    }
    if (
$lastpostbefore!="") {
      
$condition.=" AND lastpost<UNIX_TIMESTAMP('".addslashes($lastpostbefore)."')";
    }
    if (
$postslower!="") {
      
$condition.=" AND posts>'$postslower'";
    }
    if (
$postsupper!="") {
      
$condition.=" AND posts<'$postsupper'";
    }
  }

$users=$DB_site->query("SELECT userid,username,password,email FROM user WHERE $condition");
    
    while (
$user=$DB_site->fetch_array($users)) {

    
$userid=$user[userid];
    
$message=$message;
    
$message=str_replace("\$email",$user[email],$message);
    
$message=str_replace("\$username",$user[username],$message);
    
$message=str_replace("\$password",$user[password],$message);

    
$sql=$DB_site->query("INSERT INTO privatemessage (privatemessageid, folderid, userid, touserid, fromuserid, title, message, dateline, showsignature, iconid, messageread) VALUES (NULL, '0', '$user[userid]', '$user[userid]', '$fromuserid', '".addslashes($title)."', '".addslashes($message)."', UNIX_TIMESTAMP(), '1', '0', '0')");
    
echo 
"PM sent to $user[userid] <br>";

    }
  }
    
?>

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #2  
Old 02-15-2001, 09:00 AM
Guest
 
Posts: n/a
Default

oh wicked, glad someone made these changes, saved me doing it
Reply With Quote
  #3  
Old 02-15-2001, 12:49 PM
Guest
 
Posts: n/a
Default

very nice man
thanks alot..
Reply With Quote
  #4  
Old 02-15-2001, 05:28 PM
Guest
 
Posts: n/a
Default

Wow, that was quick and easy --

Is there anyway you can limit who it gets sent to?
(using the last visited, or join date fields)

Our board is over a year old and I just sent all these old users a test message which is a waste since they are long gone. Since my board is event based, if they are gone for more than a few months they probablyaren't coming back (which is fine!)
Reply With Quote
  #5  
Old 02-15-2001, 07:05 PM
Guest
 
Posts: n/a
Default

me2be, it is just a matter of ammending the SELECT user line and adding an extra condition after WHERE. I will try and get the exact command i don't know how to do it with dates at the moment but someone might.
Reply With Quote
  #6  
Old 02-15-2001, 07:08 PM
Guest
 
Posts: n/a
Default

How about an addition, to MassPM a specific group so you can send to lets say only moderators, I think that would be nice.
Reply With Quote
  #7  
Old 02-15-2001, 08:19 PM
Guest
 
Posts: n/a
Default

I have updated the code which adds the select user statments. Also removed the icons as they really aren't needed... Enjoy!
Reply With Quote
  #8  
Old 02-15-2001, 08:31 PM
Guest
 
Posts: n/a
Default

What does this mean? It still shows the forum underneath the errors:

Warning: Cannot add header information - headers already sent by (output started at /usr/local/etc/httpd/***/admin/masspm.php:2) in /usr/local/etc/httpd/***/admin/global.php on line 68

Warning: Cannot add header information - headers already sent by (output started at /usr/local/etc/httpd/***/admin/masspm.php:2) in /usr/local/etc/httpd/***/admin/global.php on line 69

Warning: Cannot add header information - headers already sent by (output started at /usr/local/etc/httpd/***/admin/masspm.php:2) in /usr/local/etc/httpd/***/admin/global.php on line 70

Warning: Cannot add header information - headers already sent by (output started at /usr/local/etc/httpd/***/admin/masspm.php:2) in /usr/local/etc/httpd/***/admin/global.php on line 71

Warning: Cannot add header information - headers already sent by (output started at /usr/local/etc/httpd/***/admin/masspm.php:2) in /usr/local/etc/httpd/***/admin/global.php on line 128
Reply With Quote
  #9  
Old 02-15-2001, 08:43 PM
Guest
 
Posts: n/a
Default

Not sure why you would get header errors... Maybe you have a space on the first line of your code?

Try the zipped file attached below...
Reply With Quote
  #10  
Old 02-15-2001, 08:56 PM
Guest
 
Posts: n/a
Default

Yay!!! It worked!!!!! ** happy dance **
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:56 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05859 seconds
  • Memory Usage 2,337KB
  • Queries Executed 23 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (9)postbit
  • (1)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • 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
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete