1 | <?php |
---|
2 | if (!defined("_ECRIRE_INC_VERSION")) return; |
---|
3 | |
---|
4 | include_spip('inc/autoriser'); |
---|
5 | |
---|
6 | function action_spiplistes_changer_statut_abonne_dist() |
---|
7 | { |
---|
8 | $securiser_action = charger_fonction('securiser_action', 'inc'); |
---|
9 | $arg = $securiser_action(); |
---|
10 | $redirect = urldecode(_request('redirect')); |
---|
11 | |
---|
12 | $arg = explode('-',$arg); |
---|
13 | $id_auteur = $arg[0]; |
---|
14 | $action = $arg[1]; |
---|
15 | |
---|
16 | if ($action=='format'){ |
---|
17 | //changer de statut |
---|
18 | $statut = _request('statut'); |
---|
19 | if (autoriser('statutabonement','auteur',$id_auteur)) |
---|
20 | if(($statut=='html') OR ($statut=='texte') OR ($statut=='non')){ |
---|
21 | $res = spip_query("SELECT id_auteur FROM spip_auteurs_elargis WHERE id_auteur="._q($id_auteur)); |
---|
22 | if (spip_num_rows($res)) |
---|
23 | spip_query("UPDATE spip_auteurs_elargis SET `spip_listes_format`="._q($statut)." WHERE id_auteur="._q($id_auteur)); |
---|
24 | else |
---|
25 | spip_query("INSERT INTO spip_auteurs_elargis (id_auteur,`spip_listes_format`) VALUES ("._q($id_auteur).","._q($statut).")"); |
---|
26 | } |
---|
27 | } |
---|
28 | if ($action=='listeabo'){ |
---|
29 | //changer de statut |
---|
30 | $id_auteur = _request('id_auteur'); |
---|
31 | if ($id_auteur && ($id_liste = $arg[2]) |
---|
32 | && autoriser('abonnerauteur','liste',$id_liste,NULL,array('id_auteur'=>$id_auteur))) { |
---|
33 | $result=spip_query("DELETE FROM spip_auteurs_listes WHERE id_auteur="._q($id_auteur)." AND id_liste="._q($id_liste)); |
---|
34 | $result=spip_query("INSERT INTO spip_auteurs_listes (id_auteur,id_liste) VALUES ("._q($id_auteur).","._q($id_liste).")"); |
---|
35 | //attribuer un format de reception si besoin (ancien auteur) |
---|
36 | $abo = spip_fetch_array(spip_query("SELECT `spip_listes_format` FROM `spip_auteurs_elargis` WHERE `id_auteur`='$id_auteur'")) ; |
---|
37 | if(!$abo){ |
---|
38 | $ok = spip_query("UPDATE `spip_auteurs_elargis` SET `spip_listes_format`='html' WHERE id_auteur="._q($id_auteur)); |
---|
39 | } |
---|
40 | |
---|
41 | } |
---|
42 | } |
---|
43 | if ($action=='listedesabo'){ |
---|
44 | if ($id_liste = $arg[2]) |
---|
45 | //if (autoriser()) |
---|
46 | if (autoriser('desabonnerauteur','liste',$id_liste,NULL,array('id_auteur'=>$id_auteur))) |
---|
47 | spip_query("DELETE FROM spip_auteurs_listes WHERE id_auteur="._q($id_auteur)." AND id_liste="._q($id_liste)); |
---|
48 | } |
---|
49 | |
---|
50 | if ($redirect){ |
---|
51 | redirige_par_entete(str_replace("&","&",$redirect)."#abo$id_auteur"); |
---|
52 | } |
---|
53 | } |
---|
54 | |
---|
55 | ?> |
---|