Seite 1 von 1

JMap Mod kein Eintrag in die phpbb_map_mod_user

Verfasst: 06.05.2006 16:49
von Polarwelt
Hallöchen zusammen,

ich habe den Map Mod von Bananeweizen inklusiv der Java-Erweiterung installiert. Im großen und ganzen funktioniert fast alles bis auf folgenden Fehler.

Geh ich in das Profil eines Users und Trage die Koordinaten manuell (auch ohne Komma bzw. Punkt) ein oder wähle sie über Ort finden aus werden diese auch ins Profil übertragen. Klicke ich dann auf absenden kommt die Meldung "Dein Profil wurde aktualisiert" aber ein Eintrag in die phpbb_map_mod_user erfolgt nicht. dementsprechend ist der Eintrag bei erneutem Profilaufruf auch nicht vorhanden.

Trage ich direkt in die Datenbank die UserID sowie den Längen und Breitengrad an wird dieser ohne Probleme in der Karte angezeigt
http://www.loros.de/phpBB2/map.php?mode=applet (Ein Testuser ist eingetragen).

Hat jemand eine Idee wo der Fehler liegen könnte?

Falls jemand testen möchte:

User: test
PW: test

Vielen Dank schon im Voraus für Eure Hilfe.

Gruß Polarwelt

Verfasst: 06.05.2006 17:35
von Polarwelt
So wies aussieht liegt die ganze Sache in der Installationsanleitung und zwar soll man folgendes aussführen:
includes/usercp_register.php

#
#-----[ FINDE ]------------------------------------------
#

$strip_var_list = array('username' => 'username',

#
#-----[ DANACH EINFUEGEN ]------------------------------------------
#

// Begin Map Mod
$strip_vars_mapmod = array('longitude' => 'longitude', 'latitude' => 'latitude');
$strip_var_list = array_merge ($strip_var_list, $strip_vars_mapmod);
// End Map Mod

#
#-----[ FINDE ]------------------------------------------
#

$user_avatar_type = ( empty($user_avatar_local) && $mode == 'editprofile' ) ? $userdata['user_avatar_type'] : '';

#
#-----[ DANACH EINFUEGEN ]------------------------------------------
#

// Begin Map Mod
$longitude = ( !empty($HTTP_POST_VARS['longitude']) ) ? str_replace(',','.',trim(strip_tags( $HTTP_POST_VARS['longitude'] ) ) ) : '';
$latitude = ( !empty($HTTP_POST_VARS['latitude']) ) ? str_replace(',','.',trim(strip_tags( $HTTP_POST_VARS['latitude'] ) ) ) : '';
// End Map Mod
jedoch wird im Forum Update von 2.0.18 auf 2.0.19 diese Zeilen verändert.
#-----[ OPEN ]---------------------------------------------
#
includes/usercp_register.php

#
#-----[ FIND ]---------------------------------------------
# Line 110
$strip_var_list = array('username' => 'username', 'email' => 'email', 'icq' => 'icq', 'aim' => 'aim', 'msn' => 'msn', 'yim' => 'yim', 'website' => 'website', 'location' => 'location', 'occupation' => 'occupation', 'interests' => 'interests');
$strip_var_list['confirm_code'] = 'confirm_code';

#
#-----[ REPLACE WITH ]---------------------------------------------
#
$strip_var_list = array('email' => 'email', 'icq' => 'icq', 'aim' => 'aim', 'msn' => 'msn', 'yim' => 'yim', 'website' => 'website', 'location' => 'location', 'occupation' => 'occupation', 'interests' => 'interests', 'confirm_code' => 'confirm_code');

#
#-----[ FIND ]---------------------------------------------
# Line 126
$trim_var_list = array('cur_password' => 'cur_password', 'new_password' => 'new_password', 'password_confirm' => 'password_confirm', 'signature' => 'signature');

#
#-----[ BEFORE, ADD ]---------------------------------------------
#
$username = ( !empty($HTTP_POST_VARS['username']) ) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';
Vieleicht ist das ein Ansatzpunkt.

Würde mich über Hilfe freuen.

Gruß Polarwelt


Nachtrag: Hier noch die http://www.loros.de/usercp_register.txt

Verfasst: 07.05.2006 00:29
von Polarwelt
Ich hab nochmal was rausgefunden:

Wenn ich in die usercp_register.php den Eintrag der admin_users.php eintrage dann funktioniert das ganze. Die Frage ist jetzt aber nun ob das ein Sicherheitsrisiko darstellt?!
#-----[ OEFFNE ]------------------------------------------
#

admin/admin_users.php

#

$sql = "UPDATE " . USERS_TABLE . "

#
#-----[ DAVOR EINFUEGEN ]------------------------------------------
#

// Begin Map Mod
$sql = "SELECT user_id
FROM ". MAP_MOD_USER_TABLE . "
WHERE user_id = $user_id ";
if (! $result = $db->sql_query($sql)) {
message_die(GENERAL_ERROR, 'Could not get map data.', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
if ($row['user_id']==$user_id) {
$sql = "DELETE
FROM " . MAP_MOD_USER_TABLE . "
WHERE user_id = $user_id ";
if (! $result = $db->sql_query($sql)) {
message_die(GENERAL_ERROR, 'Could not delete map data.', '', __LINE__, __FILE__, $sql);
}
}
if (((float)$longitude != 0.0) || ((float)$latitude != 0.0)) {
$sql = "INSERT INTO " .MAP_MOD_USER_TABLE. "
VALUES (" . intval($user_id) . ", " . (float)$longitude . "," . (float)$latitude. ")";
if(! $result = $db->sql_query($sql)) {
message_die(GENERAL_ERROR, 'Could not update map table.', '', __LINE__, __FILE__, $sql);
}
}
// End Map Mod
Gruß Polarwelt