Seite 1 von 2

Geburtstagsanzeige in allen Foren

Verfasst: 09.12.2011 14:41
von brauche_hilfe
Hallo,

ich suche eine Mod mit der es mir möglich ist die Geburtstagsliste in allen Foren, Unterforen und Topics anzuzeigen.
Vielleicht geht es ja auch ohne Mod. Wäre für Hilfe sehr dankbar, auch wenn es nur ein Link ist. Versuche nämlich schon seit Wochen das so hinzu bekommen....

Hoffe auf Hilfe...!

Re: Geburtstagsanzeige in allen Foren

Verfasst: 09.12.2011 15:08
von modernist
Statt der Geburtstagsliste fällt mir spontan diese MOD ein: http://www.phpbb.com/customise/db/mod/v ... _birthday/
Vielleicht ist das ja eine Alternative?

Re: Geburtstagsanzeige in allen Foren

Verfasst: 09.12.2011 15:11
von brauche_hilfe
Okay, danke schon mal. Ich versteh aber nicht so wirklich was die Mod macht. Sieht, dann nur der User der gerade Geburtstag hat einen Kuchen oder wie kann ich das verstehen?
Ich suche an sich etwas, womit du über all im Forum sehen kannst, dass ein bestimmter Benutzer Geburtstag hat und man ihm/ihr gratulieren kann.

Re: Geburtstagsanzeige in allen Foren

Verfasst: 09.12.2011 16:09
von modernist
Man sieht beim Aufruf eines Themas (viewtopic.php) im Miniprofil des Users, der Geburtstag hat, einen Kuchen (oder was immer man als alternative Graphik wählt). Das ist zwar nicht überall im Forum, aber doch in dem Teil, der das eigentliche Forum ausmacht, den Beiträgen.
Hier siehst du ein Bild dazu: http://www.phpbb.com/community/viewtopi ... 5#p5622725

Re: Geburtstagsanzeige in allen Foren

Verfasst: 09.12.2011 16:26
von brauche_hilfe
mhm....okay. Ist auf jeden Fall schon mal ein Anfang. Danke nochmal.

Hat jemand evtl. noch was anderes oder weiß wie ich den Code bearbeiten muss, damit man es überall sieht?

Re: Geburtstagsanzeige in allen Foren

Verfasst: 09.12.2011 19:57
von Miriam
Hallo,

also sowas wie ein Link im Header oder Footer auf eine Geb.-Tagliste, die im Stil des Forums gehalten ist?

Re: Geburtstagsanzeige in allen Foren

Verfasst: 09.12.2011 22:11
von brauche_hilfe
Hab ich schon versucht, leider kann man da nicht hinverlinken. Aktuell braucht man nur auf "Foren Übersicht" zu klicken und sieht die Geburtstage auch, aber ich würde sie gerne überall sehen und nicht auf der Übersicht....

Re: Geburtstagsanzeige in allen Foren

Verfasst: 10.12.2011 03:39
von Helmut
Hallo brauche_hilfe,

du meinst die Geburtstage welche unter Wer ist Online angezeigt wird?

die zugehörigen Codeteile findest du in der index.php und in der index_body.html, diese müsstest du dann nach functions.php bzw. overall_footer.html verschieben, dann sollte es gehen.

index.php

Code: Alles auswählen

// Generate birthday list if required ...
$birthday_list = '';
if ($config['load_birthdays'] && $config['allow_birthdays'])
{
    $now = getdate(time() + $user->timezone + $user->dst - date('Z'));
    $sql = 'SELECT u.user_id, u.username, u.user_colour, u.user_birthday
        FROM ' . USERS_TABLE . ' u
        LEFT JOIN ' . BANLIST_TABLE . " b ON (u.user_id = b.ban_userid)
        WHERE (b.ban_id IS NULL
            OR b.ban_exclude = 1)
            AND u.user_birthday LIKE '" . $db->sql_escape(sprintf('%2d-%2d-', $now['mday'], $now['mon'])) . "%'
            AND u.user_type IN (" . USER_NORMAL . ', ' . USER_FOUNDER . ')';
    $result = $db->sql_query($sql);

    while ($row = $db->sql_fetchrow($result))
    {
        $birthday_list .= (($birthday_list != '') ? ', ' : '') . get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']);

        if ($age = (int) substr($row['user_birthday'], -4))
        {
            $birthday_list .= ' (' . ($now['year'] - $age) . ')';
        }
    }
    $db->sql_freeresult($result);
}
 
index_body.html

Code: Alles auswählen

<!-- IF S_DISPLAY_BIRTHDAY_LIST and BIRTHDAY_LIST -->
    <h3>{L_BIRTHDAYS}</h3>
    <p><!-- IF BIRTHDAY_LIST -->{L_CONGRATULATIONS}: <strong>{BIRTHDAY_LIST}</strong><!-- ELSE -->{L_NO_BIRTHDAYS}<!-- ENDIF -->
<!-- ENDIF --> 
Gruß Helmut

Re: Geburtstagsanzeige in allen Foren

Verfasst: 10.12.2011 13:47
von brauche_hilfe
Hallo Helmut,

vielen Dank. Habs versucht, aber jetzt ist nur die Geburtstagsliste zwei Mal auf der "Foren Übersicht" jedoch immer noch nicht auf den unter Seiten..... Was hab ich falsch gemacht?

Re: Geburtstagsanzeige in allen Foren

Verfasst: 10.12.2011 14:15
von Helmut
Hallo brauche_hilfe,

ok, war ein kleiner Denkfehler von mir. Jetzt nochmal richtig:

1.) Finde in der index.php folgenden Code und verschiebe ihn in die /install/functions.php vor // The following assigns all _common_ variables that may be used at any point in a template.:

Code: Alles auswählen

// Generate birthday list if required ...
$birthday_list = '';
if ($config['load_birthdays'] && $config['allow_birthdays'])
{
    $now = getdate(time() + $user->timezone + $user->dst - date('Z'));
    $sql = 'SELECT u.user_id, u.username, u.user_colour, u.user_birthday
        FROM ' . USERS_TABLE . ' u
        LEFT JOIN ' . BANLIST_TABLE . " b ON (u.user_id = b.ban_userid)
        WHERE (b.ban_id IS NULL
            OR b.ban_exclude = 1)
            AND u.user_birthday LIKE '" . $db->sql_escape(sprintf('%2d-%2d-', $now['mday'], $now['mon'])) . "%'
            AND u.user_type IN (" . USER_NORMAL . ', ' . USER_FOUNDER . ')';
    $result = $db->sql_query($sql);

    while ($row = $db->sql_fetchrow($result))
    {
        $birthday_list .= (($birthday_list != '') ? ', ' : '') . get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']);

        if ($age = (int) substr($row['user_birthday'], -4))
        {
            $birthday_list .= ' (' . ($now['year'] - $age) . ')';
        }
    }
    $db->sql_freeresult($result);
} 
2.) Füge in der /install/functions.php nach $template->assign_vars(array( folgendes ein:

Code: Alles auswählen

    'BIRTHDAY_LIST'    => $birthday_list,
    'S_DISPLAY_BIRTHDAY_LIST'    => ($config['load_birthdays']) ? true : false,
 
3.) Finde in der index_body.html folgenden Code und verschiebe ihn nach overall_footer.html:

Code: Alles auswählen

<!-- IF S_DISPLAY_BIRTHDAY_LIST and BIRTHDAY_LIST -->
    <h3>{L_BIRTHDAYS}</h3>
    <p><!-- IF BIRTHDAY_LIST -->{L_CONGRATULATIONS}: <strong>{BIRTHDAY_LIST}</strong><!-- ELSE -->{L_NO_BIRTHDAYS}<!-- ENDIF -->
<!-- ENDIF -->  
Jetz sollten die Geburtstage auf allen Seiten stehen.

Gruß Helmut