Pagina 1 van 1

birthday mail extension.

Geplaatst: 04 mei 2004, 19:01
door LazyTiger
ik heb problemen met een mod.
deze mod zorgt ervoor dat er geen pop-up verschijnt bij je verjaardag, maar dat er een mailtje wordt verstuurd.

hiervoor moet je wat wijzingen in page_header.php
en wel in deze code (ik weet niet tot hoe ver de code officieel gaat.):
// see if user has or have had birthday, also see if greeting are enabled
if ( $userdata['user_birthday']!=999999 && $board_config['birthday_greeting'] && create_date('Ymd', time(), $board_config['default_timezone']) >= $userdata['user_next_birthday_greeting'].realdate ('md',$userdata['user_birthday'] ) )
{
$sql = "UPDATE " . USERS_TABLE . "
SET user_next_birthday_greeting = " . (create_date('Y', time(), $board_config['board_timezone'])+1) . "
WHERE user_id = " . $userdata['user_id'];
if( !$status = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, "Could not update next_birthday_greeting for user.", "", __LINE__, __FILE__, $sql);
}
$template->assign_var("GREETING_POPUP",
"<script language=\"Javascript\" type=\"text/javascript\"><!--
window.open('".append_sid('birthday_popup.'.$phpEx)."', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400');
//-->
</script>");

}
// Sorry user shall not have a greeting this year
if ( $userdata['user_new_privmsg'] )
{
$l_message_new = ( $userdata['user_new_privmsg'] == 1 ) ? $lang['New_pm'] : $lang['New_pms'];
$l_privmsgs_text = sprintf($l_message_new, $userdata['user_new_privmsg']);

if ( $userdata['user_last_privmsg'] > $userdata['user_lastvisit'] )
{
$sql = "UPDATE " . USERS_TABLE . "
SET user_last_privmsg = " . $userdata['user_lastvisit'] . "
WHERE user_id = " . $userdata['user_id'];
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update private message new/read time for user', '', __LINE__, __FILE__, $sql);
}

$s_privmsg_new = 1;
$icon_pm = $images['pm_new_msg'];
}
else
{
$s_privmsg_new = 0;
$icon_pm = $images['pm_new_msg'];
}
}
else
{
$l_privmsgs_text = $lang['No_new_pm'];

$s_privmsg_new = 0;
$icon_pm = $images['pm_no_new_msg'];
}

if ( $userdata['user_unread_privmsg'] )
{
$l_message_unread = ( $userdata['user_unread_privmsg'] == 1 ) ? $lang['Unread_pm'] : $lang['Unread_pms'];
$l_privmsgs_text_unread = sprintf($l_message_unread, $userdata['user_unread_privmsg']);
}
else
{
$l_privmsgs_text_unread = $lang['No_unread_pm'];
}
}
else
{
$icon_pm = $images['pm_no_new_msg'];
$l_privmsgs_text = $lang['Login_check_pm'];
$l_privmsgs_text_unread = '';
$s_privmsg_new = 0;
}
het rode moet je volgens de mod vervangen door dit: (het groene wat je hier ziet was niet toegevoegd in de originele mod.)
// START Birthday Mail Extension
$sql = "SELECT * FROM " . USERS_TABLE . " WHERE user_id = " . $userdata['user_id'];
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, $lang['bd_sqlerror']);
}

while( $row = $db->sql_fetchrow($result) )
{
$bd_mail = intval($row['user_email']);
}

$sql = "SELECT * FROM " . USERS_TABLE . " WHERE user_id = $user_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, $lang['bd_sqlerror']);
}
while ($row = $db->sql_fetchrow($result))
$emailer->from($board_config['board_email']);
$emailer->replyto($board_config['board_email']);

$emailer->email_address(trim($row['user_email']));
$emailer->use_template("birthday", $row['user_lang']);
$emailer->set_subject($lang['bd_subject']);

$emailer->assign_vars(array(
'USERNAME' => preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, substr(str_replace("\'", "'", $row['username']), 0, 25)),
'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']),
'BOARDNAME' => str_replace('<br />', "\n", "-- \n" . $board_config['sitename']))
);
$emailer->send();
$emailer->reset();
}
// END Birthday Mail Extension
nu krijg ik echter een fout.
de fout zit in de regel die ik in de eerste code oranje heb gekleurd.
wat is er dan fout?

klein overzicht van de kleuren:
rood = het stuk wat vervangen moet worden.
groen = is een fout in de mod (zover ik weet)
oranje = de regel waar de fout in zit.

Geplaatst: 04 mei 2004, 19:12
door Luuk
raar, als je het vanaf // Sorry user shall not have a greeting this year
bekijkt klopt het wel :? maar eigenlijk moet ik het hele bestand hebben :roll:

Geplaatst: 09 mei 2004, 12:58
door LazyTiger
heeft ff geduurd, maar hier is hij:
http://home.wanadoo.nl/musicpage/page_header.txt

Geplaatst: 11 mei 2004, 13:55
door Duvelske
Klopt ik heb de bpm mod met deze mod uitgebreid. Ik heb toestemming van de originele auteur gekregen om deze mail mod ook te integreren erin. Ik ben druk bezig geweest en als het goed is komt de eerste officiele versie van de bpm mod deze maand nog uit