Subversion Repositories eFlore/Applications.cel

Rev

Rev 970 | Rev 1765 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 970 Rev 1358
Line 67... Line 67...
67
	 * Carte par défaut
67
	 * Carte par défaut
68
	 */
68
	 */
69
	private function getDoublonHtml($parametres) {
69
	private function getDoublonHtml($parametres) {
Line 70... Line 70...
70
		
70
		
71
		$widget = null;
71
		$widget = null;
-
 
72
		$utilisateur_mail = $this->getAuthIdentifiant();
-
 
73
		$utilisateur_infos = new User($this->config);
-
 
74
		$utilisateur = $utilisateur_infos->obtenirUtilisateurSiExiste($utilisateur_mail);
Line 72... Line 75...
72
		$utilisateur = $this->getAuthIdentifiant();
75
		$utilisateur = $utilisateur['id_utilisateur'];
73
 
76
 
74
		// Création des infos du widget
77
		// Création des infos du widget
75
		$widget['type'] = 'widget';
78
		$widget['type'] = 'widget';
76
		$widget['donnees']['utilisateur'] = $utilisateur;
79
		$widget['donnees']['utilisateur'] = $utilisateur_mail;
Line 77... Line 80...
77
		$widget['donnees']['doublons'] = $this->getImagesDoublon($utilisateur);
80
		$widget['donnees']['doublons'] = $this->getImagesDoublon($utilisateur);
78
		$widget['squelette'] = 'doublon_defaut';
81
		$widget['squelette'] = 'doublon_defaut';
Line 86... Line 89...
86
	private function getImagesDoublon($utilisateur) {
89
	private function getImagesDoublon($utilisateur) {
87
		$doublons = null;
90
		$doublons = null;
Line 88... Line 91...
88
 
91
 
89
		if (isset($utilisateur)) {
92
		if (isset($utilisateur)) {
90
			// Un utilisateur en particulier
93
			// Un utilisateur en particulier
91
			$requete = 	'SELECT ci_id_image, ci_ordre, ci_nom_original, ci_md5 '.
94
			$requete = 	'SELECT id_image, ordre, nom_original, md5 '.
92
						'FROM cel_images '.
95
						'FROM cel_images '.
-
 
96
						"WHERE ce_utilisateur = '$utilisateur' ";
93
						"WHERE ci_ce_utilisateur = '$utilisateur' ";
97
 
Line 94... Line 98...
94
			$images = $this->executerRequete($requete);
98
			$images = $this->executerRequete($requete);
95
 
99
 
96
			// Traitement
100
			// Traitement
97
			$doublons = array();
101
			$doublons = array();
98
			$images_doublons_id = array();
102
			$images_doublons_id = array();
99
			$md5 = array();
103
			$md5 = array();
100
			foreach ($images as $img) {
104
			foreach ($images as $img) {
101
				if (!isset($md5[$img['ci_md5']])) {
105
				if (!isset($md5[$img['md5']])) {
102
					$md5[$img['ci_md5']] = array(
106
					$md5[$img['md5']] = array(
103
						'url' => $this->getUrlImage($img['ci_id_image'], 'CXS'), 
107
						'url' => $this->getUrlImage($img['id_image'], 'CXS'), 
104
						'obs_ordre' => array(),
108
						'obs_ordre' => array(),
105
						'img_ordre' => $img['ci_ordre'],
109
						'img_ordre' => $img['ordre'],
106
						'img_id' => $img['ci_id_image']);
110
						'img_id' => $img['id_image']);
107
				} else {
111
				} else {
108
					if (!isset($doublons[$img['ci_md5']])) {
112
					if (!isset($doublons[$img['md5']])) {
109
						$id_img = $md5[$img['ci_md5']]['img_id'];
113
						$id_img = $md5[$img['md5']]['img_id'];
110
						$doublons[$img['ci_md5']][$id_img] = $md5[$img['ci_md5']];
114
						$doublons[$img['md5']][$id_img] = $md5[$img['md5']];
-
 
115
						$images_doublons_id[] = $this->bdd->quote($id_img);
111
						$images_doublons_id[] = $this->bdd->quote($id_img);
116
					}
112
					}
117
 
113
					$doublons[$img['ci_md5']][$img['ci_id_image']] = array(
118
					$doublons[$img['md5']][$img['id_image']] = array(
114
							'url' => $this->getUrlImage($img['ci_id_image'], 'CXS'), 
119
							'url' => $this->getUrlImage($img['id_image'], 'CXS'), 
115
							'obs_ordre' => array(),
120
							'obs_ordre' => array(),
116
							'img_ordre' => $img['ci_ordre'],
121
							'img_ordre' => $img['ordre'],
117
							'img_id' => $img['ci_id_image']);
122
							'img_id' => $img['id_image']);
118
					$images_doublons_id[] = $this->bdd->quote($img['ci_id_image']);
123
					$images_doublons_id[] = $this->bdd->quote($img['id_image']);
Line 119... Line 124...
119
				}
124
				}
120
			}
125
			}
121
			
126
			
122
			if (count($images_doublons_id) > 0) {
127
			if (count($images_doublons_id) > 0) {
123
				$requete = 	'SELECT ci_id_image, ci_nom_original, ci_md5, ordre '.
128
				$requete = 	'SELECT cim.id_image, nom_original, md5, co.ordre as ordre_obs '.
124
							'FROM cel_images AS cim '.
129
							'FROM cel_images AS cim '.
125
							'	LEFT JOIN cel_obs_images AS coi '.
130
							'	LEFT JOIN cel_obs_images AS coi '.
126
							'		ON (coi.coi_ce_image = cim.ci_id_image) '.
131
							'		ON (coi.id_image = cim.id_image) '.
127
							'	LEFT JOIN cel_inventory AS ci '.
132
							'	LEFT JOIN cel_obs AS co '.
-
 
133
							'		ON (coi.id_observation = co.id_observation) '.
128
							'		ON (coi.coi_ce_observation = ci.ordre AND coi.coi_ce_utilisateur = ci.identifiant) '.
134
							"WHERE cim.ce_utilisateur = '$utilisateur' ".
Line 129... Line 135...
129
							"WHERE cim.ci_ce_utilisateur = '$utilisateur' ".
135
							'	AND cim.id_image IN ('.implode(',', $images_doublons_id).')';
130
							'	AND cim.ci_id_image IN ('.implode(',', $images_doublons_id).')';
136
 
131
				$infos = $this->executerRequete($requete);
137
				$infos = $this->executerRequete($requete);
132
				
138
				
133
				foreach ($infos as $info) {
139
				foreach ($infos as $info) {
134
					if (isset($doublons[$info['ci_md5']][$info['ci_id_image']]) && ! $this->etreNull($info['ordre'])) {
140
					if (isset($doublons[$info['md5']][$info['id_image']]) && ! $this->etreNull($info['ordre_obs'])) {
135
						$doublons[$info['ci_md5']][$info['ci_id_image']]['obs_ordre'][] = $info['ordre'];
141
						$doublons[$info['md5']][$info['id_image']]['obs_ordre'][] = $info['ordre_obs'];
Line 136... Line -...
136
					}
-
 
137
				}
142
					}
138
			}
143
				}
139
		}
144
			}
140
 
145
		}