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
Send User a PM on Birthday Details »»
Send User a PM on Birthday
Version: 1.00, by melondog melondog is offline
Developer Last Online: May 2002 Show Printable Version Email this Page

Version: 2.2.x Rating:
Released: 04-01-2002 Last Update: Never Installs: 1
 
No support by the author.

Ok, I made a little hack to send users a PM on their Birthday.

Fixed

First, make a new file, pmbday.txt, and chmod it to 777.

Next open index.php and add this code:

Quote:
// send PM if Birthday
$message = "Your message here.\n";
$title = "Happy Birthday!!";
$username = $bbuserinfo['username'];

if(vbdate('m-d', time()) == substr($bbuserinfo['birthday'], 5)){
$file = file("pmbday.txt");
while(list(,$value) = each($file)){
list($user, $date) = explode("|", $value);
if($username == $user){
}else{

$touserid = $bbuserinfo['userid'];

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

if($noshutdownfunc){
$DB_site->query("UPDATE user SET pmpopup=2 WHERE userid=$touserid");
}else{
$shutdownqueries[]="UPDATE LOW_PRIORITY user SET pmpopup=2 WHERE userid=$touserid";
}

$date = date("m.d.y");
$fp = fopen("pmbday.txt", a);
fputs($fp, "$username|$date|\n");
fclose($fp);
}
}
}
You can add it pretty much anywhere in index.php.

If you have questions or comments, feel free to post them.

Show Your Support

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

Comments
  #2  
Old 04-02-2002, 07:42 PM
defnot's Avatar
defnot defnot is offline
 
Join Date: Nov 2001
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

great !!! thx for this hack !!
Reply With Quote
  #3  
Old 04-02-2002, 07:47 PM
melondog's Avatar
melondog melondog is offline
 
Join Date: Mar 2002
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks. I will be adding more hacks as I make them.
Reply With Quote
  #4  
Old 04-02-2002, 08:59 PM
hidjra hidjra is offline
 
Join Date: Jan 2002
Location: Amsterdam
Posts: 48
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Why do i receive 17 pm's???
Reply With Quote
  #5  
Old 04-02-2002, 09:03 PM
wooolF[RM]'s Avatar
wooolF[RM] wooolF[RM] is offline
 
Join Date: Jan 2002
Posts: 524
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

]LOL I have birthday only once a year...
Reply With Quote
  #6  
Old 04-02-2002, 09:29 PM
Freddie Bingham's Avatar
Freddie Bingham Freddie Bingham is offline
 
Join Date: Oct 2001
Posts: 506
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hmm what happens if the user doesn't accept cookies?

Oh they get a pm for every view of index.php
Reply With Quote
  #7  
Old 04-02-2002, 09:55 PM
wooolF[RM]'s Avatar
wooolF[RM] wooolF[RM] is offline
 
Join Date: Jan 2002
Posts: 524
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

]good idea for spamming....
Reply With Quote
  #8  
Old 04-02-2002, 09:55 PM
TWTCommish's Avatar
TWTCommish TWTCommish is offline
 
Join Date: Oct 2001
Location: Pittsburgh, PA, USA
Posts: 783
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I think this hack needs a switch to specify the birthday PM as having already been sent.
Reply With Quote
  #9  
Old 04-03-2002, 09:11 AM
pwr_sneak pwr_sneak is offline
 
Join Date: Oct 2001
Location: Germany
Posts: 19
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

how about sending the PM when the system updates the birthday-templates once per day (first hit after midnight) ?
search for "if ($showbirthdays) {" in your index.php and for "function getbirthdays() {" in admin/functions.php
I'd change the while-loop inside getbirthdays() to send the PM or create a new function wich is called from within that loop.
Maybe You can create new templates for the message and the title and give fromuserid its own variable to let the admin decide which userid is the sender of this message.

I'd make this changes on my own, but i don't have the time and melondog needs to learn

sneak
Reply With Quote
  #10  
Old 04-03-2002, 03:23 PM
melondog's Avatar
melondog melondog is offline
 
Join Date: Mar 2002
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, I didn't realize this, it was a quick hack. I will have a fixed version for you guys soon. Thanks pwr_sneak for the tips.
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 08:08 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.10488 seconds
  • Memory Usage 2,289KB
  • 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_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
  • (1)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
  • (10)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