GOOGLEMAP USER-MAP
------------------

fr WBB: WBB 2.3.6

Version: 1.0.1.0 vom 27.06.2007
Autor: Michael Lorer - 01-Scripts.de
Copyright: Michael Lorer - 01-Scripts.de
http://www.01-scripts.de   @@@   info@01-scripts.de
Date: 27.06.2007

RECHTLICHE HINWEISE
-------------------
Es wird die GoogleMapAPI-Klasse (GoogleMapAPI.class.php) von Monte Ohrt verwendet:
http://www.phpinsider.com/php/code/GoogleMapAPI/
Diese Klasse ist unter der

GNU Lesser General Public License
*********************************

lizensiert. Eine Kopie des Lizenzvertrags liegt bei.
Die kompletten Lizenzhinwiese der Klasse sind in der Datei includes/GoogleMapAPI.class.php zu finden.

Die GoogleMap User-Map selber ist hingegen unter der

Namensnennung-NichtKommerziell-Weitergabe unter gleichen Bedingungen 2.0 Deutschland
************************************************************************************

lizensiert. Informationen dazu finden Sie unter:
http://creativecommons.org/licenses/by-nc-sa/2.0/de/

GARANTIE UND HAFTUNG IN JEGLICHER FORM WIRD DADURCH AUSGESCHLOSSEN



Die Grafik der Weltkugel (images/map.png) stammt von http://www.gosquared.com/liquidicity/archives/122







VORWORT
-------
Inspiriert vom User-Locator von Viktor (http://www.v-gn.de/) hat mich schon immer das sehr
unansehnliche Kartenmaterial gestrt. Ich hab mich deshalb daran gemacht, die einfache
Funktionalitt des User-Locators mit der GoogleMap-API zu kombinieren.
Herausgekommen ist vorliegender Hack, der unter Rckgriff auf die GoogleMapAPI.class.php,
ansonsten komplett eigenstndig entwickelt und programmiert wurde.

FEATURES
--------
-Aktuelles Kartenmaterial durch die Verwendung von GoogleMap
-Eigener Standort kann mit nur 2 Klicks hinzugefgt werden.
 oder nach eigenem Wohnort + Strae suchen
-Es werden die Wohnort-Informationen aus dem jeweiligen User-Profil entnommen
-Berechnung der Entfernungen zum jeweils eigenen Wohnort
-Ausgabe im Profil der Mitglieder
-Ausgabe in Threads mglich (optional)
-VERWENDUNG VONVORHANDENEN USER-LOCATOR-DATEN MGLICH (s. Ende der Datei)
-600 Eintrge und mehr mglich - kaum Performance-Verlust auch bei groen Datenmengen

INSTALLATION
------------

- Schritt 1:

  Importieren Sie die Templates aus dem Ordner templates/ in Ihr Forum und cachen Sie sie.

- Schritt 2:

  Importieren Sie die Sprachvariablen-Datei googleusermap.lng via ACP
  (Sprachpaket importieren --> HTTP-Upload --> in bestehendes Sprachpaket integrieren)

- Schritt 3:

  ffnen Sie die Datei includes/googlemapconfig.php mit einem Texteditor und nehmen Sie
  die gewnschten Einstellungen vor.
  BITTE BEACHTEN SIE, DASS EIN GOOGLEMAP-API-KEY GENERIERT UND EINGEFGT WERDEN MUSS:
  http://www.google.com/apis/maps/signup.html

  Speichern Sie anschlieend die Datei ab.

- Schritt 4:

  Laden Sie das Verzeichnis includes/ inkl. der enthaltenen Dateien in Ihr WBB-Verzeichnis hoch.

- Schritt 5:

  Fhren Sie folgenden SQL-Befehl entweder ber PHPMyAdmin oder per ACP (-->SQL Abfragen) aus:
  WICHTIG - WICHTIG - WICHTIG
  ERSETZEN SIE        X         DURCH IHRE BOARDNUMMER!!!!
  WICHTIG - WICHTIG - WICHTIG

CREATE TABLE `bbX_gmap` (
`user_id` int(11) NOT NULL default '0',
`longitude` float NOT NULL default '0',
`latitude` float NOT NULL default '0',
PRIMARY KEY  (`user_id`)) ENGINE=MyISAM DEFAULT CHARSET=latin2;

- Schritt 6:

  ffnen Sie die Datei misc.php
  Suchen Sie nach:

if (isset($_REQUEST['action'])) $action = $_REQUEST['action'];
else $action = '';

  Fgen Sie DANACH ein:

/** GoogleMap User-Map einbinden*/
include("includes/googlemap.php");

  Speichern!!!

- Schritt 7:

  ffnen Sie die Datei profile.php
  Suchen Sie nach:

require('./global.php');

  Fgen Sie DANACH ein:

require('./includes/googlemapconfig.php');
require('./includes/googlemapapi.class.php');

  Suchen Sie nach:

$lang->load('MEMBERS,THREAD');

  ERSETZEN Sie durch:

$lang->load('MEMBERS,THREAD,MISC');

  Suchen Sie nach:

eval("\$tpl->output(\"".$tpl->get("profile")."\");");

  Fgen Sie DARBER ein:

/* googlemap user-map */
//Google Map API-PHP-Class-Settings:
$map = new GoogleMapAPI('map');
$map->setAPIKey($owngoogleapi);
$map->setWidth($owngooglewidth);
$map->setHeight($owngoogleheight);
$map->setZoomLevel($owngooglezoom);
$map->setControlSize = $owngooglecontrols;
$map->setMapType($owngoogletype);
$map->disableDirections();
$map->disableZoomEncompass();

/* get own location*/
$locresult = mysql_query("SELECT * FROM bb".$n."_gmap WHERE user_id='".$wbbuserdata['userid']."'");
while($locrow = mysql_fetch_array($locresult))
    {
    $ownlon = $locrow['longitude'];
    $ownlat = $locrow['latitude'];
    }

$result = $db->query("SELECT * FROM bb".$n."_gmap WHERE user_id = '".$user_info['userid']."'");
$row = $db->fetch_array($result);
if($row['user_id'])
    {
    if(isset($ownlon) && !empty($ownlon) && isset($ownlat) && !empty($ownlat))
        {
        $huid = $row['user_id'];
        $result_auf = $db->query("SELECT * FROM bb".$n."_gmap WHERE user_id = '".$wbbuserdata['userid']."'");
        $row_auf = $db->fetch_array($result_auf);

        $entfernung = round($map->geoGetDistance($ownlat,$ownlon,$row['latitude'],$row['longitude'],"k"),2);
        }
    $username_map = $user_info['username'];

    eval ("\$gmap_profile = \"".$tpl->get("gmap_profile")."\";");
    }
/* end googlemap user-map */

  Speichern!!!

- Schritt 8:

  Laden Sie die genderte profile.php-Datei auf Ihren Webspace hoch.
  Laden Sie die genderte misc.php-Datei auf Ihren Webspace hoch.

- Schritt 9:

  Loggen Sie sich in das ACP ein
  -->Templates bearbeiten
  -->profile

  Suchen Sie nach:

<if($profilefields)>

  Fgen Sie DARBER ein:

$gmap_profile

  Speichern!!!

Hiermit ist die Installation beendet. :)

HINWEISE ZUR BENUTZUNG
----------------------

-URL zur Map: http://www.ihre-domain.de/forum/misc.php?action=map

-Die Map kann von allen Benutzern/Gruppen betrachtet werden, die auch das Recht haben Benutzer-
 profile zu betrachten.

-600 eingetragene User und mehr sind mglich. Das setzen aller Marker kann jedoch etwas dauern.


LINK ZUR MAP IN THREAD-ANSICHT EINBINDEN
----------------------------------------
siehe demo5.jpg (http://www.01-scripts.de/pics/demo/demo_5.jpg)
Es wird fr jeden User, der sich in die Map eingetragen hat ein Link zu dessen Position angezeigt.

- ffnen Sie die Datei thread.php
  Suchen Sie nach:

global $thread, $board, $tpl, $wbbuserdata, $style, $lang, $session, $userratings, $showuserratinginthread, $showuserlevels, $showonlineinthread, $useronlinetimeout, $showregdateinthread, $showuserfieldsinthread, $showgenderinthread, $showavatar, $_GET, $showthreadstarter, $showuserpostsinthread, $allowsigsmilies, $allowsightml, $allowsigbbcode, $max_sig_image, $authormarking, $picmaxwidth, $picmaxheight, $allowflashavatar, $thumbnailsperrow, $SID_ARG_1ST, $SID_ARG_2ND, $SID_ARG_2ND_UN;

  ERSETZEN Sie durch:

global $n, $thread, $board, $tpl, $wbbuserdata, $style, $lang, $session, $userratings, $showuserratinginthread, $showuserlevels, $showonlineinthread, $useronlinetimeout, $showregdateinthread, $showuserfieldsinthread, $showgenderinthread, $showavatar, $_GET, $showthreadstarter, $showuserpostsinthread, $allowsigsmilies, $allowsightml, $allowsigbbcode, $max_sig_image, $authormarking, $picmaxwidth, $picmaxheight, $allowflashavatar, $thumbnailsperrow, $SID_ARG_1ST, $SID_ARG_2ND, $SID_ARG_2ND_UN;

  Suchen Sie nach:

$posts['email'] = getASCIICodeString($posts['email']);

  Fgen Sie DANACH ein:

//Link zur Usermap in Thread ausgeben
$checkmap1 = mysql_query("SELECT * FROM bb".$n."_gmap WHERE user_id='".$posts['userid']."'");
$checkmap2 = mysql_num_rows($checkmap1);
if(isset($checkmap2) && $checkmap2 == 1) $linktomap = "<a href=\"misc.php?action=map&amp;huid=".$posts['userid']."\"><img src=\"images/map.png\" border=\"0\" alt=\"Weltkugel\" title=\"Position auf Usermap anzeigen\"></a>";
else $linktomap = "";
//Ende

  Speichern!!

- Laden Sie die genderte Datei auf Ihren Server hoch

- Loggen Sie sich ins ACP ein
  -->Templates bearbeiten
  -->thread_postbit

  Suchen Sie nach:

$posts[username]</a></b></span>

  Fgen Sie DANACH ein:

 $linktomap

  Speichern!!

-Fertig


DATEN DES USER-LOCATORS IMPORTIEREN
-----------------------------------
Es ist mglich bestehende Positionsdaten aus dem User-Locator zu importieren.
ACHTUNG: Es werden keine Orte oder PLZ importiert sondern NUR die Lngen- und Breitengrad-Angaben
         Wenn mehrere Benutzer die exakt gleichen Positionsangaben haben kann es bei der Ausgabe zu Problemen kommen
         Das liegt daran, dass der User-Locator die Daten nicht so exakt erfasst hat.
         Die betroffenen User knnen dann nachtrglich Ihren Ort genauer spezifizieren.

Stellen Sie fr einen Import sicher, dass die MySQL-Tabelle bbX_map_mod_user existiert!

Kopieren Sie anschlieend die Datei import.php in das Hauptverzeichnis Ihres Forums.
Rufen Sie die Datei dann mit Ihrem Browser auf.


SUPPORT
-------
Support gibt es jeweils in den entsprechenden Support-Threads sowie global unter folgender URL:
http://www.01-scripts.de/board/board.php?boardid=30

COPYRIGHT-HINWEIS
-----------------
Der sichtbare Copyright-Hinweis darf nur GEGEN EINE GEBHR VON 5 EUR entfernt werden.
Bei Interesse --> E-Mail an: info@01-scripts.de