Browse Source

codings standards SCS1

une passe de phpcbf avec exclusion du sniff Generic.Arrays.DisallowLongArraySyntax et sans toucher au fichier inc/iptc.php

pour référence, la commande utilisée `vendor/bin/phpcbf plugins/gis --exclude=Generic.Arrays.DisallowLongArraySyntax --ignore=lang/*,inc/iptc.php`
pull/31/head
b_b 9 months ago committed by Gitea
parent
commit
3f4d043027
  1. 10
      action/editer_gis.php
  2. 2
      action/editer_lien_gis.php
  3. 6
      action/kml_infos.php
  4. 2
      base/gis.php
  5. 4
      crud/gis.php
  6. 1
      embed/kml_fonctions.php
  7. 6
      formulaires/configurer_gis.php
  8. 16
      formulaires/editer_gis.php
  9. 17
      formulaires/gis_inserer_modeles_traiter.php
  10. 6
      gis_administrations.php
  11. 8
      gis_autoriser.php
  12. 56
      gis_fonctions.php
  13. 2
      gis_options.php
  14. 53
      gis_pipelines.php
  15. 4
      inc/gis_geocode.php
  16. 12
      inc/gis_xmlrpc.php
  17. 10
      inc/kml_infos.php
  18. 4
      tests/gis_connect_sql.php

10
action/editer_gis.php

@ -27,7 +27,7 @@ function action_editer_gis_dist($arg = null) {
*
* @deprecated Utiliser objet_inserer()
* @see objet_inserer()
*
*
* @return int|bool $id_gis : l'identifiant numérique du point ou false en cas de non création
*/
function gis_inserer($set = null) {
@ -101,11 +101,13 @@ function gis_modifier($id_gis, $set = null) {
}
}
}
if ($err = objet_modifier_champs('gis', $id_gis, array(
if (
$err = objet_modifier_champs('gis', $id_gis, array(
//'nonvide' => array('nom' => _T('info_sans_titre')),
'data' => $set,
'invalideur' => "id='gis/$id_gis'",
), $c)) {
), $c)
) {
return $err;
}
@ -135,7 +137,7 @@ function gis_modifier($id_gis, $set = null) {
*/
function gis_associer($id_gis, $objets, $qualif = null) {
include_spip('action/editer_liens');
$res = objet_associer(array('gis'=>$id_gis), $objets, $qualif);
$res = objet_associer(array('gis' => $id_gis), $objets, $qualif);
include_spip('inc/invalideur');
suivre_invalideur("id='gis/$id_gis'");
return $res;

2
action/editer_lien_gis.php

@ -11,7 +11,7 @@ function action_editer_lien_gis_dist() {
list($action,$id_gis, $objet, $id_objet) = explode('/', $arg);
include_spip('inc/autoriser');
if (intval($id_gis) and autoriser('lier', 'gis', $id_gis, $GLOBALS['visiteur_session'], array('objet' => $objet,'id_objet'=>$id_objet))) {
if (intval($id_gis) and autoriser('lier', 'gis', $id_gis, $GLOBALS['visiteur_session'], array('objet' => $objet,'id_objet' => $id_objet))) {
include_spip('action/editer_gis');
if ($action == 'lier') {
gis_associer($id_gis, array($objet => $id_objet));

6
action/kml_infos.php

@ -30,13 +30,13 @@ function action_kml_infos_post($r) {
$infos = $recuperer_info($id_document);
if ($infos) {
include_spip('inc/documents');
$fichier = sql_getfetsel('fichier', 'spip_documents', 'id_document='.intval($id_document));
$fichier = sql_getfetsel('fichier', 'spip_documents', 'id_document=' . intval($id_document));
if (is_numeric($latitude = $infos['latitude']) and is_numeric($longitude = $infos['longitude'])) {
$c = array(
'titre' => $infos['titre'] ? $infos['titre'] : basename($fichier),
'lat'=> $latitude,
'lat' => $latitude,
'lon' => $longitude,
'zoom' => $config['zoom'] ? $config['zoom'] :'4'
'zoom' => $config['zoom'] ? $config['zoom'] : '4'
);
include_spip('action/editer_gis');

2
base/gis.php

@ -106,7 +106,7 @@ function gis_declarer_tables_objets_sql($tables) {
'texte_logo_objet' => 'gis:libelle_logo_gis',
);
$tables[]['tables_jointures'][]= 'gis_liens';
$tables[]['tables_jointures'][] = 'gis_liens';
$tables[]['champs_versionnes'][] = 'jointure_gis';
// recherche jointe sur les points gis pour tous les objets

4
crud/gis.php

@ -38,13 +38,13 @@ function crud_gis_create_dist($dummy, $set = null) {
function crud_gis_update_dist($id, $set = null) {
$id_gis = sql_getfetsel('id_gis', 'spip_gis', 'id_gis=' . intval($id));
if (!$id_gis) {
$err = _T('gis:erreur_gis_inconnu', array('id'=>$id));
$err = _T('gis:erreur_gis_inconnu', array('id' => $id));
} elseif (autoriser('modifier', 'gis', $id)) {
$err = gis_modifier($id, $set);
} else {
$err = _L('update error');
}
return array('success'=>($err && strlen($err)>0)?false:true,'message'=>$err,'result'=>array('id'=>$id));
return array('success' => ($err && strlen($err) > 0) ? false : true,'message' => $err,'result' => array('id' => $id));
}
/**

1
embed/kml_fonctions.php

@ -1,4 +1,5 @@
<?php
// Sécurité
if (!defined('_ECRIRE_INC_VERSION')) {
return;

6
formulaires/configurer_gis.php

@ -27,9 +27,11 @@ function formulaires_configurer_gis_verifier_dist() {
include_spip('inc/config');
$layer_defaut = lire_config('gis/layer_defaut');
// Si on change la couche par défaut ou si une couche google est présente dans la conf, le formulaire ne doit pas etre traiter en ajax
if ((_request('layer_defaut') != $layer_defaut)
if (
(_request('layer_defaut') != $layer_defaut)
or (count(array_intersect(array('google_roadmap', 'google_satellite', 'google_terrain'), $layers)) > 0)
or (in_array('bing_aerial', $layers))) {
or (in_array('bing_aerial', $layers))
) {
refuser_traiter_formulaire_ajax();
}
}

16
formulaires/editer_gis.php

@ -30,29 +30,29 @@ function formulaires_editer_gis_charger_dist($id_gis = 'new', $objet = '', $id_o
/* peut etre a envoyer dans une fonction generique de verification des options */
if (is_array($options)) {
if (is_string($options['titre'])) {
$valeurs['titre']=$options['titre'];
$valeurs['titre'] = $options['titre'];
}
if (!$valeurs['lat'] and is_numeric($options['lat'])) {
$valeurs['lat']=$options['lat'];
$valeurs['lat'] = $options['lat'];
}
if (!$valeurs['lon'] and is_numeric($options['lon'])) {
$valeurs['lon']=$options['lon'];
$valeurs['lon'] = $options['lon'];
}
if (!$valeurs['zoom'] and is_numeric($options['zoom']) && intval($options['zoom']) == $options['zoom']) {
$valeurs['zoom']=$options['zoom'];
$valeurs['zoom'] = $options['zoom'];
}
/* Bounding Box */
if (is_numeric($options['sw_lat'])) {
$valeurs['sw_lat']=$options['sw_lat'];
$valeurs['sw_lat'] = $options['sw_lat'];
}
if (is_numeric($options['sw_lon'])) {
$valeurs['sw_lon']=$options['sw_lon'];
$valeurs['sw_lon'] = $options['sw_lon'];
}
if (is_numeric($options['ne_lat'])) {
$valeurs['ne_lat']=$options['ne_lat'];
$valeurs['ne_lat'] = $options['ne_lat'];
}
if (is_numeric($options['ne_lon'])) {
$valeurs['ne_lon']=$options['ne_lon'];
$valeurs['ne_lon'] = $options['ne_lon'];
}
}
return $valeurs;

17
formulaires/gis_inserer_modeles_traiter.php

@ -1,4 +1,5 @@
<?php
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
@ -12,22 +13,22 @@ function formulaires_gis_inserer_modeles_traiter_dist($champs) {
if (_request('id_modele') && _request('id_modele') != '') {
$code .= _request('id_modele');
}
if (_request('variante') && _request('variante')!='') {
$code .= '|'._request('variante');
if (_request('variante') && _request('variante') != '') {
$code .= '|' . _request('variante');
}
if (_request('classe') && _request('classe')!='') {
$code .= '|'._request('classe');
if (_request('classe') && _request('classe') != '') {
$code .= '|' . _request('classe');
}
if (_request('align') && _request('align')!='') {
$code .= '|'._request('align');
if (_request('align') && _request('align') != '') {
$code .= '|' . _request('align');
}
foreach ($champs as $champ) {
if (!in_array($champ, $ignorer) && $champ != 'modele' && $champ != 'variante' && $champ != 'classe' && $champ != 'id_modele' && $champ != 'align' && _request($champ) && _request($champ)!='') {
if (!in_array($champ, $ignorer) && $champ != 'modele' && $champ != 'variante' && $champ != 'classe' && $champ != 'id_modele' && $champ != 'align' && _request($champ) && _request($champ) != '') {
if ($champ == _request($champ)) {
$code .= "|$champ";
} elseif (is_array(_request($champ))) {
// On transforme les tableaux en une liste
$code .= "|$champ=".implode(',', _request($champ));
$code .= "|$champ=" . implode(',', _request($champ));
} else {
$code .= "|$champ=" . _request($champ);
}

6
gis_administrations.php

@ -97,17 +97,17 @@ function gis_upgrade_2_0() {
gis_associer($row['id_gis'], array('article' => $row['id_article']));
}
if ($row['id_rubrique'] != 0) {
gis_associer($row['id_gis'], array('article' =>$row['id_rubrique']));
gis_associer($row['id_gis'], array('article' => $row['id_rubrique']));
}
}
// On déplace les liaisons mots
$res = sql_select('*', 'spip_gis_mots');
while ($row = sql_fetch($res)) {
$titre_mot = sql_getfetsel('titre', 'spip_mots', 'id_mot='.$row['id_mot']);
$titre_mot = sql_getfetsel('titre', 'spip_mots', 'id_mot=' . $row['id_mot']);
$c = array(
'titre' => $titre_mot,
'lat'=> $row['lat'],
'lat' => $row['lat'],
'lon' => $row['lonx'],
'zoom' => $row['zoom']
);

8
gis_autoriser.php

@ -66,7 +66,7 @@ function autoriser_gis_creer_dist($faire, $quoi, $id, $qui, $opts) {
* @return boolean true/false
*/
function autoriser_associergis_dist($faire, $quoi, $id, $qui, $opts) {
return autoriser('lier', 'gis', '', $qui, array('objet' => $quoi,'id_objet'=>$id));
return autoriser('lier', 'gis', '', $qui, array('objet' => $quoi,'id_objet' => $id));
}
/**
@ -122,19 +122,19 @@ function autoriser_gis_delier_dist($faire, $quoi, $id, $qui, $opts) {
*/
function autoriser_gis_supprimer_dist($faire, $quoi, $id, $qui, $opts) {
include_spip('base/objets');
$objets_legitimes = array_map('objet_type', array_keys(lister_tables_objets_sql()));
$liaisons = sql_select(
'*',
'spip_gis_liens',
array('id_gis=' . intval($id), sql_in('objet', $objets_legitimes))
);
while ($liaison = sql_fetch($liaisons)) {
if (!autoriser('delier', 'gis', $liaison['id_gis'], $qui, $liaison)) {
return false;
}
}
return autoriser('modifier', 'gis', $id, $qui, $opts);
}

56
gis_fonctions.php

@ -17,7 +17,7 @@ function dec_to_dms($coord) {
return sprintf(
'%0.0f° %2.3f',
floor(abs($coord)),
60*(abs($coord)-floor(abs($coord)))
60 * (abs($coord) - floor(abs($coord)))
);
}
@ -38,7 +38,7 @@ function dms_to_dec($ref, $deg, $min, $sec) {
$arrLatLong['S'] = -1;
$arrLatLong['W'] = -1;
return ($deg+((($min*60)+($sec))/3600)) * $arrLatLong[$ref];
return ($deg + ((($min * 60) + ($sec)) / 3600)) * $arrLatLong[$ref];
}
/**
@ -57,7 +57,8 @@ function dms_to_dec($ref, $deg, $min, $sec) {
*/
function distance($from, $to, $miles = false) {
// On ne travaille que si on a toutes les infos
if (((is_array($from) and isset($from['lat']) and isset($from['lon'])) // Le départ est soit un tableau soit un entier
if (
((is_array($from) and isset($from['lat']) and isset($from['lon'])) // Le départ est soit un tableau soit un entier
or ($from = intval($from) and $from > 0 and $from = sql_fetsel('lat,lon', 'spip_gis', "id_gis=$from")))
and ((is_array($to) and isset($to['lat']) and isset($to['lon'])) or ($to = intval($to) and $to > 0 and $to = sql_fetsel('lat,lon', 'spip_gis', "id_gis=$to"))) // Le distant est soit un tableau soit un entier
) {
@ -102,7 +103,7 @@ function distance_en_metres($distance, $precision = 2, $format_entree = 'km') {
// Si c'est supérieur à 1, on reste en kilomètres
if ($distance > 1) {
$unite = 'km';
} elseif (($distance = $distance*1000) > 1) {
} elseif (($distance = $distance * 1000) > 1) {
$unite = 'm';
}
@ -134,7 +135,8 @@ function critere_distancefrom_dist($idb, &$boucles, $crit) {
$primary = $boucle->primary; // id_article
$objet = objet_type($id_table); // article
if (($id_table == 'gis' or isset($boucle->join['gis'])) // Soit depuis une boucle (GIS) soit un autre objet mais avec {gis}
if (
($id_table == 'gis' or isset($boucle->join['gis'])) // Soit depuis une boucle (GIS) soit un autre objet mais avec {gis}
and count($crit->param) == 3 // Il faut aussi qu'il y ait 3 critères obligatoires
) {
$point_reference = calculer_liste($crit->param[0], array(), $boucles, $boucles[$idb]->id_parent);
@ -143,13 +145,13 @@ function critere_distancefrom_dist($idb, &$boucles, $crit) {
// Si le point de référence est un entier, on essaye de récupérer les coordonnées du point GIS
// Et si on a toujours pas de tableau correct, on met false
$boucle->hierarchie .= '$point_reference = '.$point_reference.';';
$boucle->hierarchie .= '$point_reference = ' . $point_reference . ';';
$boucle->hierarchie .= 'if (is_numeric($point_reference)){ $point_reference = sql_fetsel("lat,lon", "spip_gis", "id_gis = ".intval($point_reference)); }';
$boucle->hierarchie .= 'if (!is_array($point_reference) or !isset($point_reference["lat"]) or !isset($point_reference["lon"])){ $point_reference = false; }';
// L'opérateur doit exister dans une liste précise
$boucle->hierarchie .= '$operateur_distance = trim('.$operateur.');';
$boucle->hierarchie .= '$operateur_distance = trim(' . $operateur . ');';
$boucle->hierarchie .= 'if (!in_array($operateur_distance, array("=","<",">","<=",">="))){ $operateur_distance = false; }';
$boucle->hierarchie .= '$distance = '.$distance.';';
$boucle->hierarchie .= '$distance = ' . $distance . ';';
$boucle->select[] = '".(!$point_reference ? "\'\' as distance" : "(6371 * acos( cos( radians(".$point_reference["lat"].") ) * cos( radians( gis.lat ) ) * cos( radians( gis.lon ) - radians(".$point_reference["lon"].") ) + sin( radians(".$point_reference["lat"].") ) * sin( radians( gis.lat ) ) ) ) AS distance")."';
$boucle->having[] = '((!$point_reference or !$operateur_distance or !$distance) ? "1=1" : "distance $operateur_distance ".sql_quote($distance))';
@ -177,20 +179,20 @@ function critere_gis_dist($idb, &$boucles, $crit) {
if ($id_table == 'gis') {
// exclure l'élément en cours des résultats
$id_gis = calculer_argument_precedent($idb, $primary, $boucles);
$boucle->where[]= array("'!='", "'$boucle->id_table." . "$primary'", $id_gis);
$boucle->where[] = array("'!='", "'$boucle->id_table." . "$primary'", $id_gis);
// récupérer les paramètres du critère
$op='';
$op = '';
$params = $crit->param;
$type = array_shift($params);
$type = $type[0]->texte;
if (preg_match(',^(\w+)([<>=]+)([0-9]+)$,', $type, $r)) {
$type=$r[1];
$op=$r[2];
$op_val=$r[3];
$type = $r[1];
$op = $r[2];
$op_val = $r[3];
}
if ($op) {
$boucle->having[]= array("'".$op."'", "'".$type."'",$op_val);
$boucle->having[] = array("'" . $op . "'", "'" . $type . "'",$op_val);
}
// récupérer lat/lon du point de la boucle englobante
@ -203,8 +205,8 @@ function critere_gis_dist($idb, &$boucles, $crit) {
$select = "(6371 * acos( cos( radians(\".$lat.\") ) * cos( radians( gis.lat ) ) * cos( radians( gis.lon ) - radians(\".$lon.\") ) + sin( radians(\".$lat.\") ) * sin( radians( gis.lat ) ) ) ) AS distance";
$order = "'distance'";
$boucle->select[]= $select;
$boucle->order[]= $order;
$boucle->select[] = $select;
$boucle->order[] = $order;
} else {
/* Recherche d'objets SANS point */
if ($crit->not) {
@ -228,9 +230,9 @@ function critere_gis_dist($idb, &$boucles, $crit) {
// cf plugin notation
// $boucle->join["surnom (as) table de liaison"] = array("surnom de la table a lier", "cle primaire de la table de liaison", "identifiant a lier", "type d'objet de l'identifiant");
$boucle->from['gis_liens'] = 'spip_gis_liens';
$boucle->join['gis_liens']= array("'$id_table'","'id_objet'","'$primary'","'gis_liens.objet='.sql_quote('$objet')");
$boucle->join['gis_liens'] = array("'$id_table'","'id_objet'","'$primary'","'gis_liens.objet='.sql_quote('$objet')");
$boucle->from['gis'] = 'spip_gis';
$boucle->join['gis']= array("'gis_liens'","'id_gis'");
$boucle->join['gis'] = array("'gis_liens'","'id_gis'");
// bien renvoyer tous les points qui son attachés à l'objet
// mais attention, si on trouve en amont un groupement portant sur un champ *de GIS*,
// alors cela signifie que la personne veut faire une opération de groupement sur les points donc là on n'ajoute pas id_gis
@ -460,7 +462,7 @@ function gis_kml_to_urls($kml) {
if (is_numeric($v)) {
$kml[$k] = url_absolue(generer_url_entite($v, 'document'));
} else {
$kml[$k] = _DIR_RACINE.copie_locale($kml[$k], 'modif');
$kml[$k] = _DIR_RACINE . copie_locale($kml[$k], 'modif');
}
}
}
@ -489,26 +491,26 @@ function gis_icon_properties($img = '') {
}
if ($icon) {
$props .= ",\n\t\t\t\"icon\": ". json_encode(url_absolue($icon)).',';
$props .= ",\n\t\t\t\"icon\": " . json_encode(url_absolue($icon)) . ',';
list($h,$w) = taille_image($icon);
$props .= "\n\t\t\t\"icon_size\": ". json_encode(array($w,$h)).',';
$props .= "\n\t\t\t\"icon_size\": " . json_encode(array($w,$h)) . ',';
/**
* Si l'icone est carrée, on considère que c'est soit un point soit un carré qui pointe un lieu et non une "goutte"
* On centre donc au milieu de l'icone
*/
if ($w == $h) {
$props .= "\n\t\t\t\"icon_anchor\": ". json_encode(array($w/2, $h/2)).',';
$props .= "\n\t\t\t\"popup_anchor\": ". json_encode(array(0,0));
$props .= "\n\t\t\t\"icon_anchor\": " . json_encode(array($w / 2, $h / 2)) . ',';
$props .= "\n\t\t\t\"popup_anchor\": " . json_encode(array(0,0));
} else {
$props .= "\n\t\t\t\"icon_anchor\": ". json_encode(array($w/2, $h)).',';
$props .= "\n\t\t\t\"popup_anchor\": ". json_encode(array(1, -round($h/1.2, 2)));
$props .= "\n\t\t\t\"icon_anchor\": " . json_encode(array($w / 2, $h)) . ',';
$props .= "\n\t\t\t\"popup_anchor\": " . json_encode(array(1, -round($h / 1.2, 2)));
}
}
if ($shadow = find_in_path('images/marker_defaut_shadow.png')) {
$props .= ",\n\t\t\t\"shadow\": ". json_encode(url_absolue($shadow));
$props .= ",\n\t\t\t\"shadow\": " . json_encode(url_absolue($shadow));
list($h,$w) = taille_image($shadow);
$props .= ",\n\t\t\t\"shadow_size\": ". json_encode(array($w,$h));
$props .= ",\n\t\t\t\"shadow_size\": " . json_encode(array($w,$h));
}
return $props;

2
gis_options.php

@ -121,7 +121,7 @@ $gis_layers = array (
),
'bing_aerial' => array(
'nom' => 'Bing Aerial',
'layer' => 'L.BingLayer("'.$api_key_bing.'")'
'layer' => 'L.BingLayer("' . $api_key_bing . '")'
),
'google_roadmap' => array(
'nom' => 'Google Roadmap',

53
gis_pipelines.php

@ -11,10 +11,10 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* @return mixed
*/
function gis_insert_head_css($flux) {
$flux .="\n".'<link rel="stylesheet" href="'. direction_css(sinon(find_in_path('css/leaflet.css'), find_in_path('lib/leaflet/dist/leaflet.css'))) .'" />';
$flux .="\n".'<link rel="stylesheet" href="'. direction_css(sinon(find_in_path('css/leaflet-plugins.css'), find_in_path('lib/leaflet/plugins/leaflet-plugins.css'))) .'" />';
$flux .="\n".'<link rel="stylesheet" href="'. direction_css(sinon(find_in_path('css/leaflet.markercluster.css'), find_in_path('lib/leaflet/plugins/leaflet.markercluster.css'))) .'" />';
$flux .="\n".'<link rel="stylesheet" href="'. sinon(find_in_path('css/leaflet_nodirection.css'), find_in_path('lib/leaflet/dist/leaflet_nodirection.css')) .'" />';
$flux .= "\n" . '<link rel="stylesheet" href="' . direction_css(sinon(find_in_path('css/leaflet.css'), find_in_path('lib/leaflet/dist/leaflet.css'))) . '" />';
$flux .= "\n" . '<link rel="stylesheet" href="' . direction_css(sinon(find_in_path('css/leaflet-plugins.css'), find_in_path('lib/leaflet/plugins/leaflet-plugins.css'))) . '" />';
$flux .= "\n" . '<link rel="stylesheet" href="' . direction_css(sinon(find_in_path('css/leaflet.markercluster.css'), find_in_path('lib/leaflet/plugins/leaflet.markercluster.css'))) . '" />';
$flux .= "\n" . '<link rel="stylesheet" href="' . sinon(find_in_path('css/leaflet_nodirection.css'), find_in_path('lib/leaflet/dist/leaflet_nodirection.css')) . '" />';
return $flux;
}
@ -39,7 +39,7 @@ function gis_insert_head($flux) {
// insertion des scripts pour google si nécessaire
if (count(array_intersect(array('google_roadmap', 'google_satellite', 'google_terrain'), $config['layers'])) > 0) {
$flux .="\n".'<script type="text/javascript" src="//maps.google.com/maps/api/js?language='.$GLOBALS['spip_lang'].'&amp;key='.(isset($config['api_key_google']) ? $config['api_key_google'] : '').'"></script>';
$flux .= "\n" . '<script type="text/javascript" src="//maps.google.com/maps/api/js?language=' . $GLOBALS['spip_lang'] . '&amp;key=' . (isset($config['api_key_google']) ? $config['api_key_google'] : '') . '"></script>';
}
return $flux;
@ -64,7 +64,8 @@ function gis_header_prive($flux) {
* @return mixed
*/
function gis_afficher_contenu_objet($flux) {
if ($objet = $flux['args']['type']
if (
$objet = $flux['args']['type']
and include_spip('inc/config')
and in_array(table_objet_sql($objet), lire_config('gis/gis_objets', array()))
and ($id = intval($flux['args']['id_objet']))
@ -72,9 +73,9 @@ function gis_afficher_contenu_objet($flux) {
$texte = recuperer_fond(
'prive/contenu/gis_objet',
array(
'table_source'=>'gis',
'objet'=>$objet,
'id_objet'=>$id
'table_source' => 'gis',
'objet' => $objet,
'id_objet' => $id
)
);
$flux['data'] .= $texte;
@ -91,7 +92,8 @@ function gis_afficher_contenu_objet($flux) {
* @return mixed
*/
function gis_post_edition($flux) {
if (is_array($flux) && isset($flux['args']['operation']) && ($flux['args']['operation'] == 'ajouter_document')
if (
is_array($flux) && isset($flux['args']['operation']) && ($flux['args']['operation'] == 'ajouter_document')
and ($document = sql_fetsel('*', 'spip_documents', 'id_document=' . intval($flux['args']['id_objet'])))
and (in_array(table_objet_sql('document'), lire_config('gis/gis_objets', array())))
) {
@ -172,10 +174,10 @@ function gis_post_edition($flux) {
$string_recherche = '';
if ($iptc['city']) {
$string_recherche .= $iptc['city'].', ';
$string_recherche .= $iptc['city'] . ', ';
}
if ($iptc['provinceState']) {
$string_recherche .= $iptc['provinceState'].', ';
$string_recherche .= $iptc['provinceState'] . ', ';
}
if ($iptc['country']) {
$string_recherche .= $iptc['country'];
@ -211,9 +213,9 @@ function gis_post_edition($flux) {
if (is_numeric($latitude) && is_numeric($longitude)) {
$c = array(
'titre' => basename($fichier),
'lat'=> $latitude,
'lat' => $latitude,
'lon' => $longitude,
'zoom' => $config['zoom'] ? $config['zoom'] :'4',
'zoom' => $config['zoom'] ? $config['zoom'] : '4',
'adresse' => $adresse,
'code_postal' => $code_postal,
'ville' => $ville,
@ -224,7 +226,7 @@ function gis_post_edition($flux) {
);
if (defined('_DIR_PLUGIN_GISGEOM')) {
$geojson = '{"type":"Point","coordinates":['.$longitude.','.$latitude.']}';
$geojson = '{"type":"Point","coordinates":[' . $longitude . ',' . $latitude . ']}';
set_request('geojson', $geojson);
}
@ -250,9 +252,9 @@ function gis_post_edition($flux) {
$c = array(
'titre' => $infos['titre'] ? $infos['titre'] : basename($fichier),
'descriptif' => $infos['descriptif'],
'lat'=> $latitude,
'lat' => $latitude,
'lon' => $longitude,
'zoom' => $config['zoom'] ? $config['zoom'] :'4'
'zoom' => $config['zoom'] ? $config['zoom'] : '4'
);
include_spip('action/editer_gis');
@ -278,7 +280,8 @@ function gis_post_edition($flux) {
}
}
}
if (is_array($flux) && isset($flux['args']['operation']) && ($flux['args']['operation'] == 'supprimer_document')
if (
is_array($flux) && isset($flux['args']['operation']) && ($flux['args']['operation'] == 'supprimer_document')
and ($id_document = intval($flux['args']['id_objet'])
and ($id_gis = sql_getfetsel('G.id_gis', 'spip_gis AS G LEFT JOIN spip_gis_liens AS T ON T.id_gis=G.id_gis', 'T.id_objet=' . intval($id_document) . " AND T.objet='document'")))
) {
@ -350,14 +353,18 @@ function gis_xmlrpc_server_class($flux) {
* @return array $flux
*/
function gis_formulaire_traiter($flux) {
if ($flux['args']['form'] == 'configurer_gis'
and count(array_intersect(array('google_roadmap', 'google_satellite', 'google_terrain'), _request('layers'))) > 0) {
if (
$flux['args']['form'] == 'configurer_gis'
and count(array_intersect(array('google_roadmap', 'google_satellite', 'google_terrain'), _request('layers'))) > 0
) {
include_spip('inc/invalideur');
purger_repertoire(_DIR_VAR . 'cache-js');
suivre_invalideur(1);
} else if ($flux['args']['form'] == 'editer_liens'
} elseif (
$flux['args']['form'] == 'editer_liens'
and isset($flux['args']['args'][0])
and $flux['args']['args'][0] == 'gis') {
and $flux['args']['args'][0] == 'gis'
) {
include_spip('inc/invalideur');
suivre_invalideur(1);
}
@ -372,4 +379,4 @@ function gis_formulaire_traiter($flux) {
function gis_libeller_logo($logo_libelles) {
$logo_libelles['id_gis'] = _T('gis:libelle_logo_gis');
return $logo_libelles;
}
}

4
inc/gis_geocode.php

@ -20,7 +20,7 @@ function gis_geocode_request($mode, $arguments = array()) {
}
$geocoder = defined('_GIS_GEOCODER') ? _GIS_GEOCODER : 'photon';
if ($geocoder == 'photon') {
unset($arguments['format']);
unset($arguments['addressdetails']);
@ -50,4 +50,4 @@ function gis_geocode_request($mode, $arguments = array()) {
} else {
return false;
}
}
}

12
inc/gis_xmlrpc.php

@ -33,7 +33,7 @@ function spip_liste_gis($args) {
$where = is_array($args['where']) ? $args['where'] : array();
$order = is_array($args['tri']) ? $args['tri'] : array();
if ((intval($args['id_objet']) > 0) && $args['objet']) {
$where[] = 'lien.id_objet='.intval($args['id_objet']).' AND lien.objet='.sql_quote($args['objet']);
$where[] = 'lien.id_objet=' . intval($args['id_objet']) . ' AND lien.objet=' . sql_quote($args['objet']);
}
if (in_array('distance', $order) or in_array('!distance', $order)) {
@ -53,17 +53,17 @@ function spip_liste_gis($args) {
*/
if (is_string($args['recherche']) and strlen($args['recherche']) > 3) {
$prepare_recherche = charger_fonction('prepare_recherche', 'inc');
list($rech_select, $rech_where) = $prepare_recherche($args['recherche'], $objet.'s', $where);
list($rech_select, $rech_where) = $prepare_recherche($args['recherche'], $objet . 's', $where);
$what[] = $rech_select;
$from .= ' INNER JOIN spip_resultats AS resultats ON ( resultats.id = gis.id_gis ) ';
$where[] = 'resultats.'.$rech_where;
$where[] = 'resultats.' . $rech_where;
}
$points_struct = array();
if ($points = sql_select($what, $from, $where, '', $order, $args['limite'])) {
while ($point = sql_fetch($points)) {
$struct=array();
$struct = array();
$args['id_gis'] = $point['id_gis'];
/**
* On utilise la fonction geodiv_lire_media pour éviter de dupliquer trop de code
@ -96,7 +96,7 @@ function spip_lire_gis($args) {
}
if (!intval($args['id_gis']) > 0) {
$erreur = _T('xmlrpc:erreur_identifiant', array('objet'=>'gis'));
$erreur = _T('xmlrpc:erreur_identifiant', array('objet' => 'gis'));
return new IXR_Error(-32601, attribut_html($erreur));
}
@ -111,7 +111,7 @@ function spip_lire_gis($args) {
$lon = $args['lon'];
$what[] = 'gis.id_gis';
$what[] = "(6371 * acos( cos( radians(\"$lat\") ) * cos( radians( gis.lat ) ) * cos( radians( gis.lon ) - radians(\"$lon\") ) + sin( radians(\"$lat\") ) * sin( radians( gis.lat ) ) ) ) AS distance";
$distance = sql_fetsel($what, 'spip_gis AS gis', 'gis.id_gis='.intval($args['id_gis']));
$distance = sql_fetsel($what, 'spip_gis AS gis', 'gis.id_gis=' . intval($args['id_gis']));
$res['result'][0]['distance'] = $distance['distance'];
}

10
inc/kml_infos.php

@ -1,4 +1,5 @@
<?php
/**
* Plugin GIS
* Récupération de données dans les fichiers kml permettant de :
@ -6,6 +7,7 @@
* -* récupérer un titre
* -* récupérer un descriptif
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
@ -33,7 +35,7 @@ function inc_kml_infos($id_document) {
foreach ($list as $fichier => $info_fichier) {
if (substr(basename($info_fichier['filename']), -3) == 'kml') {
$zip->extractByIndex($info_fichier['index'], _DIR_TMP);
$chemin = _DIR_TMP.$info_fichier['filename'];
$chemin = _DIR_TMP . $info_fichier['filename'];
$supprimer_chemin = true;
break;
}
@ -156,16 +158,16 @@ function inc_kml_infos($id_document) {
$infos['descriptif'] = $info[0]['description'][0];
foreach ($info[0] as $meta => $data) {
if (preg_match(',^bounds ,', $meta)) {
$meta = '<'.$meta.'>';
$meta = '<' . $meta . '>';
$maxlat = extraire_attribut($meta, 'maxlat');
$minlat = extraire_attribut($meta, 'minlat');
$maxlon = extraire_attribut($meta, 'maxlon');
$minlon = extraire_attribut($meta, 'minlon');
if ($maxlat && $minlat) {
$infos['latitude'] = (($maxlat+$minlat)/2);
$infos['latitude'] = (($maxlat + $minlat) / 2);
}
if ($maxlon && $minlon) {
$infos['longitude'] = (($maxlon+$minlon)/2);
$infos['longitude'] = (($maxlon + $minlon) / 2);
}
}
}

4
tests/gis_connect_sql.php

@ -7,10 +7,10 @@
$test = 'gis_connect_sql';
$remonte = '../';
while (!is_dir($remonte.'ecrire')) {
while (!is_dir($remonte . 'ecrire')) {
$remonte = "../$remonte";
}
require $remonte.'tests/test.inc';
require $remonte . 'tests/test.inc';
find_in_path('./base/connect_sql.php', '', true);

Loading…
Cancel
Save