Mise en route du suivi.
[aidenligne_francais_universite.git] / ecrire / action / instituer_auteur.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2007 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 if (!defined("_ECRIRE_INC_VERSION")) return;
14
15 // http://doc.spip.org/@action_instituer_auteur_dist
16 function action_instituer_auteur_dist() {
17
18 $securiser_action = charger_fonction('securiser_action', 'inc');
19 $arg = $securiser_action();
20
21 if (preg_match(",^(\d+)\W-(\d+)$,", $arg, $r))
22 spip_query("DELETE FROM spip_auteurs_rubriques WHERE id_auteur=".$r[1]." AND id_rubrique=" . $r[2]);
23 else if (!preg_match(',^(\d+)$,', $arg, $r)) {
24 spip_log("action_instituer_auteur_dist: $arg incompris");
25 } else {
26 $id_auteur = $r[1];
27 if ($id_parent = intval(_request('id_parent'))) {
28 include_spip('base/abstract_sql');
29 spip_abstract_insert('spip_auteurs_rubriques', "(id_auteur,id_rubrique)", "(" .$id_auteur .',' . $id_parent . ')');
30 }
31 if ($statut = _request('statut')) {
32 if (!ereg("^(0minirezo|1comite|5poubelle|6forum)$",$statut))
33 spip_log("action_instituer_auteur_dist: $statut incompris pour $id_auteur");
34 else {
35 spip_query("UPDATE spip_auteurs SET statut='".$statut . "' WHERE id_auteur=" . $id_auteur);
36
37 if ($GLOBALS['meta']['activer_moteur'] == 'oui') {
38 include_spip("inc/indexation");
39 marquer_indexer('spip_auteurs', $id_auteur);
40 }
41 // Mettre a jour les fichiers .htpasswd et .htpasswd-admin
42 include_spip('inc/acces');
43 ecrire_acces();
44 }
45 }
46 }
47 }
48 ?>