Changeset 48106 in spip-zone
- Timestamp:
- May 25, 2011, 5:22:29 PM (10 years ago)
- Location:
- _plugins_/Association/Associaspip
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/Association/Associaspip/base/association_gestion.php
r48001 r48106 293 293 if (!_request('valider_association_maj_coordonnees')) { 294 294 /* on commence par verifier si des informations de la table spip_asso_membres sont potentiellement transferable vers les tables de coordonnees */ 295 $presence_donnees = sql_countsel('spip_asso_membres', "adresse <> '' OR mobile <> '' OR code_postal <> '' OR ville <> '' OR telephone <> ''"); 295 $adresse = sql_countsel('spip_asso_membres', "adresse <> '' OR code_postal <> '' OR ville <> ''"); 296 $telephone = sql_countsel('spip_asso_membres', "telephone <> '' OR mobile <> ''"); 296 297 297 298 /* si on n'a pas de donnees a sauvegarder, on fait la mise a jour sans poser de question */ 298 if (! $presence_donnees) {299 if (! ($adresse AND $telephone)) { 299 300 $effectuer_maj = true; 300 301 } else { /* on a des donnees, demander a l'utilisateur ce qu'il veut en faire */ 302 echo '<form method="post" action="">'; 301 303 echo '<fieldset><p>'._T('asso:maj_coordonnees_intro').'</p>'; 302 echo '<form method="post">';303 304 /* on commence par determiner si le plugin Coordonnees est installe */ 304 305 include_spip('inc/plugin'); … … 311 312 echo '<input type="radio" name="association_maj_coordonnees_traitement_data" value="ignorer">'._T('asso:maj_coordonnees_ignorer').'</input><br/>'; 312 313 echo '<input type="radio" name="association_maj_coordonnees_traitement_data" value="merge" checked="checked">'._T('asso:maj_coordonnees_merge').'</input>'; 314 echo "\n<input type='hidden' name='association_maj_adresses' value='$adresse' />"; 315 echo "\n<input type='hidden' name='association_maj_telephones' value='$telephone' />"; 313 316 } 314 317 echo '<p><input type="submit" name="valider_association_maj_coordonnees" value="'._T('asso:effectuer_la_maj').'"/></p>'; 318 echo '<p>'._T('asso:maj_coordonnees_notes').'</p></fieldset>'; 315 319 echo '</form>'; 316 echo '<p>'._T('asso:maj_coordonnees_notes').'</p></fieldset>';317 320 } 318 } else { /* l'utilisateur veut effectuer la maj, on control le si il y a des precision quand a l'ecrasement de donnees existentes */321 } else { /* l'utilisateur veut effectuer la maj, on controle si il y a des precision quand a l'ecrasement de donnees existentes */ 319 322 $choix_donnees = _request('association_maj_coordonnees_traitement_data'); 320 323 if ($choix_donnees == "merge") { /* on integre les donnees d'association dans Coordonnees */ 321 324 include_spip('action/editer_numero'); 322 325 include_spip('action/editer_adresse'); 323 $nbr_adresses = 0; 324 $nbr_numeros = 0; 325 326 set_request("objet", "auteur"); /* parceque les fonction insert_numero et insert_adresse de Coordonnees recupere par un request cette valeur pour l'insertion dans la table de liens */ 327 328 /* On recupere toutes les coordonnees */ 329 $coordonnees_membres = sql_select('id_auteur, adresse, code_postal, ville, telephone, mobile', 'spip_asso_membres', "adresse <> '' OR mobile <> '' OR code_postal <> '' OR ville <> '' OR telephone <> ''"); 326 327 /* pre-remplissage pour les fonctions insert_numero et insert_adresse de Coordonnees */ 328 $liens = array('objet' => 'auteur'); 329 $telephone = array('titre' => 'telephone'); 330 $mobile = array('titre' => 'mobile'); 331 332 /* On recupere les coordonnees utiles */ 333 $coordonnees_membres = sql_select('id_auteur, adresse AS voie, code_postal, ville, telephone, mobile', 'spip_asso_membres', "adresse <> '' OR mobile <> '' OR code_postal <> '' OR ville <> '' OR telephone <> ''"); 330 334 while ($data = sql_fetch($coordonnees_membres)) { 331 set_request("id_objet", $data['id_auteur']); /* parceque les fonction insert_numero et insert_adresse de Coordonnees recupere par un request cette valeur pour l'insertion dans la table de liens */ 335 $liens['id_objet'] = $data['id_auteur']; 336 unset($data['id_auteur']); 337 338 /* si on a un numero de telephone */ 339 if ($telephone['numero'] = $data['telephone']) { 340 if ($id_numero = insert_numero($liens)) revisions_numeros($id_numero, $telephone); 341 } 342 unset($data['telephone']); 343 344 /* si on a un numero de mobile */ 345 if ($mobile['numero'] = $data['mobile']) { 346 if ($id_numero = insert_numero($liens)) revisions_numeros($id_numero, $mobile); 347 } 348 unset($data['mobile']); 332 349 333 350 /* si on a une adresse, meme partielle */ 334 if (($data['adresse'] != '') or ($data['code_postal'] != '') or ($data['ville'] != '')) { 335 $id_adresse = insert_adresse(); 336 if ($id_adresse) revisions_adresses($id_adresse, array("voie" => $data['adresse'], "code_postal" => $data['code_postal'], "ville" => $data['ville'])); 337 $nbr_adresses++; 338 339 } 340 341 /* si on a un numero de telephone */ 342 if ($data['telephone'] != '') { 343 $id_numero = insert_numero(); 344 if ($id_numero) revisions_numeros($id_numero, array("titre" => "telephone", "numero" => $data['telephone'])); 345 $nbr_numeros++; 346 } 347 348 /* si on a un numero de mobile */ 349 if ($data['mobile'] != '') { 350 $id_numero = insert_numero(); 351 if ($id_numero) revisions_numeros($id_numero, array("titre" => "mobile", "numero" => $data['mobile'])); 352 $nbr_numeros++; 351 if ($data['voie'] OR $data['code_postal'] OR $data['ville']) { 352 if ($id_adresse = insert_adresse($liens)) revisions_adresses($id_adresse, $data); 353 353 } 354 354 } 355 echo "<fieldset><p>".$nbr_adresses._T('asso:maj_coordonnees_adresses_inserees').'<br/>'.$nbr_numeros._T('asso:maj_coordonnees_numeros_inseres')."</p></fieldset>"; 355 echo "\n<fieldset>", intval(_request('association_maj_adresses')), _T('asso:maj_coordonnees_adresses_inserees'), 356 '<br/>', intval(_request('association_maj_telephones')), _T('asso:maj_coordonnees_numeros_inseres'), "\n</fieldset>"; 356 357 } 357 358 -
_plugins_/Association/Associaspip/plugin.xml
r48021 r48106 34 34 <categorie>divers</categorie> 35 35 <necessite id="SPIP" version="[2.1.8;]" /> 36 <utilise id="coordonnees" version="[1.4. 2;]" />36 <utilise id="coordonnees" version="[1.4.5;]" /> 37 37 </plugin>
Note: See TracChangeset
for help on using the changeset viewer.