Locator (Google Maps)original Thema anzeigen
14.01.07, 16:24:45
fossie
14.01.07, 17:46:47
spike_putin
14.01.07, 22:20:01
fossie
14.01.07, 23:01:31
Hi,
habe mich gerade angemeldet, also erstmal ein HALLO!!!
Vorab: Vielleicht quetscht das ja mal jemand in eine Installationsdatei. Ich helfe gerne, habe aber selber nicht die Zeit!
Ich bin der Schuldige von dem Dirk geredet hat. Hier mal ganz kurz:
Die PHP-Datei:
[CODE]
define('PMF_INCLUDE', TRUE);
require('head.php');
access('locator');
require('talkchat/functions/mysql.php');
$str = "SELECT a.user_id FROM ".$_cfg['DB_PREFIX']."user_field_value AS a LEFT JOIN ".$_cfg['DB_PREFIX']."user AS u ON u.id = a.user_id WHERE a.field_id = 21 AND a.value = 0 ORDER BY u.name";
$geodatas = my_get_big_assoc_array($str);
if (is_array($geodatas)){
foreach ($geodatas as $key => $geodata){
$str = "SELECT value FROM ".$_cfg['DB_PREFIX']."user_field_value WHERE user_id = ".$geodata[user_id]." AND field_id = 12";
$geodatas[$key]['city'] = my_get_var($str);
$str = "SELECT value FROM ".$_cfg['DB_PREFIX']."user_field_value WHERE user_id = ".$geodata[user_id]." AND field_id = 15";
$geodatas[$key]['plz'] = my_get_var($str);
$str = "SELECT name FROM ".$_cfg['DB_PREFIX']."user WHERE id = ".$geodata[user_id];
$geodatas[$key]['name'] = my_get_var($str);
$str = "SELECT x, y FROM ".$_cfg['DB_PREFIX']."hack_map WHERE uid = ".$geodata[user_id];
$tmp = my_get_assoc_array($str);
$geodatas[$key]['x'] = $tmp[x];
$geodatas[$key]['y'] = $tmp[y];
}
}
eval ('echo "'.$_style->get('map').'";');
footer();
?>[/CODE]
Die PHP-fitten können damit sicher was anfangen.
In der Datenbank-Tabelle werden die x und y sowie userid gespeichert.
Dann eine weitere Datei, die in der signon.php und in der user.php eingebunden ist:
[CODE]
###
# Diese Datei muss in den Dateien user.php und signup.php eingebunden werden!
# require('extensions/locator_addition.php');
###
# user.php: Einfügen nach Zeile 397
# signup.php: Einfügen nach Zeile 209
require('talkchat/functions/mysql.php');
if ($user_id != NULL){
$l_user[user_id] = $user_id;
} else {
$l_user[user_id] = $_user['id'];
}
$str = "SELECT value FROM ".$_cfg['DB_PREFIX']."user_field_value WHERE user_id = ".$l_user[user_id]." AND field_id = 21";
$l_user[go] = my_get_var($str);
if ($l_user[go] == "0"){
$str = "SELECT value FROM ".$_cfg['DB_PREFIX']."user_field_value WHERE user_id = ".$l_user[user_id]." AND field_id = 12";
$l_user[town] = my_get_var($str);
$str = "SELECT value FROM ".$_cfg['DB_PREFIX']."user_field_value WHERE user_id = ".$l_user[user_id]." AND field_id = 15";
$l_user[zip] = my_get_var($str);
$str = "SELECT value FROM ".$_cfg['DB_PREFIX']."user_field_value WHERE user_id = ".$l_user[user_id]." AND field_id = 18";
$l_user[street] = my_get_var($str);
$str = "SELECT value FROM ".$_cfg['DB_PREFIX']."user_field_value WHERE user_id = ".$l_user[user_id]." AND field_id = 19";
$l_user[housenumber] = my_get_var($str);
$str = "SELECT value FROM ".$_cfg['DB_PREFIX']."user_field_value WHERE user_id = ".$l_user[user_id]." AND field_id = 20";
$l_user[country] = my_get_var($str);
foreach ($l_user as $key => $elem){
$l_user[$key] = trim($l_user[$key]);
$l_user[$key] = str_replace("ß", "ss", $l_user[$key]);
$l_user[$key] = str_replace(" ", "+", $l_user[$key]);
}
$querry[0] = "";
if ($l_user[street] != "") {
$querry[0] = $l_user[street];
}
if ($l_user[housenumber] != "") {
if($querry[0] != ""){
$querry[0] .= "+".$l_user[housenumber];
}
}
$querry[1] = "";
if ($l_user[zip] != "") {
$querry[1] .= $l_user[zip];
}
if ($l_user[town] != "") {
if($querry[1] != ""){
$querry[1] .= "+".$l_user[town];
} else {
$querry[1] = $l_user[town];
}
}
if ($querry[0] == ""){
if($querry[1] == ""){
if($l_user[country] == ""){
$q = "";
} else {
$q = $l_user[country];
}
} else {
$q = $querry[1];
if($l_user[country] != ""){
$q .= ",".$l_user[country];
}
}
}else{
$q = $querry[0];
if($querry[1] != ""){
$q .= ",".$querry[1];
}
if($l_user[country] != ""){
$q .= ",".$l_user[country];
}
}
$geodata = file_get_contents('http://maps.google.com/maps/geo?q='.$q.'&output=csv&key=ABQIAAAAP64Sr3wKbLwq0rgQoLl14hRDqmV08Gpgtb6bOtZZwmJ8OxM8UhTrL40UY8q-RxyN58LFVXby9NdqmA');
$geodata = explode(",", $geodata);
$str = "SELECT COUNT(*) FROM `".$_cfg['DB_PREFIX']."hack_map` WHERE uid = '".$l_user[user_id]."'";
if (my_get_var($str) != 0){
$str = "UPDATE `".$_cfg['DB_PREFIX']."hack_map` SET `x` = '".$geodata[2]."', `y` = '".$geodata[3]."' WHERE `uid` = '".$l_user[user_id]."'";
} else {
$str = "INSERT INTO `".$_cfg['DB_PREFIX']."hack_map` (`uid`, `x`, `y`) VALUES ('".$l_user[user_id]."', '".$geodata[2]."', '".$geodata[3]."')";
}
my_get_result($str);
}
?>[/CODE]
Das Template:
In muss:
[CODE]
[/CODE]
Der Body muss so aussehen:
[CODE][/CODE]
Und dann noch die Map in der html Datei, je nachdem wie man will:
[CODE]Daniel
14.01.07, 23:05:15
Daniel
14.01.07, 23:18:37
Hallo,
Danke Daniel!
Gruss
Dirk
fossie
15.01.07, 11:53:23
spike_putin
15.01.07, 17:38:39
Hi,
das ist die 2. Datei die ich gepostet habe. Das ist die die in der signon.php und in der user.php eingebunden wird...
Es steht nur da wie ich die in die beiden Dateien eingebunden habe, deswegen stehen die da auch nur als Kommentar!
Gruß,
Daniel
Daniel
28.01.07, 20:27:39
spike_putin
31.01.07, 21:23:35
siebi
03.02.07, 21:48:22
Daniel
03.02.07, 22:10:14
siebi
03.02.07, 22:24:12
spike_putin
03.02.07, 22:37:32
siebi
04.02.07, 11:11:43
Danke dir siebi, hatte das allerdings auch schon gesehen und vorher einfach meine bestehenden Profilfelder im code geändert. Kurzum: Die Koordinaten wurden nicht in der Karte angezeigt.
Vorschlag:
Da die Lösung von Dirk für das phpmyforum sinnvoll ist und wir ja zudem derzeit keine vernünftige Lösung für eine Karte der Mitglieder haben (der User Locator funzt ja auch nicht so richtig und hat Fehler) würde ich vorschlagen, dass evtl. einer von den php-Fitten mal einen Installer baut?
Zu einem Forensystem gehört eigentlich auch eine Usermap ... ich würde sogar sagen, dass ist ein Hack der nicht fehlen sollte :rolleyes:
Ist doch bei der Vorarbeit von Dirk bestimmt für die Coder hier nicht mehr so aufwändig einen Installer zu bauen, oder?
spike_putin
05.02.07, 19:32:35
siebi
05.02.07, 20:09:01
siebi
14.02.07, 10:31:16
spike_putin
16.02.07, 08:46:11
siebi
17.02.07, 17:42:01
spike_putin
|