Schnellere Registrierung: Richtlinien/Datenschutz Checkbox

In diesem moderierten Forum werden Code-Schnipsel, die zu klein sind, um richtige Mods zu sein, abgelegt.
Snippets können über unser Kontaktformular eingereicht werden (bitte als vollständiger, Copy&Paste fähiger Beitrag).
Bei Fragen oder Problemen benutze bitte das Forum [3.0.x] Mod Support.
Benutzeravatar
gn#36
Administrator
Administrator
Beiträge: 9122
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Schnellere Registrierung: Richtlinien/Datenschutz Checkbox

Beitragvon gn#36 » 15.01.2012 23:03

Dieses Snippet wurde uns von modernist zur Verfügung gestellt. Überarbeitet vom phpBB.de Team.

Kurzbeschreibung
Einrichten einer Abfrage im Registrierungsvorgang, die über das Registrierungsformular das Akzeptieren der Nutzungsbedingungen und der Datenschutzrichtlinie überprüft. Werden diese nicht akzeptiert, erfolgt die Ausgabe einer Fehlermeldung, der Registrierungsvorgang kann nicht erfolgreich abgeschlossen werden. Hierzu bedient sich das Snippet einer Checkbox.

Getestet in den Styles Prosilver und subsilver2 (Versionen 3.0.9 und 3.0.10). Es folgen nun zunächst die Anpassungen in der ucp_register.html als auch die Anpassungen für die deutsche Sprachausgabe in der language/de/ucp.php.

Systemänderungen
Diese Änderungen sind bei allen Styles notwendig.

ÖFFNE: includes/ucp/ucp_register.php

FINDE:

Code: Alles auswählen

      $agreed         = (!empty($_POST['agreed'])) ? 1 : 0;

ERSETZE MIT:

Code: Alles auswählen

      $agreed         = true;

FINDE:

Code: Alles auswählen

      // Check and initialize some variables if needed
      if ($submit)
      {
         $error = validate_data($data, array(

ERSETZE MIT:

Code: Alles auswählen

      // Check and initialize some variables if needed
      if ($submit)
      {
         $terms_check = request_var('terms_check', '');
         $error = validate_data($data, array(

FINDE:

Code: Alles auswählen

         // validate custom profile fields
         $cp->submit_cp_field('register', $user->get_iso_lang_id(), $cp_data, $error);

DAVOR EINFÜGEN:

Code: Alles auswählen

         if (!$terms_check == 'terms_check')
         {
            $error[] = $user->lang['TERMS_CHECKBOX'];
         }


ÖFFNE: language/de/ucp.php

FINDE:

Code: Alles auswählen

   'TIMEZONE'               => 'Zeitzone',

DAVOR EINFÜGEN:

Code: Alles auswählen

   'TERMS_CHECK'            => 'Ich habe die <a href="ucp.php?mode=terms">Nutzungsbedingungen</a> und die <a href="ucp.php?mode=privacy">Datenschutzrichtlinie</a> gelesen und akzeptiere diese.',
   'TERMS_CHECKBOX'         => 'Sie müssen Nutzungsbedingungen und Datenschutzrichtlinie akzeptieren.',
   'TERMS_CONFIRMATION'      => 'Bestätigung der Nutzungsbedingungen und Datenschutzrichtlinie',


Styles
Die jeweilige Variante einer Ausgabe in den unterschiedlichen Styles ist nachfolgend benannt. Es wird natürlich nur die Variante des jeweils vorhandenen Styles benötigt, wobei zwei Varianten für Prosilver zur Verfügung stehen.

Prosilver Variante 1
(Ausgabe laut Snippetvorschlag)
Prosilver basierendes fixes Layout, Checkbox und Text zentriert
Ergebnis:
checkboxprosilverfixlay.jpg
Prosilver 1, fixes Layout, zentriert


ÖFFNE: styles/prosilver/template/ucp_register.html
FINDE:

Code: Alles auswählen

<div class="panel">
   <div class="inner"><span class="corners-top"><span></span></span>

   <h4>{L_COPPA_COMPLIANCE}</h4>

   <p>{L_COPPA_EXPLAIN}</p>
   <span class="corners-bottom"><span></span></span></div>
</div>
<!-- ENDIF -->

DANACH EINFÜGEN:

Code: Alles auswählen

   <div class="panel">
      <div class="inner"><span class="corners-top"><span></span></span>
      <h3>{L_TERMS_CONFIRMATION}</h3>
      <fieldset class="fields2">
      <dl>
         <dt style="text-align: right;"><input type="checkbox" tabindex="7" name="terms_check" id="terms_check" value="terms_check" /></dt>
         <dd><label for="terms_check">{L_TERMS_CHECK}</label></dd>
      </dl>
      </fieldset>
      <span class="corners-bottom"><span></span></span></div>
   </div>


Prosilver Variante 2:
Prosilver / Standard-Layout, Checkbox und Text linksbündig
Ergebnis:
checkboxprosilverstandlay.jpg
Prosilver 2, Standard-Layout Linksbündig


ÖFFNE: styles/prosilver/template/ucp_register.html
FINDE:

Code: Alles auswählen

<div class="panel">
   <div class="inner"><span class="corners-top"><span></span></span>

   <h4>{L_COPPA_COMPLIANCE}</h4>

   <p>{L_COPPA_EXPLAIN}</p>
   <span class="corners-bottom"><span></span></span></div>
</div>
<!-- ENDIF -->

DANACH EINFÜGEN:

Code: Alles auswählen

   <div class="panel">
      <div class="inner"><span class="corners-top"><span></span></span>
         <h3>{L_TERMS_CONFIRMATION}</h3>
         <div>
         <div style="text-align: left; margin-top: 15px;"><input type="checkbox" tabindex="7" name="terms_check" id="terms_check" value="terms_check" /> <label for="terms_check"><span style="font-size: 11px">{L_TERMS_CHECK}</span></label></div>
         </div>
      <span class="corners-bottom"><span></span></span></div>
   </div>


subsilver2:
subsilver2 / Standard-Layout, Hinweistext sowie Checkbox und Text in der Zelle je linksbündig
Ergebnis:
checkboxsubsilver2standard.jpg
Subsilver 2


ÖFFNE: styles/subsilver2/template/ucp_register.html
FINDE:

Code: Alles auswählen

<tr>
   <td class="row1"><b class="genmed">{L_TIMEZONE}: </b></td>
   <td class="row2"><select name="tz">{S_TZ_OPTIONS}</select></td>
</tr>

DANACH EINFÜGEN:

Code: Alles auswählen

   <tr>
      <td class="row1" style="text-align: left;"><b class="genmed">{L_TERMS_CONFIRMATION}: </b></td>
      <td class="row2"><input type="checkbox" tabindex="7" name="terms_check" id="terms_check" value="terms_check" /> <label for="terms_check"><span style="font-size: 10px"><strong>{L_TERMS_CHECK}</strong></span></label></td>
   </tr>



Im Anschluss bitte noch den Foren-Cache leeren und das Template aktualisieren.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.

Zurück zu „[3.0.x] Snippets“