2 function upgrade_do33() {
4 if (upgrade_checkinstall(33))
5 return 'already installed';
7 // alter nucleus_blog table
8 $data=upgrade_sqlite_data('blog');
9 $query = 'DROP TABLE ' . sql_table('blog');
10 upgrade_query('Dropping ' . sql_table('blog') . ' table', $query);
11 $query="CREATE TABLE `".sql_table('blog')."` (
12 `bnumber` int(11) NOT NULL auto_increment,
13 `bname` varchar(60) NOT NULL default '',
14 `bshortname` varchar(15) NOT NULL default '',
15 `bdesc` varchar(200) default NULL,
16 `bcomments` tinyint(2) NOT NULL default '1',
17 `bmaxcomments` int(11) NOT NULL default '0',
18 `btimeoffset` decimal(3,1) NOT NULL default '0.0',
19 `bnotify` varchar(60) default NULL,
20 `burl` varchar(100) default NULL,
21 `bupdate` varchar(60) default NULL,
22 `bdefskin` int(11) NOT NULL default '1',
23 `bpublic` tinyint(2) NOT NULL default '1',
24 `bsendping` tinyint(2) NOT NULL default '0',
25 `bconvertbreaks` tinyint(2) NOT NULL default '1',
26 `bdefcat` int(11) default NULL,
27 `bnotifytype` int(11) NOT NULL default '15',
28 `ballowpast` tinyint(2) NOT NULL default '0',
29 `bincludesearch` tinyint(2) NOT NULL default '0',
30 `breqemail` TINYINT( 2 ) DEFAULT '0' NOT NULL,
31 PRIMARY KEY (`bnumber`),
32 UNIQUE KEY `bnumber` (`bnumber`),
33 UNIQUE KEY `bshortname` (`bshortname`)
35 upgrade_query('Creating ' . sql_table('blog') . ' table', $query);
36 upgrade_sqlite_insert('blog',$data);
38 // alter nucleus_category
39 $data=upgrade_sqlite_data('category');
40 $query = 'DROP TABLE ' . sql_table('category');
41 upgrade_query('Dropping ' . sql_table('category') . ' table', $query);
42 $query="CREATE TABLE `".sql_table(category)."` (
43 `catid` int(11) NOT NULL auto_increment,
44 `cblog` int(11) NOT NULL default '0',
45 `cname` varchar(200) default NULL,
46 `cdesc` varchar(200) default NULL,
49 upgrade_query('Creating ' . sql_table('category') . ' table', $query);
50 upgrade_sqlite_insert('category',$data);
52 // alter nucleus_comment
53 $data=upgrade_sqlite_data('comment');
54 $query = 'DROP TABLE ' . sql_table('comment');
55 upgrade_query('Dropping ' . sql_table('comment') . ' table', $query);
56 $query="CREATE TABLE `".sql_table(comment)."` (
57 `cnumber` int(11) NOT NULL auto_increment,
58 `cbody` text NOT NULL,
59 `cuser` varchar(40) default NULL,
60 `cmail` varchar(100) default NULL,
61 `cemail` VARCHAR( 100 ),
62 `cmember` int(11) default NULL,
63 `citem` int(11) NOT NULL default '0',
64 `ctime` datetime NOT NULL default '0000-00-00 00:00:00',
65 `chost` varchar(60) default NULL,
66 `cip` varchar(15) NOT NULL default '',
67 `cblog` int(11) NOT NULL default '0',
68 PRIMARY KEY (`cnumber`),
69 UNIQUE KEY `cnumber` (`cnumber`),
70 KEY `citem` (`citem`),
71 FULLTEXT KEY `cbody` (`cbody`)
73 upgrade_query('Creating ' . sql_table('comment') . ' table', $query);
74 upgrade_sqlite_insert('comment',$data);
77 // update database version
78 $query = 'UPDATE ' . sql_table('config') . ' set value=\'330\' where name=\'DatabaseVersion\'';
79 upgrade_query('Updating DatabaseVersion in config table to 330', $query);
84 function upgrade_sqlite_data($table){
86 $query='SELECT * FROM '.sql_table($table);
87 $res=sql_query($query);
88 while($row=nucleus_mysql_fetch_assoc($res)) $data[]=$row;
92 function upgrade_sqlite_insert($table,&$data){
93 echo '<li>Recovering ' . sql_table($table) . ' table';
95 foreach($data as $rows){
98 foreach($rows as $key=>$value){
99 if ($names) $names.=',';
100 if ($values) $values.=',';
101 $names.="'".$key."'";
102 $values.="'".addslashes($value)."'";
104 $query='INSERT INTO '.sql_table($table).
106 ' VALUES ('.$values.')';
110 foreach($queries as $query) sql_query($query);
111 sql_query('commit;');