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)
-   -   Mass Pm (https://vborg.vbsupport.ru/showthread.php?t=8582)

chrispadfield 02-13-2001 10:00 PM

Ok my first hack (and very simple)

What it does is lets an admin pm everyone. This is very simple at the moment and could be made more complicated like the email one in later versions. It only pm's people who have set pm to on in their profile.

I have attached the file but this is it:

PHP Code:

<?
require("./global.php");
    
echo "<html><body>";

echo "<h1>Mass PM</h1><br>";
echo "This will send a pm to every user who has set receive pm on.";
echo "<FORM METHOD=\"post\" ACTION=\"$PHP_SELF\">";
echo "Your user number:<br>";
echo "<INPUT type=\"text\" NAME=\"adminuser\" value=\"$adminuser\" SIZE=5></P>";
echo "PM Title:<br>";
echo "<INPUT type=\"text\" NAME=\"title\"  SIZE=\"40\"></P>";
echo "Message:<br>";
echo "<textarea name=\"message\" rows=\"8\" cols=\"0\"></textarea><br>";
echo "<INPUT type=\"hidden\" NAME=\"action\" value=\"do\">";
echo "<INPUT type=\"submit\" NAME=\"Submit\">";
echo "<P><P><P>";



if ($action=="do") {

echo "<html><body>";
    

    
$forums=$DB_site->query("SELECT userid,username FROM user WHERE receivepm=1 ORDER BY userid");
    
    while ($forum=$DB_site->fetch_array($forums)) {
    

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

this is my first mod so i would like comments on what i am doing wrong!

p.s. do i get an award for the first v2.0 mod?

02-14-2001 07:21 AM

Edit your thread here if you can and add a 2.0 to the title line, so we know its for 2.0.

02-14-2001 09:51 AM

44 views, so is anyone using it ?

02-14-2001 10:36 AM

does it work on v1.14? thanks for your nice hack

02-14-2001 10:41 AM

i don't know what the table structure is for 1.4, if you post the table structure here for me i can edit it so that it will work.

02-14-2001 12:48 PM

i'm new, i dunno where can i get it. sorry~~~ thanks for replied

02-14-2001 01:12 PM

you are using v 1.4 are you? (i would recommend upgrading) but if you don't want to.

install phpmyadmin from www.phpwizard.com (i think that is right, otherwise search for it at www.hotscripts.com

Then once installed (it is very useful) click on your database with your forum in it and then you should see all the tables appear. Click on the privatemessage one and copy and paste the next page. It just shows me what the names of the columns are.

02-14-2001 01:38 PM

i'm not sure is this you looking for.
msgid mediumint(8) UNSIGNED No auto_increment Change Drop Primary Index Unique
toid smallint(5) UNSIGNED No 0 Change Drop Primary Index Unique
fromid smallint(5) UNSIGNED No 0 Change Drop Primary Index Unique
title varchar(100) No Change Drop Primary Index Unique
text mediumtext No Change Drop Primary Index Unique
datetime datetime No 0000-00-00 00:00:00 Change Drop Primary Index Unique
signature tinyint(4) No 0 Change Drop Primary Index Unique
iconid smallint(5) No 0 Change Drop Primary Index Unique

Thanks a lot for all your helping

02-15-2001 12:10 AM

Chris,

I just used it for a little over 1,500 members and it was FAST!

Thanks for the great add-on!

02-15-2001 12:33 AM

cool, glad someone used it. I have already sent 2 to my members, it is a little difficult to contain oneself ;)

02-15-2001 12:50 AM

It would be ever so more resourceful if the hack was to only save the message once into a "systemmessage" table that each user would then receive a message from. You could stick a "lastreadsystemmessagetime" field into the user table to figure out which users have read the message.

02-15-2001 12:57 AM

Quote:

Originally posted by freddie
It would be ever so more resourceful if the hack was to only save the message once into a "systemmessage" table that each user would then receive a message from. You could stick a "lastreadsystemmessagetime" field into the user table to figure out which users have read the message.
Damn smarty-pants! ;)

02-15-2001 12:57 AM

true and it was something i thought about although slughtly differently. In the end this was a lot quicker and combine with a 30 day expiry date script of pms send by admin (me) which have not been read it will quickly get rid of those ones you don't need there any more.

Also, how under your suggestion would you do it for more than one message? arn't you then going to need more than one column in the user profile field or in the end perhaps an extra table linking user with adminmessage - by the time you have done that you loose most of the gains you started with.

02-15-2001 06:08 AM

Worked for me... other then the $adminuser. Thanks!

PS. Maybe you could upgrade the style sheet to match the rest of the admin area. :)

02-15-2001 08:03 AM

Heck you did the hard part so I thought I could clean the look of the page up for you/me...

Updated code at http://www.vbulletin.com/forum/showt...?threadid=8742

02-15-2001 09:01 AM

cool thanks.

next little thing is to let you select usergroups so that you can say send one to all your moderators.. soon i hope.

theprof 04-08-2001 09:14 AM

Is there one for vb 1.14? If so,c an you please provide the code?:cool:

John Harrison 04-08-2001 10:12 AM

Quote:

Originally posted by theprof
Is there one for vb 1.14? If so,c an you please provide the code?:cool:
I dont think there is one.
As this was released for v2.0

But if there was to be one it would be for v1.1.6 most likely.

wolfe 10-07-2002 07:40 PM

where do u put the codeing?

Xenon 10-07-2002 07:43 PM

you have to create a new file and insert it there, most likely into the adminfolder

wolfe 10-08-2002 02:24 PM

should it be names something specific?

Xenon 10-08-2002 02:43 PM

nope

wolfe 10-13-2002 12:19 AM

tx works

Javazoid 03-12-2003 03:15 AM

where do i put this text and what do i name the file and where do i put that?

where is this feature shown? in admin cp or user cp.

thanks

i looked up at the other posts but i created a file named masspm.php and put that code in it in my admin folder and it dun work. thanks

Erwin 03-12-2003 05:31 AM

Put it in the admin folder, and run the file from the admin folder. If you edit the admin/index.php and add a link to it from there, it will show up in your admin folder.


All times are GMT. The time now is 08:31 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.01624 seconds
  • Memory Usage 1,760KB
  • 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
  • (1)bbcode_php_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (25)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
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete