Problem mit Geburtstags-/Hochzeits-MOD (Login nicht möglich)

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.
Antworten
be4
Mitglied
Beiträge: 34
Registriert: 05.09.2006 10:41

Problem mit Geburtstags-/Hochzeits-MOD (Login nicht möglich)

Beitrag von be4 »

Hallo!
Ich habe mir letztes Jahr von einem Mitglied dieser Community ein MOD in mein Forum einpassen lassen.
Und zwar geht es um Hochzeitstage.

Statt Geburtstagen sollten also Hochzeitstage angezeigt werden.

Nach dem Einbau hab ich mich erstmal überhaupt nicht weiter um das Projekt gekümmert, aber nun wollte ich mit dem Forum starten und ... nichts geht mehr.
Nach mehreren Versuchen habe ich das Problem auf folgende Vorgänge einschränken können:


Wenn sich ein User registriert, ist er plötzlich gezwungen, einen Hochzeitstag anzugeben. Ohne geht es nicht. Aber nicht jeder, der sich in diesem Forum registrieren kann, muss das haben.

Nach der Registrierung wird dieser eingegebene Hochzeitstag aber durch ein anderes Datum ersetzt (meine Vermutung: Geburtstag des MOD-Einbauers). Es ist also völlig egal, welches Datum man bei der Registrierung eingibt, es wird automatisch umgestellt.

Ein Login ist nicht möglich.

Der Admin muss das Hochzeitsdatum per Hand neu eingeben, erst dann kann sich das Mitglied einloggen.


Wie in etwa schaut die Zeile aus, in der ich dem Script sage, dass es gefälligst das eingegebene Datum nehmen soll?

Wo kann ich bestimmen, dass ein Datum nicht zwingend erforderlich ist?


Liebe Grüße
be4
Benutzeravatar
Seimon
Mitglied
Beiträge: 893
Registriert: 23.02.2005 18:10
Wohnort: Linz, Österreich

Re: Problem mit Geburtstags-/Hochzeits-MOD (Login nicht mögl

Beitrag von Seimon »

be4 hat geschrieben:Wo kann ich bestimmen, dass ein Datum nicht zwingend erforderlich ist?
Ich vermute hier:

includes/usercp_register.php

So sieht die Stelle für die Originalfelder aus:

Code: Alles auswählen

else if ( $mode == 'register' )
	{
		if ( empty($username) || empty($new_password) || empty($password_confirm) || empty($email) )
		{
			$error = TRUE;
			$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Fields_empty'];
		}
	}
eventuell suchst du mal nach:

Code: Alles auswählen

$lang['Fields_empty'];
in zusammenhang mit

Code: Alles auswählen

if( empty($birthday) )
oder

Code: Alles auswählen

if( empty($hochzeitstag) )

oder du machst gleich mit einem programm wie winmerge einen vergleich mit der originalen includes/usercp_register.php
be4
Mitglied
Beiträge: 34
Registriert: 05.09.2006 10:41

Beitrag von be4 »

Danke, jetzt weiss ich erst einmal, wo ich suchen muss. :)

Update (und Quelltext gelöscht): Ich hab es geschafft, dass die Eingabe eines Datums nicht mehr erforderlich ist.

Nun habe ich einen neuen User angelegt. Dieser kann sich nicht einloggen. :( Wenn ich mir das Profil ansehe, steht da ein Datum drin, welches nicht "kompatibel" mit dem Rest der Programmierung ist ...


In der Datei functions.php habe ich das gefunden:
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' => '') );
}
Hier wird irgendwie festgelegt, dass das Datum in jedem Fall dieses bestimmte Datum zu sein hat, oder?
Wo steckt der Fehler?
Antworten

Zurück zu „phpBB 2.0: Mod Support“