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
  #22  
Old 07-28-2001, 09:50 AM
The Realist's Avatar
The Realist The Realist is offline
 
Join Date: Oct 2001
Location: UK
Posts: 842
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have done the below but still getting the problem were the first name in the first message is being sent in all PM'ed messages.

Help!


Quote:
Originally posted by marl
subst:
Code:
    $message=str_replace("$email",$user[email],$message);
    $message=str_replace("$username",$user[username],$message);
    $message=str_replace("$password",$user[password],$message);
with:

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

(add slashes before $ otherwise it will parse as a var) :-)
Reply With Quote
  #23  
Old 07-31-2001, 06:44 PM
fury's Avatar
fury fury is offline
 
Join Date: Oct 2001
Location: Indiana
Posts: 108
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That is what I am experiencing too

Also, with the next update to this script, if possible could you make an "Are you sure" screen that allows you to select which users should and should not receive the message?
Reply With Quote
  #24  
Old 07-31-2001, 06:48 PM
The Realist's Avatar
The Realist The Realist is offline
 
Join Date: Oct 2001
Location: UK
Posts: 842
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Solved the problem by running the repair script.
Reply With Quote
  #25  
Old 08-01-2001, 07:15 AM
veedee veedee is offline
 
Join Date: Oct 2001
Posts: 117
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

great hack !!!

I havent used it yet as i havent thought of a good enough subject to PM my users with !!!

here is a screen shot !!

Reply With Quote
  #26  
Old 08-16-2001, 09:22 AM
Dioxin Dioxin is offline
 
Join Date: Oct 2001
Posts: 20
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok, found the error regarding the username not correctly parsed:

change this on:

PHP Code:
    $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')"); 
to this one:

PHP Code:
    $messagetosend=$message;
    
$messagetosend=str_replace("\$email",$touserinfo[email],$messagetosend);
    
$messagetosend=str_replace("\$username",$touserinfo[username],$messagetosend);
    
$messagetosend=str_replace("\$password",$touserinfo[password],$messagetosend);

    
$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(htmlspecialchars($title))."','".addslashes($messagetosend)."',".time().",'1','0','0')"); 
Reply With Quote
  #27  
Old 08-21-2001, 12:45 AM
DarkReaper DarkReaper is offline
 
Join Date: Oct 2001
Posts: 429
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by The Realist
Solved the problem by running the repair script.
What repair script? I get the problem where if I have a message with something like "Your username: $username" then it says the username of me(id = 1). I've got a slash before the $ on each one of them...
Reply With Quote
  #28  
Old 08-21-2001, 12:52 AM
JoshFink JoshFink is offline
 
Join Date: Nov 2001
Posts: 207
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is there an updated version with all the fixes?

Thanks,

Josh
Reply With Quote
  #29  
Old 08-26-2001, 09:04 PM
butty butty is offline
 
Join Date: Nov 2001
Location: manchester, uk
Posts: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

yeah i wouldnt mind installin this one but with all the changes and stuff its baffled me a bit so il have 2 leave it for the sake of my forum!!!!!
Reply With Quote
  #30  
Old 08-26-2001, 09:48 PM
Pulsorock Pulsorock is offline
 
Join Date: Oct 2001
Posts: 111
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I install this, but it doesn't parsed the information (username, email, password). I also noticed that the user doesn't get a msg pop-up even when they specified to get a pop-up when new PM arrive.
Reply With Quote
  #31  
Old 11-04-2001, 11:30 PM
Nam's Avatar
Nam Nam is offline
 
Join Date: Oct 2001
Location: NY
Posts: 206
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

is there new version for 2.2.0?

I've just install it to my new version 2.2.0, it works perfectly, just have some suggestions.

1. "search for pass" is meangless now, since new version has encrypted pass, please remove it.

2. We really need Save function that keep all of our mass PM to users in Send Folder box. To keep for the record.
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:52 AM.


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.05430 seconds
  • Memory Usage 2,385KB
  • Queries Executed 25 (?)
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
  • (2)bbcode_code
  • (3)bbcode_php
  • (2)bbcode_quote
  • (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
  • (4)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)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