vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.0 Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=33)
-   -   Automatic Birthday Thread (https://vborg.vbsupport.ru/showthread.php?t=62613)

EvilLS1 04-25-2004 11:58 PM

Quote:

Originally Posted by lasto
church media one request if possible - can this be set to ignore zero posters ?

Yep. I added that and a few other options to mine.

In birthday.php find:
Code:

$birthdays = $DB_site->query("
    SELECT username, email, languageid, birthday, userid

Replace it with:
Code:

$birthdays = $DB_site->query("
        SELECT username, email, languageid, posts, userid, birthday

Find:
Code:

        $emails .= iif($emails, ', ');
        $emails .= $userinfo['username'];

Below it add:
Code:

$posts = $userinfo[posts];
Find:
Code:

// Create Birthday Thread Hack
Below it add:
Code:

if ($posts>='1')
{

You can change the "1" in the code above to whatever you want the minium posts for birthday threads to be


Find:
Code:

// End Create Birthday Thread Hack
Above it add:
Code:

}
If you also want to limit the birthday threads & emails to users who have visited the site within the time set in your admin panel for showing birthdays on forum home do this:

In birthday.php find:
Code:

$birthdays = $DB_site->query("
Above it add:
Code:

        if ($vboptions['birthdaydatecut'])
        {
                $datecut = TIMENOW - (intval($vboptions['birthdaydatecut']) * 86400);
                $activitycut = "AND lastactivity >= $datecut";
        }
        else
        {
                $activitycut = '';
        }

Find:
Code:

    (options & $_USEROPTIONS[adminemail]) AND
    usergroupid IN ($ids)
");

Replace it with:
Code:

        (options & $_USEROPTIONS[adminemail]) AND
        usergroupid IN ($ids) $activitycut
");


ChurchMedia 04-26-2004 01:57 AM

Quote:

Originally Posted by lasto
church media one request if possible - can this be set to ignore zero posters ?

Another way to do that (but not as much control) is to change:

Code:

$birthdays = $DB_site->query("
        SELECT username, email, languageid, birthday, userid
        FROM " . TABLE_PREFIX . "user
        WHERE birthday LIKE '$today-%' AND
        usergroupid IN ($ids)
");

to

Code:

$birthdays = $DB_site->query("
        SELECT username, email, languageid, birthday, userid
        FROM " . TABLE_PREFIX . "user
        WHERE birthday LIKE '$today-%' AND
        usergroupid IN ($ids) AND lastpost !=0
");

That would only select users that have posted. I haven't tested it, but it should work.

EvilLS1's version gives you a lot more options.

jp2 05-07-2004 03:55 PM

How do you turn it off??? :-S

ChurchMedia 05-07-2004 04:53 PM

Turn off what? The automatic email or the automatic thread?

jp2 05-09-2004 04:40 PM

The automatic thread.

ChurchMedia 05-09-2004 10:12 PM

Sure -- just put a \\ in front of all of the lines that relate to thread creation -- or delete everything that you hacked in.

jp2 05-10-2004 03:15 PM

Thanks! :)

jons5150 05-10-2004 09:21 PM

Parse error: parse error in /home/virtual/site1/fst/var/www/html/forums/includes/cron/birthday.php on line 86

<?php
/*================================================= =====================*\
|| ################################################## ################## ||
|| # vBulletin 3.0.1 - Licence Number XXXXXXXXXX
|| # ---------------------------------------------------------------- # ||
|| # 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 (!is_object($DB_site))
{
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";
$bday_title .= $username.", ";


vbmail_end();

if ($emails)
{
log_cron_action('Birthday Email sent to: ' . $emails, $nextitem);
// Create Birthday Thread Hack
$birthday_greeting_thread = "Here are today's birthdays!<br><br>$bday_people";

$greeter=3; //Your User ID
$greeter_name="Jon"; //Your User Name
$greetings_forum=56; //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= "Happy Birthday to ";
$title3.= $bday_title;
$title3.= "on ";
$title3.=$todays_date11;
$DB_site->query("INSERT INTO thread (threadid,title,lastpost,forumid,open,replycount,p ostusername,postuserid,lastpos ter,dateline,iconid,visible,attach) VALUES (NULL,'".addslashes(htmlspecialchars($title3))."', '".time()."','$greetings_forum','1','0','".addslas hes($greeter_name)."','$greeter','".addslashes($gr eeter_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,pa getext,allowsmilie,showsignatu re,ipaddress,iconid,visible) VALUES (NULL,'$log_threadid','".addslashes(htmlspecialcha rs($title3))."','".addslashes($greeter_name)."','$ greeter','".time()."','".addslashes($birthday_gree ting_thread)."','1','0','127.0.0.1','0','1')");
// Updating Forum
$DB_site->query("UPDATE forum SET replycount=replycount+1,threadcount=threadcount+1, lastpost='".time()."',lastposter='".addslashes($gr eeter_name)."' WHERE forumid = $greetings_forum");
// Updating User's Post
$DB_site->query("UPDATE user SET posts=posts+1 WHERE userid=$greeter");
// End Create Birthday Thread Hack



/*================================================= =====================*\
|| ################################################## ##################
|| # Downloaded: 22:57, Sun May 2nd 2004
|| # CVS: $RCSfile: birthday.php,v $ - $Revision: 1.25 $
|| ################################################## ##################
\*================================================ ======================*/
?>

Onkel_Tom 06-03-2004 08:39 PM

@ Jons5150

You missed a } between the two lines
Code:

$bday_title .= $username.", ";


vbmail_end();

should be:
Code:

$bday_title .= $username.", ";
}

vbmail_end();


Onkel_Tom 06-03-2004 09:57 PM

What about Usergroups to exclude from Birthday thread ?
any idea how to do this ?


All times are GMT. The time now is 09:56 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.01334 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
  • (16)bbcode_code_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete