source: spip-zone/_plugins_/tickets/trunk/tickets_administrations.php @ 78726

Last change on this file since 78726 was 78726, checked in by maieul@…, 6 years ago

config de la notification des tickets : pour assurer compat ascendante, on met le réglage par défaut sur administrateurs

File size: 3.3 KB
Line 
1<?php
2/**
3 * Plugin Tickets
4 * Licence GPL (c) 2008-2012
5 *
6 */
7 
8if (!defined("_ECRIRE_INC_VERSION")) return;
9
10include_spip('inc/meta');
11
12function tickets_upgrade($nom_meta_base_version,$version_cible){
13        $current_version = "0.0";
14       
15        // On traite le cas de la premiere version de Tickets sans version_base
16        if ((!isset($GLOBALS['meta'][$nom_meta_base_version])) && tickets_existe())
17                $current_version = "0.1";
18       
19        $maj = array();
20        $maj['create'] = array(
21                array('maj_tables',array('spip_tickets'))
22        );
23       
24        $maj['0.2'] = array('maj_tables',array('spip_tickets'));
25        $maj['0.6'] = array(
26                array('sql_alter',"TABLE spip_tickets MODIFY jalon varchar(30) DEFAULT '' NOT NULL"),
27                array('sql_alter',"TABLE spip_tickets MODIFY version varchar(30) DEFAULT '' NOT NULL")
28        );
29        $maj['0.7'] = array('maj_tables',array('spip_tickets'));
30        $maj['1.1'] = array(
31                array('maj_tables',array('spip_tickets')),
32                array('migrer_commentaires_tickets_vers_forums',''),
33                array('sql_drop_table',"spip_tickets_forum")
34        );
35        $maj['1.2'] = array(
36                array('maj_tables',array('spip_tickets'))
37        );
38        $maj['1.3'] = array(
39                array('sql_alter',"TABLE spip_tickets DROP tracker"),
40                array('sql_alter',"TABLE spip_tickets CHANGE type tracker integer DEFAULT '0' NOT NULL")
41        );
42        $maj['1.4'] = array(
43                array('maj_tables',array('spip_tickets'))
44        );
45        $maj['1.4.1'] = array(
46                array('sql_alter',"TABLE spip_tickets CHANGE version version varchar(255) DEFAULT '' NOT NULL")
47        );
48        /**
49         * On ne prend plus en compte le statut "redac"
50         */
51        $maj['1.5.0'] = array(
52                array('tickets_supprimer_redac','')
53        );
54       
55        /**
56        * Interface graphique pour la notification des tickets
57        */
58        $maj['1.6.0'] = array(
59                array('ticket_install_config_notifications')
60        );
61
62        include_spip('base/upgrade');
63        maj_plugin($nom_meta_base_version, $version_cible, $maj);
64}
65
66function tickets_vider_tables($nom_meta_base_version) {
67        sql_drop_table("spip_tickets");
68        effacer_meta($nom_meta_base_version);
69}
70
71function tickets_existe() {
72        $desc = sql_showtable('spip_tickets', true);
73        if (!$desc['field']) 
74                return false;
75        else
76                return true;
77}
78
79function ticket_install_config_notifications(){
80        ecrire_config('tickets/general/notif_destinataires','0minirezo');
81        }
82function tickets_supprimer_redac(){
83        sql_updateq('spip_tickets',array('statut' => 'ouvert'),array('statut'=>'redac'));
84}
85
86function migrer_commentaires_tickets_vers_forums() {
87        $res = sql_select('*', 'spip_tickets_forum');
88        if ($res) {
89                $correspondances = array();
90                while ($r = sql_fetch($res)) {
91                        $titre = sql_getfetsel('titre', 'spip_tickets', 'id_ticket='. sql_quote($r['id_ticket']));
92                        $auteur = sql_fetsel(array('nom','email'), 'spip_auteurs', 'id_auteur='. sql_quote($r['id_auteur']));
93                        $correspondances[] = array(
94                                "id_objet"      => $r['id_ticket'],
95                                "objet"         => "ticket",
96                                "id_parent"     => 0,
97                                "id_thread"     => 0, // prendra id_forum cree
98                                "date_heure"    => $r['date'],
99                                "titre" => $titre,
100                                "texte" => $r['texte'],
101                                "auteur"        => ($auteur ? $auteur['nom'] : ''),
102                                "email_auteur"  => ($auteur ? $auteur['email'] : ''),
103                                "statut"        => "publie", // publie = public, prive = prive... dilemme ?
104                                "ip"    => $r['ip'],
105                                "id_auteur"     => $r['id_auteur'],
106                        );
107                }
108               
109                if (count($correspondances)) {
110                        sql_insertq_multi('spip_forum', $correspondances);
111                        sql_update('spip_forum',
112                                array('id_thread'=>'id_forum'),
113                                array('id_thread=0', 'objet='.sql_quote('ticket')));
114                }
115        }
116}
117
118?>
Note: See TracBrowser for help on using the repository browser.