Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2042 Rev 2043
Line 101... Line 101...
101
			$retour = false;
101
			$retour = false;
102
		}
102
		}
Line 103... Line 103...
103
	
103
	
104
		return $retour;
104
		return $retour;
105
	}
-
 
106
 
-
 
107
	public function supprimerLiaisonsPourIdEtEnfants($id_utilisateur, $id_mot_cle) {
-
 
108
		
-
 
109
		$gestion_mots_cles = new GestionMotsClesChemin($this->config, $this->mode);
-
 
110
		
-
 
111
		// même s'il n'a pas d'enfants, le tableau contient au moins l'id du mot clé lui même
-
 
112
		$ids_mot_cle_et_enfants = $gestion_mots_cles->obtenirIdsMotsClesParIdParent($id_utilisateur, $id_mot_cle);
-
 
113
		// obtention des ids des éléments liés au mot clé ainsi qu'à ces enfants (afin de pouvoir 
-
 
114
		// régénérer les index texte de mots clés sur les éléments liés
-
 
115
		$ids_a_delier = array();
-
 
116
		// création de deux tableaux pour éviter un bug du au passage par référence
-
 
117
		// TODO: corriger ça bien proprement
-
 
118
		foreach($ids_mot_cle_et_enfants as &$id) {
-
 
119
			$ids_a_delier[] = $id['id_mot_cle'];
-
 
120
			$id = $id['id_mot_cle'];
-
 
121
		}
-
 
122
 
-
 
123
		$ids_elements_lies = $gestion_mots_cles->obtenirIdElementsLiesPourIds($ids_a_delier);
-
 
124
		$suppression_liaison = $gestion_mots_cles->supprimerToutesLiaisonsIdsMotsCles($ids_mot_cle_et_enfants, $id_utilisateur);
-
 
125
		
-
 
126
		foreach($ids_elements_lies as $id_element_lie) {
-
 
127
			self::regenererIndexTexteMotCle($id_element_lie, $this->mode);
-
 
128
		}
-
 
129
		
-
 
130
		return Cel::db()->executer($requete, __FILE__ , __LINE__);
-
 
Line 131... Line 105...
131
	}
105
	}
132
	
-
 
133
	static private function regenererIndexTexteMotCle($id_element_lie, $mode) {
106
	
134
		
-
 
135
		$sous_requete_concat = '('.sprintf(GestionMotsClesChemin::obtenirTemplateRequeteMotsClesTexte($mode), 
-
 
136
								Cel::db()->proteger($id_element_lie)).')';
-
 
137
		
-
 
138
		list($table, $champ_id) = self::getNomTables($mode);
-
 
139
		$requete = 'UPDATE '.$table.' SET mots_cles_texte = '.$sous_requete_concat.' '.
-
 
140
		           'WHERE '.$champ_id.' = '.Cel::db()->proteger($id_element_lie).' ';
-
 
141
 
-
 
142
		return Cel::db()->executer($requete, __FILE__ , __LINE__);
107
	static private function regenererIndexTexteMotCle($id_element_lie, $mode) {
Line 143... Line 108...
143
		
108
		return GestionMotsClesChemin::regenererIndexTexteMotCle($id_element_lie, $mode);	
144
	}
109
	}
145
	
110