Changeset 48696 in spip-zone
- Timestamp:
- Jun 10, 2011, 2:36:54 PM (10 years ago)
- Location:
- _plugins_/gis/trunk
- Files:
-
- 44 added
- 18 deleted
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/gis/trunk/base/gis.php
r35038 r48696 1 1 <?php 2 /*3 * Spip Gis plugin4 * Insetar google maps en SPIP5 *6 * Autores :7 * Horacio Gonzlez, Berio Molina8 * (c) 2007 - Distribudo baixo licencia GNU/GPL9 *10 */11 2 12 global $tables_principales; 13 global $tables_auxiliaires; 3 if (!defined("_ECRIRE_INC_VERSION")) return; 14 4 15 //taboa gis ------------------------------------------ 16 $spip_gis = array( 17 "id_gis" => "bigint(21) NOT NULL", 18 "id_article" => "int(11) NULL NULL", 19 "id_rubrique" => "int(11) NULL NULL", 20 "lat" => "float(21) NULL NULL", 21 "lonx" => "float(21) NULL NULL", 22 "zoom" => "tinyint(4) NULL NULL", 23 "pays" => "text NOT NULL DEFAULT ''", 24 "code_pays" => "varchar(255) NOT NULL DEFAULT ''", 25 "region" => "text NOT NULL DEFAULT ''", 26 "ville" => "text NOT NULL DEFAULT ''", 27 "code_postal" => "varchar(255) NOT NULL DEFAULT ''" 28 ); 5 function gis_declarer_tables_interfaces($interface){ 6 $interface['tables_jointures']['spip_gis'][] = 'gis_liens'; 7 $interface['tables_jointures']['spip_gis_liens'][] = 'gis'; 8 $interface['tables_jointures']['spip_articles'][] = 'gis_liens'; 9 $interface['tables_jointures']['spip_auteurs'][] = 'gis_liens'; 10 $interface['tables_jointures']['spip_breves'][] = 'gis_liens'; 11 $interface['tables_jointures']['spip_documents'][] = 'gis_liens'; 12 $interface['tables_jointures']['spip_groupes_mots'][] = 'gis_liens'; 13 $interface['tables_jointures']['spip_mots'][] = 'gis_liens'; 14 $interface['tables_jointures']['spip_rubriques'][] = 'gis_liens'; 15 $interface['tables_jointures']['spip_syndic'][] = 'gis_liens'; 29 16 30 $spip_gis_key = array( 31 "PRIMARY KEY" => "id_gis", 32 "KEY id_article" => "id_article", 33 "KEY id_rubrique" => "id_rubrique" 34 ); 35 $spip_gis_join = array( 36 "id_article"=>"id_article", 37 "id_rubrique"=>"id_rubrique", 38 ); 17 $interface['table_des_tables']['gis']='gis'; 18 $interface['table_des_tables']['gis_liens']='gis_liens'; 39 19 40 $tables_principales['spip_gis'] = array( 41 'field' => &$spip_gis, 42 'key' => &$spip_gis_key, 43 'joint' => &$spip_gis_join 44 ); 45 //------------------------------------------------------ 46 //taboa gis_mots -------------------------------------- 47 $spip_gis_mots = array( 48 "id_gis" => "bigint(21) NOT NULL", 49 "id_mot" => "int(11) NULL NULL", 50 "lat" => "float(21) NULL NULL", 51 "lonx" => "float(21) NULL NULL", 52 "zoom" => "tinyint(4) NULL NULL" 53 ); 20 // Titre pour url 21 $interface['table_titre']['gis'] = "titre, '' AS lang"; 54 22 55 $spip_gis_mots_key = array( 56 "PRIMARY KEY" => "id_gis", 57 "KEY id_mot" => "id_mot" 58 ); 59 $spip_gis_mots_join = array( 60 "id_mot"=>"id_mot" 61 ); 23 return $interface; 24 } 62 25 63 $tables_principales['spip_gis_mots'] = array( 64 'field' => &$spip_gis_mots, 65 'key' => &$spip_gis_mots_key, 66 'joint' => &$spip_gis_most_join 67 ); 68 //------------------------------------------------------ 69 //on ajoute les kml à la table spip_types_documents -------------------------------------- 70 $res = spip_query("SELECT extension FROM spip_types_documents WHERE extension='kml'"); 71 if (!$row = spip_fetch_array($res)) 72 spip_query("INSERT INTO `spip_types_documents` ( `id_type` , `titre` , `descriptif` , `extension` , `mime_type` , `inclus` , `upload` , `maj` ) VALUES ('', 'Google Earth Placemark', '', 'kml', 'application/vnd.google-earth.kml+xml', 'non', 'oui', NOW( ));"); 26 function gis_declarer_tables_principales($tables_principales){ 27 $spip_gis = array( 28 "id_gis" => "bigint(21) NOT NULL", 29 "titre" => "varchar(255) NOT NULL DEFAULT ''", 30 "descriptif" => "text NOT NULL DEFAULT ''", 31 "lat" => "float(21) NULL NULL", 32 "lon" => "float(21) NULL NULL", 33 "zoom" => "tinyint(4) NULL NULL", 34 "adresse" => "text NOT NULL DEFAULT ''", 35 "pays" => "text NOT NULL DEFAULT ''", 36 "code_pays" => "varchar(255) NOT NULL DEFAULT ''", 37 "region" => "text NOT NULL DEFAULT ''", 38 "ville" => "text NOT NULL DEFAULT ''", 39 "code_postal" => "varchar(255) NOT NULL DEFAULT ''" 40 ); 41 42 $spip_gis_key = array( 43 "PRIMARY KEY" => "id_gis"); 44 45 $tables_principales['spip_gis'] = array( 46 'field' => &$spip_gis, 47 'key' => &$spip_gis_key); 48 49 return $tables_principales; 50 } 73 51 74 //-- Relacins ---------------------------------------------------- 75 global $table_des_tables; 76 $table_des_tables['gis']='gis'; 77 $table_des_tables['gis_config']='gis_config'; 78 $table_des_tables['gis_mots']='gis_mots'; 79 //-- Jointures ---------------------------------------------------- 80 //Les jointures sont pas necessaires parce que le champs a utiliser comme criteres sont dejà 81 //dans les tables de GIS 82 //global $tables_jointures; 83 //$tables_jointures['spip_articles'][]= 'gis'; 84 //$tables_jointures['spip_gis'][] = 'articles'; 85 //$tables_jointures['spip_rubriques'][]= 'gis'; 86 //$tables_jointures['spip_gis'][] = 'rubriques'; 87 //$tables_jointures['spip_mots'][]= 'gis_mots'; 88 //$tables_jointures['spip_gis_mots'][] = 'mots'; 52 function gis_declarer_tables_auxiliaires($tables_auxiliaires){ 53 $spip_gis_liens = array( 54 "id_gis" => "bigint(21) NOT NULL", 55 "objet" => "VARCHAR (25) DEFAULT '' NOT NULL", 56 "id_objet" => "bigint(21) NOT NULL"); 57 58 $spip_gis_liens_key = array( 59 "PRIMARY KEY" => "id_gis,id_objet,objet", 60 "KEY id_objet" => "id_gis"); 61 62 $tables_auxiliaires['spip_gis_liens'] = array( 63 'field' => &$spip_gis_liens, 64 'key' => &$spip_gis_liens_key); 65 66 return $tables_auxiliaires; 67 } 68 89 69 ?> -
_plugins_/gis/trunk/base/gis_upgrade.php
r35038 r48696 1 1 <?php 2 /* 3 * Spip Gis plugin 4 * Insetar google maps en SPIP 2 3 include_spip('inc/meta'); 4 5 /** 6 * Installation/maj des tables gis 5 7 * 6 * Autores : 7 * Horacio Gonzlez, Berio Molina 8 * (c) 2007 - Distribudo baixo licencia GNU/GPL 9 * 8 * @param string $nom_meta_base_version 9 * @param string $version_cible 10 10 */ 11 12 include_spip('inc/meta'); 13 14 function gis_upgrade($nom_meta_base_version,$version_cible){ 15 $current_version = 0.0; 16 if ( (!isset($GLOBALS['meta'][$nom_meta_base_version]) ) 17 || (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){ 18 19 if ($current_version==0.0){ 20 include_spip('base/gis'); 21 include_spip('base/create'); 22 creer_base(); 23 ecrire_meta($nom_meta_base_version,$current_version=$version_cible); 11 function gis_upgrade($nom_meta_base_version,$version_cible){ 12 $current_version = '0.0'; 13 if ( (!isset($GLOBALS['meta'][$nom_meta_base_version]) ) 14 || (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){ 15 // installation 16 if (version_compare($current_version, '0.0','<=')){ 17 include_spip('base/gis'); 18 include_spip('base/create'); 19 // creer les tables 20 creer_base(); 21 ecrire_meta($nom_meta_base_version,$current_version=$version_cible,'non'); 22 } 23 // maj depuis gis v1 24 if (version_compare($current_version, '2.0','<')){ 25 include_spip('base/gis'); 26 include_spip('base/create'); 27 creer_base(); 28 // maj de la table gis 29 include_spip('base/abstract_sql'); 30 // renommer le champ lonx en lon 31 sql_alter("TABLE spip_gis CHANGE lonx lon float(21) NULL NULL"); 32 // creer les liens 33 include_spip('action/editer_gis'); 34 $res = sql_select('*','spip_gis'); 35 while ($row = sql_fetch($res)) { 36 if($row['id_article'] != 0) 37 lier_gis($row['id_gis'], 'article', $row['id_article']); 38 if($row['id_rubrique'] != 0) 39 lier_gis($row['id_gis'], 'article', $row['id_rubrique']); 24 40 } 25 if (version_compare($current_version,"0.1.1","<")){ 26 spip_query("ALTER TABLE spip_gis ADD INDEX ( id_article )"); 27 ecrire_meta($nom_meta_base_version,$current_version="0.1.1"); 41 // virer les champs id_article et id_rubrique 42 sql_alter("TABLE spip_gis DROP id_article"); 43 sql_alter("TABLE spip_gis DROP id_rubrique"); 44 // virer les index id_article et id_rubrique 45 sql_alter("TABLE spip_gis DROP INDEX id_article"); 46 sql_alter("TABLE spip_gis DROP INDEX id_rubrique"); 47 // migrer le contenu de la table gis_mots 48 $res = sql_select('*','spip_gis_mots'); 49 while ($row = sql_fetch($res)) { 50 $titre_mot = sql_getfetsel('titre','spip_mots','id_mot='.$row['id_mot']); 51 $c = array( 52 'titre' => $titre_mot, 53 'lat'=> $row['lat'], 54 'lon' => $row['lonx'], 55 'zoom' => $row['zoom'] 56 ); 57 $id_gis = insert_gis(); 58 revisions_gis($id_gis,$c); 59 lier_gis($id_gis, 'mot', $row['id_mot']); 28 60 } 29 if (version_compare($current_version,"0.1.2","<")){ 30 $key = ""; 31 $res = spip_query("SELECT name, value FROM spip_gis_config WHERE name='googlemapkey'"); 32 if ($row = spip_fetch_array($res)) 33 $key = $row['value']; 34 ecrire_meta('geomap_googlemapkey',$key); 35 spip_query("DROP TABLE spip_gis_config"); 36 ecrire_meta($nom_meta_base_version,$current_version="0.1.2"); 37 } 38 if (version_compare($current_version,"0.1.3","<")){ 39 spip_query("CREATE TABLE `spip_gis_mots` ( 40 `id_gis` bigint(21) NOT NULL auto_increment, 41 `id_mot` int(11) default NULL, 42 `lat` float default NULL, 43 `lonx` float default NULL, 44 `zoom` tinyint(4) default NULL, 45 PRIMARY KEY (`id_gis`) 46 )"); 47 ecrire_meta($nom_meta_base_version,$current_version="0.1.3"); 48 } 49 if (version_compare($current_version,"0.1.4","<")){ 50 $res = spip_query("SELECT extension FROM spip_types_documents WHERE extension='kml'"); 51 if (!$row = spip_fetch_array($res)) 52 spip_query("INSERT INTO `spip_types_documents` ( `id_type` , `titre` , `descriptif` , `extension` , `mime_type` , `inclus` , `upload` , `maj` ) VALUES ('', 'Google Earth Placemark', '', 'kml', 'application/vnd.google-earth.kml+xml', 'non', 'oui', NOW( ));"); 53 ecrire_meta($nom_meta_base_version,$current_version="0.1.4"); 54 } 55 if (version_compare($current_version,"0.1.5","<")){ 56 spip_query("ALTER TABLE spip_gis ADD id_rubrique int(11) NULL NULL AFTER id_article"); 57 spip_query("ALTER TABLE spip_gis ADD INDEX ( id_rubrique )"); 58 ecrire_meta($nom_meta_base_version,$current_version="0.1.5"); 59 } 60 /*esto es para realizar los cambios de nombre de variables*/ 61 if (version_compare($current_version,"0.1.6","<")){ 62 $value = ""; 63 $res = spip_query("SELECT name, value FROM spip_meta WHERE name='geomap_default_lat'"); 64 if ($row = spip_fetch_array($res)) { 65 $value = $row['value']; 66 ecrire_meta('gis_default_lat',$value); 67 } else { 68 effacer_meta('gis_default_lat'); 69 } 70 $res = spip_query("SELECT name, value FROM spip_meta WHERE name='geomap_default_lonx'"); 71 if ($row = spip_fetch_array($res)) { 72 $value = $row['value']; 73 ecrire_meta('gis_default_lonx',$value); 74 } else { 75 effacer_meta('gis_default_lonx'); 76 } 77 $res = spip_query("SELECT name, value FROM spip_meta WHERE name='geomap_default_zoom'"); 78 if ($row = spip_fetch_array($res)) { 79 $value = $row['value']; 80 ecrire_meta('gis_default_zoom',$value); 81 } else { 82 effacer_meta('gis_default_zoom'); 83 } 84 effacer_meta("geomap_default_lat"); 85 effacer_meta("geomap_default_lonx"); 86 effacer_meta("geomap_default_zoom"); 87 ecrire_meta('gis_map', 'no'); 88 spip_query("ALTER TABLE spip_gis ADD zoom int(4) NULL NULL AFTER lonx"); 89 ecrire_meta($nom_meta_base_version,$current_version="0.1.6"); 90 } 91 if (version_compare($current_version,"0.1.7","<")){ 92 spip_query("ALTER TABLE spip_gis ADD pays text NOT NULL DEFAULT '' AFTER zoom"); 93 spip_query("ALTER TABLE spip_gis ADD code_pays varchar(255) NOT NULL DEFAULT '' AFTER pays"); 94 spip_query("ALTER TABLE spip_gis ADD region text NOT NULL DEFAULT '' AFTER code_pays"); 95 spip_query("ALTER TABLE spip_gis ADD ville text NOT NULL DEFAULT '' AFTER region"); 96 spip_query("ALTER TABLE spip_gis ADD code_postal varchar(255) NOT NULL DEFAULT '' AFTER ville"); 97 ecrire_meta($nom_meta_base_version,$current_version="0.1.7"); 98 } 99 /*se encaga de trasladar las variables generales de geomap a gis*/ 100 ecrire_metas(); 61 // et virer la table gis_mots 62 sql_drop_table('spip_gis_mots'); 63 ecrire_meta($nom_meta_base_version,$current_version="2.0",'non'); 64 } 65 if (version_compare($current_version, '2.0.1','<')){ 66 include_spip('base/gis'); 67 include_spip('base/create'); 68 // creer les tables 69 maj_tables(array('spip_gis')); 70 ecrire_meta($nom_meta_base_version,$current_version="2.0.1",'non'); 101 71 } 102 72 } 103 104 function gis_vider_tables($nom_meta_base_version) { 105 spip_query("DROP TABLE spip_gis"); 106 spip_query("DROP TABLE spip_gis_mots"); 107 effacer_meta($nom_meta_base_version); 108 ecrire_metas(); 109 } 73 } 74 75 /** 76 * Desinstallation/suppression des tables gis 77 * 78 * @param string $nom_meta_base_version 79 */ 80 function gis_vider_tables($nom_meta_base_version) { 81 sql_drop_table("spip_gis"); 82 sql_drop_table("spip_gis_liens"); 83 effacer_meta($nom_meta_base_version); 84 } 110 85 111 86 ?> -
_plugins_/gis/trunk/fonds/cfg_gis.html
r35038 r48696 1 <!-- titre=<:gis:cfg_titre_gis:> --> 2 <!-- logo=images/gis.png--> 3 <!-- icone=images/gis-24.png--> 4 <!-- descriptif=<:gis:cfg_descr_gis:> --> 5 <!-- autoriser=webmestre --> 6 <!-- refus=<:cfg:refus_configuration_webmestre:> --> 7 <!-- presentation=non --> 8 1 9 #CACHE{0} 2 3 [(#REM) titre=GIS] 4 [(#REM) descriptif= 5 <h4>Configuration du plugin GIS</h4> 6 Choisissez dans quelles rubriques activer le plugin. 7 ] 8 9 <div class="formulaire_spip formulaire_editer formulaire_cfg"> 10 <form method="post"><div> 11 [(#ENV{_cfg_}|form_hidden)] 12 <ul> 13 #SET{wichrub,#CONFIG{gis/rubriques_gis,#ARRAY{0,-1}}} 14 <li class="editer_api_carte_gis"> 15 <label><:gis:api_carte:></label> 16 <div class="choix"> 17 <input type="radio" name="api_carte" class="radio" value="geomap" id="api_carte_geomap"[ (#ENV{api_carte}|=={geomap}|?{'checked="checked"'})] /> 18 <label for="api_carte_geomap"><:gis:api_carte_geomap:></label> 19 </div> 20 <div class="choix"> 21 <input type="radio" name="api_carte" class="radio" value="openlayer" id="api_carte_openlayer"[ (#ENV{api_carte}|=={openlayer}|?{'checked="checked"'})] /> 22 <label for="api_carte_openlayer"><:gis:api_carte_openlayer:></label> 23 </div> 24 </li> 25 <li class="editer_rubriques_gis"> 26 <label for="rubriques_gis"><:gis:pages_prive:></label> 27 <p class="explications"><:gis:explication_pages_prive:></p> 28 <select name="rubriques_gis[]" multiple="multiple" size="9"> 29 <option value="-1"[ (#EVAL{-1}|in_array{#GET{wichrub}}|?{' selected="selected"'})]>Toutes</option> 30 <BOUCLE_secteurs(RUBRIQUES) {racine} {par titre}{tout}> 31 <option value="#ID_RUBRIQUE"[ (#ID_RUBRIQUE|in_array{#GET{wichrub}}|?{' selected="selected"'})]> 32 Secteur #ID_RUBRIQUE : #TITRE 33 </option> 34 <BOUCLE_rubriques(RUBRIQUES) {id_parent} {par titre}{tout}> 35 <option value="#ID_RUBRIQUE"[ (#ID_RUBRIQUE|in_array{#GET{wichrub}}|?{' selected="selected"'})]> 36 → Rubrique #ID_RUBRIQUE : #TITRE 37 </option> 38 <BOUCLE_sous_rubriques(BOUCLE_rubriques)></BOUCLE_sous_rubriques> 39 </BOUCLE_rubriques> 40 </BOUCLE_secteurs> 41 </select> 42 </li> 43 <li class="editer_swfobject_gis"> 44 <label><:gis:pages_public:></label> 45 <p class="explications"><:gis:explication_swfobject:></p> 46 <div class="choix"> 47 <input type="checkbox" name="swfobject" class="checkbox" value="non" id="swfobject_non"[ (#ENV{swfobject}|=={non}|?{'checked="checked"'})] /> 48 <label for="swfobject_non"><:gis:desactiver_swfobject:></label> 49 </div> 50 </li> 51 <li class="editer_geocoding_gis"> 52 <label><:gis:geocoding:></label> 53 <p class="explications"><:gis:explication_geocoding:></p> 54 <div class="choix"> 55 <input type="checkbox" name="geocoding" class="checkbox" value="oui" id="geocoding"[ (#ENV{geocoding}|=={oui}|?{'checked="checked"'})] /> 56 <label for="geocoding"><:gis:activer_geocoding:></label> 57 </div> 58 </li> 59 </ul> 60 <fieldset> 61 <legend><:gis:parametres_formulaire:></legend> 62 <ul> 63 <li class="editer_rubrique_formulaire_gis"> 64 <label for="rubrique_cible"><:gis:rubrique_cible:></label> 65 [<span class='erreur'>(#ENV**{erreurs}|table_valeur{rubrique_cible})</span>] 66 <select name="rubrique_cible"> 67 <BOUCLE_r1(RUBRIQUES){racine}{par num titre}> 68 <option value=''></option> 69 <optgroup label="<:gis:secteur:> [(#TITRE|couper{40})]"> 70 <option value="#ID_RUBRIQUE"[(#ENV{rubrique_cible}|=={#ID_RUBRIQUE}|?{' selected="selected"'})]>[(#TITRE|couper{40})] (<:gis:racine:>)</option> 71 <B_r2> 72 <option value="" class='mysteric_hr' disabled='disabled'><:gis:ou_choisir:></option> 73 <BOUCLE_r2(RUBRIQUES){id_parent}{par num titre}> 74 <option value="#ID_RUBRIQUE"[(#ENV{rubrique_cible}|=={#ID_RUBRIQUE}|?{' selected="selected"'})]>[(#TITRE|couper{40})]</option> 75 </BOUCLE_r2> 76 </optgroup> 77 </BOUCLE_r1> 78 </select> 79 </li> 80 <li class="editer_statut_formulaire_gis"> 81 <label for="statut"><:gis:statut_articles:></label> 82 [<span class='erreur'>(#ENV**{erreurs}|table_valeur{statut})</span>] 83 <select name="statut"> 84 <option value='prepa'[(#ENV{statut}|=={prepa}|?{' selected="selected"'})]>En cours de rédaction</option> 85 <option value='prop'[(#ENV{statut}|=={prop}|?{' selected="selected"'})]>Proposé</option> 86 <option value='publie'[(#ENV{statut}|=={publie}|?{' selected="selected"'})]>Publié</option> 87 </select> 88 </li> 89 <li class="editer_formats_documents[ (#ENV**{erreurs}|table_valeur{formats_documents}|?{'erreur'})]"> 90 <label for="formats_documents"><:gis:formats_documents:></label> 91 [<span class='erreur'>(#ENV**{erreurs}|table_valeur{formats_documents})</span>] 92 <p class="explications"><:gis:texte_formats_documents:></p> 93 <input type="text" name="formats_documents" class="text" value="#ENV{formats_documents,'jpg,png,gif'}" /> 94 </li> 95 </ul> 96 </fieldset> 97 98 <p class="boutons"> 99 <input type="submit" name="_cfg_ok" class="submit" value="<:valider:>" /> 100 <input type="submit" name="_cfg_delete" class="submit" value="<:effacer:>" /> 101 </p> 102 </div></form> 10 <div class="ajax"> 11 #FORMULAIRE_CONFIG_GIS 103 12 </div> 104 #CFG_ARBO{gis} -
_plugins_/gis/trunk/formulaires/editer_gis.html
r40523 r48696 1 1 #CACHE{0} 2 <div id=" formMap" name="formMap" style="width: 100%; height: 350px"></div>2 <div id="map_[(#ENV{objet})]_[(#ENV{id_objet})]" name="formMap" style="width: 100%; height: 350px"></div> 3 3 <script type="text/javascript"> 4 //<![CDATA[ 4 <!-- 5 var form_map; 6 [(#ENV{recherhce}|!={non}|oui|et{#CONFIG{gis/geocoder}|oui}) 7 [(#SET{geocoder,oui})] 8 var geocoder;] 9 5 10 (function($){ 11 12 var maj_inputs = function(map,pos) { 13 var zoom = map.getZoom(); 14 $("#champ_lat").val(pos.lat); 15 $("#champ_lon").val(pos.lon); 16 $("#champ_zoom").val(zoom); 17 } 18 19 [(#GET{geocoder}|oui) 20 function geocode(address) { 21 form_map.setCenterAndZoom(address.point, 15); 22 geocode_marker = new mxn.Marker(address.point); 23 var info = address.locality + ", " + address.region; 24 geocode_marker.setInfoBubble(info); 25 form_map.removeAllMarkers(); 26 form_map.addMarker(geocode_marker); 27 geocode_marker.openBubble(); 28 maj_inputs(form_map,address.point); 29 if(address.street != ''){ 30 $('#champ_adresse').val(address.street) 31 } 32 if(address.postcode != ''){ 33 $('#champ_code_postal').val(address.postcode) 34 } 35 if(address.locality != ''){ 36 $('#champ_ville').val(address.locality) 37 } 38 if(address.region != ''){ 39 $('#champ_region').val(address.region) 40 } 41 if(address.country != ''){ 42 $('#champ_pays').val(address.country) 43 } 44 }] 6 45 7 var initMap = function() { 8 if (GBrowserIsCompatible()) { 9 // creer la carte 10 var map = new GMap2(document.getElementById("formMap")); 11 map.addControl(new GLargeMapControl()); 12 map.addControl(new GMapTypeControl()); 13 map.setCenter(new GLatLng([(#ENV**{lat})],[(#ENV**{lonx})]), [(#ENV**{zoom})], G_NORMAL_MAP); 14 [(#CONFIG{gis/geocoding}|oui) 15 // reverse geocoding 16 var geocode = function(lat,lonx) { 17 var geocoder; 18 geocoder = new GClientGeocoder(); 19 function showAddress(response) { 20 if (!response || response.Status.code != 200) { 21 return false; 22 } else { 23 $("#pays,#code_pays,#region,#ville,#code_postal").val(""); 24 CountryName = ''; 25 CountryNameCode = ''; 26 AdministrativeAreaName = ''; 27 LocalityName = ''; 28 PostalCodeNumber = ''; 29 place = response.Placemark[(#VAL{91}|chr)]0[(#VAL{93}|chr)]; 30 $("#map_adresse").val(place.address); 31 if (Country = place.AddressDetails.Country){ 32 if (CountryName = Country.CountryName) 33 $("#pays").val(CountryName); 34 if (CountryNameCode = Country.CountryNameCode) 35 $("#code_pays").val(CountryNameCode); 36 if (AdministrativeArea = Country.AdministrativeArea){ 37 if (AdministrativeAreaName = AdministrativeArea.AdministrativeAreaName) 38 $("#region").val(AdministrativeAreaName); 39 if ((SubAdministrativeArea = AdministrativeArea.SubAdministrativeArea) && (Locality = SubAdministrativeArea.Locality)){ 40 if (LocalityName = Locality.LocalityName) 41 $("#ville").val(LocalityName); 42 if ((PostalCode = Locality.PostalCode) && (PostalCodeNumber = PostalCode.PostalCodeNumber)) 43 $("#code_postal").val(PostalCodeNumber); 44 } 45 } 46 } 47 } 48 } 49 geocoder.getLocations(new GLatLng(lat,lonx), showAddress); 50 };] 51 // mettre a jour les coordonnees quand on clique la carte 52 GEvent.addListener(map, "click", function(overlay, point){ 53 map.clearOverlays(); 54 if (point) { 55 map.addOverlay(new GMarker(point)); 56 map.panTo(point); 57 jQuery("#formulaire_editer_gis #lat").val(point.y); 58 jQuery("#formulaire_editer_gis #lonx").val(point.x); 59 [(#CONFIG{gis/geocoding}|oui) 60 geocode(point.y,point.x);] 61 } 62 }); 63 // mettre à jour le zoom quand on le modifie 64 GEvent.addListener(map, "zoomend", function(oldlevel, newlevel){ 65 jQuery("#formulaire_editer_gis #zoom").val(newlevel); 66 }); 67 [(#ENV**{lat}|oui) 68 map.addOverlay(new GMarker(new GLatLng([(#ENV**{lat})],[(#ENV**{lonx})]))); 69 map.setCenter(new GLatLng([(#ENV**{lat})],[(#ENV**{lonx})])); 70 [(#CONFIG{gis/geocoding}|oui) 71 geocode([(#ENV**{lat})],[(#ENV**{lonx})]);] 72 ] 73 [(#ENV**{recherche}|oui) 74 jQuery("#map_adresse").focus(function(){jQuery(this).val("");}); 75 $(".rechercher_adresse #rechercher").css("cursor","pointer").click(function(){ 76 var adresse = $("#map_adresse").attr("value"); 77 var geocoder = new GClientGeocoder(); 78 if (geocoder) { 79 geocoder.getLatLng(adresse, function(point) { 80 if (!point) { 81 alert(adresse + " not found"); 82 } else { 83 map.setCenter(point); 84 map.clearOverlays(); 85 marker = new GMarker(point,{draggable:true}); 86 map.addOverlay(marker); 87 marker.openInfoWindowHtml(adresse); 88 [(#CONFIG{gis/geocoding}|oui) 89 geocode(point.lat(),point.lng());] 90 jQuery("#formulaire_editer_gis #lat").val(point.lat()); 91 jQuery("#formulaire_editer_gis #lonx").val(point.lng()); 92 jQuery("#formulaire_editer_gis #zoom").val(map.getZoom()); 93 GEvent.addListener(marker, 'dragend', function(){ 94 var center = marker.getPoint(); 95 jQuery("#formulaire_editer_gis #lat").val(center.lat()); 96 jQuery("#formulaire_editer_gis #lonx").val(center.lng()); 97 [(#CONFIG{gis/geocoding}|oui) 98 geocode(center.lat(),center.lng());] 99 }); 100 } 101 }); 102 } 46 var init_map = function() { 47 // creer la carte 48 var map_container = 'map_[(#ENV{objet})]_[(#ENV{id_objet})]'; 49 form_map = new mxn.Mapstraction(map_container,'#CONFIG{gis/api,openlayers}'); 50 form_map.setCenterAndZoom(new mxn.LatLonPoint(#ENV{lat,#CONFIG{gis/lat,0}},#ENV{lon,#CONFIG{gis/lon,0}}),#ENV{zoom,#CONFIG{gis/zoom,0}}); 51 form_map.addControls({ 52 pan: true, 53 zoom: '#CONFIG{gis/control,large}', 54 map_type: true 55 }); 56 57 [(#GET{geocoder}|oui) 58 // geocoder 59 geocoder = new mxn.Geocoder('#CONFIG{gis/api,openlayers}',geocode);] 60 61 [(#ENV{lat}|oui) 62 point = new mxn.LatLonPoint([(#ENV{lat})],[(#ENV{lon})]); 63 marker = new mxn.Marker(point); 64 form_map.addMarker(marker);] 65 66 // mettre a jour les coordonnees quand on clique la carte 67 form_map.click.addHandler(function(name, source, args) { 68 var pos = args.location; 69 form_map.removeAllMarkers(); 70 marker = new mxn.Marker(pos); 71 marker.setDraggable(true); 72 form_map.addMarker(marker); 73 form_map.setCenter(pos,{pan:true}); 74 maj_inputs(form_map,pos); 75 }); 76 77 // mettre à jour le zoom quand on le modifie 78 form_map.changeZoom.addHandler(function(name, source, args) { 79 var zoom = source.getZoom(); 80 $("#champ_zoom").val(zoom); 81 }); 82 83 [(#GET{geocoder}|oui) 84 // geocoder si clic... 85 $('a#rechercher').css("cursor","pointer").click(function(){ 86 var address = {}; 87 address.address = $("#champ_geocoder").attr("value"); 88 geocoder.geocode(address); 89 }); 90 91 // ne pas soumettre le formulaire si on presse Entree depuis le champ de recherche 92 $('#champ_geocoder').keypress(function(e){ 93 if (e.which == 13) { 94 $('a#rechercher').trigger("click"); 103 95 return false; 104 }); 105 // ne pas soumettre le formulaire si on presse Entree depuis le champ de recherche 106 $('#map_adresse').keypress(function(e){ 107 if (e.which == 13) { 108 $('a#rechercher').trigger("click"); 109 return false; 110 } 111 });] 112 } else { 113 alert("Sorry, the Google Maps API is not compatible with this browser"); 114 } 96 } 97 });] 98 [(#ENV{id_gis}|non|ou{#ENV{id_gis}|=={oui}}|et{#CONFIG{gis/geolocaliser_user_html5}|=={on}}|oui) 99 gis_get_navigator_location(form_map,#ENV{zoom,#CONFIG{gis/zoom,0}});] 115 100 }; 116 101 117 102 $(function(){ 118 init Map();119 onAjaxLoad(initMap);103 init_map(); 104 [(#ENV{ajaxload}|!={non}|oui)onAjaxLoad(init_map);] 120 105 }); 121 106 122 107 })(jQuery); 123 //]]>108 --> 124 109 </script> 125 126 110 <div class="formulaire_spip formulaire_editer formulaire_editer_gis"> 127 111 <!-- br class='spacer' / --> … … 133 117 parametre : url d'action ] 134 118 #ACTION_FORMULAIRE{#ENV{action}} 135 <input type='hidden' name='pays' id='pays' value='' /> 136 <input type='hidden' name='code_pays' id='code_pays' value='' /> 137 <input type='hidden' name='region' id='region' value='' /> 138 <input type='hidden' name='ville' id='ville' value='' /> 139 <input type='hidden' name='code_postal' id='code_postal' value='' /> 140 <ul>[(#ENV{recherche}|oui) 119 <ul> 120 [(#SAISIE{hidden,objet})] 121 [(#SAISIE{hidden,id_objet})] 122 [(#GET{geocoder}|oui) 141 123 <li class="rechercher_adresse"> 142 <input type="text" class="text" name="map_adresse" id="map_adresse" value="<:gis:address:>" /> 143 <a id="rechercher"><:gis:label_address:></a> 124 <label for="champ_geocoder"><:gis:label_rechercher_address:></label> 125 <input type="text" class="text" name="champ_geocoder" id="champ_geocoder" value="" /> 126 <a id="rechercher"><:info_rechercher:></a> 144 127 </li>] 145 <li class="editer_lat obligatoire[ (#ENV**{erreurs}|table_valeur{lat}|oui)erreur]"> 146 <label for="lat">Latitude</label> 147 <input type="text" name="lat" id="lat" class="text" value="[(#ENV**{lat})]" /> 148 </li> 149 <li class="editer_lonx obligatoire[ (#ENV**{erreurs}|table_valeur{lonx}|oui)erreur]"> 150 <label for="lonx">Longitude</label> 151 <input type="text" name="lonx" id="lonx" class="text" value="[(#ENV**{lonx})]" /> 152 </li> 153 <li class="editer_zoom obligatoire[ (#ENV**{erreurs}|table_valeur{zoom}|oui)erreur]"> 154 <label for="zoom">Zoom</label> 155 <input type="text" name="zoom" id="zoom" class="text" value="[(#ENV**{zoom})]" /> 156 </li> 128 [(#SAISIE{input,lat, 129 label=<:gis:lat:>, 130 defaut=#CONFIG{gis/lat,0}, 131 obligatoire=oui})] 132 [(#SAISIE{input,lon, 133 label=<:gis:lon:>, 134 defaut=#CONFIG{gis/lon,0}, 135 obligatoire=oui})] 136 [(#SAISIE{input,zoom, 137 label=<:gis:zoom:>, 138 defaut=#CONFIG{gis/zoom,0}, 139 size=2, 140 maxlength=2, 141 obligatoire=oui})] 142 [(#SAISIE{input,titre, 143 defaut=#INFO_TITRE{#OBJET,#ID_OBJET}, 144 label=<:info_titre:>, 145 obligatoire=oui})] 146 [(#SAISIE{textarea,descriptif, 147 label=<:info_descriptif:>, 148 rows=5})] 149 [(#CONFIG{gis/adresse}|=={on}|?{#SET{input_type,input},#SET{input_type,hidden}})] 150 [(#SAISIE{#GET{input_type},adresse, 151 label=<:gis:label_adress:>})] 152 [(#SAISIE{#GET{input_type},code_postal, 153 label=<:gis:label_code_postal:>})] 154 [(#SAISIE{#GET{input_type},ville, 155 label=<:gis:label_ville:>})] 156 [(#SAISIE{#GET{input_type},region, 157 label=<:gis:label_region:>})] 158 [(#SAISIE{#GET{input_type},pays, 159 label=<:gis:label_pays:>})] 157 160 </ul> 158 161 [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ] 159 162 <!--extra--> 160 <p class='boutons'><input class='submit' type='submit' value='<:bouton_enregistrer:>' /></p> 163 <p class='boutons'[ style="direction: (#LANG_DIR|=={ltr}|?{rtl,ltr})"]> 164 <input class='submit' type='submit' name='enregistrer' value='<:bouton_enregistrer:>' />[(#ENV{id_gis}|intval|oui) 165 <input class='submit link' type='submit' name='supprimer' value='<:lien_supprimer:>' />] 166 </p> 161 167 </div></form> 162 168 ] -
_plugins_/gis/trunk/formulaires/editer_gis.php
r35038 r48696 1 1 <?php 2 /** 3 * Formulaire de création et d'édition d'un point géolocalisé 4 */ 2 5 3 function formulaires_editer_gis_charger_dist($id_article, $recherche='', $retour=''){ 6 include_spip('inc/actions'); 7 include_spip('inc/editer'); 4 8 5 $valeurs = array( 6 'lat'=> '', 7 'lonx'=> '', 8 'zoom'=> '', 9 'recherche'=> $recherche, 10 'editable'=>true 11 ); 12 13 $row = sql_fetsel("lat,lonx,zoom", "spip_gis", "id_article=$id_article"); 14 if ($row) { 15 $valeurs['lat'] = $row['lat']; 16 $valeurs['lonx'] = $row['lonx']; 17 $valeurs['zoom'] = $row['zoom']; 18 }else{ 19 $api_carte = lire_config('gis/api_carte'); 20 $valeurs['lat'] = lire_config($api_carte.'/latitude'); 21 $valeurs['lonx'] = lire_config($api_carte.'/longitude'); 22 $valeurs['zoom'] = lire_config($api_carte.'/zoom'); 23 24 } 25 9 /** 10 * Chargement des valeurs par défaut du formulaire 11 * 12 * @param int|string $id_gis Identifiant numérique du point ou 'new' pour un nouveau 13 * @param string $objet Le type d'objet SPIP auquel il est attaché 14 * @param int $id_objet L'id_objet de l'objet auquel il est attaché 15 * @param string $retour L'url de retour 16 * @param string $ajaxload initialiser la carte à chaque onAjaxLoad() 17 */ 18 function formulaires_editer_gis_charger_dist($id_gis='new', $objet='', $id_objet='', $retour='', $ajaxload='oui'){ 19 $valeurs = formulaires_editer_objet_charger('gis', $id_gis, '', '', $retour, ''); 20 $valeurs['objet'] = $objet; 21 $valeurs['id_objet'] = $id_objet; 22 $valeurs['ajaxload'] = $ajaxload; 26 23 return $valeurs; 27 24 } 28 25 29 30 function formulaires_editer_gis_verifier_dist($id_article, $recherche='', $retour=''){ 31 32 $erreurs = array(); 33 26 /** 27 * Vérification des valeurs du formulaire 28 * 29 * 4 champs sont obligatoires : 30 * -* Son titre 31 * -* Sa latitude 32 * -* Sa longitude 33 * -* Son niveau de zoom 34 * 35 * @param int|string $id_gis Identifiant numérique du point ou 'new' pour un nouveau 36 * @param string $objet Le type d'objet SPIP auquel il est attaché 37 * @param int $id_objet L'id_objet de l'objet auquel il est attaché 38 * @param string $retour L'url de retour 39 * @param string $ajaxload initialiser la carte à chaque onAjaxLoad() 40 */ 41 function formulaires_editer_gis_verifier_dist($id_gis='new', $objet='', $id_objet='', $retour='', $ajaxload='oui'){ 42 $erreurs = formulaires_editer_objet_verifier('gis', $id_gis,array('titre','lat','lon')); 34 43 return $erreurs; 35 44 } 36 45 37 38 function formulaires_editer_gis_traiter_dist($id_article, $recherche='', $retour=''){ 39 $res = array('editable'=>' '); 40 41 // recuperation des donnees 42 $lat = _request('lat'); 43 $lonx = _request('lonx'); 44 $zoom = _request('zoom'); 45 46 include_spip('base/abstract_sql'); 47 48 $c = array( 49 "id_article" => $id_article , 50 "lat" => $lat, 51 "lonx" => $lonx, 52 "zoom" => $zoom 53 ); 54 55 if(lire_config('gis/geocoding') == 'oui'){ 56 $geocoding = array( 57 "pays" => _request('pays'), 58 "code_pays" => _request('code_pays'), 59 "region" => _request('region'), 60 "ville" => _request('ville'), 61 "code_postal" => _request('code_postal') 62 ); 63 $c = array_merge($c,$geocoding); 46 /** 47 * Traitement des valeurs du formulaire 48 * 49 * @param int|string $id_gis Identifiant numérique du point ou 'new' pour un nouveau 50 * @param string $objet Le type d'objet SPIP auquel il est attaché 51 * @param int $id_objet L'id_objet de l'objet auquel il est attaché 52 * @param string $retour L'url de retour 53 * @param string $ajaxload initialiser la carte à chaque onAjaxLoad() 54 */ 55 function formulaires_editer_gis_traiter_dist($id_gis='new', $objet='', $id_objet='', $retour='', $ajaxload='oui'){ 56 if (_request('supprimer')){ 57 include_spip('action/editer_gis'); 58 supprimer_gis($id_gis); 59 $id_table_objet = id_table_objet($objet); 60 if ($retour) 61 $res['redirect'] = parametre_url($retour,$id_table_objet,$id_objet); 62 return $res; 63 } else { 64 return formulaires_editer_objet_traiter('gis', $id_gis, '', '', $retour, ''); 64 65 } 65 66 // mise a jour ou creation ?67 if ($id_gis = sql_getfetsel("id_gis", "spip_gis", "id_article=$id_article")) {68 sql_updateq("spip_gis", $c, "id_gis=$id_gis");69 $res['message_ok'] = _T('gis:coord_maj');70 }else{71 sql_insertq("spip_gis", $c);72 $res['message_ok'] = _T('gis:coord_enregistre');73 }74 if ($retour){75 include_spip('inc/headers');76 $res['redirect'] = $retour;77 }78 79 return $res;80 66 } 81 67 -
_plugins_/gis/trunk/gis_options.php
r44669 r48696 1 1 <?php 2 /*3 * Spip Gis plugin4 * Insetar google maps en SPIP5 *6 * Autores :7 * Horacio Gonzlez, Berio Molina8 * (c) 2007 - Distribudo baixo licencia GNU/GPL9 *10 */11 2 12 include_spip('base/gis'); 3 define('_DIR_LIB_GIS',_DIR_RACINE.'lib/h2fe2d58a-mxn-2.0.16/'); 4 5 $table_des_traitements['VILLE'][]= 'typo(extraire_multi(%s))'; 6 $table_des_traitements['PAYS'][]= 'typo(extraire_multi(%s))'; 13 7 14 8 ?> -
_plugins_/gis/trunk/lang/gis_en.php
r14699 r48696 1 1 <?php 2 2 3 // This is a SPIP language file -- Ceci est un fichier langue de SPIP nomme admin_lang genere le NOW() 4 // langue / language = fr 5 // Traduction -- Pierre FICHES <pierre.fiches@free.fr> 3 $GLOBALS[$GLOBALS['idx_lang']] = array( 4 // B 5 'bouton_lier' => 'Link this point', 6 'bouton_supprimer_lien' => 'Remove this link', 7 'bouton_supprimer_gis' => 'Delete this point permanently', 6 8 7 $GLOBALS[$GLOBALS['idx_lang']] = array( 8 //elements de formulaire pour editer les coordonnees 9 'clave_engadida' => 'Added key: ', 10 'clic_mapa' => 'Clic on the map to change coordinates', 11 'clic_desplegar' => 'unfold', 12 'configurar_gis' => 'Configure Gis Plugin', 13 'conseguir' => '(obtain)', 14 'cambiar' => 'change coordinates', 15 'boton_actualizar' => 'update', 16 'default_geoloc' => 'Default position of maps:' 9 // C 10 "cfg_descr_gis" => "Geographic Information System.<br />Link to the documentation.", 11 "cfg_inf_adresse" => "Displays additional address fields (country, city, state, address ...)", 12 "cfg_inf_geolocaliser_user_html5" => "If the user's browser allows it, its approximate geographic location is retrieved to give the default position when creating a new point.", 13 "cfg_inf_cloudmade" => "This API needs a key you can create on <a href='@url@'>the CloudMade website</a>.", 14 "cfg_inf_geocoder" => "Enable search function in form.", 15 "cfg_inf_google" => "This API needs a key you can create on <a href='@url@'>the GoogleMaps website</a>.", 16 'cfg_lbl_adresse' => "Show address fields", 17 "cfg_lbl_api" => "Geolocation API", 18 "cfg_lbl_api_cloudmade" => "CloudMade", 19 "cfg_lbl_api_google" => "Google Maps v2", 20 "cfg_lbl_api_googlev3" => "Google Maps v3", 21 "cfg_lbl_api_key_cloudmade" => "CloudMade API key", 22 "cfg_lbl_api_key_google" => "GoogleMaps API key", 23 "cfg_lbl_api_mapquest" => "MapQuest", 24 "cfg_lbl_api_microsoft" => "Microsoft Bing", 25 "cfg_lbl_api_multimap" => "MultiMap", 26 "cfg_lbl_api_openlayers" => "OpenLayers", 27 "cfg_lbl_api_openspace" => "OpenSpace", 28 "cfg_lbl_api_yahoo" => "Yahoo", 29 "cfg_lbl_geocoder" => "Geocoder", 30 "cfg_lbl_geolocaliser_user_html5" => "At the creation step, center the map on the location of the user", 31 "cfg_titre_gis" => "GIS", 32 33 // E 34 "editer_gis_editer" => "Edit this point", 35 "editer_gis_explication" => "This page lists the whole geolocated points of the website.", 36 "editer_gis_nouveau" => "Create a new point", 37 "editer_gis_titre" => "The geolocated points", 38 "erreur_recherche_pas_resultats" => "No point corresponds to the searched text.", 39 40 // F 41 "formulaire_creer_gis" => "Create a new geolocated point :", 42 "formulaire_modifier_gis" => "Modify the geolocated point :", 43 44 // I 45 "icone_gis_tous" => "Geolocated points", 46 "info_numero_gis" => "Point number", 47 "info_id_objet" => "N°", 48 "info_liste_objets_gis" => "Objects attached to this point", 49 "info_objet" => "Object", 50 "info_supprimer_lien" => "Detach", 51 "info_voir_fiche_objet" => "Go to page", 52 53 // L 54 "label_adress" => "Addresse", 55 "label_code_postal" => "Postal code", 56 "label_pays" => "Country", 57 "label_rechercher_address" => "Search for an address", 58 "label_rechercher_point" => "Search for a point", 59 "label_region" => "Region", 60 "label_ville" => "Town", 61 "lat" => "Latitude", 62 "lon" => "Longitude", 63 64 "zoom" => "Zoom" 65 17 66 ); 18 67 -
_plugins_/gis/trunk/lang/gis_fr.php
r40524 r48696 1 1 <?php 2 2 3 // This is a SPIP language file -- Ceci est un fichier langue de SPIP nomme admin_lang genere le NOW() 4 // langue / language = fr 5 // Traduction -- Pierre FICHES <pierre.fiches@free.fr> 3 $GLOBALS[$GLOBALS['idx_lang']] = array( 4 //A 5 'aucun_gis' => 'Aucun point', 6 'aucun_objet' => 'Aucun objet', 7 8 // B 9 'bouton_lier' => 'Lier ce point', 10 'bouton_supprimer_lien' => 'Supprimer ce lien', 11 'bouton_supprimer_gis' => 'Supprimer définitivement ce point', 6 12 7 $GLOBALS[$GLOBALS['idx_lang']] = array( 13 // C 14 "cfg_descr_gis" => "Système d'Information Géographique.<br />Lien vers la documentation.", 15 "cfg_inf_adresse" => "Affiche des champs supplémentaires d'adresse (pays, ville, région, adresse...)", 16 "cfg_inf_cloudmade" => "Cette API nécessite une clé à créer sur <a href='@url@'>le site de CloudMade</a>.", 17 "cfg_inf_geocoder" => "Activer la fonction de recherche à partir d'une adresse dans le formulaire.", 18 "cfg_inf_geolocaliser_user_html5" => "Si le navigateur de l'utilisateur le permet, son emplacement géographique approximatif est récupéré pour donner la position par défaut lors de la création d'un point.", 19 "cfg_inf_google" => "Cette API nécessite une clé à créer sur <a href='@url@'>le site de GoogleMaps</a>.", 20 "cfg_lbl_adresse" => "Afficher les champs d'adresse", 21 "cfg_lbl_api" => "API de cartographie", 22 "cfg_lbl_api_cloudmade" => "CloudMade", 23 "cfg_lbl_api_google" => "Google Maps v2", 24 "cfg_lbl_api_googlev3" => "Google Maps v3", 25 "cfg_lbl_api_key_cloudmade" => "Clé CloudMade", 26 "cfg_lbl_api_key_google" => "Clé GoogleMaps", 27 "cfg_lbl_api_mapquest" => "MapQuest", 28 "cfg_lbl_api_microsoft" => "Microsoft Bing", 29 "cfg_lbl_api_multimap" => "MultiMap", 30 "cfg_lbl_api_openlayers" => "OpenLayers", 31 "cfg_lbl_api_openspace" => "OpenSpace", 32 "cfg_lbl_api_yahoo" => "Yahoo", 33 "cfg_lbl_geocoder" => "Geocoder", 34 "cfg_lbl_geolocaliser_user_html5" => "Centrer la carte sur l'emplacement de l'utilisateur à la création", 35 "cfg_titre_gis" => "GIS", 36 37 // E 38 "editer_gis_editer" => "Modifier ce point", 39 "editer_gis_explication" => "Cette page liste l'ensemble des points géolocalisés du site.", 40 "editer_gis_nouveau" => "Créer un nouveau point", 41 "editer_gis_titre" => "Les points géolocalisés", 42 "erreur_recherche_pas_resultats" => "Aucun point ne correspond à la recherche.", 8 43 9 //elements du formulaire CFG 44 // F 45 "formulaire_creer_gis" => "Créer un point géolocalisé :", 46 "formulaire_modifier_gis" => "Modifier le point géolocalisé :", 47 48 // I 49 "icone_gis_tous" => "Points géolocalisés", 50 "info_numero_gis" => "Point numéro", 51 "info_id_objet" => "N°", 52 "info_liste_gis_objet" => "Points liés à cet objet", 53 "info_liste_objets_gis" => "Objets liés à ce point", 54 "info_objet" => "Objet", 55 "info_supprimer_lien" => "Détacher", 56 "info_voir_fiche_objet" => "Voir la fiche", 57 58 // L 59 "label_adress" => "Adresse", 60 "label_code_postal" => "Code postal", 61 "label_pays" => "Pays", 62 "label_rechercher_address" => "Rechercher une adresse", 63 "label_rechercher_point" => "Rechercher un point", 64 "label_region" => "Région", 65 "label_ville" => "Ville", 66 "lat" => "Latitude", 67 "lon" => "Longitude", 10 68 11 "activer_geocoding" => "Activer le geocoding", 12 "api_carte" => "API des cartes", 13 "api_carte_geomap" => "API Google Maps", 14 "api_carte_openlayer" => "API Open Layers", 15 "explication_geocoding" => "Récupérer automatiquement les informations des points (pays, ville, adresse, etc).", 16 "explication_pages_prive" => "Choisissez les rubriques dans lesquelles le plugin sera disponible.", 17 "explication_swfobject" => "Désactiver l'insertion du script swf_object dans les pages publiques (si vous n'utilisez pas le lecteur de son dans les infobulles).", 18 "desactiver_swfobject" => "Désactiver swf_object", 19 "formats_documents" => "Format des documents", 20 "geocoding" => "Geocoding", 21 "pages_public" => "Partie publique", 22 "pages_prive" => "Partie privée", 23 "parametres_formulaire" => "Paramètres du formulaire public", 24 "rubrique_cible" => "Rubrique cible", 25 "statut_articles" => "Statut des articles", 69 //T 70 'titre_bloc_creer_point' => 'Lier un nouveau point', 71 'titre_bloc_points_lies' => 'Points liés', 72 'titre_bloc_rechercher_point' => 'Rechercher un point', 26 73 27 //elements de formulaire pour editer les coordonnees 28 29 "boton_actualizar" => "Actualiser", 30 "bouton_supprimer" => "Supprimer", 31 "cambiar" => "changer les coordonnées", 32 "clic_mapa" => "Cliquer sur la carte pour changer les coordonnées", 33 "clic_desplegar" => "déplier", 34 "coord" => "Coordonnées", 35 "coord_enregistre" => "Coordonnées enregistrées", 36 "coord_maj" => "Coordonnées mises à jour", 37 "label_address" => "Rechercher", 38 "label_ville" => "Ville", 39 "label_pays" => "Pays", 40 41 //elements du formulaire public 42 43 "bouton_documents" => "Valider", 44 "document_joint" => "Documents joints", 45 "document_supprime" => "Document(s) supprimé(s)", 46 "erreur_ajout_article" => "Erreur lors de l'ajout de l'article", 47 "erreur_copie_impossible" => "Impossible de copier le document", 48 "erreur_formats_acceptes" => "Formats acceptés : @formats@.", 49 "erreur_titre" => "Titre obligatoire", 50 "erreur_texte" => "Veuillez entrer un texte", 51 "erreur_upload" => "Erreur lors du chargement du fichier", 52 "ok_formulaire_soumis" => "Votre article a été envoyé sur le site.", 53 54 "configurar_gis" => "Configurer le Plugin Gis", 74 "zoom" => "Zoom" 75 55 76 ); 56 77 -
_plugins_/gis/trunk/modeles/carte_gis.html
r36687 r48696 1 [(#REM) 2 3 Modele carte_gis 4 5 Parametres : 6 7 - id_carte_gis = 1 id de la carte 8 - lat = 48.3 latitude du centre de la carte 9 - lon = -4.7 longitude du centre de la carte 10 - zoom = 5 zoom de la carte 11 - width = 100% largeur de la carte, 100% par defaut 12 - height = 400px hauteur de la carte, 400px par defaut 13 - style = non ne pas styler la carte 14 - zoom_molette = non désactiver le zoom avec la molette de la souris, actif par defaut 15 - type = carte type de la carte : carte, satellite, relief ou hybride 16 - control_zoom = large type de controles pour le zoom : large, small 17 - control_pan = non ne pas afficher les controles de déplacement dans la carte 18 - control_type = non ne pas afficher les controles de changement de type 19 - no_control = oui ne pas afficher les controles de la carte 20 - overview = oui afficher un mini carte de situation 21 - scale = oui afficher l'échelle de la carte 22 - limit = 500 nombre max de marqueurs à afficher, 500 par defaut 23 - objets = gis type d'objets à afficher (fichier json/gis_xx qui génère la source de donnees) 24 - autocenterandzoom = oui centrer et zoomer la carte automatiquement pour afficher tous les marqueurs 25 - kml = 12 kml à superposer à la carte (id_document ou url) 26 - localiser_visiteur = oui centrer la carte sur la position du visiteur (API geolocation HTML5) 27 28 ] 29 1 30 [(#SET{width,#ENV{width,100%}})] 2 31 [(#SET{height,#ENV{height,400px}})] 3 [(#SET{id_article,#ENV{id_article}})] 4 <BOUCLE_rub(ARTICLES){id_article=#ENV{id_article}}> 5 [(#SET{rub2,#ID_RUBRIQUE})] 6 </BOUCLE_rub> 7 [(#ENV{id_secteur}|non) 8 [(#SET{id_rubrique,#ENV{id_rubrique,#GET{rub2}}})] 32 [(#SET{id,#ENV{id_carte_gis,1}})] 33 [(#REM) -- compat gis v1 -- ] 34 [(#SET{lat,#ENV{lat,#ENV{latit,#CONFIG{gis/lat,0}}}})] 35 [(#SET{lon,#ENV{lon,#ENV{lonxit,#CONFIG{gis/lon,0}}}})] 36 37 [(#REM) 38 // todo 39 {id_groupe} 40 {recursive=#ENV{recursive}} 41 {attente=#ENV{attente}}{ombre=#ENV{ombre}}{load_map=#ENV{load_map}} 42 {id_a_ouvrir=#ENV{id_a_ouvrir}}{swfobject=#CONFIG{gis/swfobject,oui}} 43 44 // pas documentes 45 {control_move=#ENV{control_move}}{control_zoom=#ENV{control_zoom}} 46 47 // done 48 49 {latit}{lonxit}{zoom}{hauteur=#GET{height}}{largeur=#GET{width}}{id_carte_gis}{zoom_molette=#ENV{zoom_molette}} 50 {control}{control_type=#ENV{control_type}}{type}{limit=#ENV{limit}} 51 {id_rubrique=#GET{id_rubrique}}{id_secteur}{id_mot}{id_article}{id_auteur}{recherche} 9 52 ] 10 [(#INCLURE{fond=inc_public_map}{id_rubrique=#GET{id_rubrique}}{id_secteur}{id_mot}{id_groupe}{id_article}{id_auteur}{recherche}11 {latit}{lonxit}{zoom}{type}{id_carte_gis}{recursive=#ENV{recursive}}{limit=#ENV{limit}}{attente=#ENV{attente}}{ombre=#ENV{ombre}}{hauteur=#GET{height}}{largeur=#GET{width}}{load_map=#ENV{load_map}}12 {control}{control_type=#ENV{control_type}}{control_move=#ENV{control_move}}{control_zoom=#ENV{control_zoom}}{zoom_molette=#ENV{zoom_molette}}{id_a_ouvrir=#ENV{id_a_ouvrir}}{swfobject=#CONFIG{gis/swfobject,oui}})]13 53 14 <div id="map[(# ENV{id_carte_gis}|?{[(#ENV{id_carte_gis})],1})]" class="carte_gis"[(#ENV{style}|!={'non'}|?{' '})style="[(#ENV{attente}|=={1}|oui)z-index: 0; ][width:(#GET{width});][ height:(#GET{height});]"]></div>54 <div id="map[(#GET{id})]" class="carte_gis"[(#ENV{style}|!={'non'}|?{' '})style="[width:(#GET{width});][ height:(#GET{height});]"]></div> 15 55 56 <script type="text/javascript"> 57 <!-- 58 [(#CONFIG{gis/api}|=={cloudmade}|oui) 59 var cloudmade_key = '#CONFIG{gis/api_key_cloudmade}';] 60 61 var map[(#GET{id})]; 62 63 (function($){ 64 65 var init_map[(#GET{id})] = function() { 66 var map_container = 'map[(#GET{id})]'; 67 map[(#GET{id})] = new mxn.Mapstraction(map_container,'#CONFIG{gis/api,openlayers}'); 68 69 [(#ENV{zoom_molette}|!={non}|oui) 70 map[(#GET{id})].enableScrollWheelZoom();] 71 72 map[(#GET{id})].setCenterAndZoom(new mxn.LatLonPoint(#GET{lat},#GET{lon}),#ENV{zoom,#CONFIG{gis/zoom,0}}); 73 74 [(#ENV{type}|oui) 75 #SET{type,ROAD} 76 [(#ENV{type}|=={'carte'}|oui) #SET{type,ROAD} ] 77 [(#ENV{type}|=={'satellite'}|oui) #SET{type,SATELLITE} ] 78 [(#ENV{type}|=={'hybride'}|oui) #SET{type,HYBRID} ] 79 [(#ENV{type}|=={'relief'}|oui) #SET{type,PHYSICAL} ] 80 map[(#GET{id})].setMapType([mxn.Mapstraction.(#GET{type})]); 81 ] 82 83 [(#ENV{no_control}|!={oui}|oui) 84 map[(#GET{id})].addControls({zoom: '[(#ENV{control_zoom,large})]'});] 85 86 [(#ENV{overview}|oui) 87 map[(#GET{id})].addControls({overview: true});] 88 89 [(#ENV{scale}|oui) 90 map[(#GET{id})].addControls({scale: true});] 91 92 [(#ENV{control_type}|!={non}|oui) 93 map[(#GET{id})].addControls({map_type: true});] 94 95 [(#ENV{control_pan}|!={non}|oui) 96 map[(#GET{id})].addControls({pan: true});] 97 98 jQuery.getJSON("[(#URL_PAGE{gis_json}|url_absolue)]", 99 {[ 100 (#ENV{objet}|id_table_objet) : #ENV{id_objet},][ 101 objets : "(#ENV{objets})",][ 102 id_rubrique : (#ENV{id_rubrique}),][ 103 id_secteur : (#ENV{id_secteur}),][ 104 id_article : (#ENV{id_article}),][ 105 id_breve : (#ENV{id_breve}),][ 106 id_document : (#ENV{id_document}),][ 107 id_mot : (#ENV{id_mot}),][ 108 id_groupe : (#ENV{id_groupe}),][ 109 id_auteur : (#ENV{id_auteur}),][ 110 id_syndic : (#ENV{id_syndic}),][ 111 id_forum : (#ENV{id_forum}),][ 112 recherche : "(#ENV{recherche})",][ 113 limit : (#ENV{limit,500})] 114 }, 115 function(data) { 116 if (data){ 117 map[(#GET{id})].addJSON(data); 118 [(#ENV{autocenterandzoom}|oui) 119 var markers = map[(#GET{id})].markers; 120 if (markers.length == 1){ 121 map[(#GET{id})].setCenterAndZoom(new mxn.LatLonPoint(markers[(#VAL{91}|chr)]0[(#VAL{93}|chr)].location.lat,markers[(#VAL{91}|chr)]0[(#VAL{93}|chr)].location.lon),#ENV{zoom,#CONFIG{gis/zoom,0}}); 122 } else { 123 map[(#GET{id})].autoCenterAndZoom(); 124 }] 125 } 126 } 127 ); 128 129 [(#ENV{kml}|oui) 130 [(#ENV{kml}|intval|oui) 131 map[(#GET{id})].addOverlay(['(#ENV{kml}|generer_url_entite{document}|url_absolue)']);] 132 [(#ENV{kml}|intval|non) 133 map[(#GET{id})].addOverlay(['(#ENV{kml})']);] 134 ] 135 136 [(#ENV{localiser_visiteur}|oui) 137 gis_get_navigator_location(map[(#GET{id})],#ENV{zoom,#CONFIG{gis/zoom,0}});] 138 139 } 140 141 $(function(){ 142 init_map[(#GET{id})](); 143 onAjaxLoad(init_map[(#GET{id})]); 144 }); 145 146 })(jQuery); 147 --> 148 </script> -
_plugins_/gis/trunk/plugin.xml
r48692 r48696 1 1 <plugin> 2 3 <nom>Escoitar Gis Plugin</nom> 4 <icon></icon> 5 <version>1.0.0</version> 6 <version_base>0.1.7</version_base> 7 <etat>stable</etat> 8 9 <auteur>[Berio Molina->http://www.berio.alg-a.org], [Horaciogd->http://www.vhplab.net], [b_b->http://www.spip-contrib.net/b_b]</auteur> 10 11 <description> 12 <multi>[gl] Este plugin, xunto co plugin Google Map API, permite visualizar mapas GoogleMaps nas páxinas públicas do sitio. Os artigos e as palabras chaves do sitio poden ser xeocalizadas por marcadores nos mapas. 13 14 Este plugin engade duas táboas sobre a base de datos. Unha chamada {{spip_gis}} e outra chamada {{spip_gis_mots}} 15 16 [es]Este plugin, acoplado al plugin Google Map API, permite visualizar mapas GoogleMaps en las páginas públicas del sitio. Los artículos y las palabras claves del sitio pueden ser geolocalizadas por marcadores en los mapas. 17 18 Este plugin introduce dos tablas en la base de datos, una denominada {{spip_gis}} et l'autre {{spip_gis_mots}} 19 20 [fr]Ce plugin, couplé au plugin Google Map API permet d'afficher des cartes GoogleMaps sur les pages publiques du site. Les articles et mots-clés du site peuvent être géolocalisés par des marqueurs sur les cartes. 21 22 Ce plugin introduit deux tables dans la base de données. L'une nommée {{spip_gis}} et l'autre {{spip_gis_mots}} 23 24 [en]This plugin, associated with Google Map API plugin enables GoogleMaps' display on public site's pages. Articles and keywords can be geo-localised with marks on maps. 25 26 This plugin adds two talbes to the database, one named {{spip_gis}} and the other {{spip_gis_mots}}. 27 </multi> 28 </description> 29 30 <lien>http://www.spip-contrib.net/Plugin-Gis-escoitar</lien> 31 32 <install>base/gis_upgrade.php</install> 33 34 <options>gis_options.php</options> 35 36 <prefix>gis</prefix> 2 <nom>GIS</nom> 3 <auteur>b_b, kent1</auteur> 4 <version>2.0.3</version> 5 <version_base>2.0.1</version_base> 6 <licence>GNU/GPL</licence> 7 <etat>dev</etat> 8 <description> 9 <multi> 10 [fr]GIS2 mapstraction 11 _ Icone de [mattrich->http://mattrich.deviantart.com/art/Picnic-101256405] sous licence CC BY-NC-SA 12 [en]GIS2 mapstraction 13 _ Icon from [mattrich->http://mattrich.deviantart.com/art/Picnic-101256405] under CC BY-NC-SA license 14 </multi> 15 </description> 16 <lien></lien> 17 <prefix>gis</prefix> 18 <icon>images/gis.png</icon> 19 <options>gis_options.php</options> 20 <fonctions>gis_fonctions.php</fonctions> 21 <install>base/gis_upgrade.php</install> 22 <bouton id='gis_tous' parent='naviguer'> 23 <icone>images/gis-24.png</icone> 24 <titre>gis:icone_gis_tous</titre> 25 </bouton> 26 <bouton id='bando_gis_tous' parent='bando_edition'> 27 <url>gis_tous</url> 28 <icone>images/gis-16.png</icone> 29 <titre>gis:icone_gis_tous</titre> 30 </bouton> 37 31 <pipeline> 38 <nom>affichage_final</nom> 39 <action>affichage_final</action> 40 <inclure>gis_pipeline.php</inclure> 32 <nom>declarer_tables_interfaces</nom> 33 <inclure>base/gis.php</inclure> 34 </pipeline> 35 <pipeline> 36 <nom>declarer_tables_principales</nom> 37 <inclure>base/gis.php</inclure> 38 </pipeline> 39 <pipeline> 40 <nom>declarer_tables_auxiliaires</nom> 41 <inclure>base/gis.php</inclure> 42 </pipeline> 43 <pipeline> 44 <nom>insert_head</nom> 45 <action>inserer_javascript</action> 46 <inclure>gis_pipelines.php</inclure> 47 </pipeline> 48 <pipeline> 49 <nom>header_prive</nom> 50 <action>inserer_javascript</action> 51 <inclure>gis_pipelines.php</inclure> 41 52 </pipeline> 42 53 <pipeline> 43 54 <nom>affiche_milieu</nom> 44 <action>insertar_map</action> 45 <inclure>gis_pipeline.php</inclure> 55 <inclure>gis_pipelines.php</inclure> 46 56 </pipeline> 47 57 <pipeline> 48 <nom>affiche_droite</nom> 49 <action>gismot</action> 50 <inclure>gis_pipeline.php</inclure> 58 <nom>post_edition</nom> 59 <inclure>gis_pipelines.php</inclure> 51 60 </pipeline> 61 <pipeline> 62 <nom>taches_generales_cron</nom> 63 <inclure>gis_pipelines.php</inclure> 64 </pipeline> 65 <pipeline> 66 <nom>rechercher_liste_des_champs</nom> 67 <inclure>gis_pipelines.php</inclure> 68 </pipeline> 69 <utilise id="cfg" version="[1.12;]" /> 70 <utilise id="selecteur_generique" version="[1.12;]" /> 71 <necessite id="SPIP" version="[2.1.10;3.0.0-dev)" /> 72 <necessite id="saisies" version="[1.7.1;]" /> 73 <necessite id="spip_bonux" version="[1.8;]" /> 74 <necessite id="lib:h2fe2d58a-mxn-2.0.16" src="https://github.com/downloads/mapstraction/mxn/mxn-2.0.16.zip" /> 52 75 <categorie>divers</categorie> 53 <necessite id="SPIP" version="[1.9.0;]" />54 <necessite id='cfg' version='[1.10.4;]' />55 <chemin dir='' />56 76 </plugin>
Note: See TracChangeset
for help on using the changeset viewer.