Q&A-Captcha um Bilder erweitern

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
modernist
Ehemaliges Teammitglied
Beiträge: 2202
Registriert: 12.01.2009 10:44

Q&A-Captcha um Bilder erweitern

Beitrag von modernist »

Hier ein recht einfacher Weg, um für das Q&A-Captchaplugin gleichzeitig Bilder zur Frage zu präsentieren, es müssen nur 4 Dateien minimal geändert werden:
  • /includes/captcha/plugins/phpbb_captcha_qa_plugin.php
  • /styles/prosilver/template/captcha_qa.html
  • /language/de/ucp.php
  • /language/de/acp/common.php
In der includes/captcha/plugins/phpbb_captcha_qa_plugin.php suchen

Code: Alles auswählen

		else
		{
			$template->assign_vars(array(
				'QA_CONFIRM_QUESTION'		=> $this->question_text,
				'QA_CONFIRM_ID'				=> $this->confirm_id,
				'S_CONFIRM_CODE'			=> true,
				'S_TYPE'					=> $this->type,
			));
Hier ergänzt man

Code: Alles auswählen

				'QUESTION_ID'				=> (int) $this->question,
erhält also:

Code: Alles auswählen

		else
		{
			$template->assign_vars(array(
				'QA_CONFIRM_QUESTION'		=> $this->question_text,
				'QA_CONFIRM_ID'				=> $this->confirm_id,
				'S_CONFIRM_CODE'			=> true,
				'QUESTION_ID'				=> (int) $this->question,
				'S_TYPE'					=> $this->type,
			));
In der Datei /styles/prosilver/template/captcha_qa.html ergänzt man innerhalb von <dl>...</dl>:

Code: Alles auswählen

<dt><label>{L_SICHERHEITSFRAGE}:</label></dt>
<dd><img style="padding: 4px; border: 1px solid #2b2b2b;" src="http://domain.tld/bilderordner/captchas/{QUESTION_ID}.jpg" alt="" /></dd>
Ich habe das bei mir umgebaut, damit die Sicherheitsabfrage direkt unterhalb der Eingabefelder für Username und Paßwort erscheint (das <!-- IF S_TYPE == 1 -->...<!-- ENDIF --> musste ich auch entfernen, da das Q&A bei mir sonst nie angezeigt wurde):

Code: Alles auswählen

<dl>
<dt><label>{L_SAFETY_QUESTION}:</label></dt>
<dd><img style="padding: 4px; border: 1px solid #2b2b2b;" src="http://domain.tld/bilderordner/captchas/{QUESTION_ID}.jpg" alt="" /></dd>
	<dt> </dt>
	<dd> <strong>{QA_CONFIRM_QUESTION}</strong><br /><br />
		<input type="text" tabindex="{$CAPTCHA_TAB_INDEX}" name="qa_answer" id="answer" size="45" class="inputbox autowidth title="{L_ANSWER}" />
		<input type="hidden" name="qa_confirm_id" id="qa_confirm_id" value="{QA_CONFIRM_ID}" />
	</dd>
</dl>
Die style-Angabe kann man natürlich weglassen oder durch eine Klasse im CSS ersetzen.
Hier wurden die Bilder einfach durchnummeriert von 1-X und alle im jpg-Format im Ordner /bilderordner/captchas/ abgespeichert. Dies ist bei Bedarf anzupassen. Wenn man unterschiedliche Bildformate wählt oder Q&A-Fragen ohne Bilder präsentieren möchte, sollte man eine Abfrage einbauen: <!-- IF QUESTION-ID == 1 -->.png<!-- ENDIF --> o.ä.
Bei relativer Pfadangabe fürs Bild wird dies nicht angezeigt, wenn man als Admin nach fehlerhafter Anmeldung das Captcha lösen soll, deshalb ist hier die absolute Pfadangabe mit Domain besser.

Nun noch in der language/de/ucp.php und der language/de/acp/common.php die Sprachvariable für SICHERHEITSFRAGE definieren:

Code: Alles auswählen

'SICHERHEITSFRAGE'     => 'Sicherheitsabfrage',


Anschließend legt man im ACP bei der Konfiguration des Q&A-Captchaplugins (ACP -> Allgemein -> CAPTCHA-Modul-Einstellungen -> Verfügbare Plugins -> Q&A auswählen -> Konfigurieren) die Fragen fest. Dabei muß beachtet werden, daß die ID der Frage zur Nummer des Bildes paßt.
Die ID ist nach dem Anlegen der Frage sichtbar, wenn man mit der Maus das grüne Zahnrad fährt bzw. in der URL, nachdem man das Zahnrad angeklickt hat (z.B. question_id=13).

Im ACP zum Schluß noch das Template des verwendeten Styles aktualieren (und ggf. den Cache leeren).

Aussehen kann das dann so: http://img511.imageshack.us/img511/8619 ... luspic.jpg
Benutzeravatar
DaSasha
Mitglied
Beiträge: 334
Registriert: 27.02.2011 12:21

Re: Q&A-Captcha um Bilder erweitern

Beitrag von DaSasha »

Finde ich sehr gut... würde es aber zu Snippets hinzufügen :P
Meine Style erweiterungen: Rang Set 1 + PSD & Rang Prozent System oder phpBB Rang Puzzle
modernist
Ehemaliges Teammitglied
Beiträge: 2202
Registriert: 12.01.2009 10:44

Re: Q&A-Captcha um Bilder erweitern

Beitrag von modernist »

DaSasha hat geschrieben:würde es aber zu Snippets hinzufügen
Das kann ja ein Moderator bei Bedarf verschieben. :oops:

Aber wenn ich mal richtig Ahnung habe, könnte ich's um eine ACP-Konfiguration ergänzen, so daß man dort die Bilder (die dann mit frei wählbarer Bezeichung und nicht zur ID korrespondierender Nummerierung) bzw. den Ordner festlegt und ggf. die IDs selbst vergeben kann.
Benutzeravatar
Talk19zehn
Ehemaliges Teammitglied
Beiträge: 4917
Registriert: 08.06.2009 12:03
Kontaktdaten:

Re: Q&A-Captcha um Bilder erweitern

Beitrag von Talk19zehn »

Hello modernist,

deine Idee ist derart genial! Mein Glückwunsch und meine Begeisterung kannst du dir sicherlich vorstellen!!
Danke dir für deinen wertvollen Beitrag.

modernist hat geschrieben:Aber wenn ich mal richtig Ahnung habe, könnte ich's um eine ACP-Konfiguration ergänzen, so daß man dort die Bilder (die dann mit frei wählbarer Bezeichung und nicht zur ID korrespondierender Nummerierung) bzw. den Ordner festlegt und ggf. die IDs selbst vergeben kann.
Das wird sich doch lösen lassen. :wink:

LG



BTW:
Snippets können per PN an ein Team-Mitglied geschickt werden. :wink:
Beste Grüße
phpBB3 Designs: Stylearea Ongray-Designs
Antworten

Zurück zu „[3.0.x] Mods in Entwicklung“