OSDN Git Service

add routines to use upgrade 3.3
[nucleus-jp/nucleus-jp-ancient.git] / utf8 / nucleus / upgrades / upgrade3.3.php
1 <?php
2 function upgrade_do33() {
3
4         if (upgrade_checkinstall(33))
5                 return 'already installed';
6
7         // alter nucleus_blog table
8         $query = 'ALTER TABLE ' . sql_table('blog')
9                    . ' ADD breqemail TINYINT(2) DEFAULT \'0\' NOT NULL';
10         upgrade_query('Altering ' . sql_table('blog') . ' table', $query);
11
12         // insert breqemail default value
13         $query = 'INSERT INTO ' . sql_table('blog')
14                    . ' (breqemail)'
15                    . ' VALUES (0)';
16         upgrade_query('Filling breqemail column of ' . sql_table('blog') . ' table', $query);
17
18         // store cname from nucleus_category
19         $query = 'SELECT catid, cname FROM ' . sql_table('category') . ' ORDER By catid ASC';
20         $res = sql_query($query);
21         $aValues = array();
22         while ($o = mysql_fetch_object($res)) {
23                 $aValues[] = array(
24                                                 'catid' => $o->catid,
25                                                 'cname' => $o->cname
26                                         );
27         }
28
29         // alter nucleus_category
30         $query = 'ALTER TABLE ' . sql_table('category')
31                    . ' DROP COLUMN cname,'
32                    . ' ADD cname varchar(200) default NULL AFTER cblog';
33         upgrade_query('Altering ' . sql_table('category') . ' table', $query);
34
35         // refill cname to nucleus_category
36         foreach ($aValues as $aInfo) {
37                 $query = 'UPDATE ' . sql_table('category')
38                            . ' SET cname='
39                            . " '" . addslashes($aInfo['cname']) . "'"
40                            . " WHERE catid=" . $aInfo['catid'];
41                 upgrade_query('Re-filling ' . sql_table('category')
42                         . ' (' . $aInfo['catid'] . ')', $query);
43         }
44
45         // alter nucleus_comment
46         $query = 'ALTER TABLE ' . sql_table('comment')
47                    . ' ADD cemail varchar(100)'
48                    . ' AFTER cmail';
49         upgrade_query('Altering ' . sql_table('comment') . ' table', $query);
50         
51         // nothing!
52 }
53
54 ?>