User müssen vorm Posten explizit den Boardregeln zustimmen

Dieses Thema im Forum "codeschnipsel und sonstige goodies" wurde erstellt von rellek, 12 Juni 2007.

  1. rellek

    rellek relativ sensationell Mitarbeiter

    Dieser Mini-Hack zwingt einen User, den Boardregeln zuzustimmen, bevor ein Thema bzw eine Antwort erstellt oder ein Beitrag bearbeitet werden kann.

    Es werden *keine* Sprachvariablen genutzt - und der Mini-Hack wurde nur auf wBB 2.3 getestet (genauer gesagt im KSF), müsste aber auf allen wBB-Versionen ab 2.1 laufen.

    Und nein, dieser Hack wird euch wahrscheinlich nicht vor Abmahnungen an sich schützen, aber die Regeln in den Köpfen der User auffrischen. Dann ist zumindest die Gefahr einer Abmahnung geringer, wenn die User sich an die Regeln halten (und die Regeln entsprechend formuliert sind).

    Es gibt 2 Varianten. Einmal ist der Haken automatisch gesetzt, hier ist praktisch nur der optische Reiz gegeben, der die User an das Einhalten der Boardregeln erinnert. Bei der zweiten Variante ist muss jeder User bei jedem Abschicken den Haken setzen.
    Außerdem müsst ihr noch das Datum und den Link zu euren Board-Regeln eintragen. Das ist aber hervorgehoben.

    Es sind die Templates addreply, editpost und newthread betroffen.
    Wenn du den Quick-Reply-Hack von meiner Wenigkeit eingebaut hast, ist auch das Template thread_quickreply betroffen.

    Suche also in "addreply":
    Code:
         <input type="button" value="{$lang->items['LANG_POSTINGS_OPTIONS']}" class="input" onclick="toggleMenu('newthreadOptions', this);" />
         $attachment
         $editor_switch
        </td>
       </tr>
      </table>
      </td>
     </tr>
    in "editpost":
    Code:
         <input type="button" value="{$lang->items['LANG_POSTINGS_OPTIONS']}" class="input" onclick="toggleMenu('newthreadOptions', this);" />
         $attachment
         $editor_switch
        </td>
       </tr>
      </table>
      </td>
     </tr>
    in "newthread":
    Code:
         <input type="button" value="{$lang->items['LANG_POSTINGS_OPTIONS']}" class="input" onclick="toggleMenu('newthreadOptions', this);" />
         $attachment
         <if(checkpermissions("can_post_poll"))>
          <then>
           <input type="button" name="pollbutton" value="{$lang->items['LANG_POST_POLL']}" class="input" onclick='window.open("pollstart.php?boardid=$boardid&idhash=$idhash{$SID_ARG_2ND_UN}", "moo", "toolbar=no,scrollbars=yes,resizable=yes,width=700,height=550");' />
          </then>
         </if>
         $editor_switch
        </td>
       </tr>
      </table>
      </td>
     </tr>
    und, wenn du den Quick-Reply-Hack v2.0 installiert hast, in der "thread_quickreply":
    Code:
    <input type="button" value="{$lang->items['LANG_POSTINGS_OPTIONS']}" class="input" onclick="toggleMenu('newthreadOptions', this);" /> $attachment</td></tr>
      </table></td>
     </tr>
    Und füge JEWEILS (also in jeden der Suchtreffer in den genannten Templates an den genannten Stellen) danach folgenden Code ein:
    Code:
    <tr>
            <td class="tablea"><span class="normalfont"><b>Nutzungsbedingung</b></span>
            </td>
            <td class="tablea"><span class="smallfont"><input type="checkbox" name="nb" value="1" [COLOR=Red]checked="checked"[/COLOR] />&nbsp;<b>Ich erkenne die Nutzungsbedingungen vom [COLOR=Red]XX.XX.XXXX[/COLOR] an.</b>
            <br />Die Nutzungsbedingungen k&ouml;nnen <a href="[COLOR=Red]http://link.zu/den/boardregeln.html[/COLOR]" target="_blank">hier</a> nachgelesen werden.
            </span></td>
    
    </tr>
    Das rot markierte kann oder muss geändert werden. Im Einzelnen:
    checked="checked"
    Das kann herausgenommen werden. Wenns draußen ist, muss jeder Benutzer für JEDE Aktion (Posten oder Editieren) den Haken setzen!
    Wenns drin bleibt, dann ist der Haken automatisch gesetzt.

    XX.XX.XXXX
    Das Datum der letzten Änderung der Boardregeln.

    http://link.zu/den/boardregeln.html
    Hier kommt der Link zu den Boardregeln hinein, damit die User sie auch auf die Schnelle wiederfinden, wenn sie sich schon damit bereit erklären sollen ;-)

    Kommen wir nun zu den PHP-Änderungen:

    addreply.php
    suche (Zeile 147):
    Code:
    if (!$message) $error .= $lang->items['LANG_POSTINGS_ERROR1'];
    danach einfügen:
    Code:
    if(intval($_POST['nb']) != "1") $error .= "<li>Du musst den Nutzungsbedingungen zustimmen.</li>";
    editpost.php
    suche (Zeile 194):
    Code:
    if (!$message) $error .= $lang->items['LANG_POSTINGS_ERROR1'];
    danach einfügen:
    Code:
     if(intval($_POST['nb']) != "1") $error .= "<li>Du musst den Nutzungsbedingungen zustimmen.</li>";
    newthread.php
    suche (Zeile 156):
    Code:
    if (!$topic || !$message || ($board['prefixuse'] > 0 && checkpermissions('can_use_prefix') && $board['prefixrequired'] == 1 && !$prefix)) $error .= $lang->items['LANG_POSTINGS_ERROR1'];
    danach einfügen:
    Code:
    if(intval($_POST['nb']) != "1") $error .= "<li>Du musst den Nutzungsbedingungen zustimmen.</li>";
    Viel Spaß mit dem Hack und Dank an mA|tRiX fürs Testen :)

    Wie das ganze dann aussieht, könnt ihr den Bildern im Anhang entnehmen.
     

    Anhänge:

  2. mA|tRiX

    mA|tRiX Administrator Mitarbeiter

    Gern geschehen. :)

    Läuft aller erste Sahne. :)

    Vielen Dank für die Hilfe :)
     
  3. AXEL

    AXEL Neuer Benutzer

    schade...geht auch nicht bei mir , weil ich den code so in den dateien garnicht finde....

    auch nicht teile des codes .

    schade schade

    hab 2.3.6 board
     
  4. rellek

    rellek relativ sensationell Mitarbeiter

    sollte 100% funzen weil an unmodifizierten dateien getestet.
     
  5. AXEL

    AXEL Neuer Benutzer

    kann dir ja gerne mal meine 3 dateien zur einsicht mal im anhang senden.

    da sind weder teile des codes noch ähnliche bereiche zu finden , wo man sagen könnte, aha...das könnte es wohl sein .
     

    Anhänge:

  6. rellek

    rellek relativ sensationell Mitarbeiter

    Die Templates sind wohl kein Problem?


    Naja, jedenfalls habe ich bei deinen Files jede der zu suchenden Stellen auf Anhieb gefunden. KP, was du da gemacht hast :(
     

    Anhänge:

  7. mA|tRiX

    mA|tRiX Administrator Mitarbeiter

    Und? Läufts denn nun bei dir?
     
  8. AXEL

    AXEL Neuer Benutzer

    entweder war ich blind oder voll stoned...gröööhhlll

    klar hab ich alle codestellen gefunden...ich werd wohl nicht aufgepasst haben und die stellen in den falschen dateien gesucht haben...also php und tpl vertauscht haben.

    toller hack...geht auch super...vielen dank
     

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deinem Erleben anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden