|
|
|
@ -107,6 +107,7 @@ function territoire_peupler($type, $pays = '', $options = array()) {
|
|
|
|
|
$erreur = true;
|
|
|
|
|
$type_identique = false;
|
|
|
|
|
$configuration = $GLOBALS['territoires'][$type];
|
|
|
|
|
$meta = 'territoires_peuplement';
|
|
|
|
|
|
|
|
|
|
// On récupère tous les index fournis la collection et pas uniquement celui des territoires du type.
|
|
|
|
|
// Ainsi, les autres index éventuels restent disponibles.
|
|
|
|
@ -120,7 +121,7 @@ function territoire_peupler($type, $pays = '', $options = array()) {
|
|
|
|
|
// changée. Dans ce cas, aucun traitement n'a lieu.
|
|
|
|
|
$sha_type = sha1(json_encode($territoires));
|
|
|
|
|
if (
|
|
|
|
|
sha_est_identique($sha_type, $type, $pays)
|
|
|
|
|
sha_est_identique($sha_type, $meta, $type, $pays)
|
|
|
|
|
and empty($options['force'])
|
|
|
|
|
) {
|
|
|
|
|
$type_identique = true;
|
|
|
|
@ -223,7 +224,6 @@ function territoire_peupler($type, $pays = '', $options = array()) {
|
|
|
|
|
lien_retablir('logos', $sauvegardes);
|
|
|
|
|
|
|
|
|
|
// On stocke les informations de chargement dans une meta.
|
|
|
|
|
$meta = 'territoires_peuplement';
|
|
|
|
|
$contenu = array(
|
|
|
|
|
'sha' => $sha_type,
|
|
|
|
|
'nbr' => count($territoires),
|
|
|
|
@ -631,23 +631,31 @@ function type_pays_est_valide($type, $pays = '') {
|
|
|
|
|
*
|
|
|
|
|
* @internal
|
|
|
|
|
*
|
|
|
|
|
* @param string $sha SHA à comparer à celui du type de territoire.
|
|
|
|
|
* @param string $type Type de territoires à peupler. Prends les valeurs `zone`, `country` ou `subdivision`.
|
|
|
|
|
* @param string $pays Code ISO 3166-1 alpha2 du pays dont on veut peupler les subdivisions.
|
|
|
|
|
* N'est utilisé que si le type choisi est `subdivision`.
|
|
|
|
|
* @param string $sha SHA à comparer à celui du type de territoire.
|
|
|
|
|
* @param string $meta Nom de la meta de consignation
|
|
|
|
|
* @param string $type Type de territoires à peupler. Prends les valeurs `zone`, `country` ou `subdivision`.
|
|
|
|
|
* @param string $pays Code ISO 3166-1 alpha2 du pays dont on veut peupler les subdivisions.
|
|
|
|
|
* N'est utilisé que si le type choisi est `subdivision`.
|
|
|
|
|
* @param string $service Identifiant du service Nomenclatures ayant permis le chargement. Est utilisé pour indexer
|
|
|
|
|
* la consignation dans le cas des contours uniquement. Sinon vaut chaine vide
|
|
|
|
|
*
|
|
|
|
|
* @return bool `true` si le sha passé en argument est identique au sha stocké pour la table choisie, `false` sinon.
|
|
|
|
|
*/
|
|
|
|
|
function sha_est_identique($sha, $type, $pays = '') {
|
|
|
|
|
function sha_est_identique($sha, $meta, $type, $pays = '', $service = '') {
|
|
|
|
|
$sha_identique = false;
|
|
|
|
|
|
|
|
|
|
// On récupère le sha de la table dans les metas si il existe (ie. la table a été chargée)
|
|
|
|
|
include_spip('inc/config');
|
|
|
|
|
if ($type === 'subdivision') {
|
|
|
|
|
$sha_stocke = lire_config("territoires_peuplement/${type}/${pays}/sha", false);
|
|
|
|
|
$consignation = $service
|
|
|
|
|
? "${meta}/${type}/${pays}/${service}/sha"
|
|
|
|
|
: "${meta}/${type}/${pays}/sha";
|
|
|
|
|
} else {
|
|
|
|
|
$sha_stocke = lire_config("territoires_peuplement/${type}/sha", false);
|
|
|
|
|
$consignation = $service
|
|
|
|
|
? "${meta}/${type}/${service}/sha"
|
|
|
|
|
: "${meta}/${type}/sha";
|
|
|
|
|
}
|
|
|
|
|
$sha_stocke = lire_config($consignation, false);
|
|
|
|
|
|
|
|
|
|
if ($sha_stocke and ($sha == $sha_stocke)) {
|
|
|
|
|
$sha_identique = true;
|
|
|
|
|