source: spip-zone/_plugins_/import_ics/action/supprimer_almanach.php @ 73903

Last change on this file since 73903 was 73903, checked in by amaury.adon@…, 7 years ago

suppression des événements associés à l'almanach en même temps que l'almanach.
Je ne sais pas si c'est très propre, peut-être serait-il plus sage de supprimer les événements avant la suppression de l'almanach et s'il est vide d'autoriser sa suppression (un peu comme les mots clés non utilisés).

File size: 1.1 KB
Line 
1<?php
2#tout est pompé du tutoriel de marcimat "chat"
3if (!defined("_ECRIRE_INC_VERSION")) return;
4
5function action_supprimer_almanach_dist() {
6        $securiser_action = charger_fonction('securiser_action', 'inc');
7        $arg = $securiser_action();
8
9        if (!preg_match(",^(\d+)$,", $arg, $r)) {
10                 spip_log("action_supprimer_almanach_dist $arg pas compris");
11        } else {
12                action_supprimer_almanach_post($r[1]);
13        }
14}
15
16function action_supprimer_almanach_post($id_almanach) {
17        //recuperer tous les evenemments lies à l'almanach en cours
18        $all = sql_allfetsel('id_objet', 'spip_almanachs_liens','id_almanach='.intval($id_almanach));
19        //pour chacun d'entre eux supprimer l'entree correspondante dans la table evenement
20        foreach ($all as $id_evenement_array) {
21                $id_evenement=$id_evenement_array['id_objet'];
22                sql_delete("spip_evenements","id_evenement=".intval($id_evenement));
23        }
24        //on supprime les entrees de la table de liaison
25        sql_delete("spip_almanachs_liens","id_almanach=".intval($id_almanach));
26        //on supprime l'almanach
27        sql_delete("spip_almanachs", "id_almanach=" . intval($id_almanach));
28
29        include_spip('inc/invalideur');
30        suivre_invalideur("id='id_almanach/$id_almanach'");
31}
32?>
Note: See TracBrowser for help on using the repository browser.