security_check(); if ($resultat_session == 'c') { header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes"); die(); } else if ($resultat_session == '0') { header("Location: ../logout.php?auto=1"); die(); } if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } function affiche_debug($texte){ // Passer à 1 la variable pour générer l'affichage des infos de debug... $debug=0; if($debug==1){ echo "".$texte.""; flush(); } } function info_debug($texte){ global $step; global $dirname; $debug=0; if($debug==1) { //$fich_debug=fopen("/tmp/debug_maj_import2.txt","a+"); $fich_debug=fopen("../backup/".$dirname."/debug_maj_import2.txt","a+"); fwrite($fich_debug,"$step;$texte;".time()."\n"); fclose($fich_debug); } } //$largeur_tranche=20; $largeur_tranche=getSettingValue('dedoublonnage_adresses_resp_largeur_tranche'); if($largeur_tranche=="") { $largeur_tranche=100; } // Etape... $step=isset($_POST['step']) ? $_POST['step'] : (isset($_GET['step']) ? $_GET['step'] : NULL); $parcours_diff=isset($_POST['parcours_diff']) ? $_POST['parcours_diff'] : NULL; $nb_parcours=isset($_POST['nb_parcours']) ? $_POST['nb_parcours'] : NULL; $stop=isset($_POST['stop']) ? $_POST['stop'] : (isset($_GET['stop']) ? $_GET['stop'] :'n'); $id_info=isset($_POST['id_info']) ? $_POST['id_info'] : (isset($_GET['id_info']) ? $_GET['id_info'] :''); //$style_specifique="responsables/maj_import2"; //$gepiSchoolRne=getSettingValue("gepiSchoolRne") ? getSettingValue("gepiSchoolRne") : ""; function get_id_infos_action_dedoublonnage() { global $id_info; if($id_info!='') { return $id_info; } else { return new_id_infos_action_dedoublonnage(); } } function new_id_infos_action_dedoublonnage() { //$id_info=""; $titre="Dédoublonnage des adresses responsables : ".strftime("%d/%m/%Y à %H:%M:%S"); $texte="Dédoublonnage des adresses responsables...
"; $destinataire="administrateur"; $mode="statut"; $id_info=enregistre_infos_actions($titre,$texte,$destinataire,$mode); return $id_info; } function update_infos_action_dedoublonnage($id_info, $texte) { $retour=""; $sql="SELECT description FROM infos_actions WHERE id='$id_info';"; //echo "$sql
\n"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { $lig=mysqli_fetch_object($res); //$sql="UPDATE infos_actions SET description='".addslashes($lig->description).addslashes($texte)."
' WHERE id='$id_info';"; $sql="UPDATE infos_actions SET description='".addslashes($lig->description).addslashes($texte)."' WHERE id='$id_info';"; //echo "$sql
\n"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(!$res) {$retour="ERREUR lors de la mise à jour de la description de l'information n°$id_info.";} } else { $retour="ERREUR : L'information n°$id_info n'existe pas."; } //echo $retour; return $retour; } //**************** EN-TETE ***************** $titre_page = "Dédoublonnage des adresses responsables"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** //debug_var(); if(isset($step)) { check_token(false); echo "
Stop
\n"; echo "
\n"; echo creer_div_infobulle("div_stop","","","Ce bouton permet s'il est coché d'interrompre les passages automatiques à la page suivante","",12,0,"n","n","y","n"); echo "\n"; echo "\n"; } echo "

\n"; echo "Retour Retour"; //echo "

\n"; if(!isset($step)) { echo "

\n"; echo "

Dédoublonnage des adresses de responsables

\n"; echo "

Cette page est destinée à effectuer le dédoublonnage d'adresses considérées à tort par Sconet comme des adresses différentes alors qu'elles sont identiques.

\n"; echo "
\n"; echo add_token_field(); //echo "\n"; echo "\n"; //============================== // AJOUT pour tenir compte de l'automatisation ou non: //echo "\n"; echo "

\n"; //============================== echo "

\n"; echo "
\n"; echo "


\n"; } else{ echo "

\n"; // Affichage des informations élèves echo "

Dédoublonnage des adresses de responsables

\n"; if(!isset($parcours_diff)){ echo "

Initialisation du processus.

\n"; $sql="TRUNCATE TABLE tempo2;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); $sql="INSERT INTO tempo2 SELECT pers_id,adr_id FROM resp_pers;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); $sql="SELECT 1=1 FROM tempo2;"; $res1=mysqli_query($GLOBALS["mysqli"], $sql); $nb_resp=mysqli_num_rows($res1); if($nb_resp==0){ echo "

La table 'tempo2' est vide???
Aucun responsable ne serait encore défini?

\n"; require("../lib/footer.inc.php"); die(); } echo "

Les ".$nb_resp." responsables vont être parcourus par tranches de $largeur_tranche à la recherche de différences.

\n"; $nb_parcours=ceil($nb_resp/$largeur_tranche); $parcours_diff=0; echo "

Parcours de la tranche $parcours_diff.

\n"; } else{ echo "

Parcours de la tranche $parcours_diff/$nb_parcours.

\n"; } $id_info=get_id_infos_action_dedoublonnage(); flush(); $sql="SELECT * FROM tempo2 LIMIT $largeur_tranche;"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)==0) { $retour="

Dédoublonnage achevé.

\n"; update_infos_action_dedoublonnage($id_info, $retour); echo $retour; echo "

Récapitulatif :

"; $sql="SELECT description FROM infos_actions WHERE id='$id_info';"; //echo "$sql
\n"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res)>0) { $lig=mysqli_fetch_object($res); echo $lig->description; } require("../lib/footer.inc.php"); die(); } echo "
\n"; echo add_token_field(); //============================== // AJOUT pour tenir compte de l'automatisation ou non: echo "\n"; //============================== echo "\n"; //echo "

"; $cpt=0; while($lig=mysqli_fetch_object($res)) { $pers_id=$lig->col1; //$adr_id=$lig->col2; //$sql="SELECT adr_id FROM resp_pers WHERE pers_id='$pers_id';"; $sql="SELECT adr_id, nom, prenom FROM resp_pers WHERE pers_id='$pers_id';"; $res1=mysqli_query($GLOBALS["mysqli"], $sql); $lig1=mysqli_fetch_object($res1); $adr_id=$lig1->adr_id; //echo "

\$pers_id=$pers_id (adr_id=$adr_id) "; $sql="SELECT * FROM resp_adr WHERE adr_id='$adr_id';"; $res2=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res2)>0) { $lig2=mysqli_fetch_object($res2); if((($lig2->adr1!="")||($lig2->adr2!="")||($lig2->adr3!="")||($lig2->adr4!=""))&& ($lig2->commune!="")) { //$sql="SELECT adr_id FROM resp_adr WHERE adr_id!='$adr_id' AND adr1='$lig2->adr1' AND adr2='$lig2->adr2' AND adr3='$lig2->adr3' AND adr4='$lig2->adr4' AND cp='$lig2->cp' AND commune='$lig2->commune' AND pays='$lig2->pays';"; $sql="SELECT ra.adr_id, rp.pers_id, rp.nom, rp.prenom FROM resp_adr ra, resp_pers rp WHERE ra.adr_id!='$adr_id' AND ra.adr1='".addslashes($lig2->adr1)."' AND ra.adr2='".addslashes($lig2->adr2)."' AND ra.adr3='".addslashes($lig2->adr3)."' AND ra.adr4='".addslashes($lig2->adr4)."' AND ra.cp='".addslashes($lig2->cp)."' AND ra.commune='".addslashes($lig2->commune)."' AND ra.pays='".addslashes($lig2->pays)."' AND ra.adr_id=rp.adr_id;"; //echo "
$sql
"; $res3=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res3)>0) { $texte_info_action=""; while($lig3=mysqli_fetch_object($res3)) { $temoin="n"; $tab_ele1=array(); // On vérifie si les deux responsables sont bien liés via responsables2 $sql="SELECT ele_id FROM responsables2 WHERE pers_id='$pers_id' AND (resp_legal='1' OR resp_legal='2');"; $res_ele1=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_ele1)>0) { while($lig_ele1=mysqli_fetch_object($res_ele1)) { $tab_ele1[]=$lig_ele1->ele_id; } } //$tab_ele2=array(); // On vérifie si les deux responsables sont bien liés via responsables2 $sql="SELECT ele_id FROM responsables2 WHERE pers_id='$lig3->pers_id' AND (resp_legal='1' OR resp_legal='2');"; $res_ele2=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_ele2)>0) { while($lig_ele2=mysqli_fetch_object($res_ele2)) { //$tab_ele2[]=$lig_ele2->ele_id; if(in_array($lig_ele2->ele_id,$tab_ele1)) { $temoin="y"; break; } } } if($temoin=="y") { $sql="UPDATE resp_pers SET adr_id='$adr_id' WHERE pers_id='$lig3->pers_id';"; //echo "
$sql
"; $update=mysqli_query($GLOBALS["mysqli"], $sql); //echo " $lig3->pers_id"; $echo_html=""; if($cpt==0) { $echo_html.="

Dédoublonnage pour: "; } else { $echo_html.=" - "; } $echo_html.=mb_strtoupper($lig1->nom)." ".ucfirst(mb_strtolower($lig1->prenom))." (".mb_strtoupper($lig3->nom)." ".ucfirst(mb_strtolower($lig3->prenom)).")"; $texte_info_action.=$echo_html; echo $echo_html; $cpt++; } } update_infos_action_dedoublonnage($id_info, $texte_info_action); } } } //$sql="DELETE FROM tempo2 WHERE col1='$pers_id' AND col2='$adr_id';"; $sql="DELETE FROM tempo2 WHERE col1='$pers_id';"; $nettoyage=mysqli_query($GLOBALS["mysqli"], $sql); } if($cpt>0) {echo "

\n";} echo "\n"; //if(!isset($parcours_diff)){$parcours_diff=1;} $parcours_diff++; //echo "\n"; //if(count($tab_ele_id)>$largeur_tranche){ echo "\n"; echo "\n"; echo "

\n"; echo "
\n"; echo "\n"; } echo "


\n"; require("../lib/footer.inc.php"); ?>