File "editer_mot.php"
Full path: /home/argothem/www/SpipFactory-fichiers_de_travail/sauvegarde-depannage-1.9a3.2/1.9/ecrire/action/editer_mot.php
File size: 2.94 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2006 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
if (!defined("_ECRIRE_INC_VERSION")) return;
// http://doc.spip.org/@action_editer_mot_dist
function action_editer_mot_dist() {
include_spip('inc/actions');
$var_f = charger_fonction('controler_action_auteur', 'inc');
$var_f();
$arg = _request('arg');
$redirect = _request('redirect');
$cherche_mot = _request('cherche_mot');
$select_groupe = _request('select_groupe');
// arg = l'eventuel mot a supprimer pour d'eventuelles Row SQL
if (!preg_match(',^(\d*)\D(-?\d*)\W(\w*)\W(\w*)\W(\w*)\W?(\d*)$,', $arg, $r))
spip_log("action editer_mot: $arg pas compris");
else {
list($x, $id_objet, $id_mot, $table, $table_id, $objet, $nouv_mot) = $r;
if ($id_mot) {
if ($objet)
// desassocier un/des mot d'un objet precis
spip_query("DELETE FROM spip_mots_$table WHERE $table_id=$id_objet" . (($id_mot <= 0) ? "" : " AND id_mot=$id_mot"));
else {
// disparition complete d'un mot
spip_query("DELETE FROM spip_mots WHERE id_mot=$id_mot");
spip_query("DELETE FROM spip_mots_articles WHERE id_mot=$id_mot");
spip_query("DELETE FROM spip_mots_rubriques WHERE id_mot=$id_mot");
spip_query("DELETE FROM spip_mots_syndic WHERE id_mot=$id_mot");
spip_query("DELETE FROM spip_mots_forum WHERE id_mot=$id_mot");
}
}
if ($nouv_mot ? $nouv_mot : ($nouv_mot = _request('nouv_mot'))) {
// recopie de:
// inserer_mot("spip_mots_$table", $table_id, $id_objet, $nouv_mot);
$result = spip_num_rows(spip_query("SELECT id_mot FROM spip_mots_$table WHERE id_mot=$nouv_mot AND $table_id=$id_objet"));
if (!$result)
spip_query("INSERT INTO spip_mots_$table (id_mot,$table_id) VALUES ($nouv_mot, $id_objet)");
}
if ($table AND $GLOBALS['meta']['activer_moteur'] == 'oui') {
include_spip("inc/indexation");
marquer_indexer("spip_$table", $id_objet);
}
}
$redirect = rawurldecode($redirect);
// hack du retour croise editer/grouper
if (($p =(strpos($redirect, '=editer_mot&script=grouper_mots&'))) !== false)
$redirect = substr($redirect,0,$p) . substr($redirect,$p+18);
if ($cherche_mot) {
if ($p = strpos($redirect, '#')) {
$a = substr($redirect,$p);
$redirect = substr($redirect,0,$p);
} else $a='';
$redirect .= "&cherche_mot=$cherche_mot&select_groupe=$select_groupe$a";
}
redirige_par_entete($redirect);
}
?>