source: spip-zone/_plugins_/_stable_/party/party_install.php @ 17818

Last change on this file since 17818 was 17818, checked in by james@…, 13 years ago

le petit frère du plugin Gazette : le plugin Party !

Ici, on récupère le flux rss des apéros et on affiche le prochain rendez-vous pour chaque ville. Présentation de l'info à discuter sur spip-zone, si ça vous branche.

à noter une option "oeufs de pâques" de SPIP qui permet de syndiquer des items rss au délà de 2 jours dans le futur... :)

File size: 2.2 KB
Line 
1<?php
2
3if (!defined("_ECRIRE_INC_VERSION")) return;
4include_spip('inc/meta');
5
6function party_install($action) {
7
8        $url = 'http://www.spip-party.net/spip.php?page=backend-calendrier';
9        $id = isset($GLOBALS['meta']['id_syndic_party']) ? intval($GLOBALS['meta']['id_syndic_party']) : false;
10
11        switch ($action) {
12                case 'test':
13                        return $id;
14                break;
15                case 'install':
16                        return party_installation($url);
17                break;
18                case 'uninstall':
19                        return party_desinstallation($id);
20                break;
21                default:
22                        return true;
23                break;
24        }
25}
26
27function party_installation($url) {
28        //syndication auto si necessaire
29        if(!function_exists('sql_getfetsel')) {
30                $r = spip_fetch_array(spip_query("SELECT id_syndic FROM spip_syndic WHERE url_syndic='".$url."' AND statut='publie'"));
31                $id = $r['id_syndic'];
32        }
33        else
34                $id = sql_getfetsel('id_syndic', 'spip_syndic', array('url_syndic = "' . $url . '"', 'statut="publie"'));
35
36        if(!$id) {
37                include_spip('action/editer_site');
38                $site = analyser_site($url);
39                $id = insert_syndic(0);
40                $c = array (
41                        'nom_site' => $site['nom_site'],
42                        'url_site' => $site['url_site'],
43                        'statut' => 'publie',
44                        'url_syndic' => $url,
45                        'syndication' => 'oui');
46                revisions_sites($id, $c);
47                if(!function_exists('sql_updateq')) {
48                        spip_query("UPDATE spip_syndic SET resume='oui', oubli='oui' WHERE id_syndic=".$id);
49                        include_spip('inc/syndic');
50                        syndic_a_jour($id);
51                }
52                else {
53                        sql_updateq('spip_syndic', array('resume' => 'oui', 'oubli' => 'oui'), 'id_syndic = ' . $id);
54                        define('_GENIE_SYNDIC_NOW', $id);
55                        cron(0, array('syndic' => -91));
56                }
57        }
58        //memorisation du site cree dans le meta #CONFIG{id_syndic_party}
59        ecrire_meta('id_syndic_party', $id);
60        ecrire_metas();
61        return true;
62}
63
64function party_desinstallation($id) {
65        //supprimer le site et les articles syndiques
66        if(!function_exists('sql_delete')) {
67                spip_query("DELETE FROM spip_syndic WHERE id_syndic=".intval($id));
68                spip_query("DELETE FROM spip_syndic_articles WHERE id_syndic=".intval($id));
69        }
70        else {
71                $r = sql_delete('spip_syndic', 'id_syndic = ' . intval($id));
72                $r = sql_delete('spip_syndic_articles', 'id_syndic = ' . intval($id) );
73        }
74        //effacer le meta #CONFIG{id_syndic_party}
75        effacer_meta('id_syndic_party');
76        return true;
77}
78
79?>
Note: See TracBrowser for help on using the repository browser.