Seite 1 von 2

Birthday Mail Extension

Verfasst: 11.10.2004 17:23
von Werbung

Code: Alles auswählen

includes/page_header.php

#
#-----[ FIND ]------------------------------------------------
#

		$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>");

#
#-----[ REPLACE BY ]------------------------------------------
#

// 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
Hab dieses ausgeführt und dann bekomm ich diese fehlermeldung:

Code: Alles auswählen

rse error: parse error, unexpected ';' in /../../forum/includes/page_header.php on line 365
also.... ich peil nicht was da jetzt falsch sein kann... hier mal nen auzug von meiner page_header.php Zeile 325 bis 372

Code: Alles auswählen

// Start add - Birthday MOD
// 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);
		}
// 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
	} //Sorry user shall not have a greeting this year
// End add - Birthday MOD
kann mir einer vielleicht sagen, was dadrinnen nicht stimmt... ich hab doch nur das gemacht, was in der install stand... *aufreg*

danke schon mal für die hilfe!

Verfasst: 11.10.2004 17:58
von Leuchte
Versuchs mal mit
Finde

Code: Alles auswählen

         'BOARDNAME' => str_replace('<br />', "\n", "-- \n" . $board_config['sitename']) 
      );
Ersetze mit

Code: Alles auswählen

         'BOARDNAME' => str_replace('<br />', "\n", "-- \n" . $board_config['sitename'])) 
      );

habs versucht...

Verfasst: 12.10.2004 09:14
von Werbung
dann kommt die fehler meldung:

Code: Alles auswählen

Parse error: parse error, unexpected '}' in /../../forum/includes/page_header.php on line 421
vielleicht hilft dir es besser, wenn du mein page_header.txt siehs. des ist mit deiner änderung von vorhin!

Verfasst: 15.10.2004 18:54
von DesiWeb
Hallo zusammen....

Ich habe auch ein kleines Problem mit diesem MOD. Wenn ich die *page_header.php* auf den Server lade und dann das Board aufrufe, dann kommt nur eine weisse leere Seite :cry: und sonst nichts.

ich habe da mal die page_header.php als txt auf den Server geladen ---> guckst Du hier

Mein Board ist ein 2.0.4 - Laut Installations-Datei sollte das kein Problem darstellen.

Herzlchen Dank für die Hilfe :P

Verfasst: 15.10.2004 21:38
von Acid
Sicher, das die Seite leer ist und keine Parse Errors angezeigt werden?
'BOARDNAME' => str_replace('<br />', "\n", "-- \n" . $board_config['sitename'])
In dieser Zeile fehlt am Ende noch eine Klammer.
'BOARDNAME' => str_replace('<br />', "\n", "-- \n" . $board_config['sitename']))
Und dann ist da noch irgendwo ´ne geschweifte Klammer zuviel.

Code: Alles auswählen

        }
// END Birthday Mail Extension
..testweise mal diese Klammer mit // auskommentieren.

Verfasst: 16.10.2004 06:45
von DesiWeb
Hallo Acid

perfekt... ! :) vielen Dankfür die Hilfe.
Warum ich aber keine Fehlermeldung gesehen habe ist mir noch immer ein Rätsel. Egal.

Was mir an diesem Mod nun gar nicht gefällt, ist dass das eMail erst versandt wird, wenn sich der User am Board anmeldet. Wie kann ich es anstellen, dass automatsch an dem Tag, an welchem der User Geburtstag hat das Glückwunschmail bekommt?

Verfasst: 28.01.2005 22:46
von BraveEagle
Ich habe zwar keine Fehlermeldung, aber an das "Geburtstagskind" wird keine EMail versendet. Jemand ne Idee?

Greetz BE

Verfasst: 29.01.2005 19:11
von BraveEagle
kann mir keiner helfen?

Verfasst: 29.01.2005 22:28
von tim.brauer
guck mal ob du das richtige datum eingestellt hast ...

Next birthday popup year: 2005

sollte im userprofil stehen...

Verfasst: 29.01.2005 22:39
von BraveEagle
k maybe liegt da das Problem. Ich habe das weder im Profil noch im ACP im Konfig. bereich :(