Version: 1.00, by ChurchMedia
Developer Last Online: Jun 2013
Version: 3.0.3
Rating:
Released: 03-17-2004
Last Update: Never
Installs: 115
No support by the author.
This hack is inspired by the Birthday Hack for vB2 by Logician. It will automatically create a Happy Birthday thread in a specified forum, listing the people with birthdays for that day. Then other members can post their happy birthday wishes in the thread.
I had the original hack installed on my VB2 board and when I upgraded to VB3 my members missed it. Luckily, it's really easy to implement.
--------------------------------------
Files to modify: /includes/cron/birthday.php
--------------------------------------
Instructions are in the attached text file. The mod should take about 5 minutes.
Be sure to change the variables that say // CHANGE ME
You can customize the message in the $birthday_greeting_thread variable. You could also ad IMG tags with an image of some kind, like in my screenshot.
Note that you MUST turn on BB CODE in you birthday forum in order for this to work properly.
--------------------------------------
Enjoy (and thanks for the inspiration, Logician!)
--------------------------------------
New in Version 2.0:
Bug fixes:
> More accurate age calculation. Sometimes it was a year off.
> The correct thread shows up in the last thread post on the forum home page.
> HTML is not required to be turned on in the birthday forum.
> Most of the code is completely rewritten to vB3 standards.
New features:
> Improved look
> Birthday line now says: (User) was born on (date), (AGE: xx)
> If the year is not given, it says "Not telling! " for age.
> The admin is emailed a list of the birthdays with links to their profiles and a link to the happy birthday thread.
> If you use the uShop/uCash hack, you can give birthday points to the users
Upgrading:
Since the code has changed so drastically, I suggest starting with a fresh copy of birthday.php and following the instructions for a new install.
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
Parse error: parse error in /home/httpd/vhosts/dominio.com/httpdocs/foros/includes/cron/birthday.php on line 59
All Done
in line 59 is this $birthday_greeting_thread = <<< EOF
total php birthday
Code:
<?php
/*======================================================================*\
|| #################################################################### ||
|| # vBulletin 3.0.0 Release Candidate 4 - Licence Number 81xxxxxx
|| # ---------------------------------------------------------------- # ||
|| # Copyright ?2000?2004 Jelsoft Enterprises Ltd. All Rights Reserved. ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| #################################################################### ||
\*======================================================================*/
error_reporting(E_ALL & ~E_NOTICE);
if ($DB_site == NULL)
{
exit;
}
$today = date('m-d', TIMENOW);
$ids = '0';
foreach($usergroupcache AS $usergroupid => $usergroup)
{
if ($usergroup['genericoptions'] & SHOWBIRTHDAY)
{
$ids .= ",$usergroupid";
}
}
$birthdays = $DB_site->query("
SELECT username, email, languageid, birthday, userid
FROM " . TABLE_PREFIX . "user
WHERE birthday LIKE '$today-%' AND
(options & $_USEROPTIONS[adminemail]) AND
usergroupid IN ($ids)
");
vbmail_start();
while ($userinfo = $DB_site->fetch_array($birthdays))
{
$username = unhtmlspecialchars($userinfo['username']);
eval(fetch_email_phrases('birthday', $userinfo['languageid']));
vbmail($userinfo['email'], $subject, $message);
$emails .= iif($emails, ', ');
$emails .= $userinfo['username'];
$bday_people .= "<a href=\"member.php?u=".$userinfo['userid']."\">".$username."</a>, born ".$userinfo['birthday']."\n";
}
vbmail_end();
if ($emails)
{
log_cron_action('Birthday Email sent to: ' . $emails, $nextitem);
// Create Birthday Thread Hack
$birthday_greeting_thread = <<< EOF
Felicidades amigos,
que tengais un gran dia de cumplea?os, que os regalen muchas cosas y
que sea el dia mas feliz de vuestra vida!
Que os lo paseis bien y recordar que este foro esta con vosotros...
$bday_people
EOF;
$greeter=11290; //Your User ID
$greeter_name="Administrador"; //Your User Name
$greetings_forum=148; //enter the forum id that you want the thread to go into
$todays_date11= date("F j, Y", mktime (date("H")+$timeset, date("i"), date("s"), date("m"), date("d"), date("Y")));
$title3= "Feliz Cumplea?os a Todos los miembros que cumplen a?os el ";
$title3.=$todays_date11;
$DB_site->query("INSERT INTO thread (threadid,title,lastpost,forumid,open,replycount,postusername,postuserid,lastpos ter,dateline,iconid,visible,attach) VALUES (NULL,'".addslashes(htmlspecialchars($title3))."','".time()."','$greetings_forum','1','0','".addslashes($greeter_name)."','$greeter','".addslashes($greeter_name)."','".time()."','0','1','0')");
$log_threadid=$DB_site->insert_id();
// Creating Post
$DB_site->query("INSERT INTO post (postid,threadid,title,username,userid,dateline,pagetext,allowsmilie,showsignatu re,ipaddress,iconid,visible) VALUES (NULL,'$log_threadid','".addslashes(htmlspecialchars($title3))."','".addslashes($greeter_name)."','$greeter','".time()."','".addslashes($birthday_greeting_thread)."','1','0','127.0.0.1','0','1')");
// End Create Birthday Thread Hack
}
/*======================================================================*\
|| ####################################################################
|| # Downloaded: 05:43, Sun Feb 8th 2004
|| # CVS: $RCSfile: birthday.php,v $ - $Revision: 1.24 $
|| ####################################################################
\*======================================================================*/
?>
Parse error: parse error in /home/httpd/vhosts/dominio.com/httpdocs/foros/includes/cron/birthday.php on line 59
All Done
in line 59 is this $birthday_greeting_thread = <<< EOF
total php birthday
Code:
<?php
/*======================================================================*\
|| #################################################################### ||
|| # vBulletin 3.0.0 Release Candidate 4 - Licence Number 81xxxxxx
|| # ---------------------------------------------------------------- # ||
|| # Copyright ?2000?2004 Jelsoft Enterprises Ltd. All Rights Reserved. ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| #################################################################### ||
\*======================================================================*/
error_reporting(E_ALL & ~E_NOTICE);
if ($DB_site == NULL)
{
exit;
}
$today = date('m-d', TIMENOW);
$ids = '0';
foreach($usergroupcache AS $usergroupid => $usergroup)
{
if ($usergroup['genericoptions'] & SHOWBIRTHDAY)
{
$ids .= ",$usergroupid";
}
}
$birthdays = $DB_site->query("
SELECT username, email, languageid, birthday, userid
FROM " . TABLE_PREFIX . "user
WHERE birthday LIKE '$today-%' AND
(options & $_USEROPTIONS[adminemail]) AND
usergroupid IN ($ids)
");
vbmail_start();
while ($userinfo = $DB_site->fetch_array($birthdays))
{
$username = unhtmlspecialchars($userinfo['username']);
eval(fetch_email_phrases('birthday', $userinfo['languageid']));
vbmail($userinfo['email'], $subject, $message);
$emails .= iif($emails, ', ');
$emails .= $userinfo['username'];
$bday_people .= "<a href=\"member.php?u=".$userinfo['userid']."\">".$username."</a>, born ".$userinfo['birthday']."\n";
}
vbmail_end();
if ($emails)
{
log_cron_action('Birthday Email sent to: ' . $emails, $nextitem);
// Create Birthday Thread Hack
$birthday_greeting_thread = <<< EOF
Felicidades amigos,
que tengais un gran dia de cumplea?os, que os regalen muchas cosas y
que sea el dia mas feliz de vuestra vida!
Que os lo paseis bien y recordar que este foro esta con vosotros...
$bday_people
EOF;
$greeter=11290; //Your User ID
$greeter_name="Administrador"; //Your User Name
$greetings_forum=148; //enter the forum id that you want the thread to go into
$todays_date11= date("F j, Y", mktime (date("H")+$timeset, date("i"), date("s"), date("m"), date("d"), date("Y")));
$title3= "Feliz Cumplea?os a Todos los miembros que cumplen a?os el ";
$title3.=$todays_date11;
$DB_site->query("INSERT INTO thread (threadid,title,lastpost,forumid,open,replycount,postusername,postuserid,lastpos ter,dateline,iconid,visible,attach) VALUES (NULL,'".addslashes(htmlspecialchars($title3))."','".time()."','$greetings_forum','1','0','".addslashes($greeter_name)."','$greeter','".addslashes($greeter_name)."','".time()."','0','1','0')");
$log_threadid=$DB_site->insert_id();
// Creating Post
$DB_site->query("INSERT INTO post (postid,threadid,title,username,userid,dateline,pagetext,allowsmilie,showsignatu re,ipaddress,iconid,visible) VALUES (NULL,'$log_threadid','".addslashes(htmlspecialchars($title3))."','".addslashes($greeter_name)."','$greeter','".time()."','".addslashes($birthday_greeting_thread)."','1','0','127.0.0.1','0','1')");
// End Create Birthday Thread Hack
}
/*======================================================================*\
|| ####################################################################
|| # Downloaded: 05:43, Sun Feb 8th 2004
|| # CVS: $RCSfile: birthday.php,v $ - $Revision: 1.24 $
|| ####################################################################
\*======================================================================*/
?>
I get the same error as well...Forced to uninstall...