Seite 1 von 1

user must accept rules mod incl rules-mod

Verfasst: 25.12.2007 17:27
von .:Falo:.
Hi @ all,

ich habe gerade ein Problem mit dem oben genannten Mod!
Ich habe ein Bereich, in dem auch Gäste posten können, falls sie Probleme bei der Anmeldung oder so hatten. Allerdings geht das nicht, da auch bei Gästen die Meldung kommt, dass sie die Regeln akzeptieren müssen. Damit sie das aber machen können, müssen sie sich einloggen...

Kennt jemand das Problem, ich hab hier im Forum nämlich nichts gefunden!

Verfasst: 25.12.2007 18:29
von .:Falo:.
So ich nochmal ;-)

Ich hab jetzt mal ein bisschen rumprobiert und folgendes gemacht:

In diesem Code findet die Abfrage statt:

Code: Alles auswählen

//
// forum enter after accepting rules
//
		if (!($userdata['user_level'] == ADMIN OR $userdata['user_level'] == MOD))
		{
		$sql = "SELECT u.user_rules, u.user_read_rules, r.date
			FROM " . USERS_TABLE . " u, " . RULES_TABLE . " r
			WHERE user_id = " . $userdata['user_id'];

		if( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not query information', '', __LINE__, __FILE__, $sql);
		}

			while ($row = $db->sql_fetchrow($result))
			{
			$user_rules = $row['user_rules'];
			$read_rules = $row['user_read_rules'];
			$rules_date = $row['date'];

			$error_rules = sprintf($lang['Rules_accept_error']);

				if ($user_rules <= $rules_date OR $read_rules!='1')
				{
					message_die(GENERAL_ERROR, $error_rules);
				}
			}
		}
//
// forum enter after accepting rules
Und ich hab das jetzt so gemacht:

Code: Alles auswählen

//
// forum enter after accepting rules
//
		if (!($userdata['user_level'] == ADMIN OR $userdata['user_level'] == MOD OR $userdata['user_id'] == -1))
		{
		$sql = "SELECT u.user_rules, u.user_read_rules, r.date
			FROM " . USERS_TABLE . " u, " . RULES_TABLE . " r
			WHERE user_id = " . $userdata['user_id'];

		if( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not query information', '', __LINE__, __FILE__, $sql);
		}

			while ($row = $db->sql_fetchrow($result))
			{
			$user_rules = $row['user_rules'];
			$read_rules = $row['user_read_rules'];
			$rules_date = $row['date'];

			$error_rules = sprintf($lang['Rules_accept_error']);

				if ($user_rules <= $rules_date OR $read_rules!='1')
				{
					message_die(GENERAL_ERROR, $error_rules);
				}
			}
		}
//
// forum enter after accepting rules
Also am Anfang noch OR $userdata['user_id'] == -1 rangehängt.

Das müsste doch jetzt alles korrekt funktionieren, oder?