Seite 8 von 10

Re: [FINAL] Accept terms 1.0.1

Verfasst: 01.01.2009 12:02
von Helmut
Hallo,

ja ist mir auch schon aufgefallen. Ich muss auch zweimal auf den Button klicken bis er die Eingabe übernimmt. Habe jetzt aber noch nicht die Zeit gehabt, mir die Sache etwas genauer anzuschauen. Vielleicht kann Tobi, der Mod Autor mal nachschauen wo die Ursache dafür liegt?

Gruß Helmut

Re: [FINAL] Accept terms 1.0.1

Verfasst: 01.01.2009 15:59
von redbull254
Hallo erstmal,
schön, das Ihr das gemeldet habt. Ich wollte die Mod gerade einbauen. Das hat sich aber wohl leider bis auf weiteres erledigt.
Damit würde ich meine Mitglieder nur nerven. Und gerade bei "Neuanmeldungen" äußerst unangenehm. :roll:

Re: [FINAL] Accept terms 1.0.1

Verfasst: 01.01.2009 16:37
von Metzle
Pionier hat geschrieben: User, die sich nach dem Mo-Einbau registrieren, müssen die Nutzungsbedingungen zweimal akzeptieren.
1. bei registrierung
2. beim ersten Login
Hallo,

das liegt in der Natur der Sache, würde ich meinen, der Registrierung im Forum, da man dort generell die Nutzungsbedingungen akzeptieren muss. Nun könnte man zwei Ansätze verfolgen: Entweder im Forum bei der Registrierung rumschrauben und die Nutzungsbedingungen rausnehmen oder eben die Mod umbauen, dass bei einem ersten Login die Nutzungsbedingungen nicht nochmals akzeptiert werden müssen und nur die Funktion bleibt, dass man im ACP ein erneutes Akzeptieren erzwingen kann. Das muss aber Tobi wissen, wie er das handhabt ;)
Helmut hat geschrieben:Hallo,

ja ist mir auch schon aufgefallen. Ich muss auch zweimal auf den Button klicken bis er die Eingabe übernimmt. Habe jetzt aber noch nicht die Zeit gehabt, mir die Sache etwas genauer anzuschauen. Vielleicht kann Tobi, der Mod Autor mal nachschauen wo die Ursache dafür liegt?

Gruß Helmut
Hallo,

das scheint mir aber dann doch ein anderes Problem zu sein, wie das von Pionier oder? Du meintest, dass man zwei mal auf Ja klicken muss oder?
Dieses Problem wurde mir bei meiner Mod, Agree to privacy on first login auch schon mitgeteilt, allerdings kann ich dieses Verhalten nicht nachvollziehen, da verschiedene Foren verschieden reagieren. Ich habe es auf einigen Foren getestet und manchmal besteht dieses Problem, manchmal besteht dieses Problem nicht. Da meine Mod vom Aufbau so ziemlich identisch ist zu der Mod von Tobi, denke ich, wird es hier ebenso sein. Manchmal benötigt man zwei mal den Klick auf Ja, manchmal nicht. Wie gesagt, ich kann es nicht nachvollziehen, warum es so ist, leider.

Re: [FINAL] Accept terms 1.0.1

Verfasst: 01.01.2009 17:07
von Helmut
Hallo Metzle,

ja genau, ich muss quasi doppelklicken damit er es annimmt. Ich habe gerade noch etwas damit rumgespielt und dabei folgendes festgestellt:
  1. Wenn man schon registriert und eingeloggt ist und wärenddessen die Regeln geändert werden, dann muss ich nur einmal klicken.
  2. Wenn ich nicht eingeloggt bin, dann muss ich zur Bestätigung der Regeln doppelklicken wenn ich kurz nach dem Einloggen draufklicke
  3. Wenn ich nach dem Einloggen etwas warte, dann muss ich nur einmal draufklicken
Das scheint mir ein Problem mit der Verarbeitung der confirm_box() Funktion oder dem Cache zu sein. Das Problem tritt übrigens sowohl beim IE als auch beim FF auf, also ist es nicht Browserabhängig denke ich mal.

Gruß Helmut

Re: [FINAL] Accept terms 1.0.1

Verfasst: 01.01.2009 17:14
von Metzle
Hallo Helmut,

das bringt mich auf eine Idee...vielleicht hat es etwas mit der Automatischen Weiterleitung zu tun. Im Normalfall, wenn keine confirm_box() kommt, dann wird man ja nach einem Login automatisch auf die Foren-Übersicht weitergeleitet nach einer bestimmten Zeit....eventuell ist es genau diese Zeit, die verstreichen muss bzw verstreicht, dass man nicht doppelt klicken muss.
Auf jeden Fall mal ein neuer Ansatzpunkt, allerdings kann ich da gerade selbst nicht testen bzw ran, weil ich nicht zu Hause bin und meine Daten usw alle daheim liegen. Werde am Sonntagabend erst dazu kommen weitere Tests durchzuführen.

Re: [FINAL] Accept terms 1.0.1

Verfasst: 01.01.2009 17:24
von Pionier
Metzle hat geschrieben: ...Nun könnte man zwei Ansätze verfolgen: Entweder im Forum bei der Registrierung rumschrauben und die Nutzungsbedingungen rausnehmen oder eben die Mod umbauen...

Kann man nicht auch in der inkudes/funktions_user.php

Unter

Code: Alles auswählen

/**
* Adds an user
*
* @param mixed $user_row An array containing the following keys (and the appropriate values): username, group_id (the group to place the user in), user_email and the user_type(usually 0). Additional entries not overridden by defaults will be forwarded.
* @param string $cp_data custom profile fields, see custom_profile::build_insert_sql_array
* @return the new user's ID.
*/
function user_add($user_row, $cp_data = false)
{
	global $db, $user, $auth, $config, $phpbb_root_path, $phpEx;

	if (empty($user_row['username']) || !isset($user_row['group_id']) || !isset($user_row['user_email']) || !isset($user_row['user_type']))
	{
		return false;
	}

	$username_clean = utf8_clean_string($user_row['username']);

	if (empty($username_clean))
	{
		return false;
	}

	$sql_ary = array(
		'username'			=> $user_row['username'],
		'username_clean'	=> $username_clean,
		'user_password'		=> (isset($user_row['user_password'])) ? $user_row['user_password'] : '',
		'user_pass_convert'	=> 0,
		'user_email'		=> strtolower($user_row['user_email']),
		'user_email_hash'	=> crc32(strtolower($user_row['user_email'])) . strlen($user_row['user_email']),
		'group_id'			=> $user_row['group_id'],
		'user_type'			=> $user_row['user_type'],
	);
Mit folgender Zeile erweitern?

Code: Alles auswählen

		'user_accept_rules'			=> 1,

Re: [FINAL] Accept terms 1.0.1

Verfasst: 01.01.2009 17:28
von Metzle
Hallo,

sollte funktionieren...was haben deine Tests ergeben? :ugeek:

Re: [FINAL] Accept terms 1.0.1

Verfasst: 01.01.2009 18:00
von Pionier
Geht gut mit dem Code :grin:

Also, alle die den kleinen Fehler beheben wollen; müssen nur das machen:

Öffne includes/funktions_user.php
FINDE

Code: Alles auswählen

		'user_email_hash'		=> crc32(strtolower($user_row['user_email'])) . strlen($user_row['user_email']),
		'group_id'				=> $user_row['group_id'],
		'user_type'				=> $user_row['user_type'],


FÜHGE DANACH EIN

Code: Alles auswählen

		'user_accept_rules'		=> 1,
Speichern und hochladen

Re: [FINAL] Accept terms 1.0.1

Verfasst: 02.01.2009 00:33
von Metzle
Hallo Helmut,

also ich konnte das Doppelklicken nun tatsächlich auf die Weiterleitung eingrenzen ( früher als geplant, weil ich meine FTP-Daten aufm Laptop gefunden habe :ugeek: ) bzw habe einfach mal ein bißchen mit den Werten, um meinen Ansatzpunkt zu verfolgen, in der includes/functions.php bei

Code: Alles auswählen

			$redirect = meta_refresh(3, $redirect);
gespielt.

Bei 0 musste man nur einmal bestätigen, weil die Zeit folglich schnell abgelaufen war, bei bspw. 6 oder noch höher musste man immer wieder bestätigen bis die Zeit für die Weiterleitung abgelaufen war.

So, nun gilt es weiter zu schauen, wie man dieses Problem aus der Welt schafft, dass die confirm_box() nicht auf die Weiterleitung angewiesen ist bzw früher reagiert. Mir schwebt da was vor nach dem Motto der Mod Auto ACP redirection:

Öffne includes/functions.php
Finde:

Code: Alles auswählen

			$redirect = meta_refresh(3, $redirect);
Füge davor ein:

Code: Alles auswählen

if ($accept_rules)
      {
      redirect($redirect);
      }
$accept_rules im oberen Code ist hier natürlich nur ein Beispiel und nicht zu verwenden. Nur dass es klar wird, wie ich es meine.
Wie das dann natürlich genau aussehen muss, da muss ich nochmal genau schauen bzw darf auch gerne jeder mitschauen.

Edit:

So, ich hab mal bißchen rumgespielt und ich meine, bei mir hätte das nun funktioniert. Bitte mal testen:

Öffne includes/functions.php
Finde:

Code: Alles auswählen

			$redirect = meta_refresh(3, $redirect);
			trigger_error($message . '<br /><br />' . sprintf($l_redirect, '<a href="' . $redirect . '">', '</a>'));
Davor einfügen:

Code: Alles auswählen

			if ($user->data['user_accept_rules'] == 0 && $user->data['is_registered'] && !$user->data['is_bot'] && (request_var('mode', '') != 'terms'))
			{
				redirect($redirect);
			}
So sollte die Weiterleitung umgangen werden bzw im Hintergrund direkt weitergeleitet werden, wenn man die Regeln akzeptieren muss. Ich bin auf Rückmeldungen gespannt.

Re: [FINAL] Accept terms 1.0.1

Verfasst: 02.01.2009 01:37
von Helmut
Hallo Metzle,

also bei mir geht das nicht, ist immer noch genauso. Ich habe es mal beobachtet, wenn man das erste mal klickt, dann wird man nur eingeloggt, mehr passiert da nicht. Erst beim zweiten klicken gehts dann, sieht also so aus, dass man explizit eingeloggt sein muss. So gesehen müsste der $redirect = meta_refresh(0, $redirect); von der login Prozedur angepasst werden, habe aber da noch nicht weiter gesucht.

Gruß Helmut