~maj v3.0.19-->v3.0.21
[ptitvelo/web/www.git] / www / plugins / agenda_3_5 / formulaires / evenement_participants.php
1 <?php
2 /**
3 * Plugin Agenda 4 pour Spip 3.0
4 * Licence GPL 3
5 *
6 * 2006-2011
7 * Auteurs : cf paquet.xml
8 */
9
10 if (!defined("_ECRIRE_INC_VERSION")) return;
11
12 /**
13 *
14 * @return array
15 */
16 function formulaires_evenement_participants_charger_dist($evenement,$tri){
17
18 if (autoriser('voir','evenement',$evenement)) {
19 $valeurs = array(
20 'id_evenement'=>$evenement,
21 'tri_inscrits'=>$tri,
22 'supprimer_lien'=>''
23 );
24 }
25
26 return $valeurs;
27 }
28
29 /**
30 * Traiter le post des informations de suppression d'inscription
31 *
32 * @param string $a
33 * @param bool $editable
34 * @return array
35 */
36 function formulaires_evenement_participants_traiter_dist($a,$editable=true){
37
38 $supprimer = _request('supprimer_lien');
39
40 if ($supprimer){
41 foreach($supprimer as $k=>$v) {
42 if ($lien = lien_verifier_action($k,$v)){
43 $lien = explode("-",$lien);
44 list($objet_source,$ids,$objet_lie,$idl) = $lien;
45 if(autoriser('modifier','evenement',$ids)){
46 if ($idl=="*") sql_delete("spip_evenements_participants", "id_evenement=$ids");
47 else sql_delete("spip_evenements_participants", "id_evenement=$ids and id_auteur=$idl");
48 }
49 }
50 }
51 }
52
53 return $res;
54 }
55
56 /**
57 * Fonction issue de prive/formulaires/editer_liens.php
58 *
59 * Les formulaires envoient une action dans un tableau ajouter_lien
60 * ou supprimer_lien
61 * L'action est de la forme
62 * objet1-id1-objet2-id2
63 *
64 * L'action peut etre indiquee dans la cle, ou dans la valeur
65 * Si elle est indiquee dans la valeur, et que la cle est non numerique,
66 * on ne la prend en compte que si un submit avec la cle a ete envoye
67 *
68 * @param string $k
69 * @param string $v
70 * @return string
71 */
72 function lien_verifier_action($k,$v){
73 if (preg_match(",^\w+-[\w*]+-[\w*]+-[\w*]+,",$k))
74 return $k;
75 if (preg_match(",^\w+-[\w*]+-[\w*]+-[\w*]+,",$v)){
76 if (is_numeric($k))
77 return $v;
78 if (_request($k))
79 return $v;
80 }
81 return '';
82 }
83 ?>