User müssen vorm Posten explizit den Boardregeln zustimmen

rellek

relativ sensationell
Teammitglied
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

  • nutzungsbedingungen1.JPG
    nutzungsbedingungen1.JPG
    111,7 KB · Aufrufe: 186
  • nutzungsbedingungen2.JPG
    nutzungsbedingungen2.JPG
    119,5 KB · Aufrufe: 165

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
 

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

  • addreply , editpost und newhtread.rar
    16 KB · Aufrufe: 51

rellek

relativ sensationell
Teammitglied
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

  • addreply , editpost und newhtread.rar
    16,2 KB · Aufrufe: 49

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
 
Oben