
Chaosquake Land Mark System 3

Autor: 		Dominic Szablewski
Website:	www.chaosquake.de
EMail:		webmaster@chaosquake.de


-- Installation

1. 	Benutzername/Passwort sowie Datenbankname und -server fr
	die MySQL-Datenbank in der "inc/conf.php" anpassen
	Hier auch UNBEDINGT das Admin-Passwort zum ndern/Lschen
	der Eintrge ndern.

2. 	Script hochladen und "setup.php" aufrufen. Hier werden die 
	Datenbank-Tabellen erstellt und die Geodaten eingefgt.
	Den Anweisungen folgen und anschlieend die Setup-Dateien lschen.

3. 	Sich freuen :)



-- Neuerungen in dieser Version

Diese Version erlaubt es zu einer PLZ noch den entsprechenden Ort auszuwhlen. In
der Datenbank sind somit insgesamt ber 20.000 Orte abgelegt, statt wie bisher nur 
ein einziger Ort pro PLZ.
Die GeoDatenbank wurde auf den neusten Stand gebracht und das Setup auf mehrere 
Dateien aufgeteilt, um Problemen mit PHP-Dateien die grer als 1MB sind, vorzubeugen.

Auch neu sind Admin-Funktionen zum Editieren und Lschen von Eintrgen. Diese erscheinen
direkt in der Listenansicht, sobald man sich eingeloggt hat.

Zudem gab es viele Kosmetische vernderungen, sowohl am Layout der Seiten, als auch
im Code selbst.



-- Update von Version 2

Die Struktur der Datenbanktabellen hat sich gendert. Die Version 2 des Land Mark Systems
ist daher NICHT kompatibel zu dieser.
Um dennoch alle eingetragenen Benutzer aus der Version 2 zu bernehmen, gehen Sie wie folgt vor:

1.	Zunchst mssen alle Dateien des Alten LMS gelscht werden. Passen Sie danch die 
	"inc/conf.php" der neuen Version wie gewohnt an ihre Datenbank einstellungen an. Achten
	Sie darauf, dass die Tabellennamen die gleichen wie bei ihrer alten Installation sind 
	(Standard: lms_geodb u. lms_user). Laden Sie das Script hoch, fhren Sie jedoch noch NICHT
	die setup.php aus.

2.	Die Alte lms_geodb Tabelle muss nun gelscht werden. Fhren Sie dazu folgendes 
	SQL-Query aus (Der Tabellenname (lms_geodb) muss ggf. gendert werden):
	
	DROP TABLE lms_geodb;
	
3.	Fhren Sie jetzt die "setup.php" aus und folgen Sie den Anweisungen. Im ersten
	Schritt des Setups sollten Sie die Meldung "Table 'lms_user' already exists" 
	erhalten. Das ist normal und kein Grund zur Sorge.
	
4.	Die User-Tabelle muss nun um das Feld "geoid" erweitert werden:

	ALTER TABLE lms_user 
	ADD geoid INT(11) NOT NULL DEFAULT '0' AFTER id, 
	ADD KEY geoid(geoid);

5.	Das Character Set der Tabelle muss ebenfalls gendert werden:

	ALTER TABLE lms_user 
	CONVERT TO CHARACTER SET latin1;

6.	Nun muss jeder PLZ in der User-Tabelle die entsprechende GeoId aus der
	GeoDB-Tabelle zugeordnet werden:
	
	UPDATE lms_user u, lms_geodb g
	SET u.geoid = g.id
	WHERE u.plz = g.plz

7.	Das PLZ-Feld der User-Tabelle kann nun gelscht werden:

	ALTER TABLE lms_user
	DROP plz



-- OpenGeoDB

Die Postleitzahlen kommen aus der OpenGeoDB ( http://opengeodb.sourceforge.net ).
Jedoch wurde nicht die original Datenbank benutzt, sondern eine neue Tabelle mit nur
den ntigsten Informationen generiert. Das hat den vorteil das der Datenbank-Dump um ein
Vielfaches kleiner ist, als das Original.
Die alte Version des LMS war sehr anfllig fr Fehleintragungen. Diese version sollte 
das nun mit Hilfe der GeoDB beheben - natrlich funktioniert es jetzt nur noch fr 
Deutschland, sterreich und die Schweiz.
Ob es hnliche Projekte, wie die GeoDB, auch fr andere Lnder gibt ist mir leider nicht 
bekannt.
Wenn die PLZ daten fr sterreich und Schweiz nicht gebraucht werden, so knnen diese mit
folgendem Query wieder gelscht werden:
	DELETE FROM lms_geodb WHERE LENGTH( plz ) < 5
4442 Eintrge sollten dadurch gelscht werden.



- Weitere/andere Datenbankfelder

Die Felder "Name", "PLZ" und "Ort" sind fest vorgegeben. Alle weiteren Felder knnen beliebig
verndert werden. Wenn zb. kein IRC channel eingetragen werden soll, so muss in der
"conf.php" der entsprechende Eintrag aus dem $DataFields Array rausgenommen werden.
Das Formular zum Eintragen wird automatisch erstellt, dh. wenn der Eintrag nicht in diesem 
Array ist, gibt es auch keine Input-box dafr. Auch die Listenansicht wird automatisch 
generiert.
Wenn statt des IRC-Channels also zb. das Alter gespeichert werden soll, so msste die 
Konfiguration etwa so aussehen:
	$DataFields=array('Alter'=>'', 'E-Mail' => 'parseMail');
Die "Parse" Funktion wurde in diesem fall herausgenommen, da es nichts zu parsen 
(umwandeln) gibt. Die beiden vorhandenen Parse-Funktionen, die aus dem IRC-Channel und 
der E-Mail-Addresse Links generieren, befinden sich in der "list.php". Hier also auch 
weitere/eigene Parse-Funktionen einfgen.



-- Anderes Kartenbild

Wenn ein anderes Kartenbild benutzt werden soll, so muss die gre dieses Bildes in der
"inc/conf.php" und in der std.css (#Content) angepasst werden.
Die Beiden Referenzpunkte (ebenfalls in der "inc/conf.php") mssen auch angepasst werden. Wenn
keine anderen Stdte als Referenz verwendet werden sollen, so mssen hier nur die passenden
Pixelwerte eingetragen werden.

Eine genauere Anleitung findet sich in der "neue_karte.txt". 
Vielen Dank an CADWiesel dafr!



-- Disclaimer

Das Script darf grundstzlich frei genutzt und modifiziert werden, solange der 
Copyright Hinweiss erhalten bleibt.

Der Verkauf dieser Anwendung, oder die Verteilung ohne diese .txt, ist 
strengstens untersagt!

