###########################################################
# Strafregistererweiterung für Legend of the Green Dragon #
# Autor: Thibaud Roth <thibaud.roth@betriebsdirektor.de>  #
# Copyright: (c) 2006 Thibaud Roth                        #
# Lizenz: siehe Datei LICENSE                             #
###########################################################

  **********************************************************************
  * This program is free software; you can redistribute it and/or      *
  * modify it under the terms of the GNU General Public License        *
  * as published by the Free Software Foundation; either version 2     *
  * of the License, or (at your option) any later version.             *
  *                                                                    *
  * This program is distributed in the hope that it will be useful,    *
  * but WITHOUT ANY WARRANTY; without even the implied warranty of     *
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the      *
  * GNU General Public License for more details.                       *
  *                                                                    *
  * You should have received a copy of the GNU General Public License  *
  * along with this program; if not, write to the Free Software        *
  * Foundation, Inc., 51 Franklin Street, Fifth Floor,                 *
  * Boston, MA  02110-1301, USA                                        *
  **********************************************************************

===== Beschreibung =====
Das Strafregister ist eine Liste zur Nachvollziehung der »Straftaten« der Spieler, um auch bei mehreren Administratoren und Moderatoren den Überblick zu behalten.
Über ein Formular können neue Straftaten in die Liste eingetragen werden und verschiedenen Kategorien zugeordnet werden. Wenn gewünscht, kann der Eintrag in das Strafregister auch automatisch beim Eintragen des Spielers in ein anderes Skript (z.B.: Prangererweiterung von Matthias Strauch) erfolgen.

Hinweis: Eine übersichtlichere und detailliertere Beschreibung, Installationsanleitung und zusätzliche Informationen finden sich auf http://thibaudroth.magicforrest.de/?p=lotgd/penal_record&

===== Installation =====
   1.  Lade die Datei penal_record.php in Dein LotGD-Verzeichnis
   2. Führe, zum Beispiel in PHPMyAdmin, folgenden Befehl aus: CREATE TABLE `penal_record` (
      `id` INT( 5 ) NOT NULL AUTO_INCREMENT ,
      `acctid` INT( 5 ) NOT NULL ,
      `timestamp` TIMESTAMP NOT NULL ,
      `type` INT( 5 ) NOT NULL ,
      `remark` TEXT NOT NULL ,
      `insertedby` INT( 5 ) NOT NULL ,
      PRIMARY KEY ( `id` )
      );
   3. Öffne die Datei superuser.php, suche die Zeile (evtl. ~ 127) addnav("Kopfgeldliste", "superuser.php?op=bounties"); und füge in die nächste Zeile addnav("Strafregister","penal_record.php"); ein.
   4. Öffne die Datei common.php, suche die Zeile (evtl. ~ 1931) $playermount = getmount($session['user']['hashorse']); und füge in die nächste Zeilen
      //Strafregister von Thibaud Roth
      $penal_record_type = array(1=>"Verwarnung wegen Spam an öffentlichen Plätzen", 2=>"Verwarnung wegen Sonstigem"); ein.

===== Update =====
Zum updaten von Version 1.0 auf Version 1.1 oder 1.2 die Datei penal_record.php in das LotGD-Standartverzeichnis kopieren.

===== Erweiterungen =====
Wie weiter oben schon kurz angerissen ist es möglich die Liste um weitere Kategorien zu erweitern, oder automatisch beim ausführen eines anderen Skripts auch einen Eintrag im Strafregister zu erstellen. Diese Änderugen sind jedoch nur ein optionaler Zusatz.

Um neue Kategorien zu erstellen, gehe folgendermaßen vor:
      1.  Öffne die Datei common.php und suche das zuvor eingefügte Array $penal_record_type (siehe Installationsanleitung Schritt 4). Erweitere den Array analog zu den beiden anderen bereits vorhandenen Kategorien, also nach folgemdem Schema: , [id]=>"[Text]" Die in geschweiften Klammern stehenden Teile des Codes sind durch entsprechende Werte auszutauschen.
   2. Soll diese Kategorie nun auch im Formular zum Eintragen ins Strafregister angezeigt werden, öffne die Datei penal_record.php und suche die Zeile (evtl. ~ 69): output("<label for=\"type\">Art des Eintrags:</label> <select name=\"type\" id=\"type\"><option value=\"1\">".$penal_record_type["1"]."</option> <option value=\"3\">".$penal_record_type["3"]."</option></select>",true);. Erweitere das Formular analog zu den beiden bereits vorhandenen Auswahlmöglichkeiten, also nach folgendem Schema: <option value=\"{id}\">".$penal_record_type["{id}"]."</option> Die in geschweiften Klammern stehenden ids müssen durch sie selbe id, wie sie oben in der common.php für diese Kategorie eingetragen wurden ausgetauscht werden. Dieses option-Element muss natürlich innerhalb des select-Elements platziert werden, also nach dem letzten </option>-Tag.
   3. Soll beim Eintrag ins Strafregister, wie bei Kategorie 1, automatisch eine Ye Olde Mail an den eingetragenen Spieler gehen, öffne die Datei penal_record.php und suche die Zeile (evtl. ~ 89) elseif($_POST["type"] == "3"){
      output("Es wurde keine Ye Olde Mail abgeschickt. Wenn nötig muss diese noch manuell verschickt werden.`n");
      } Füge darunter analog zu dieser eine weiter if-Abfrage ein, also nach folgendem Schema: elseif($_POST["type"] == "<id>"){
      $body = "<Der Text der Ye Olde Mail>";
      systemmail($_POST['acctid'],"<Betreff>",$body,$session['user']['acctid']);
      } Die Inhalte innerhalb der spitzen Klammern sind jeweils durch die gewünschten Werte auszutauschen, die id entspricht der in der common.php festgelegten id (siehe Schritt 1).

Das auslösen eines automatischen Eintrag ins Strafregister durch ein anderes Skript ist von Skript zu Skript unterschiedlich und deshalb hier nur schwer zu beschreiben. Deswegen ist es nur für erfahrene Programmierer ratsam dies zu versuchen.      

===== Changelog =====
Änderungen von Version 1.1 auf Version 1.2:
    * Zeile 42: MySQL–Query durch penal_record.id erweitert
    * Zeile 50 – 51 und 58 – 59: Löschlink und zugehöriges addnav
    * Zeile 107 – 117: 2 neue case

Änderungen von Version 1.0 auf Version 1.1:
    * Zeile 48 - 50 und 53 - 55: Bemerkungen werden nur ausgegeben, wenn sie Inhalt haben
    * Zeile 63: Bezeichnung des Formularfelds
    * Zeile 69 - 72: Fehlermeldung, wenn die Suche keine Ergebnisse bringt

===== Support =====
Mehr Informationen und eine ausführlichere Anleitung auf http://thibaudroth.magicforrest.de/?lotgd/penal_record, Fragen, Fehlermeldungen und Anregungen auf http://anpera.homeip.net/forum/viewtopic.php?p=23037