Skip to content
Extraits de code Groupes Projets
Valider 593a4f1f rédigé par marcimat@rezo.net's avatar marcimat@rezo.net
Parcourir les fichiers

En relation avec #3576 : ne pas actualiser les liens des documents vus...

En relation avec #3576 : ne pas actualiser les liens des documents vus systématiquement, mais seulement s'il y a une différence entre le texte et la base de données.
parent 622cc648
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -109,18 +109,41 @@ function inc_marquer_doublons_doc_dist($champs, $id, $type, $id_table_objet, $ta ...@@ -109,18 +109,41 @@ function inc_marquer_doublons_doc_dist($champs, $id, $type, $id_table_objet, $ta
$id_table_objet => $id $id_table_objet => $id
)); ));
// tous les documents liés à l'article sont considérés non vus $texte_documents_vus = $GLOBALS['doublons_documents_inclus'];
objet_qualifier_liens(array('document'=>'*'), array($type=>$id), array('vu'=>'non'));
// on ne modifie les liaisons que si c'est nécessaire
// ceux présents sont considérés comme vus $bdd_documents_vus = array(
if (count($GLOBALS['doublons_documents_inclus'])){ 'oui' => array(),
// on repasse par une requete sur spip_documents pour verifier que les documents existent bien ! 'non' => array()
$in_liste = sql_in('id_document', $GLOBALS['doublons_documents_inclus']); );
$res = sql_allfetsel("id_document", "spip_documents", $in_liste);
$res = array_map('reset', $res); $liaisons = objet_trouver_liens(array('document'=>'*'), array($type => $id));
// Creer le lien s'il n'existe pas deja foreach ($liaisons as $l) {
objet_associer(array('document'=>$res),array($type=>$id),array('vu'=>'oui')); $bdd_documents_vus[$l['vu']][] = $l['id_document'];
objet_qualifier_liens(array('document'=>$res),array($type=>$id),array('vu'=>'oui')); }
// il y en a des nouveaux documents vus dans le texte
$nouveaux = array_diff($texte_documents_vus, $bdd_documents_vus['oui']);
// il y en a des anciens documents vus dans la bdd
$anciens = array_diff($bdd_documents_vus['oui'], $texte_documents_vus);
// si on a des choses à actualiser
if ($nouveaux OR $anciens) {
if ($nouveaux) {
// on vérifie que les documents indiqués vus existent réellement tout de même (en cas d'erreur de saisie)
$ids = sql_allfetsel("id_document", "spip_documents", sql_in('id_document', $nouveaux));
$ids = array_map('reset', $ids);
if ($ids) {
var_dump('associer');
// Creer le lien s'il n'existe pas déjà
objet_associer(array('document' => $ids), array($type => $id), array('vu' => 'oui'));
objet_qualifier_liens(array('document' => $ids), array($type => $id), array('vu' => 'oui'));
}
}
if ($anciens) {
objet_qualifier_liens(array('document' => $anciens), array($type => $id), array('vu' => 'non'));
}
} }
} }
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter