| Line 1... |
Line 1... |
| 1 |
<?php
|
1 |
<?php
|
| 2 |
class Maintenance extends Script {
|
2 |
class Maintenance extends Script {
|
| Line 3... |
Line 3... |
| 3 |
|
3 |
|
| 4 |
protected $bdd;
|
4 |
protected $bdd;
|
| 5 |
protected $parametres_autorises = array(
|
5 |
protected $parametres_autorises = array(
|
| - |
|
6 |
'-mc' => array(false, '1', 'Mot clef à chercher pour régénérer les machins'),
|
| - |
|
7 |
'-doublon' => array(false, '1', "Id du mot clé qu'on veut réduire à un autre"),
|
| 6 |
'-mc' => array(false, '1', 'Mot clef à chercher pour régénérer les machins')
|
8 |
'-cible' => array(false, '1', "Id de l'autre mot clé")
|
| Line 7... |
Line 9... |
| 7 |
);
|
9 |
);
|
| 8 |
|
10 |
|
| 9 |
public function __construct($script_nom, $parametres_cli) {
|
11 |
public function __construct($script_nom, $parametres_cli) {
|
| Line 44... |
Line 46... |
| 44 |
break;
|
46 |
break;
|
| 45 |
case 'reparerLiaisonsObsParMotsClesTexte' :
|
47 |
case 'reparerLiaisonsObsParMotsClesTexte' :
|
| 46 |
$mot_clef = $this->getParametre('mc');
|
48 |
$mot_clef = $this->getParametre('mc');
|
| 47 |
$this->reparerLiaisonsObsParMotsClesTexte($mot_clef);
|
49 |
$this->reparerLiaisonsObsParMotsClesTexte($mot_clef);
|
| 48 |
break;
|
50 |
break;
|
| - |
|
51 |
case 'reductionMotsClesImages' :
|
| - |
|
52 |
$idDoublon = $this->getParametre('doublon');
|
| - |
|
53 |
$idCible = $this->getParametre('cible');
|
| - |
|
54 |
$this->reductionMotsClesImages($idDoublon, $idCible);
|
| - |
|
55 |
break;
|
| 49 |
default :
|
56 |
default :
|
| 50 |
$msg = "Erreur : la commande '$cmd' n'existe pas!\n".
|
57 |
$msg = "Erreur : la commande '$cmd' n'existe pas!\n".
|
| 51 |
"Commandes existantes : regenererMotsClesTexteImages, regenererMotsClesTexteObs";
|
58 |
"Commandes existantes : regenererMotsClesTexteImages, regenererMotsClesTexteObs";
|
| 52 |
throw new Exception($msg);
|
59 |
throw new Exception($msg);
|
| 53 |
}
|
60 |
}
|
| Line 392... |
Line 399... |
| 392 |
$requete_insertion .= "('".$l['id_element_lie']."', '".$l['id_mot_cle']."'),";
|
399 |
$requete_insertion .= "('".$l['id_element_lie']."', '".$l['id_mot_cle']."'),";
|
| 393 |
}
|
400 |
}
|
| 394 |
$requete_insertion = rtrim($requete_insertion, ',');
|
401 |
$requete_insertion = rtrim($requete_insertion, ',');
|
| 395 |
$insertion = $this->bdd->requeter($requete_insertion);
|
402 |
$insertion = $this->bdd->requeter($requete_insertion);
|
| 396 |
}
|
403 |
}
|
| - |
|
404 |
|
| - |
|
405 |
// Change toutes les associations images - mots_cles dont l'id mot_cle est $idDoublon, pour le remplacer par $idCible
|
| - |
|
406 |
private function reductionMotsClesImages($idDoublon, $idCible) {
|
| - |
|
407 |
$q1 = "SELECT id_element_lie FROM cel_mots_cles_images_liaison WHERE id_mot_cle = $idCible;";
|
| - |
|
408 |
$r1 = $this->bdd->requeter($q1);
|
| - |
|
409 |
$idsImages = array();
|
| - |
|
410 |
foreach ($r1 as $r) {
|
| - |
|
411 |
$idsImages[] = $r['id_element_lie'];
|
| - |
|
412 |
}
|
| - |
|
413 |
|
| - |
|
414 |
// On vire ceux qui ont le doublon mais qui ont aussi la cible
|
| - |
|
415 |
$q2 = "DELETE FROM cel_mots_cles_images_liaison WHERE id_mot_cle = $idDoublon AND id_element_lie IN (" . implode(',', $idsImages) . ");";
|
| - |
|
416 |
$r2 = $this->bdd->requeter($q2);
|
| - |
|
417 |
|
| - |
|
418 |
// On convertit tous les doublons en cible
|
| - |
|
419 |
$q3 = "UPDATE cel_mots_cles_images_liaison SET id_mot_cle = $idCible WHERE id_mot_cle = $idDoublon;";
|
| - |
|
420 |
$r3 = $this->bdd->requeter($q3);
|
| - |
|
421 |
}
|
| 397 |
}
|
422 |
}
|
| 398 |
?>
|
423 |
?>
|
| 399 |
|
424 |
|