Statistik |
Beiträge: 144.531 (Täglich: 19,19 )
Themen: 16.700
Mitglieder: 13.209
Neuestes Mitglied: zitronentee.
Ausl. d. letzten Minute: 260%
Ausl. d. letzten 5 Minuten: 288%
Ausl. d. letzten 15 Minuten: 301%
Aktulle Uhrzeit: 22:35
Freier Webspace: 4.04 TB
PHP-Version: 7.4.33
|
|
|
|
|
profile.tpl mit Abfrage |
|
Hallo, erstmal ein großes Lob an Viktor für den klasse User-Locator. Hab ihn deshalb auch auf meine Seite mit eingebaut. Allerdings, habe ich einen kleinen Schönheitsfehler (wenn man es so nennen kann) am Programm entdeckt.
Und zwar, habe ich bei mir angemeldete User, die sich allerdings noch nicht in den User-Locator eingetragen haben. Schaut man bei diesen Leuten ins Profil, so wird dort ebenfalls die kleine Karte angezeigt, aber ohne Eintrag. Deshalb meine Frage, ist es möglich in der profile.tpl eine Abfrage zu integrieren, bei der gecheckt wird ob der jeweilige User schon Einträge in den User-Locator gemacht hat oder nicht und nur bei vorhandenem Eintrag (z.B. der Angabe der Postleitzahl '$row['postal']') die kleine Karte angezeigt wird, ansonsten nicht.
Ist das programmiertechnisch möglich und wenn ja wie?
Danke schon mal im voraus
Bytekiller
|
|
17.05.2005 00:56 |
|
|
|
RE: profile.tpl mit Abfrage |
|
Das müsste aber eigentlich funktionierern, wenn Du die Map installiert hat (und nicht den Locator).
Sobald sich ein User NICHT eingetragen hat, wird er auch nicht angezeigt...
Und so wie ich bei Dir lesen, hört es sich an, dass Du gerade den Locator mit der Map etwas verwechselst, oder täuscht das?
Gruß yve
__________________ Gruß yve
Jemand der niemals Fehler gemacht hat, hat nie was Neues ausprobiert.
Albert Einstein
|
|
17.05.2005 18:07 |
|
|
|
RE: profile.tpl mit Abfrage |
|
Hallo Yve, du hattest Recht - habe den Locator mit der Map verwechselt. Ist aber auch nicht so einfach, da ich beide auf meiner Seite eingebaut habe. Trotzdem funktioniert die Anzeige mit nicht eingetragenen Usern bei mir nicht. Habe mir deshalb gestern Abend nochmal die zugegörigen Templates angeschaut und sie etwas umgestellt, d.h. ich habe einfach die kleine Grafik in das Template 'mod_map_profile_anz_km' mit reingenommen. Somit erscheint die kleine Grafik der Landkarte gleich unter der Kilometerangabe. Sieht meines erachtens auch nicht schlecht aus und passt irgendwie sowieso ganz gut zu den restlichen Angaben darüber. Auf jeden Fall funktioniert es jetzt tadellos. Bei Usern die sich noch nicht eingetragen haben erscheint nun keine Karte mehr.
Zur Veranschaulichung, so sieht das jetzt bei mir aus, wenn jemand sich eingetragen hat:
Vielleicht hat jemand das gleiche Problem, dann einfach genauso machen, dann klappt das.
Problem geklärt
Tschüss und [Close]
Bytekiller
|
|
17.05.2005 20:26 |
|
|
|
RE: profile.tpl mit Abfrage |
|
Da ist das Problem, da die php Scripts und Template änderungen total unterschiedlich bei der Map und dem Locator, ist es nicht so einfach
...
Ich denke mir mal, wenn Du noch bis zum 22, 23 oder 24 wartest (dann kommt nämlich Vktor aus dem Urlaub), naja ehr am 22, aber er hat so um die 12 Threads zu bearbeiten, wo ich nicht helfen konnte (ganz zu schweigen von den PN's und Mails, die er vielleicht bekommen hat) zu bearbeiten, kann er Dir bestimmt weiter helfen, aber ich kann es nicht, da ich mich leider nicht 100%ig mit der Map und dem Locator auskenne.
So lange hast Du hoffentlich Geduld
Und ich weiß das sich das wartenbei Viktor lohnt
Gruß yve
__________________ Gruß yve
Jemand der niemals Fehler gemacht hat, hat nie was Neues ausprobiert.
Albert Einstein
|
|
17.05.2005 21:00 |
|
|
|
RE: profile.tpl mit Abfrage |
|
Ok, dann warte ich mal bis Viktor wieder da ist. Vieleicht gibt's ja doch noch ein paar Tipps zum Script, obwohl soweit alles meiner Meinung nach funktioniert.
Bis dahin Chiao
Bytekiller
|
|
18.05.2005 08:43 |
|
|
|
RE: profile.tpl mit Abfrage |
|
Ja klar funktioniert da alles
, was soll man denn auch anderes erwarten, wurde ja von Viktor gecodet
Er bekommt das auch bestimmt hin, dass der Eintrag dann im Profil erscheint, oder nicht (wenn er nicht eingetragen ist).
Diesen Thread habe ich schon mitgesammelt und er bekommt den dann mit den anderen, wo ich nicht helfen konnte mitgeschickt
Gruß yve
__________________ Gruß yve
Jemand der niemals Fehler gemacht hat, hat nie was Neues ausprobiert.
Albert Einstein
|
|
18.05.2005 08:52 |
|
|
|
Nö, das Problem ist noch offen
Er wollte die Anzeige, die in der Map ist (user km enfernt) auch beim Locator haben...
Gruß yve
__________________ Gruß yve
Jemand der niemals Fehler gemacht hat, hat nie was Neues ausprobiert.
Albert Einstein
|
|
22.05.2005 12:37 |
|
|
|
Kann man nicht die User km Anzeige im Locator anzeigen lassen?
Ich hätte fast gedacht ja
Naja, ich soll ja auch nicht denken, ich soll ja nachdenken
Gruß yve
__________________ Gruß yve
Jemand der niemals Fehler gemacht hat, hat nie was Neues ausprobiert.
Albert Einstein
|
|
22.05.2005 19:29 |
|
|
|
Hallo Viktor,
was ich eigentlich wollte, war eine Abfrage im Template profile.tpl, welche checkt ob Eingaben beim User-Locator durch den jeweiligen Benutzer gemacht wurden oder nicht und nur wenn diese Daten vorhanden sind, wird die kleine Map angezeit, andernfalls nicht. Ist das machbar? Und wenn ja, wie?
|
|
25.05.2005 19:57 |
|
|
|
|
Zitat: Original von Viktor
|
Zitat: Original von bytekiller
Hallo Viktor,
was ich eigentlich wollte, war eine Abfrage im Template profile.tpl, welche checkt ob Eingaben beim User-Locator durch den jeweiligen Benutzer gemacht wurden oder nicht und nur wenn diese Daten vorhanden sind, wird die kleine Map angezeit, andernfalls nicht. Ist das machbar? Und wenn ja, wie? |
|
|
Hallo,
machbar ist es bestimmt.
Muss mir nur überlegen wie man es am besten machen kann.
Gruß
Viktor
|
|
|
Hallo Viktor, ich habe ein wenig an deinem Hack verändert, so dass die Mini-Landkarte im Profil jetzt wirklich nur noch dann angezeigt wird , wenn der jeweilige User sich auch dort eingetragen hat.
Hier die Veränderung im Detail:
in der profil.php nach
php: |
1:
|
$lang->items['LANG_GLOBAL_USER_MAP_POSTBIT_KM'] = $lang->get("LANG_GLOBAL_USER_MAP_POSTBIT_KM", array('$entfernung' => $entfernung)); |
|
habe ich folgendes eingefügt:
php: |
1:
2:
3:
4:
5:
6:
|
$result2=$db->query("SELECT * FROM bb".$n."_wlw WHERE userid= '$userid'");
$row2=$db->fetch_array($result2);
if($row2['userid']) {
$minimap_ja='1';
}
else $minimap_ja='0'; |
|
dann nur noch das mod_map_profile_anz_km.tpl
wie folgt ändern:
<!-- User-Map -->
<span class="smallfont">{$lang->items['LANG_GLOBAL_USER_MAP_POSTBIT_KM']}</span><
br>
<if($minimap_ja=='1')><then>
<br /><br /><img src="locator.php?action=image_kl&userid=$userid{$SID_ARG_2ND}" border="0">
</then></if>
<!-- User-Map -->
Dann schaut die Anzeige auch so aus wie ich das ganz oben im Tread schon mal als Bild aufgeführt hatte.
Mag sein das der php Code etwas primitiv aussieht, aber er funktioniert
.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von bytekiller: 01.06.2005 21:17.
|
|
01.06.2005 21:00 |
|
|
|
Habe ich gerade gemerkt und geändert.
Gruß bytekiller
|
|
01.06.2005 21:18 |
|
|
|
Desweiteren habe ich bei einem User eine ganz seltsame Sache festellen müssen - klickt man bei ihm auf das Profil, so wurde die Entfernung von ihm zu mir mit 5475km angegeben, obwohl der User gar keine Einträge in die User Map gemacht hat.
Deshalb habe ich deine User-Map mal komplett durchgecheckt und eine Sicherheitsabfrage integriert, welche testet ob der angemeldete User überhaupt Einträge in die User Map gemacht hat und nur dann die Entfernung zum jeweiligen anderen Benutzer ermöglicht.
Ich hoffe der Code ist soweit richtig, zumindest funktioniert er bei mir und dem anderen User tadellos.
Also so sieht der komplette Eintrag im der Profil.php jetzt bei mir aus:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
|
/* Begin User-Map by Viktor */
$result = $db->query("SELECT * FROM bb".$n."_map_mod_user WHERE user_id = '$userid'");
$row = $db->fetch_array($result);
if($row['user_id']) {
if($wbbuserdata[userid]) {
$result_auf = $db->query("SELECT * FROM bb".$n."_map_mod_user WHERE user_id = '$wbbuserdata[userid]'");
$row_auf = $db->fetch_array($result_auf);
if($row_auf['user_id']) {
$entfernung = round(geo_distance($row['longitude'], $row['latitude'], $row_auf['longitude'], $row_auf['latitude']) /1000);
$lang->items['LANG_GLOBAL_USER_MAP_POSTBIT_KM'] = $lang->get("LANG_GLOBAL_USER_MAP_POSTBIT_KM", array('$entfernung' => $entfernung));
$result2=$db->query("SELECT * FROM bb".$n."_wlw WHERE userid= '$userid'");
$row2=$db->fetch_array($result2);
if($row2['userid']) {
$minimap_ja='1';
}
else $minimap_ja='0';
eval ("\$mod_map_profile_anz_km = \"".$tpl->get("mod_map_profile_anz_km")."\";");
}
else {
$entfernung='0';
$lang->items['LANG_GLOBAL_USER_MAP_POSTBIT_KM'] = $lang->get("LANG_GLOBAL_USER_MAP_POSTBIT_KM", array('$entfernung' => $entfernung));
}
$result2=$db->query("SELECT * FROM bb".$n."_wlw WHERE userid= '$userid'");
$row2=$db->fetch_array($result2);
if($row2['userid']) {
$minimap_ja='1';
}
else $minimap_ja='0';
}
$username_map = $user_info['username'];
$lang->items['LANG_GLOBAL_USER_MAP_POSTBIT'] = $lang->get("LANG_GLOBAL_USER_MAP_POSTBIT", array('$username_map' => $username_map));
eval ("\$mod_map_profile_anz = \"".$tpl->get("mod_map_profile_anz")."\";");
}
/* End User-Map by Viktor */ |
|
Ist das soweit OK?
|
|
01.06.2005 21:28 |
|
|
|
|
|
|