Subversion Repositories Applications.papyrus

Rev

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

Rev 1510 Rev 1539
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: formulaire.fonct.google.php,v 1.2 2007-07-04 11:52:55 alexandre_tb Exp $
22
// CVS : $Id: formulaire.fonct.google.php,v 1.3 2007-08-27 12:20:06 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 api/formulaire
28
*@package api/formulaire
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.2 $
32
*@version       $Revision: 1.3 $
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
	var geocoder = null;
39
	var geocoder = null;
40
	var lat = document.getElementById("latitude");
40
	var lat = document.getElementById("latitude");
41
    var lon = document.getElementById("longitude");
41
    var lon = document.getElementById("longitude");
42
    
42
    
43
    function load() {
43
    function load() {
44
    if (GBrowserIsCompatible()) {
44
    if (GBrowserIsCompatible()) {
45
	  
45
	  
46
      map = new GMap2(document.getElementById("map"), G_HYBRID_MAP);
46
      map = new GMap2(document.getElementById("map"), G_HYBRID_MAP);
47
      
47
      
48
      map.addControl(new GSmallMapControl());
48
      map.addControl(new GSmallMapControl());
49
	  map.addControl(new GMapTypeControl());
49
	  map.addControl(new GMapTypeControl());
50
	  map.addControl(new GScaleControl());
50
	  map.addControl(new GScaleControl());
51
	  map.enableContinuousZoom();
51
	  map.enableContinuousZoom();
52
	
52
	
53
	  // On centre la carte sur le languedoc roussillon
53
	  // On centre la carte sur le languedoc roussillon
54
	  center = new GLatLng(43.84245116699036, 3.768310546875);
54
	  center = new GLatLng(43.84245116699036, 3.768310546875);
55
      map.setCenter(center, 7);map.setMapType(G_HYBRID_MAP);
55
      map.setCenter(center, 7);map.setMapType(G_HYBRID_MAP);
56
	  //marker = new GMarker(center, {draggable: true}) ;
56
	  //marker = new GMarker(center, {draggable: true}) ;
57
      GEvent.addListener(map, "click", function(marker, point) {
57
      GEvent.addListener(map, "click", function(marker, point) {
58
	    if (marker) {
58
	    if (marker) {
59
	      map.removeOverlay(marker);
59
	      map.removeOverlay(marker);
60
	      var lat = document.getElementById("latitude");
60
	      var lat = document.getElementById("latitude");
61
          var lon = document.getElementById("longitude");
61
          var lon = document.getElementById("longitude");
62
	      lat.value = "";
62
	      lat.value = "";
63
          lon.value = "";
63
          lon.value = "";
64
	    } else {
64
	    } else {
65
	      // On ajoute un marqueur a l endroit du clic et on place les coordonnees dans les champs latitude et longitude
65
	      // On ajoute un marqueur a l endroit du clic et on place les coordonnees dans les champs latitude et longitude
66
	      marker = new GMarker(point, {draggable: true}) ;
66
	      marker = new GMarker(point, {draggable: true}) ;
67
	      GEvent.addListener(marker, "dragend", function () {
67
	      GEvent.addListener(marker, "dragend", function () {
68
            coordMarker = marker.getPoint() ;
68
            coordMarker = marker.getPoint() ;
69
            var lat = document.getElementById("latitude");
69
            var lat = document.getElementById("latitude");
70
            var lon = document.getElementById("longitude");
70
            var lon = document.getElementById("longitude");
71
            lat.value = coordMarker.lat();
71
            lat.value = coordMarker.lat();
72
            lon.value = coordMarker.lng();
72
            lon.value = coordMarker.lng();
73
          });
73
          });
74
          map.addOverlay(marker);
74
          map.addOverlay(marker);
75
          setLatLonForm(marker);
75
          setLatLonForm(marker);
76
	    }
76
	    }
77
    });' ;
77
    });' ;
78
	if ($formtemplate->getElementValue ('latitude') != '' && $formtemplate->getElementValue('longitude') != '') {
78
	if ($formtemplate->getElementValue ('latitude') != '' && $formtemplate->getElementValue('longitude') != '') {
79
		$script .= '
79
		$script .= '
80
				point = new GLatLng('.$formtemplate->getElementValue('latitude').', '.$formtemplate->getElementValue('longitude').');
80
				point = new GLatLng('.$formtemplate->getElementValue('latitude').', '.$formtemplate->getElementValue('longitude').');
81
				marker = new GMarker(point, {draggable: true});
81
				marker = new GMarker(point, {draggable: true});
82
				map.addOverlay(marker);' ;
82
				map.addOverlay(marker);' ;
83
	} 
83
	} 
84
    $script .= 'geocoder = new GClientGeocoder();
84
    $script .= 'geocoder = new GClientGeocoder();
85
  }
85
  }
86
};
86
};
87
function showAddress() {
87
function showAddress() {
88
  var adresse = document.getElementById("bf_adresse").value ;
88
  var adresse = document.getElementById("bf_adresse").value ;
-
 
89
  if (document.getElementById("bf_ville")) {
89
  var ville = document.getElementById("bf_ville").value ;
90
  	var ville = document.getElementById("bf_ville").value ;
-
 
91
  } else {
-
 
92
  	var ville = "";
-
 
93
  }
90
  var cp = document.getElementById("bf_cp_lieu_evenement").value ;
94
  var cp = document.getElementById("bf_cp_lieu_evenement").value ;
91
  if (document.getElementById("liste30")) {
95
  if (document.getElementById("liste30")) {
92
  	var selectIndex = document.getElementById("liste30").selectedIndex;
96
  	var selectIndex = document.getElementById("liste30").selectedIndex;
93
  	var pays = document.getElementById("liste30").options[selectIndex].text ;
97
  	var pays = document.getElementById("liste30").options[selectIndex].text ;
94
  } else {
98
  } else {
95
  	var pays = document.getElementById("bf_pays").value;
99
  	var pays = document.getElementById("bf_pays").value;
96
  }
100
  }
97
  var address = adresse + \' \' + \' \' + cp + \' \' + ville + \' \' +pays ;
101
  var address = adresse + \' \' + \' \' + cp + \' \' + ville + \' \' +pays ;
98
  if (geocoder) {
102
  if (geocoder) {
99
    geocoder.getLatLng(
103
    geocoder.getLatLng(
100
      address,
104
      address,
101
      function(point) {
105
      function(point) {
102
        if (!point) {
106
        if (!point) {
103
          alert(address + " not found");
107
          alert(address + " not found");
104
        } else {
108
        } else {
105
          map.setCenter(point, 13);
109
          map.setCenter(point, 13);
106
          var marker = new GMarker(point, {draggable: true});
110
          var marker = new GMarker(point, {draggable: true});
107
          GEvent.addListener(marker, "dragend", function () {
111
          GEvent.addListener(marker, "dragend", function () {
108
  coordMarker = marker.getPoint() ;
112
  coordMarker = marker.getPoint() ;
109
  var lat = document.getElementById("latitude");
113
  var lat = document.getElementById("latitude");
110
  var lon = document.getElementById("longitude");
114
  var lon = document.getElementById("longitude");
111
  lat.value = coordMarker.lat();
115
  lat.value = coordMarker.lat();
112
  lon.value = coordMarker.lng();
116
  lon.value = coordMarker.lng();
113
});
117
});
114
 
118
 
115
          map.addOverlay(marker);
119
          map.addOverlay(marker);
116
          setLatLonForm(marker)
120
          setLatLonForm(marker)
117
          marker.openInfoWindowHtml(address+ "'.BAZ_GOOGLE_MSG.'");
121
          marker.openInfoWindowHtml(address+ "'.BAZ_GOOGLE_MSG.'");
118
        }
122
        }
119
      }
123
      }
120
    );
124
    );
121
  }
125
  }
122
}
126
}
123
function setLatLonForm(marker) {
127
function setLatLonForm(marker) {
124
  coordMarker = marker.getPoint() ;
128
  coordMarker = marker.getPoint() ;
125
  var lat = document.getElementById("latitude");
129
  var lat = document.getElementById("latitude");
126
  var lon = document.getElementById("longitude");
130
  var lon = document.getElementById("longitude");
127
  lat.value = coordMarker.lat();
131
  lat.value = coordMarker.lat();
128
  lon.value = coordMarker.lng();
132
  lon.value = coordMarker.lng();
129
}
133
}
130
';
134
';
131
 
135
 
132
/*
136
/*
133
* +--Fin du code ----------------------------------------------------------------------------------------+
137
* +--Fin du code ----------------------------------------------------------------------------------------+
134
*
138
*
135
* $Log: not supported by cvs2svn $
139
* $Log: not supported by cvs2svn $
-
 
140
* Revision 1.2  2007-07-04 11:52:55  alexandre_tb
-
 
141
* fonctionne mais en cours de développement
-
 
142
*
136
* Revision 1.1  2007-06-25 09:52:36  alexandre_tb
143
* Revision 1.1  2007-06-25 09:52:36  alexandre_tb
137
* version intiale -- en cours
144
* version intiale -- en cours
138
*
145
*
139
*
146
*
140
* +-- Fin du code ----------------------------------------------------------------------------------------+
147
* +-- Fin du code ----------------------------------------------------------------------------------------+
141
*/
148
*/