Script-solution.de » Community » Support-Board » Foren » Boardsolution » Boardsolution v1.3x » Mod-Anleitungen » Google-Membermap
  • Willkommen, Gast!
  • Sonntag, 05. Februar 2012, 04:54:14
 
Thema: "Google-Membermap" [ Seite 1 ]

Kein neuer Beitrag Rafioso , 29.03.2009, 22:47
Beitrag #1   

IP: n/a
Rang: * * * * * * *
Registrierung: 30.08.2006, 22:31
Homepage: http://HomepageStarter.de
Wohnort: O-BW
 

Forum-Gott mit 1463 Punkte, 1295 Beiträge

UPDATE: Edit Nr. 3 unbedingt lesen!

Hallo,

mit dieser Modifikation wird der Wohnort eurer User auf einer Google-Maps-Karte per Marker und
Infofenster dargestellt, sofern der User es im Profil eingetragen hat.

Klickt man auf einen Marker, werden genauere Daten angezeigt.

Die Modifikation sieht dann z.B. so aus:

uploads/membermap.jpg


Das ganze wurde mit Boardsolution 1.36 getestet, dürfte aber auch mit jeder anderen 1.3x
Version funktionieren.



Diese Mod beinhaltet folgende Sprachen:

  • "ger_du" direkt eingetragen.





#### Installation

Öffne den Ordner modules/ und erstellt eine Datei mit dem Namen membermap.php.
Füge nun folgenden Code hinein:
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?php
if(!class_exists('BS_Module'))
    die();

class BS_Module_membermap extends BS_Module
{
    function run()
    {       
         $this->tpl->set_template('membermap.htm');
         echo $this->tpl->parse_template();
    }
    
      function get_map_vars()
      {
         $qry = $this->db->sql_qry(
            'SELECT u.id,u.user_name, p.add_Membermap
             FROM '.BS_TB_PROFILES.' as p, '.BS_TB_USER.' as u
             WHERE u.id = p.id and p.add_Membermap != ""');   

         $map_vars = '<script type="text/javascript">
//<![CDATA[
/* 
 * GTAvision.com Membermap for Boardsolution 1.3x 
 * Copyright by GTAvision.com
*/
var map = null;
var geocoder = null;
var point = null;
      

   if (GBrowserIsCompatible()) 
   {
      map = new GMap2(document.getElementById("map"));
      
      map.addControl(new GMapTypeControl()); //Kartentyp ausw&auml;hlbar
      map.addControl(new GLargeMapControl()); //Gro&szlig;e Navi
      map.addControl(new GScaleControl()); //Ma&szlig;stab
      map.addControl(new GOverviewMapControl()); //&Uuml;bersichtskarte
      map.enableScrollWheelZoom(); //Scrollbare Karte      
      
      point = new GLatLng(28.304380682962783, -10.1953125);
      map.setCenter(point, 2, G_HYBRID_MAP);
      geocoder = new GClientGeocoder();
';

        while($data = $this->db->sql_fetch_assoc($qry))
         {
            $map_vars .= '            
               if (geocoder) 
               {
                  geocoder.getLatLng("'.$data['add_Membermap'].'", 
                     function(point) 
                     {
                        if (!point) 
                        {
                           alert("Adresse '.$data['add_Membermap'].' von '.$data['user_name'].' nicht gefunden.");
                        } 
                        else 
                        {
                           var marker_helper = new GMarker(point);
                           GEvent.addListener(marker_helper, "click", 
                              function() 
                              {
                                 marker_helper.openInfoWindowHtml("<div style=\"margin:12px 0px 0px 0px; text-align:left;\"><span style=\"color:#000000;\">&gt;&gt; Hier wohnt <a class=\"bs_main\" href=\"index.php?action=userdetails&amp;id='.$data['id'].'\"><b>'.$data['user_name'].'</b></a><hr />'.$data['add_Membermap'].'</span></div>");
                              }
                           );
                        map.addOverlay(marker_helper);
                     }
                  }
               );
            }';
         }
$map_vars .= '         }
      //]]>
      </script>';         
      
         return $map_vars;
      }
    
    function get_location()
    {
        return array($this->url->get_URL('membermap') => 'Membermap');
    }
    
    function has_access()
    {
        return $this->sess->is_loggedin();
    }
    
    function is_guest_only()
    {
        return false;
    }

    function get_robots_value()
    {
        return "noindex,follow";
    }
}
?>


Nun muss die src/page.php geöffnet werden und unter Zeile ~Z.193
PHP:
1
$this->_module->tpl->set_template('footer.htm',0);

folgendes eingefügt werden:
PHP:
1
2
if($this->_module_name == 'membermap')
      $this->_module->tpl->add_variables(array('map_vars' => $this->_module->get_map_vars()));



Öffne anschließend den Ordner themes/<style>/templates/ und erstellt eine Datei mit dem Namen
membermap.htm.
Füge hier folgendes ein:
HTML:
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
<table width="100%" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td class="bs_tbl_top_left"></td>
    <td class="bs_tbl_top"></td>
    <td class="bs_tbl_top_right"></td>
  </tr>
  <tr>
    <td class="bs_tbl_left"></td>
    <td>
    <table width="100%" cellpadding="2" cellspacing="1">
      <tr>
        <td align="center" height="22" class="bs_topic">Membermap</td>
      </tr>
      <tr>
        <td class="bs_main">
        <p>Anhand dieser Karte siehst du, wo die User wohnen. Dies setzt nat&uuml;rlich voraus, dass man seinen Wohnort im <a href="index.php?action=userprofile&amp;loc=pr_infos" title="Profil" class="bs_main">Profil</a> unter <b>Pers&ouml;nliche Infos >> Membermap</b> auch eingetragen hat.<br /><br />
        Je genauer man seinen Wohnort beschreibt, desto genauer landet der Marker auf der Karte. <br />
        Beispiel: "D, 88888 Testhausen, Teststra&szlig;e 1" -> "Land, PLZ Stadt, Stra&szlig;e Hausnummer"
        </p>
  <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true&amp;key=DEIN_API_CODE" type="text/javascript">
  </script>
<div id="map" style="margin:0px auto 0px auto; width: 100%; height: 620px"></div>
<p>Die Membermap ist nur f&uuml;r eingeloggte User erreichbar. <br />Jegliche Nutzung der Userdaten au&szlig;erhalb dieser Membermap ist strengstens untersagt und wird mit rechtlichen Schritten verfolgt!</p>
        </td>
      </tr>
    </table>
    </td>
    <td class="bs_tbl_right"></td>
  </tr>
  <tr>
    <td class="bs_tbl_bottom_left"></td>
    <td class="bs_tbl_bottom"></td>
    <td class="bs_tbl_bottom_right"></td>
  </tr>
</table>


Wobei DEIN_API_CODE...
HTML:
1
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true&amp;key=DEIN_API_CODE" type="text/javascript">

...mit deinem Google-API-Code ersetzt werden muss.
Einen Google-API-Code kannst du hier beantragen.


Öffne nun die themes/<style>/templates/footer.htm und füge vor </body>
HTML:
1
2
3
{IF map_vars}
{map_vars}
{ENDIF}

ein.


#### Installation des Profilfelds

Gehe in den Adminbereich und anschließend nach User >> Zusätzliche Profilfelder.
Klicke dort auf "Neues Feld hinzufügen" und trage folgende Daten ein:
Zitat:

Feldname: Membermap
Angezeigter Name: Membermap

Feldtyp: Text (255 )

Anzeigen:
Beiträge: Nein
Registrierung: Nein
User-Details: Nein
User-Profil: Ja

Pflichtfeld: Nein
Immer anzeigen: Nein

Suffix:
Bearbeitungshinweis: Hier kannst du deinen Wohnort in die Membermap eintragen. Der Wohnort wird nur
in der Membermap angezeigt. Je genauer die Wohnortbeschreibung, desto genauer landet der Marker auf
der Karte. Beispiel: "D, 88888 Testhausen, Teststraße 1" -> "Land, PLZ Stadt, Straße
Hausnummer"

Benutzerdefinierte Darstellung:

Eingabe-Überprüfung:



//Edit
PS: Aufgerufen wird die Map mit index.php?action=membermap

//Edit 2
Keine Templatevariablenübergabe außerhalb des Moduls behoben.

//Edit 3
Solltet ihr unbedingt ändern
modules/membermap.php wurde überarbeitet.
src/page.php muss neu geändert werden.
##############################################


Das wars.

Viel Spaß damit :)

MfG
Rafioso
Anhänge:
membermap.jpg 389.140 Bytes 22 Downloads
Dieser Beitrag wurde insgesamt 3 mal editiert. Das letzte mal 18.05.2009, 12:51 von Rafioso.

 
Kein neuer Beitrag Nils , 30.03.2009, 09:58
Beitrag #2   

IP: n/a
Rang: * * * * * * *
Registrierung: 01.07.2003, 18:55
Homepage: http://www.script-solution.de
Wohnort: Marburg
 

Forum-Gott mit 7592 Punkte, 7358 Beiträge
Hallo,

sieht gut aus. Vielen Dank für die Anleitung!
Willst du die auch nochmal als Addon auf unserer Seite eintragen? Da müssen ja langsam mal ein paar
hinzukommen :)

mfg Nils

n/a n/a 1     ( Anzeige: 1 - 2 , Gesamt: 2 ) n/a n/a
User in diesem Thema: 0 Registrierte, 0 Versteckte, 1 Gast, 0 Bots
Keine
Thema-Aktionen:

Toggle Ähnliche Themen zu "Google-Membermap"
  Antworten Aufrufe Themeneröffnung Letzter Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, 'heißes Thema'
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Google Sitemap Mod 9 15584 23.01.2010, 20:32
Von: KingGO
11.02.2011, 10:43
Von: langer Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, 'heißes Thema'
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  statische url für seo bzw. google 3 8946 04.08.2007, 20:50
Von: bernhard
08.01.2010, 19:51
Von: Nils Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, 'heißes Thema'
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Google-Membermap 0 9128 19.11.2009, 03:10
Von: Rafioso
19.11.2009, 03:10
Von: Rafioso Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, 'heißes Thema'
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  problem mit dem Google Crawler 6 8479 10.10.2009, 14:08
Von: Cewbacca
13.10.2009, 20:44
Von: Rafioso Zum letzten Beitrag
Keine neuen Beiträge, nicht wichtig Keine neuen Beiträge, kein 'heißes Thema'
Keine neuen Beiträge, offen Keine neuen Beiträge, nicht verschoben
  Googlebot und seine Kumpanen 5 3571 06.11.2008, 15:00
Von: chris2603
07.11.2008, 08:54
Von: chris2603 Zum letzten Beitrag
  • 0.125214 Sek., 11 DB-Zugriffe, 6.381 MiB
  • Boardsolution v1.43 | © Nils Asmussen 2003-2009
Valid XHTML and CSS © 2003 - 2009 script-solution.de, Powered by Joomla!