Seite 2 von 5

Verfasst: 15.12.2003 13:40
von oxpus
AmigaLink hat geschrieben:Ja, so habe ich das auch verstanden.
Aber das muss sich doch im Birthday-Mod ändern lassen! :roll:
Die entsprechende Funktion wird mit dem Birthday-Mod geliefert. Daraus kann man schon die Zeitformate gemäß Board-/Usereinstellung generieren. Das ist weit aus einfacher, als den Birthday-Mod umzubauen.

Verfasst: 15.12.2003 13:58
von Markus Wandel
Und wie kann man das am besten machen ?

Ich bin ein Laie in dieser Angelegenheit; bin froh das ich meine MODs mit Hilfe der TXT-Files lauffähig installieren konnte.

Verfasst: 15.12.2003 18:56
von oxpus
Hier ein Code-Schnipsel, den ich so schon verwendet habe:

Code: Alles auswählen

	$sql = "SELECT username, user_id, user_birthday
	  FROM " . USERS_TABLE . "
	  WHERE user_birthday <> '999999'
	  ORDER BY username";
	if( ($result = $db->sql_query($sql)) )
	{
	 $i = 0;
	 while ( $row = $db->sql_fetchrow($result))
	 {
	 	$username[$i] = $row['username'];
	 	$user_id[$i] = $row['user_id'];
	 	$user_birthday[$i] = realdate($cal_config['cal_dateformat'], $row['user_birthday']);
	 	$birthday[$i] = realdate('m d', $row['user_birthday']);
	 	$i++;
	 }
Und die Funktion realdate (ist im calendar mod enthalten):

Code: Alles auswählen

function realdate($date_syntax="Ymd",$date=0)
{
	global $lang;
	$i=2;
	if ($date>=0)
	{
	 	return create_date($date_syntax,$date*86400+1,0);
	} else
	{
		$year= -(date%1461);
		$days = $date + $year*1461;
		while ($days<0)
		{
			$year--;
			$days+=365;
			if ($i++==3)
			{
				$i=0;
				$days++;
			}
		}
	}
	$leap_year = ($i==0) ? TRUE : FALSE;
	$months_array = ($i==0) ?
		array (0,31,60,91,121,152,182,213,244,274,305,335,366) :
		array (0,31,59,90,120,151,181,212,243,273,304,334,365);
	for ($month=1;$month<12;$month++)
	{
		if ($days<$months_array[$month]) break;
	}

	$day=$days-$months_array[$month-1]+1;
	//you may gain speed performance by remove som of the below entry's if they are not needed/used
	return strtr ($date_syntax, array(
		'a' => '',
		'A' => '',
		'\\d' => 'd',
		'd' => ($day>9) ? $day : '0'.$day,
		'\\D' => 'D',
		'D' => $lang['day_short'][($date-3)%7],
		'\\F' => 'F',
		'F' => $lang['month_long'][$month-1],
		'g' => '',
		'G' => '',
		'H' => '',
		'h' => '',
		'i' => '',
		'I' => '',
		'\\j' => 'j',
		'j' => $day,
		'\\l' => 'l',
		'l' => $lang['day_long'][($date-3)%7],
		'\\L' => 'L',
		'L' => $leap_year,
		'\\m' => 'm',
		'm' => ($month>9) ? $month : '0'.$month,
		'\\M' => 'M',
		'M' => $lang['month_short'][$month-1],
		'\\n' => 'n',
		'n' => $month,
		'O' => '',
		's' => '',
		'S' => '',
		'\\t' => 't',
		't' => $months_array[$month]-$months_array[$month-1],
		'w' => '',
		'\\y' => 'y',
		'y' => ($year>29) ? $year-30 : $year+70,
		'\\Y' => 'Y',
		'Y' => $year+1970,
		'\\z' => 'z',
		'z' => $days,
		'\\W' => '',
		'W' => '') );
}
Das kann beliebig eingebaut werden. Die Funktion habe ich in includes/function.php untergebracht, das Auslesen der Geburtstage kann irgendwo anders eingebaut werden.
Poste mal einen Link zu Kalender-Datei als Textfile. Dann kann ich mal sehen, wo ich das reinbasteln kann.

OXPUS

Verfasst: 15.12.2003 19:37
von AmigaLink

Verfasst: 15.12.2003 20:48
von oxpus
Okay danke. Wird aber ein Weilchen dauern. Also etwas Geduld.

Verfasst: 15.12.2003 21:18
von Markus Wandel
Wäre schön wenn die geänderten Dateien dann auch hier zum downloaden sind.

Habe mir den Topic Calender installiert, und muß sagen er ist genau das was ich mit vorgestellt habe.

Naja, bis halt auf die Geburtstage.

Danke im voraus.

Verfasst: 16.12.2003 18:34
von oxpus
Kleiner Tipp zwischendurch: Wenn Du das Profile Control Panel installierst, und da die User die Geburtstage eintragen lässt, dann erscheinen die auch in dem Topic Calendar.
Oder etwas Geduld. Ich glaube, ich habe die richtige Stelle gefunden.

EDIT: Dachte ich zumindest. Es tut mir leid, ich steig durch den Kalender nicht durch. Ich gebe auf...

Verfasst: 16.12.2003 19:29
von AmigaLink
Schade :cry:
Dann werde ich wohl doch noch das PCP Installieren.

Verfasst: 16.12.2003 20:08
von Markus Wandel
Echt schade,

aber das Wichtigste geht ja, die Termine.

Vielleicht kommt ja doch irgendwann mal ne Modifikation was beides miteinander verbindet.

Trotzdem danke für deinen Versuch.

Verfasst: 12.01.2004 20:03
von AmigaLink
Ich habe mal versucht von Ptirhiik zu erfahren welche Tabellen benötigt werden um im Topic Calendar den Geburtstag anzeigen zu lassen!
Aber entweder ist mein Englisch zu schlecht, oder er will einfach nicht verstehen was ich ihn da gefragt habe!
:cry:
Wenn ich Ptirhiik richtig verstehe, dann ist im PCP keinerlei Code vorhanden welcher den Kalender beeinflusst. Auf gut deutsch müsste es ausreichen bestimmte (vorhandene) Tabellen zu setzen um den Geburtstag anzeigen zu lassen! :D
Mittlerweile habe ich auch noch ein Locales Board bei dem ich den Kalender und den PCP installiert habe, aber trotz der vergleichsmöglichkeit blicke ich nicht durch welche Tabellen der Kalender nun nutzt bzw. benötigt. :-?
Ein Eintrag des Geburtsdatums in die vorhandene Birthday Tabelle reicht einfach nicht aus! :o