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

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

ah ben super

File size: 2.6 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
41        include_spip('base/upgrade');
42        maj_plugin($nom_meta_base_version, $version_cible, $maj);
43}
44
45function tickets_vider_tables($nom_meta_base_version) {
46        sql_drop_table("spip_tickets");
47        effacer_meta($nom_meta_base_version);
48}
49
50function tickets_existe() {
51        $desc = sql_showtable('spip_tickets', true);
52        if (!$desc['field']) 
53                return false;
54        else
55                return true;
56}
57
58function migrer_commentaires_tickets_vers_forums() {
59        $res = sql_select('*', 'spip_tickets_forum');
60        if ($res) {
61                $correspondances = array();
62                while ($r = sql_fetch($res)) {
63                        $titre = sql_getfetsel('titre', 'spip_tickets', 'id_ticket='. sql_quote($r['id_ticket']));
64                        $auteur = sql_fetsel(array('nom','email'), 'spip_auteurs', 'id_auteur='. sql_quote($r['id_auteur']));
65                        $correspondances[] = array(
66                                "id_objet"      => $r['id_ticket'],
67                                "objet"         => "ticket",
68                                "id_parent"     => 0,
69                                "id_thread"     => 0, // prendra id_forum cree
70                                "date_heure"    => $r['date'],
71                                "titre" => $titre,
72                                "texte" => $r['texte'],
73                                "auteur"        => ($auteur ? $auteur['nom'] : ''),
74                                "email_auteur"  => ($auteur ? $auteur['email'] : ''),
75                                "statut"        => "publie", // publie = public, prive = prive... dilemme ?
76                                "ip"    => $r['ip'],
77                                "id_auteur"     => $r['id_auteur'],
78                        );
79                }
80               
81                if (count($correspondances)) {
82                        sql_insertq_multi('spip_forum', $correspondances);
83                        sql_update('spip_forum',
84                                array('id_thread'=>'id_forum'),
85                                array('id_thread=0', 'objet='.sql_quote('ticket')));
86                }
87        }
88}
89
90?>
Note: See TracBrowser for help on using the repository browser.