source: spip-zone/_plugins_/sel/action/editer_annonce.php @ 61002

Last change on this file since 61002 was 61002, checked in by zonepro@…, 9 years ago

Mise à jour formulaire dépot annonce

File size: 2.0 KB
Line 
1<?php
2if (!defined("_ECRIRE_INC_VERSION")) return;
3function action_editer_annonce_dist() {
4
5        $securiser_action = charger_fonction('securiser_action', 'inc');
6        $arg = $securiser_action();
7        // pas d'annonce ? on en cree une nouvelle, mais seulement si 'oui' en argument.
8
9       
10        if (!$id_annonce = intval($arg)) {
11                if ($arg != 'oui') {
12                        include_spip('inc/headers');
13                        redirige_url_ecrire();
14                }               
15                $id_annonce = insert_annonce();
16               
17        }       
18       
19        if ($id_annonce) $err = revisions_annonces($id_annonce);
20        return array($id_annonce,$err);
21}
22
23function format_fr2datetime($unedate) {
24        $annee = substr($unedate,6,4);
25        $mois = substr($unedate,3,2);
26        $jour = substr($unedate,1,2);
27        return $annee.'-'.$mois.'-'.$jour.' 00:00:00';
28}
29
30function insert_annonce() {
31        $champs = array(
32                        'titre' => _T('sel:item_nouvelle_annonce')
33        );
34               
35        // Envoyer aux plugins
36        $champs = pipeline('pre_insertion', array(
37                'args' => array(
38                'table' => 'spip_annonces',
39                ),
40                'data' => $champs
41        ));
42               
43        $id_annonce = sql_insertq("spip_annonces", $champs);
44        return $id_annonce;
45}
46               
47// Enregistrer certaines modifications d'une annonce
48function revisions_annonces($id_annonce, $c=false) {
49               
50               
51    // recuperer les champs dans POST s'ils ne sont pas transmis
52        if ($c === false) {
53                       
54                        $c = array();
55                        foreach (array('titre', 'direction_echange', 'nature', 'id_auteur', 'description', 'nombre_personnes', 'date_debut', 'date_fin', 'adresse1', 'adresse2', 'code_postal', 'ville', 'pays', 'transport', 'repas', 'hebergement', 'nom_referent', 'tel1_referent', 'tel2_referent', 'email_referent', 'statut', 'total_unite', 'si_unite_heure', 'total_fiduc', 'commentaires') as $champ) {
56
57                                if (($a = _request($champ)) !== null) {
58                                        if (($champ == 'date_debut') || ($champ == 'date_fin')) $c[$champ] = format_fr2datetime($a);
59                                        else $c[$champ] = $a;
60
61                                }
62                        }
63        }
64
65        include_spip('inc/modifier');           
66        modifier_contenu('annonce', $id_annonce, array(
67        'nonvide' => array('titre' => _T('sel:info_sans_titre')),
68        'invalideur' => "id='id_annonce/$id_annonce'"
69        ),
70        $c);           
71}
72?>
73
Note: See TracBrowser for help on using the repository browser.