Birthday Mod BUG

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
funnyman
Berichten: 230
Lid geworden op: 08 nov 2004, 11:34
Locatie: Emmen
Contacteer:

Birthday Mod BUG

Bericht door funnyman » 21 okt 2005, 20:10

Hallo,

ik heb vandaag een BUG ontdekt.. miss was hij al bekend, maar als je de birthday mod installeerd werkt de PM pop-up niet meer..

open includes/page_header.php

Code: Selecteer alles

	if ( $userdata['user_new_privmsg'] )
moet je veranderen in:

Code: Selecteer alles

	elseif ( $userdata['user_new_privmsg'] )
dus uiteindelijk komt het er zo uit te zien:

Code: Selecteer alles

if ( ($userdata['session_logged_in']) && (empty($gen_simple_header)) )
{

// 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['board_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
// End add - Birthday MOD

	elseif ( $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;
}
en voila, beide pop-ups werken :bier:
In progress: Stappen in Emmen

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 21 okt 2005, 20:42

Dit klopt niet hoor.
Als je nu EN jarig bent EN een pm hebt, werkt ALLEEN verjaardag, de else moet er dus niet, het zijn 2 apparte if lussen :)

funnyman
Berichten: 230
Lid geworden op: 08 nov 2004, 11:34
Locatie: Emmen
Contacteer:

Bericht door funnyman » 22 okt 2005, 17:14

hmm.. maar anders werkt mij PM popup niet :S
In progress: Stappen in Emmen

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 22 okt 2005, 17:20

Dat kan ik me bijna niet voorstellen. Dan zou die als je het wijzigt ook nie werken :)

funnyman
Berichten: 230
Lid geworden op: 08 nov 2004, 11:34
Locatie: Emmen
Contacteer:

Bericht door funnyman » 22 okt 2005, 17:29

toch is het zo, als ik de 'else' weg haal doet me PM popup het niet..
In progress: Stappen in Emmen

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 22 okt 2005, 17:30

Heb je al eens op http://mods.db9.dk gekeken of dat vaker voorkomt? Ik kan mij er geen problemen mee herinneren, behalve als je de Today/Yesterday mod ook geinstalleerd hebt. Die verrekte mod is nergens compatible mee.
... Maar ik modereer (nog) niet.

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 22 okt 2005, 17:37

funnyman schreef:toch is het zo, als ik de 'else' weg haal doet me PM popup het niet..
Het kan php technische gezien gewoon niet. Het spreekt elkaar namelijk tegen.
Voorbeeld:
We hebben $a en $b.
Met code 1:

Code: Selecteer alles

if($a == 1){
print "a";
}elseif($b == 1){
print "b";
}
Als a == 1 en b == 1 krijg je:
a
Als a == 1 en b == 0 krijg je:
a
Als a == 0 en b == 1 krijg je:
b
En als ze allebei 0 zijn krijg je niks :)
code 2:

Code: Selecteer alles

if($a == 1){
print "a";
}
if($b == 1){
print "b";
}
Als a == 1 en b == 1 krijg je:
ab
Als a == 1 en b == 0 krijg je:
a
Als a == 0 en b == 1 krijg je:
b
En als ze allebei 0 zijn krijg je niks :)
Zie je het verschil?

svenn
Berichten: 5001
Lid geworden op: 14 jul 2004, 13:00
Locatie: Kortrijk
Contacteer:

Bericht door svenn » 22 okt 2005, 17:47

een halve php les ... maar ik denk ook dat je gelijk hebt ....

funnyman
Berichten: 230
Lid geworden op: 08 nov 2004, 11:34
Locatie: Emmen
Contacteer:

Bericht door funnyman » 22 okt 2005, 17:49

jah ik snap em.. toch vraag ik me af wat er verkeerd is dan..
In progress: Stappen in Emmen

Gesloten