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

Last change on this file since 67961 was 67961, checked in by kent1@…, 8 years ago

report de r67960

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