Seite 1 von 2
PCP-Mod: Übernahme der Geburtstage auf die Startseite
Verfasst: 21.10.2003 20:22
von Nico Haase
Moin,
den PCP-Mod habe ich jetzt installiert. Wie kann ich, wie beim Birthday-Mod, die nächsten Geburtstage auf dem Index anzeigen lassen?
mfg
Nico
Verfasst: 22.10.2003 11:45
von Nico Haase
........keine Ideen???
Verfasst: 22.10.2003 12:01
von Henne
Kannst das nicht bei der birthday MOD von Niels klauen?
http://mods.db9.dk/viewforum.php?f=2
Die Funktionen müssten doch ziemlich gleich bleiben.
Geburtstag auslesen und dann entsprechend anzeigen...
Verfasst: 22.10.2003 12:13
von AmigaLink
Du könntest noch den Topic-Calendar einbauen, der wiederum eine Option zur zusammenarbeit mit dem Mini_Cal hat.

Verfasst: 22.10.2003 12:23
von Nico Haase
Henne hat geschrieben:Kannst das nicht bei der birthday MOD von Niels klauen?
http://mods.db9.dk/viewforum.php?f=2
Die Funktionen müssten doch ziemlich gleich bleiben.
Geburtstag auslesen und dann entsprechend anzeigen...
Eben nicht. Der Birthday-Mod speichert die Geburtstage irgendwie ganz komisch, PCP einfach als YYYYMMDD oder so. Deshalb werd ich die Funktionen klauen und irgendwie umschreiben. Ergebnis poste ich dann mal.
mfg
Nico
Verfasst: 22.10.2003 12:36
von Henne
Naja, aber auch wenn das Format anders ist, so ändert sich ja an den Funktionen nicht viel.
Überall das Format ändern und dann sollte es doch klappen...
Sonst meld dich hier

Verfasst: 22.10.2003 12:52
von Nico Haase
Henne hat geschrieben:Naja, aber auch wenn das Format anders ist, so ändert sich ja an den Funktionen nicht viel.
Überall das Format ändern und dann sollte es doch klappen...
Sonst meld dich hier

Mach ich hiermit

Ich schaffs nämlich net........ Hülfe wäre nött.....
Verfasst: 22.10.2003 13:19
von Henne
http://rpgnet.clanmckeen.com/demo/viewtopic.php?t=280
Wenn ich das da richtig verstanden habe, dann ist das doch schon realisiert, oder?
Leider kann ich kein französisch...

Verfasst: 22.10.2003 17:41
von Nico Haase
hmm. box wird nur gezeigt, wenn wer geburtstag hat. okay, dann hab ich halt heut geburtstag

.... *profileditier*
gut, dass ichs getestet hab, es kommt nämlich prompt ein fehler
okay, fehler behoben, jetzt steht gaaanz unten: "Herzlichen Glückwunsch, Nicolaus". bevor mir noch wer gratuliert, stell ichs wieder um.
jetzt werd ich mal gucken, was mir mein franz-lehrer so beigebracht hat. ich übersetz es mal für phpbb.de... kleinen moment....
Verfasst: 22.10.2003 18:13
von Nico Haase
übersetzung lass ich sein, lösung:
so sieht page_header.php, function get_birthday_list jetzt aus:
Code: Alles auswählen
function get_birthday_list( $time )
{
global $db, $phpbb_root_path, $phpEx, $userdata, $admin_level, $level_prior;
$res = '';
// no guest here, sorry ;)
if ( ($userdata['user_id'] == ANONYMOUS) || !$userdata['session_logged_in']) return $res;
$today = date("md", $time);
$date_lookforward = date("md", ($time + 14*24*60*60));
$user_id = $userdata['user_id'];
$sql = "SELECT u.*,
(CASE WHEN i.buddy_ignore = 1 THEN 1 ELSE 0 END) AS user_ignore,
(CASE WHEN b.buddy_ignore = 0 THEN 1 ELSE 0 END) AS user_friend,
(CASE WHEN b.buddy_visible = 1 THEN 1 ELSE 0 END) AS user_visible
FROM ((" . USERS_TABLE . " AS u
LEFT JOIN " . BUDDYS_TABLE . " AS b ON b.user_id=u.user_id AND b.buddy_id=$user_id)
LEFT JOIN " . BUDDYS_TABLE . " AS i ON i.user_id=$user_id AND i.buddy_id=u.user_id)
WHERE u.user_id <> " . ANONYMOUS . " AND u.user_birthday <> 0 AND u.user_birthday <> '' and RIGHT(u.user_birthday, 4) BETWEEN $today AND $date_lookforward
ORDER BY username";
//echo $sql;
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not read user table to get birthday today info', '', __LINE__, __FILE__, $sql);
}
while ($row = $db->sql_fetchrow($result))
{
// get user relational status
$ignore = $row['user_ignore'];
$friend = $row['user_friend'];
$always_visible = $row['user_visible'];
$geburtstag = $row['user_birthday'];
$age = date("Y", $time) - substr($geburtstag,0,4);
$datum = substr($geburtstag,6,2).".".substr($geburtstag,4,2).".";
// get the status of each info
$real_display = ( !$ignore && $userdata['user_allow_real'] && $row['user_allow_real'] && ( ($row['user_viewreal'] == YES) || ( ($row['user_viewreal'] == FRIEND_ONLY) && $friend ) ) );
// take care of admin status
if ( is_admin($userdata) || ($row['user_id'] == $userdata['user_id']) ) $real_display = true;
if ($real_display)
{
$txtclass = get_user_level_class($row['user_level'], 'genmed', $row);
if ($row['user_allow_viewonline'] != YES) $row['username'] = '<i>' . $row['username'] . '</i>';
$temp_url = append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id']);
$row['username'] = '<a href="' . $temp_url . '" class="' . $txtclass . '">' . $row['username'] . '</a> ('.$age.'
am ' . $datum . ')';
// add to the user list
$res .= ( $res != '' ) ? ', ' : '';
$res .= $row['username'];
}
}
return $res;
}
um die zahl der tage zu ändern, date_lookforward editieren. derzeit steht da 14 für 14 tage in der zukunft.
mfg
nico