birthday mod

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Wila
Mitglied
Beiträge: 304
Registriert: 22.07.2002 16:28
Wohnort: Marl
Kontaktdaten:

birthday mod

Beitrag von Wila »

warum wird der Anonymous mit der ID -1 aus der phpbb_users im birthday mod mit angezeigt? (Heute haben Geburts.....)
Wenn ich ihn aus der Datenbank entferne, werden bei mir im Board keine Gäste angezeigt.
Benutzeravatar
Henne
Ehemaliges Teammitglied
Beiträge: 4520
Registriert: 04.01.2002 01:00
Wohnort: Lage (Lippe)
Kontaktdaten:

Beitrag von Henne »

Was für ein Geburtstag ist denn bei dem in der DB eingetragen?
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

bei dem anonymous steht als jahr 33 dahinter. wenn man zurückrechnet kommt man auf den 1.11 1970 ... der timestamp beginnt am 1.1.1970. gibts da einen zusammenhang? eigentlich nicht, beim birthday mod schon. ich habs letztens auch bei mir auf dem board entdeckt, das der BD mod november und januar zusammenhaut.
den beitrag zu diesem problem gibts hier. die lösung ist einfach:
index.php suchen

Code: Alles auswählen

//
// Start output of page
davor steht bereits ein code des birthday mod

Code: Alles auswählen

//
// Birthday Mod, Show users with birthday
....
....
....
if (isset($result))
{
	$db->sql_freeresult($result);
}
der damit ersetzt werden muss

Code: Alles auswählen

// 
// Birthday Mod, Show users with birthday 
$time_now = time(); 
$date_now = create_date('md', $time_now, $board_config['board_timezone']); 
$date_forward = create_date('md', $time_now+($board_config['birthday_check_day']*86400), $board_config['board_timezone']); 
$sql = ($board_config['birthday_check_day']) ? "SELECT user_id, username, user_birthday, user_level FROM ".USERS_TABLE." WHERE user_birthday<>999999 AND 
(user_birthday<0 OR DATE_FORMAT(FROM_DAYS(user_birthday),'%m%d') BETWEEN ".(($date_now<$date_forward) ? "'($date_now+0)' AND '$date_forward'" : "'($date_now+0)' AND '1231' OR DATE_FORMAT(FROM_DAYS(user_birthday),'%m%d') BETWEEN '0101' AND '$date_forward'") .") ORDER BY username" : "SELECT 1"; 
if(!$result = $db->sql_query($sql)) 
{ 
        message_die(GENERAL_ERROR, "Could not fetch birthday for users.", "", __LINE__, __FILE__, $sql); 
} else 
{ 
   $birthdayrows = array(); 
   $birthdayrows = $db->sql_fetchrowset($result); 
} 
   if (!empty($birthdayrows)) 
   { 
      $this_year = create_date('Y', $time_now, $board_config['board_timezone']); 
      $date_today = $this_year.$date_now; 
      $date_forward = $this_year.$date_forward; 
         while (list($user_number, $birthdayrow) = each($birthdayrows)) 
      { 
            $user_birthday2 = $this_year.($user_birthday = realdate("md",$birthdayrow['user_birthday'] )); 
         // give user a year more, if he alread have had birthday 
            if ( $user_birthday2 < $date_today ) $user_birthday2 += 10000; 
         if ( $user_birthday2 == $date_today ) 
            { 
            //user have birthday today 
            $user_age = $this_year - realdate ( 'Y',$birthdayrow['user_birthday'] ); 
            switch ($birthdayrow['user_level']) 
            { 
               case ADMIN : 
                     $birthdayrow['username'] = '<b>' . $birthdayrow['username'] . '</b>'; 
                     $style_color = 'style="color:#' . $theme['fontcolor3'] . '"';                  break; 
               case MOD : 
                     $birthdayrow['username'] = '<b>' . $birthdayrow['username'] . '</b>'; 
                     $style_color = 'style="color:#' . $theme['fontcolor2'] . '"';                  break; 
               default: $style_color = ''; 
            } 
            $birthday_today_list .= ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $birthdayrow['user_id']) . '"' . $style_color .'>' . $birthdayrow['username'] . ' ('.$user_age.')</a>,'; 
            } else if ( $user_birthday2 > $date_today  && $user_birthday2 <= $date_forward ) 
         { 
            // user are having birthday within the next days 
            $user_age = ( $this_year.$user_birthday < $date_today ) ? $this_year - realdate ('Y',$birthdayrow['user_birthday'])+1 : $this_year- realdate ('Y',$birthdayrow['user_birthday']); 
            switch ($birthdayrow['user_level']) 
            { 
               case ADMIN : 
                     $birthdayrow['username'] = '<b>' . $birthdayrow['username'] . '</b>'; 
                     $style_color = 'style="color:#' . $theme['fontcolor3'] . '"';break; 
               case MOD : 
                     $birthdayrow['username'] = '<b>' . $birthdayrow['username'] . '</b>'; 
                     $style_color = 'style="color:#' . $theme['fontcolor2'] . '"';break; 
               default: $style_color = ''; 
            } 
            $birthday_week_list .= ' <a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $birthdayrow['user_id']) . '"' . $style_color .'>' . $birthdayrow['username'] . ' ('.$user_age.')</a>,'; 
         } 
      } 
      if ($birthday_today_list) $birthday_today_list[ strlen( $birthday_today_list)-1] = ' '; 
      if ($birthday_week_list) $birthday_week_list[ strlen( $birthday_week_list)-1] = ' '; 
   } 
if (isset($result)) 
{ 
   $db->sql_freeresult($result); 
}
Benutzeravatar
Henne
Ehemaliges Teammitglied
Beiträge: 4520
Registriert: 04.01.2002 01:00
Wohnort: Lage (Lippe)
Kontaktdaten:

Beitrag von Henne »

Sollte beim Anonymous nicht diese 9er Folge eingetragen sein?
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

eigentlich schon... 5x9
vielleicht auch ein anderer fehler (vielleicht beim einbau)
Benutzeravatar
Wila
Mitglied
Beiträge: 304
Registriert: 22.07.2002 16:28
Wohnort: Marl
Kontaktdaten:

Beitrag von Wila »

Also ich habe das obige Script mal eingebaut, und der Anonymous ist jetzt verschwunden und die Gäaste werden auch noch angezeigt. Mal abwarten was in 6 Tagen ist da hat der nächste User Geburtstag, er wird jetzt schon als nächster Geburtstag in den nächsten sieben tagen angezeigt.
Benutzeravatar
Leuchte
Ehemaliges Teammitglied
Beiträge: 9179
Registriert: 26.05.2003 14:57
Wohnort: Duisburg
Kontaktdaten:

Beitrag von Leuchte »

was sollte dann sein?
hast du vielleicht auch fehler beim einbau gemacht? wie Henne schon schrieb, sollte der Anonymous eigentlich gar kein Geburtstag haben
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Zwischenfrage: Den Anonymous-Eintrag hast du wieder in die "users" Tabelle eingefügt oder ?
Benutzeravatar
Wila
Mitglied
Beiträge: 304
Registriert: 22.07.2002 16:28
Wohnort: Marl
Kontaktdaten:

Beitrag von Wila »

ja, hatte ihn erst enfernt und da ich dann die gäste nicht sehen konnte die online sind habe ich ihn wieder eingetragen und das abgeänderte script in die index.php eingefügt.
Benutzeravatar
Wila
Mitglied
Beiträge: 304
Registriert: 22.07.2002 16:28
Wohnort: Marl
Kontaktdaten:

Beitrag von Wila »

Henne hat geschrieben:Sollte beim Anonymous nicht diese 9er Folge eingetragen sein?
Also das eine Problem ist gelöst, nur werden jetzt die Besucher (Gäste) nicht mehr richtig gezählt. Und was genau ist mit der 9 Serie gemeint? Ich habe bei der phpbb_users (Anonymous) unter user_birthday und user_next_birthday_greeting 5x die 9 eingetragen.
Antworten

Zurück zu „phpBB 2.0: Mod Support“