Subversion Repositories eFlore/Applications.cel

Rev

Rev 1200 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1200 Rev 1224
Line 1... Line 1...
1
<?php
1
<?php
2
// declare(encoding='UTF-8');
2
// declare(encoding='UTF-8');
3
/**
3
/**
4
 * Script de migration des Images de la version 1 de la base de données du CEL à la v2.
4
 * Script de migration des Images de la version 1 de la base de données du CEL à la v2.
-
 
5
 * Utilisation : /opt/lampp/bin/php cli.php MigrationImages
5
 *
6
 *
6
 * @category	php 5.2
7
 * @category	php 5.2
7
 * @package		Cel/Scripts
8
 * @package		Cel/Scripts
8
 * @author		Aurélien PERONNET <aurelien@tela-botanica.org>
9
 * @author		Aurelien PERONNET <aurelien@tela-botanica.org>
9
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
10
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
10
 * @copyright	Copyright (c) 2012, Tela Botanica (accueil@tela-botanica.org)
11
 * @copyright	Copyright (c) 2012, Tela Botanica (accueil@tela-botanica.org)
11
 * @license	http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
12
 * @license		http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
12
 * @license	http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
13
 * @license		http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
13
 * @version	$Id$
14
 * @version		$Id$
14
 */
15
 */
15
class MigrationImages extends Cel {
16
class MigrationImages {
Line 16... Line 17...
16
 
17
 
17
	const dry_run = false;
18
	const dry_run = false;
18
	const truncate = true; //Doit on vider les tables de destination ?
19
	const truncate = true; //Doit on vider les tables de destination ?
19
	const separateur_champs_metadonnees = ';';
20
	const separateur_champs_metadonnees = ';';
Line -... Line 21...
-
 
21
	const separateur_valeurs_metadonnees = ':';
-
 
22
 
20
	const separateur_valeurs_metadonnees = ':';
23
	private $bdd = null;
21
 
24
	private $script = null;
22
	public static $bdd_cel_migration;
25
	public static $bdd_cel_migration;
23
	public static $bdd_utilisateurs;
26
	public static $bdd_utilisateurs;
24
	private $cle_id_metadonnees = array();
27
	private $cle_id_metadonnees = array();
Line 638... Line 641...
638
		'2#242' => array('id' => '242', 'tag' => 'Unknown242', 'categorie' => 'Unknown'),
641
		'2#242' => array('id' => '242', 'tag' => 'Unknown242', 'categorie' => 'Unknown'),
639
		'2#254' => array('id' => '254', 'tag' => 'Unknown254', 'categorie' => 'Unknown'),
642
		'2#254' => array('id' => '254', 'tag' => 'Unknown254', 'categorie' => 'Unknown'),
640
		'2#255' => array('id' => '255', 'tag' => 'CatalogSets', 'categorie' => 'ApplicationRecord')
643
		'2#255' => array('id' => '255', 'tag' => 'CatalogSets', 'categorie' => 'ApplicationRecord')
641
	);
644
	);
Line 642... Line -...
642
 
-
 
643
	/**
645
 
644
	 * Méthode appelée avec une requête de type GET.
-
 
645
	 */
646
	public function __construct(Conteneur $conteneur) {
646
	public function getElement($params) {
647
		$bddMigration = $conteneur->getParametre('database_cel.database_migration');
647
		if (!isset($this->config['database_cel']['database_migration']) || $this->config['database_cel']['database_migration'] == '') {
648
		if ($bddMigration == null || $bddMigration == '') {
648
			echo 'Attention la variable de configuration database_migration dans la section database_cel, contenant la base de données d\'arrivée, doit être remplie '."\n";
649
			echo 'Attention la variable de configuration database_migration dans la section database_cel, contenant la base de données d\'arrivée, doit être remplie '."\n";
649
			exit;
650
			exit;
650
		}
651
		}
-
 
652
		$bddIdentification = $conteneur->getParametre('database_ident.database');
651
		if (!isset($this->config['database_ident']['database']) || $this->config['database_ident']['database'] == '') {
653
		if ($bddIdentification == null || $bddIdentification == '') {
652
			echo 'Attention la variable de configuration database dans la section database_ident, contenant la base de données utilisateurs, doit être remplie '."\n";
654
			echo 'Attention la variable de configuration database dans la section database_ident, contenant la base de données utilisateurs, doit être remplie '."\n";
653
			exit;
655
			exit;
654
		}
656
		}
655
 
657
 
656
		self::$bdd_cel_migration = $this->config['database_cel']['database_migration'];
658
		self::$bdd_cel_migration = $conteneur->getParametre('database_cel.database_migration');
657
		self::$bdd_utilisateurs = $this->config['database_ident']['database'];
659
		self::$bdd_utilisateurs = $conteneur->getParametre('database_ident.database');
-
 
660
 
658
 
661
		$this->bdd = $conteneur->getBdd();
Line -... Line 662...
-
 
662
		$this->script = $conteneur->getScript();
-
 
663
 
-
 
664
		$this->cle_id_metadonnees = array_merge($this->ids_tags_exif, $this->ids_tags_iptc);
-
 
665
	}
-
 
666
 
-
 
667
	/**
-
 
668
	 * Méthode appelée pour executer le script.
659
		$this->cle_id_metadonnees = array_merge($this->ids_tags_exif, $this->ids_tags_iptc);
669
	 */
660
 
670
	public function executer($params) {
661
		echo "--MIGRATION DES IMAGES --------------------------------------\n";
671
		echo "--MIGRATION DES IMAGES --------------------------------------\n";
662
		//1. TEMPORAIRE : vider les tables de destinations
672
		//1. TEMPORAIRE : vider les tables de destinations
663
		if (self::truncate) {
673
		if (self::truncate) {
664
			echo "-------------------------------------------------------------------\n\n";
674
			echo "-------------------------------------------------------------------\n";
665
			echo "  ETAPE 0. Vider les tables ... \n\n";
675
			echo "  ETAPE 0. Vider les tables ... \n";
666
			echo "-------------------------------------------------------------------\n\n";
676
			echo "-------------------------------------------------------------------\n";
667
			$nouvellesTables = array('cel_images', 'cel_obs_images');
677
			$nouvellesTables = array('cel_images', 'cel_obs_images');
668
			foreach ($nouvellesTables as $nomTable) {
678
			foreach ($nouvellesTables as $nomTable) {
669
				echo 'Vider la table '.$nomTable.'...';
679
				echo 'Vider la table '.$nomTable.'...';
670
				$requeteTruncate = 'TRUNCATE TABLE '.self::$bdd_cel_migration.'.'.$nomTable;
680
				$requeteTruncate = 'TRUNCATE TABLE '.self::$bdd_cel_migration.'.'.$nomTable;
671
				$resultatTruncate = $this->executerRequete($requeteTruncate);
681
				$resultatTruncate = $this->bdd->executer($requeteTruncate);
672
				echo "ok \n";
-
 
673
			}
-
 
674
 
682
				echo "ok \n";
Line 675... Line 683...
675
			echo "\n---------------------------------------------------------------- OK\n\n";
683
			}
676
		}
684
		}
677
 
685
 
678
		echo "-------------------------------------------------------------------\n\n";
686
		echo "-------------------------------------------------------------------\n";
679
		echo "  ETAPE 1. Paramétrage ... \n\n";
687
		echo "  ETAPE 1. Paramétrage ... \n";
Line 680... Line 688...
680
		echo "-------------------------------------------------------------------\n\n";
688
		echo "-------------------------------------------------------------------\n";
681
		$this->getUtilisateurs();
689
		$this->getUtilisateurs();
682
		$this->getObservations();
690
		$this->getObservations();
683
 
691
 
684
		echo "-------------------------------------------------------------------\n\n";
692
		echo "-------------------------------------------------------------------\n";
685
		echo "  ETAPE 2. Migration des images ... \n\n";
693
		echo "  ETAPE 2. Migration des images ... \n";
686
		echo "-------------------------------------------------------------------\n\n";
-
 
Line 687... Line 694...
687
		$this->migrerImages();
694
		echo "-------------------------------------------------------------------\n";
688
		$this->mettreANullPrenomNomVide();
695
		$this->migrerImages();
689
		$this->ordonnerImages();
696
		$this->mettreANullPrenomNomVide();
690
		echo "\n"."\n"."\n";
697
		$this->ordonnerImages();
691
 
-
 
692
		echo "-------------------------------------------------------------------\n\n";
698
 
Line 693... Line 699...
693
		echo "  ETAPE 3. migration des liaisons obs images ... \n\n";
699
		echo "-------------------------------------------------------------------\n";
694
		echo "-------------------------------------------------------------------\n\n";
-
 
695
		$this->migrerLiaisonsObsImages();
700
		echo "  ETAPE 3. migration des liaisons obs images ... \n";
Line 696... Line 701...
696
		echo "\n"."\n"."\n";
701
		echo "-------------------------------------------------------------------\n";
697
	}
702
		$this->migrerLiaisonsObsImages();
698
 
703
	}
Line 699... Line 704...
699
	private function getUtilisateurs() {
704
 
700
		echo "\n-------------------------------------------------------------------\n";
705
	private function getUtilisateurs() {
701
		echo "--SELECTION DES UTILISATEURS---------------------------------------\n\n";
706
		echo "SELECTION DES UTILISATEURS\n";
Line 702... Line 707...
702
 
707
 
703
		$requete = 'SELECT U_ID as id, U_MAIL as mail, U_NAME as nom, U_SURNAME as prenom, U_PASSWD as pass '.
-
 
704
			'FROM '.self::$bdd_utilisateurs.'.annuaire_tela';
708
		$requete = 'SELECT U_ID as id, U_MAIL as mail, U_NAME as nom, U_SURNAME as prenom, U_PASSWD as pass '.
Line 705... Line 709...
705
		$tableau_utilisateurs = $this->executerRequete($requete);
709
			'FROM '.self::$bdd_utilisateurs.'.annuaire_tela';
706
 
710
		$tableau_utilisateurs = $this->bdd->requeter($requete);
707
		foreach ($tableau_utilisateurs as &$utilisateur) {
711
 
708
			$this->tableau_utilisateurs[$utilisateur['mail']] = $utilisateur;
712
		foreach ($tableau_utilisateurs as &$utilisateur) {
709
		}
713
			$this->tableau_utilisateurs[$utilisateur['mail']] = $utilisateur;
710
 
714
		}
Line 711... Line 715...
711
		echo sizeof($this->tableau_utilisateurs)." utilisateurs sélectionnés";
715
 
712
		echo "\n-----------------------------------------------------------------OK\n";
716
		echo sizeof($this->tableau_utilisateurs)." utilisateurs sélectionnés\n";
713
	}
717
	}
714
 
718
 
715
	private function getObservations() {
719
	private function getObservations() {
716
		$pas = 5000;
720
		$pas = 5000;
717
		$nObs = 'SELECT COUNT(*) AS nb FROM cel_inventory';
721
		$nObs = 'SELECT COUNT(*) AS nb FROM cel_inventory';
718
		$resultatNbObs = $this->executerRequete($nObs);
722
		$resultatNbObs = $this->bdd->requeter($nObs, Bdd::SQL_RETOUR_COLONNE);
719
		$nbObs = $resultatNbObs[0]['nb'];
723
		$nbObs = $resultatNbObs;
720
		$maxLimite = $nbObs + $pas;
724
		$maxLimite = $nbObs + $pas;
Line 721... Line 725...
721
 
725
 
722
		for ($i = 0; $i < $maxLimite; $i += $pas ) {
-
 
723
			$requete_selection_observations = 'SELECT id, ordre, identifiant FROM cel_inventory LIMIT '.$i.", $pas";
726
		for ($i = 0; $i < $maxLimite; $i += $pas ) {
Line 724... Line 727...
724
			$tableau_observations = $this->executerRequete($requete_selection_observations);
727
			$requete_selection_observations = "SELECT id, ordre, identifiant FROM cel_inventory LIMIT $i,$pas ";
725
			foreach ($tableau_observations as &$obs) {
728
			$tableau_observations = $this->bdd->requeter($requete_selection_observations);
726
				$this->tableau_observations[$obs['identifiant']][$obs['ordre']] = $obs['id'];
729
			foreach ($tableau_observations as &$obs) {
727
			}
-
 
728
			$this->afficherAvancement('Selection des observations (par '.$pas.' )');
730
				$this->tableau_observations[$obs['identifiant']][$obs['ordre']] = $obs['id'];
Line 729... Line 731...
729
		}
731
			}
730
		echo "\n\n";
-
 
731
	}
-
 
732
 
732
			$this->script->afficherAvancement('Selection des observations (par '.$pas.' )');
733
	private function migrerImages() {
-
 
734
		$debut = 0;
733
		}
735
		$pas = 100;
-
 
736
 
-
 
737
		//Selectionner le nombre d'images
-
 
738
		$requeteNbImg = "SELECT COUNT(*) as nb FROM cel_images";
-
 
739
		$resultatNbImg = $this->executerRequete($requeteNbImg);
-
 
740
		$fin = $resultatNbImg[0]['nb'];
-
 
741
		$maxLimite = $fin + $pas;
734
		echo "\n";
742
 
735
	}
743
		for ($i = $debut; $i <= $maxLimite ; $i += $pas) {
736
 
744
			$requete = 'SELECT * '.
737
	private function migrerImages() {
745
				'FROM cel_images '.
738
		$pas = 100;
746
				'ORDER BY ci_id_image ASC LIMIT '.$i.','.$pas;
739
 
747
 
740
		//Selectionner le nombre d'images
Line -... Line 741...
-
 
741
		$requeteNbImg = "SELECT COUNT(*) as nb FROM cel_images";
-
 
742
		$fin = $this->bdd->requeter($requeteNbImg, BDD::SQL_RETOUR_COLONNE);
748
			$images = @$this->requeter($requete);
743
		$maxLimite = $fin + $pas;
-
 
744
 
749
			$requete = 'INSERT INTO '.self::$bdd_cel_migration.'.cel_images (';
745
		for ($i = 0; $i <= $maxLimite ; $i += $pas) {
750
			foreach ($this->tableau_nouveau_ancien as $nouveau_champ => $ancien_champ) {
-
 
751
				$requete .= $nouveau_champ.',';
746
			$requete = "SELECT * FROM cel_images ORDER BY ci_id_image ASC LIMIT $i,$pas ";
752
			}
747
			$images = $this->bdd->requeter($requete);
753
			$requete = rtrim($requete, ',').') VALUES ';
748
			if (is_array($images)) {
754
 
749
				$imagesNouvelles = array();
755
			if (is_array($images)) {
750
				foreach ($images as $image) {
756
				$nb_images_a_traiter = count($images);
751
					$image = $this->traiterLigneImage($image);
757
				foreach ($images as $image) {
752
					$image = array_map(array($this, 'protegerSiNonNull'), $image);
Line 758... Line 753...
758
					$nouvelle_image = $this->traiterLigneImage($image);
753
					$imagesNouvelles[] = '('.implode(',', array_values($image)).')';
759
					$nouvelle_image = array_map(array($this, 'protegerSiNonNull'), $nouvelle_image);
754
				}
760
					$requete .= '('.join(',', array_values($nouvelle_image)).'),';
755
 
761
				}
756
				$bdd = self::$bdd_cel_migration;
762
 
757
				$champs = implode(', ', array_keys($this->tableau_nouveau_ancien));
763
				$requete = rtrim($requete, ',');
-
 
764
				$migration_images = $this->executerRequeteSimple($requete);
-
 
765
 
-
 
766
				if (!$migration_images) {
-
 
767
					echo 'la migration des images '.$i.' à '.($i + $nb_images_a_traiter).' a échoué '."\n";
-
 
768
					file_put_contents('/home/jpm/requete.sql', $requete);
-
 
769
				} else {
-
 
770
					$this->afficherAvancement('Migration des images (par '.$pas.' )');
-
 
771
				}
-
 
772
			}
-
 
773
 
-
 
774
			if (count($images) < $pas) {
-
 
775
				echo "\n---------------------------------------------------------------- OK\n\n";
-
 
776
				return;
-
 
777
			}
-
 
778
		}
-
 
779
	}
-
 
780
 
-
 
781
	/**
-
 
782
	 * Utiliser cette méthode dans une boucle pour afficher un message suivi du nombre de tour de boucle effectué.
-
 
783
	 * Vous devrez vous même gérer le retour à la ligne à la sortie de la boucle.
-
 
784
	 *
-
 
785
	 * @param string le message d'information.
-
 
786
	 * @param int le nombre de départ à afficher.
-
 
787
	 * @return void le message est affiché dans la console.
-
 
788
	 */
-
 
789
	protected function afficherAvancement($message, $depart = 0) {
-
 
790
		if (! isset(self::$avancement[$message])) {
-
 
791
			self::$avancement[$message] = $depart;
758
				$values = implode(',', $imagesNouvelles);
Line 792... Line 759...
792
			echo "$message : ";
759
				$requete = "INSERT INTO $bdd.cel_images ($champs) VALUES $values ";
793
 
760
				$migration_images = $this->executerRequeteSimple($requete);
794
			$actuel =& self::$avancement[$message];
761
				if (!$migration_images) {
795
			echo $actuel++;
762
					echo 'La migration des images '.$i.' à '.($i + count($images)).' a échoué '."\n";
Line 796... Line 763...
796
		} else {
763
					file_put_contents('/home/jpm/requete.sql', $requete);
797
		$actuel =& self::$avancement[$message];
764
				} else {
798
 
765
					$this->script->afficherAvancement('Migration des images (par '.$pas.' )');
799
		// Cas du passage de 99 (= 2 caractères) à 100 (= 3 caractères)
766
				}
800
		$passage = 0;
767
			}
801
		if (strlen((string) ($actuel - 1)) < strlen((string) ($actuel))) {
768
 
802
		$passage = 1;
769
			if (count($images) < $pas) {
803
		}
770
				echo "\n";
804
		echo str_repeat(chr(8), (strlen((string) $actuel) - $passage));
771
				return;
Line 805... Line 772...
805
		echo $actuel++;
772
			}
806
		}
773
		}
Line 844... Line 811...
844
		return strpos($champ, 'traiter') !== false;
811
		return strpos($champ, 'traiter') !== false;
845
	}
812
	}
Line 846... Line 813...
846
 
813
 
847
	private function protegerSiNonNull($valeur) {
814
	private function protegerSiNonNull($valeur) {
848
		if ($valeur != 'NULL') {
815
		if ($valeur != 'NULL') {
849
			$valeur = $this->proteger($valeur);
816
			$valeur = $this->bdd->proteger($valeur);
850
		}
817
		}
851
		return $valeur;
818
		return $valeur;
Line 852... Line 819...
852
	}
819
	}
Line 872... Line 839...
872
			}
839
			}
873
		}
840
		}
874
		return $retour;
841
		return $retour;
875
	}
842
	}
Line 876... Line 843...
876
 
843
 
877
	public function mailValide($mail) {
844
	private function mailValide($mail) {
878
		// vérification bidon mais ça suffit pour ici
845
		// vérification bidon mais ça suffit pour ici
879
		return !(strpos('@',$mail) === false);
846
		return !(strpos($mail, '@') === false);
Line 880... Line 847...
880
	}
847
	}
881
 
848
 
882
	private function traiterPrenomUtilisateur($ligne_image) {
849
	private function traiterPrenomUtilisateur($ligne_image) {
Line 1001... Line 968...
1001
		}
968
		}
1002
		return $xml;
969
		return $xml;
1003
	}
970
	}
Line 1004... Line 971...
1004
 
971
 
1005
	private function migrerLiaisonsObsImages() {
-
 
1006
		$debut = 0;
972
	private function migrerLiaisonsObsImages() {
1007
		$pas = 500;
-
 
1008
 
973
		$pas = 500;
Line 1009... Line 974...
1009
		$liaisons_obs_inexistantes = 0;
974
		$liaisons_obs_inexistantes = 0;
1010
 
975
 
1011
		//Selectionner le nombre de liaisons
976
		//Selectionner le nombre de liaisons
1012
		$requeteNbImgObs = "SELECT COUNT(*) AS nb FROM cel_obs_images";
977
		$requeteNbImgObs = "SELECT COUNT(*) AS nb FROM cel_obs_images";
Line 1013... Line 978...
1013
		$resultatNbImgObs = $this->executerRequete($requeteNbImgObs);
978
		$fin = $this->bdd->requeter($requeteNbImgObs, Bdd::SQL_RETOUR_COLONNE);
1014
		$fin = $resultatNbImgObs[0]['nb'];
979
		echo "Nbre de liaisons à migrer  : $fin\n";
1015
 
980
 
Line 1016... Line 981...
1016
		for ($i = $debut; $i <= $fin ; $i += $pas) {
981
		for ($i = 0; $i <= $fin ; $i += $pas) {
1017
			$requete = 'SELECT * FROM cel_obs_images LIMIT '.$i.','.$pas;
-
 
1018
			$tableau_liaisons = $this->executerRequete($requete);
-
 
1019
 
-
 
1020
			if (is_array($tableau_liaisons)) {
-
 
1021
				$requete = 'INSERT INTO '.self::$bdd_cel_migration.'.cel_obs_images '.
982
			$requete = "SELECT * FROM cel_obs_images LIMIT $i,$pas ";
1022
						'(id_image, id_observation, date_liaison) '.
983
			$tableau_liaisons = $this->bdd->requeter($requete);
1023
						'VALUES ';
984
 
1024
 
985
			if (is_array($tableau_liaisons)) {
1025
				$sous_requete = array();
-
 
1026
				foreach ($tableau_liaisons as &$liaison) {
986
				$liaisonsNouvelles = array();
1027
					$mail_utilisateur = $liaison['coi_ce_utilisateur'];
987
				foreach ($tableau_liaisons as $liaison) {
1028
					$id_obs = $liaison['coi_ce_observation'];
-
 
1029
 
988
					$mail_utilisateur = $liaison['coi_ce_utilisateur'];
1030
					if (isset($this->tableau_observations[$mail_utilisateur][$id_obs])) {
989
					$ordre_obs = $liaison['coi_ce_observation'];
1031
						$id_obs = $this->tableau_observations[$mail_utilisateur][$id_obs];
990
					if (isset($this->tableau_observations[$mail_utilisateur][$ordre_obs])) {
1032
 
-
 
1033
						$sous_requete[] = '('.$this->proteger($liaison['coi_ce_image']).','.
991
						$id_obs = $this->bdd->proteger($this->tableau_observations[$mail_utilisateur][$ordre_obs]);
1034
							$this->proteger($id_obs).','.
992
						$id_image = $this->bdd->proteger($liaison['coi_ce_image']);
1035
							$this->proteger($liaison['coi_date_liaison']).
993
						$date_liaison = $this->bdd->proteger($liaison['coi_date_liaison']);
1036
							')';
994
						$liaisonsNouvelles[] = "($id_image, $id_obs, $date_liaison)";
1037
					} else {
995
					} else {
-
 
996
						// cas d'une observation inexistante, la liaison est ignorée
1038
						// cas d'une observation inexistante, la liaison est ignorée
997
						$liaisons_obs_inexistantes++;
-
 
998
					}
-
 
999
				}
-
 
1000
				if (count($liaisonsNouvelles) != 0) {
1039
						$liaisons_obs_inexistantes++;
1001
					$sousRequete = implode(',', $liaisonsNouvelles);
1040
					}
1002
 
Line 1041... Line 1003...
1041
				}
1003
					$requete = 'INSERT INTO '.self::$bdd_cel_migration.'.cel_obs_images '.
1042
				$sous_requete = implode(',', $sous_requete);
1004
							'(id_image, id_observation, date_liaison) '.
1043
				$requete .= $sous_requete;
1005
							"VALUES $sousRequete ";
1044
				$migration_liaison = $this->executerRequeteSimple($requete);
1006
					$migration_liaison = $this->executerRequeteSimple($requete);
-
 
1007
 
1045
 
1008
					if (!$migration_liaison) {
1046
				if (!$migration_liaison) {
1009
						echo 'La migration des liaisons obs images de '.$i.' à '.($i+$pas).' a échoué ! '."\n<br />";
1047
					echo 'La migration des liaisons obs images de '.$i.' à '.($i+$pas).' a échoué ! '."\n<br />";
1010
					} else {
1048
				} else {
-
 
1049
					$this->afficherAvancement('Migration des liaisons obs images (par '.$pas.' )');
-
 
1050
				}
1011
						$this->script->afficherAvancement('Migration des liaisons obs images (par '.$pas.' )');
1051
			}
1012
					}
1052
		}
1013
				}
Line 1053... Line 1014...
1053
		echo "\n\n";
1014
			}
1054
		echo $liaisons_obs_inexistantes ? $liaisons_obs_inexistantes." liaisons image obs ont été ignorées car les obs sont absentes" : '' ;
1015
		}
1055
		echo "\n";
1016
		echo "\n";
1056
		echo "\n---------------------------------------------------------------- OK\n\n";
1017
		echo $liaisons_obs_inexistantes ? $liaisons_obs_inexistantes." liaisons image obs ont été ignorées car les obs sont absentes\n" : '' ;
1057
	}
1018
	}
1058
 
1019
 
Line 1059... Line 1020...
1059
	private function mettreANullPrenomNomVide() {
1020
	private function mettreANullPrenomNomVide() {
1060
		$bdd = self::$bdd_cel_migration;
1021
		$bdd = self::$bdd_cel_migration;
1061
		$requete = 	"UPDATE $bdd.cel_images ".
1022
		$requete = 	"UPDATE $bdd.cel_images ".
1062
			'SET prenom_utilisateur = NULL '.
1023
			'SET prenom_utilisateur = NULL '.
1063
			"WHERE prenom_utilisateur = '' ";
1024
			"WHERE prenom_utilisateur = '' ";
1064
		$this->executer($requete);
1025
		$this->bdd->executer($requete);
1065
 
1026