* Si oui, on ne fait rien, si non, on crée la liaison
*/
$result = sql_getfetsel("id_mot",'spip_mots_liens',"id_mot=".intval($id_tag)." AND objet=".sql_quote($objet)." AND id_objet=".intval($id_objet));
if (!$result)
$result = sql_getfetsel('id_mot', 'spip_mots_liens', 'id_mot=' . intval($id_tag) . ' AND objet=' . sql_quote($objet) . ' AND id_objet=' . intval($id_objet));
if (!$result) {
$mots_associes[] = $id_tag;
}
/**
* La triplette id_mot, id_auteur, objet existe t elle déjà?
* Si non on crée le lien dans la table spip_spipicious
* Si oui, on vérifie que les statuts soient bon
*/
$result_spipicious = sql_fetsel("id_mot,statut","spip_spipicious","id_mot=".intval($id_tag)." AND id_objet=".intval($id_objet)." AND objet=".sql_quote($type)." AND id_auteur=".intval($id_auteur));
sql_updateq('spip_spipicious',array('statut'=>$statut),"id_mot=".intval($id_tag)." AND id_objet=".intval($id_objet)." AND objet=".sql_quote($type)." AND id_auteur=".intval($id_auteur));
* -* On supprime l'élément dans spipicious qui lie le mot à l'objet et l'auteur
* -* Si le mot n'est plus utilisé sur l'objet par aucun autre auteur, on supprime la liaison du mot à l'objet
* -* Si le mot n'est plus utilisé du tout, on le supprimer définitivement
*
*
* @param array $remove_tags
* Un tableau php des tags à enlever
* @param int $id_auteur
@ -57,54 +60,56 @@ function action_spipicious_supprimer_tags_dist(){
* Le type de l'objet à tagger
* @param int $id_table_objet
* La clé primaire de l'objet à tagger ("id_article","id_rubrique")
* @return array
* @return array
* Retourne un tableau composé du message de retour et si on doit invalider le cache
*/
function spipicious_supprimer_tags($remove_tags,$id_auteur,$id_objet,$type,$id_table_objet){
function spipicious_supprimer_tags($remove_tags,$id_auteur,$id_objet,$type,$id_table_objet){
include_spip('action/editer_mot');
include_spip('action/editer_liens');
$compte = 0;
$tags_removed = array();
$mots_supprimes = array();
$mots_dissocier = array();
foreach($remove_tags as $remove_tag){
$tags_removed = [];
$mots_supprimes = [];
$mots_dissocier = [];
foreach($remove_tags as $remove_tag){
/**
* Suppression dans spip_spipicious du lien entre notre auteur, le mot et l'objet
*/
sql_delete("spip_spipicious","id_auteur=".intval($id_auteur)." AND id_objet=".intval($id_objet)." AND id_mot=".intval($remove_tag)." AND objet=".sql_quote($type)); // on efface le mot associe a l'auteur sur l'objet
sql_delete('spip_spipicious', 'id_auteur=' . intval($id_auteur) . ' AND id_objet=' . intval($id_objet) . ' AND id_mot=' . intval($remove_tag) . ' AND objet=' . sql_quote($type)); // on efface le mot associe a l'auteur sur l'objet
/**
* On vérifie si le tag est utilisé par un autre utilisateur
*
*
* -* Si non, on ajoute le mot clé dans le tableau $mots_supprimes qui le supprimera définitivement
* -* Si oui, on vérifie si le mot est utilisé par un autre utilisateur sur le même objet:
* -** Si non, on ajoute le mot dans le tableau $mots_dissocier qui le dissociera le mot de l'objet
$tag_utilise_2 = sql_getfetsel("id_auteur","spip_spipicious","id_mot=".intval($remove_tag)." AND id_objet=".intval($id_objet)." AND objet=".sql_quote($type));
if(!$tag_utilise_2)
}else {
$tag_utilise_2 = sql_getfetsel('id_auteur', 'spip_spipicious', 'id_mot=' . intval($remove_tag) . ' AND id_objet=' . intval($id_objet) . ' AND objet=' . sql_quote($type));
sql_updateq('spip_spipicious',array('statut'=>'prop'),'id_objet='.intval($flux['args']['id_objet']).' AND objet='.sql_quote($objet).' AND statut="publie"');
else
sql_updateq('spip_spipicious',array('statut'=>'publie'),'id_objet='.intval($flux['args']['id_objet']).' AND objet='.sql_quote($objet).' AND statut="prop"');