119,7 → 119,6 |
echo "-------------------------------------------------------------------\n\n"; |
echo " ETAPE 1. Paramétrage ... \n\n"; |
echo "-------------------------------------------------------------------\n\n"; |
|
$this->getUtilisateurs(); |
$this->getMotsCles(); |
|
126,7 → 125,6 |
echo "-------------------------------------------------------------------\n\n"; |
echo " ETAPE 2. Migration des utilisateurs ... \n\n"; |
echo "-------------------------------------------------------------------\n\n"; |
|
$this->migrerUtilisateurs(); |
|
echo "-------------------------------------------------------------------\n\n"; |
138,6 → 136,7 |
echo " ETAPE 4. Migration des observations ... \n\n"; |
echo "-------------------------------------------------------------------\n\n"; |
$this->migrerObs(); |
$this->ordonnerObs(); |
echo "\n"."\n"."\n"; |
} |
|
155,8 → 154,9 |
echo "\n-------------------------------------------------------------------\n"; |
echo "--SELECTION DES UTILISATEURS---------------------------------------\n\n"; |
|
$requete_selection_utilisateurs = 'SELECT U_ID as id, U_MAIL as mail, U_NAME as nom, U_SURNAME as prenom, U_PASSWD as pass FROM '.self::$bdd_utilisateurs.'.annuaire_tela'; |
$tableau_utilisateurs = $this->executerRequete($requete_selection_utilisateurs); |
$requete = 'SELECT U_ID as id, U_MAIL as mail, U_NAME as nom, U_SURNAME as prenom, U_PASSWD as pass '. |
'FROM '.self::$bdd_utilisateurs.'.annuaire_tela '; |
$tableau_utilisateurs = $this->executerRequete($requete); |
|
foreach( $tableau_utilisateurs as &$utilisateur) { |
$this->tableau_utilisateurs[$utilisateur['mail']] = $utilisateur; |
170,8 → 170,10 |
echo "\n-------------------------------------------------------------------\n"; |
echo "--SELECTION DES MOTS-CLES -----------------------------------------\n\n"; |
|
$requete_selection_mots_cles = 'SELECT cmc_id_proprietaire as id_utilisateur, cmc_id_mot_cle_utilisateur as id_mot_cle, cmc_mot_cle as mot_cle FROM cel_mots_cles_obs'; |
$tableau_mots_cles = $this->executerRequete($requete_selection_mots_cles); |
$requete = 'SELECT cmc_id_proprietaire as id_utilisateur, cmc_id_mot_cle_utilisateur as id_mot_cle, '. |
'cmc_mot_cle as mot_cle '. |
'FROM cel_mots_cles_obs '; |
$tableau_mots_cles = $this->executerRequete($requete); |
|
foreach( $tableau_mots_cles as &$mot_cle) { |
$this->tableau_mots_cles[$mot_cle['id_utilisateur']][$mot_cle['id_mot_cle']] = $mot_cle; |
217,32 → 219,29 |
$nbTotal = 0; |
$tabUtilisateurs = $this->tableau_utilisateurs; |
while (!empty($tabUtilisateurs)) { |
$requete_insertion_utilisateurs = 'INSERT INTO '.self::$bdd_cel_migration.'.cel_utilisateurs '. |
$requete = 'INSERT INTO '.self::$bdd_cel_migration.'.cel_utilisateurs '. |
'(id_utilisateur, prenom, nom, courriel, mot_de_passe) '. |
'VALUES '; |
$sous_requete_insertion = ''; |
|
$sous_requete = array(); |
$i = 0; |
foreach ($tabUtilisateurs as $id => &$utilisateur) { |
|
$i++; |
if ($i == $pas) { |
break; |
} |
$sous_requete_insertion .= '('.$this->proteger($utilisateur['id']).','. |
$this->proteger($utilisateur['prenom']).','. |
$this->proteger($utilisateur['nom']).','. |
$prenom = self::formaterMotPremiereLettreChaqueMotEnMajuscule($utilisateur['prenom']); |
$nom = self::formaterMotEnMajuscule($utilisateur['nom']); |
$sous_requete[] = '('.$this->proteger($utilisateur['id']).','. |
$this->proteger($prenom).','. |
$this->proteger($nom).','. |
$this->proteger($utilisateur['mail']).','. |
$this->proteger($utilisateur['pass']).'),'; |
$this->proteger($utilisateur['pass']).')'; |
unset($tabUtilisateurs[$id]); |
|
} |
$requete = $requete.implode(',', $sous_requete); |
$migration_utilisateurs = $this->executerRequeteSimple($requete); |
|
$sous_requete_insertion = rtrim($sous_requete_insertion,','); |
$requete_insertion_utilisateurs = $requete_insertion_utilisateurs.$sous_requete_insertion; |
|
$migration_utilisateurs = $this->executerRequeteSimple($requete_insertion_utilisateurs); |
|
if ($migration_utilisateurs) { |
$nbTotal ++; |
$this->afficherAvancement('Migration utilisateurs (par '.$pas.')', $nbTotal); |
384,6 → 383,11 |
echo "\n---------------------------------------------------------------- OK\n\n"; |
} |
|
private function ordonnerObs() { |
$requete = 'ALTER TABLE cel_obs ORDER BY id_observation'; |
$this->executerRequeteSimple($requete); |
} |
|
private function traiterLigneObservation($obs) { |
|
$nouvelle_obs = array(); |
424,7 → 428,7 |
} |
|
private function traiterReferentiel($observation) { |
return 'bdtfx_v1'; |
return 'bdnff:4.02'; |
} |
|
private function traiterMotsClesTexte($ligne_observation) { |
486,32 → 490,39 |
} |
|
private function traiterPrenomUtilisateur($ligne_observation) { |
$mail_observation = $ligne_observation['identifiant']; |
|
$mail_observation = $ligne_observation['identifiant']; |
$retour = $mail_observation; |
$retour = ''; |
if (isset($this->tableau_utilisateurs[$mail_observation])) { |
$retour = $this->tableau_utilisateurs[$mail_observation]['prenom']; |
} else { |
$retour = ''; |
$prenom = $this->tableau_utilisateurs[$mail_observation]['prenom']; |
$retour = self::formaterMotPremiereLettreChaqueMotEnMajuscule($prenom); |
} |
|
return $retour; |
} |
|
private function traiterNomUtilisateur($ligne_observation) { |
|
$mail_observation = $ligne_observation['identifiant']; |
$retour = $mail_observation; |
|
$retour = ''; |
if (isset($this->tableau_utilisateurs[$mail_observation])) { |
$retour = $this->tableau_utilisateurs[$mail_observation]['nom']; |
} else { |
$retour = ''; |
$nom = $this->tableau_utilisateurs[$mail_observation]['nom']; |
$retour = self::formaterMotEnMajuscule($nom); |
} |
|
return $retour; |
} |
|
public static function formaterMotPremiereLettreChaqueMotEnMajuscule($chaine, $encodage= 'UTF-8') { |
$chaine = str_replace('-', ' - ', $chaine); |
$chaine = mb_strtolower($chaine, $encodage); |
$chaine = mb_convert_case($chaine, MB_CASE_TITLE, $encodage); |
$chaine = str_replace(' - ', '-', $chaine); |
return $chaine; |
} |
|
public static function formaterMotEnMajuscule($chaine, $encodage= 'UTF-8') { |
return mb_convert_case($chaine, MB_CASE_UPPER, $encodage); |
} |
|
private function traiterZoneGeo($ligne_observation) { |
|
$zone_geo = $ligne_observation['location']; |
573,21 → 584,19 |
return $indice; |
} |
|
// Par défaut, on garde l'utilisateur tel quel (cas de la chaine de session des utilisateur anonymes) |
private function renvoyerIdPourMigration($utilisateur) { |
// si tout les test suivant échouent, on garde l'utilisateur tel quel |
// (cas de la chaine de session des utilisateur anonymes) |
$retour = $utilisateur; |
// si le mail correspond a un utilisateur de la bdd |
if (isset($this->tableau_utilisateurs[$utilisateur])) { |
// on renvoie son id |
$retour = $this->tableau_utilisateurs[$utilisateur]['id']; |
} else { |
} else if ($utilisateur != '') { |
// sinon si c'est un mail inconnu, on garde le md5 |
if($this->mailValide($utilisateur)) { |
$retour = md5($utilisateur); |
} |
} |
|
return $retour; |
} |
|