Subversion Repositories Applications.bazar

Rev

Rev 411 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 411 Rev 416
1
<?php
1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
3
// +------------------------------------------------------------------------------------------------------+
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
6
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
7
// +------------------------------------------------------------------------------------------------------+
8
// | This library is free software; you can redistribute it and/or                                        |
8
// | This library is free software; you can redistribute it and/or                                        |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
9
// | modify it under the terms of the GNU Lesser General Public                                           |
10
// | License as published by the Free Software Foundation; either                                         |
10
// | License as published by the Free Software Foundation; either                                         |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
11
// | version 2.1 of the License, or (at your option) any later version.                                   |
12
// |                                                                                                      |
12
// |                                                                                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
13
// | This library is distributed in the hope that it will be useful,                                      |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
14
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
15
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU                                    |
16
// | Lesser General Public License for more details.                                                      |
16
// | Lesser General Public License for more details.                                                      |
17
// |                                                                                                      |
17
// |                                                                                                      |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
18
// | You should have received a copy of the GNU Lesser General Public                                     |
19
// | License along with this library; if not, write to the Free Software                                  |
19
// | License along with this library; if not, write to the Free Software                                  |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
21
// +------------------------------------------------------------------------------------------------------+
22
// CVS : $Id: bazar.fonct.google.php,v 1.1 2007-06-04 15:24:00 alexandre_tb Exp $
22
// CVS : $Id: bazar.fonct.google.php,v 1.1 2007-06-04 15:24:00 alexandre_tb Exp $
23
/**
23
/**
24
* Formulaire
24
* Formulaire
25
*
25
*
26
* Les fonctions et script specifique a un carto google
26
* Les fonctions et script specifique a un carto google
27
*
27
*
28
*@package bazar
28
*@package bazar
29
//Auteur original :
29
//Auteur original :
30
*@author        Aleandre GRANIER <alexandre@tela-botanica.org>
30
*@author        Aleandre GRANIER <alexandre@tela-botanica.org>
31
*@copyright     Tela-Botanica 2000-2007
31
*@copyright     Tela-Botanica 2000-2007
32
*@version       $Revision: 1.1 $
32
*@version       $Revision: 1.1 $
33
// +------------------------------------------------------------------------------------------------------+
33
// +------------------------------------------------------------------------------------------------------+
34
*/
34
*/
35
 
35
 
36
$script = '
36
$script = '
37
    // Variables globales
37
    // Variables globales
38
    var map = null;
38
    var map = null;
-
 
39
    // Variables globales
-
 
40
    // cette fonction peut déjà être présente
-
 
41
	if (typeof(addListener) != \'function\') {
-
 
42
		// fonction portable pour ajout de listeners
-
 
43
		function addListener(element, baseName, handler)
-
 
44
		{
-
 
45
			if (element.addEventListener) {
-
 
46
				element.addEventListener(baseName, handler, false) ;
-
 
47
			} else if (element.attachEvent) {
-
 
48
				element.attachEvent(\'on\'+baseName, handler) ;
-
 
49
			}
-
 
50
		}
-
 
51
	}
-
 
52
    addListener(window,\'load\',loadMap) ;
-
 
53
    //var isMap = true ;		
39
	var geocoder = null;
54
	var geocoder = null;
40
	var lat = document.getElementById("latitude");
55
	var lat = document.getElementById("latitude");
41
    var lon = document.getElementById("longitude");
56
    var lon = document.getElementById("longitude");
42
    
57
    
43
    function load() {
58
    function loadMap() {
44
    if (GBrowserIsCompatible()) {
59
    if (GBrowserIsCompatible()) {
-
 
60
      map = new GMap2(document.getElementById("map"));
45
      map = new GMap2(document.getElementById("map"));
61
      map.setMapType(G_HYBRID_MAP) ;
46
      map.addControl(new GSmallMapControl());
62
      map.addControl(new GSmallMapControl());
47
	  map.addControl(new GMapTypeControl());
63
	  map.addControl(new GMapTypeControl());
48
	  map.addControl(new GScaleControl());
64
	  map.addControl(new GScaleControl());
49
	  map.enableContinuousZoom();
65
	  map.enableContinuousZoom();
50
	
66
	
51
	  // On centre la carte sur le languedoc roussillon
67
	  // On centre la carte sur le languedoc roussillon
52
	  center = new GLatLng(43.84245116699036, 3.768310546875);
68
	  center = new GLatLng(47.0833015, 2.4000001);
53
      map.setCenter(center, 7);
69
      map.setCenter(center, 6);
54
	  //marker = new GMarker(center, {draggable: true}) ;
70
	  //marker = new GMarker(center, {draggable: true}) ;
55
      GEvent.addListener(map, "click", function(marker, point) {
71
      GEvent.addListener(map, "click", function(marker, point) {
56
	    if (marker) {
72
	    if (marker) {
57
	      map.removeOverlay(marker);
73
	      map.removeOverlay(marker);
58
	      var lat = document.getElementById("latitude");
74
	      var lat = document.getElementById("latitude");
59
          var lon = document.getElementById("longitude");
75
          var lon = document.getElementById("longitude");
60
	      lat.value = "";
76
	      lat.value = "";
61
          lon.value = "";
77
          lon.value = "";
62
	    } else {
78
	    } else {
63
	      // On ajoute un marqueur a l endroit du clic et on place les coordonnees dans les champs latitude et longitude
79
	      // On ajoute un marqueur a l endroit du clic et on place les coordonnees dans les champs latitude et longitude
64
	      marker = new GMarker(point, {draggable: true}) ;
80
	      marker = new GMarker(point, {draggable: true}) ;
65
	      GEvent.addListener(marker, "dragend", function () {
81
	      GEvent.addListener(marker, "dragend", function () {
66
            coordMarker = marker.getPoint() ;
82
            coordMarker = marker.getPoint() ;
67
            var lat = document.getElementById("latitude");
83
            var lat = document.getElementById("latitude");
68
            var lon = document.getElementById("longitude");
84
            var lon = document.getElementById("longitude");
69
            lat.value = coordMarker.lat();
85
            lat.value = coordMarker.lat();
70
            lon.value = coordMarker.lng();
86
            lon.value = coordMarker.lng();
71
          });
87
          });
72
          map.addOverlay(marker);
88
          map.addOverlay(marker);
73
          setLatLonForm(marker);
89
          setLatLonForm(marker);
74
	    }
90
	    }
75
    });' ;
91
    });' ;
76
	if ($formtemplate->getElementValue ('latitude') != '' && $formtemplate->getElementValue('longitude') != '') {
92
	if ($formtemplate->getElementValue ('latitude') != '' && $formtemplate->getElementValue('longitude') != '') {
77
		$script .= '
93
		$script .= '
78
				point = new GLatLng('.$formtemplate->getElementValue('latitude').', '.$formtemplate->getElementValue('longitude').');
94
				point = new GLatLng('.$formtemplate->getElementValue('latitude').', '.$formtemplate->getElementValue('longitude').');
79
				marker = new GMarker(point, {draggable: true});
95
				marker = new GMarker(point, {draggable: true});
80
				map.addOverlay(marker);' ;
96
				map.addOverlay(marker);' ;
81
	} 
97
	} 
82
    $script .= 'geocoder = new GClientGeocoder();
98
    $script .= 'geocoder = new GClientGeocoder();
83
  }
99
  }
84
};
100
};
85
function showAddress() {
101
function showAddress() {
86
  var adresse = document.getElementById("bf_adresse").value ;
102
  var adresse = document.getElementById("bf_adresse").value ;
87
  var ville = document.getElementById("bf_ville").value ;
103
  var ville = document.getElementById("bf_ville").value ;
88
  var cp = document.getElementById("bf_cp_lieu_evenement").value ;
104
  var cp = document.getElementById("bf_cp_lieu_evenement").value ;
89
  var selectIndex = document.getElementById("liste30").selectedIndex;
105
  var selectIndex = document.getElementById("liste30").selectedIndex;
90
  var pays = document.getElementById("liste30").options[selectIndex].text ;
106
  var pays = document.getElementById("liste30").options[selectIndex].text ;
91
  
107
  
92
  var address = adresse + \' \' + \' \' + cp + \' \' + ville + \' \' +pays ;
108
  var address = adresse + \' \' + \' \' + cp + \' \' + ville + \' \' +pays ;
93
  if (geocoder) {
109
  if (geocoder) {
94
    geocoder.getLatLng(
110
    geocoder.getLatLng(
95
      address,
111
      address,
96
      function(point) {
112
      function(point) {
97
        if (!point) {
113
        if (!point) {
98
          alert(address + " not found");
114
          alert(address + " not found");
99
        } else {
115
        } else {
100
          map.setCenter(point, 13);
116
          map.setCenter(point, 13);
101
          var marker = new GMarker(point, {draggable: true});
117
          var marker = new GMarker(point, {draggable: true});
102
          GEvent.addListener(marker, "dragend", function () {
118
          GEvent.addListener(marker, "dragend", function () {
103
  coordMarker = marker.getPoint() ;
119
  coordMarker = marker.getPoint() ;
104
  var lat = document.getElementById("latitude");
120
  var lat = document.getElementById("latitude");
105
  var lon = document.getElementById("longitude");
121
  var lon = document.getElementById("longitude");
106
  lat.value = coordMarker.lat();
122
  lat.value = coordMarker.lat();
107
  lon.value = coordMarker.lng();
123
  lon.value = coordMarker.lng();
108
});
124
});
109
 
125
 
110
          map.addOverlay(marker);
126
          map.addOverlay(marker);
111
          setLatLonForm(marker)
127
          setLatLonForm(marker)
112
          marker.openInfoWindowHtml(address+ "'.BAZ_GOOGLE_MSG.'");
128
          marker.openInfoWindowHtml(address+ "'.BAZ_GOOGLE_MSG.'");
113
        }
129
        }
114
      }
130
      }
115
    );
131
    );
116
  }
132
  }
117
}
133
}
118
function setLatLonForm(marker) {
134
function setLatLonForm(marker) {
119
  coordMarker = marker.getPoint() ;
135
  coordMarker = marker.getPoint() ;
120
  var lat = document.getElementById("latitude");
136
  var lat = document.getElementById("latitude");
121
  var lon = document.getElementById("longitude");
137
  var lon = document.getElementById("longitude");
122
  lat.value = coordMarker.lat();
138
  lat.value = coordMarker.lat();
123
  lon.value = coordMarker.lng();
139
  lon.value = coordMarker.lng();
124
}
140
}
125
';
141
';
126
 
142
 
127
/*
143
/*
128
* +--Fin du code ----------------------------------------------------------------------------------------+
144
* +--Fin du code ----------------------------------------------------------------------------------------+
129
*
145
*
130
* $Log: not supported by cvs2svn $
146
* $Log: not supported by cvs2svn $
131
* +-- Fin du code ----------------------------------------------------------------------------------------+
147
* +-- Fin du code ----------------------------------------------------------------------------------------+
132
*/
148
*/