3,7 → 3,9 |
|
protected $bdd; |
protected $parametres_autorises = array( |
'-mc' => array(false, '1', 'Mot clef à chercher pour régénérer les machins') |
'-mc' => array(false, '1', 'Mot clef à chercher pour régénérer les machins'), |
'-doublon' => array(false, '1', "Id du mot clé qu'on veut réduire à un autre"), |
'-cible' => array(false, '1', "Id de l'autre mot clé") |
); |
|
public function __construct($script_nom, $parametres_cli) { |
46,6 → 48,11 |
$mot_clef = $this->getParametre('mc'); |
$this->reparerLiaisonsObsParMotsClesTexte($mot_clef); |
break; |
case 'reductionMotsClesImages' : |
$idDoublon = $this->getParametre('doublon'); |
$idCible = $this->getParametre('cible'); |
$this->reductionMotsClesImages($idDoublon, $idCible); |
break; |
default : |
$msg = "Erreur : la commande '$cmd' n'existe pas!\n". |
"Commandes existantes : regenererMotsClesTexteImages, regenererMotsClesTexteObs"; |
394,5 → 401,23 |
$requete_insertion = rtrim($requete_insertion, ','); |
$insertion = $this->bdd->requeter($requete_insertion); |
} |
|
// Change toutes les associations images - mots_cles dont l'id mot_cle est $idDoublon, pour le remplacer par $idCible |
private function reductionMotsClesImages($idDoublon, $idCible) { |
$q1 = "SELECT id_element_lie FROM cel_mots_cles_images_liaison WHERE id_mot_cle = $idCible;"; |
$r1 = $this->bdd->requeter($q1); |
$idsImages = array(); |
foreach ($r1 as $r) { |
$idsImages[] = $r['id_element_lie']; |
} |
|
// On vire ceux qui ont le doublon mais qui ont aussi la cible |
$q2 = "DELETE FROM cel_mots_cles_images_liaison WHERE id_mot_cle = $idDoublon AND id_element_lie IN (" . implode(',', $idsImages) . ");"; |
$r2 = $this->bdd->requeter($q2); |
|
// On convertit tous les doublons en cible |
$q3 = "UPDATE cel_mots_cles_images_liaison SET id_mot_cle = $idCible WHERE id_mot_cle = $idDoublon;"; |
$r3 = $this->bdd->requeter($q3); |
} |
} |
?> |