OSDN Git Service

merged from v3.31sp1
[nucleus-jp/nucleus-jp-ancient.git] / utf8 / nucleus / upgrades / upgrade2.0.php
1 <?php
2 /*
3  * Nucleus: PHP/MySQL Weblog CMS (http://nucleuscms.org/)
4  * Copyright (C) 2002-2007 The Nucleus Group
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version.
10  * (see nucleus/documentation/index.html#license for more info)
11  */
12 /**
13  * @license http://nucleuscms.org/license.txt GNU General Public License
14  * @copyright Copyright (C) 2002-2007 The Nucleus Group
15  * $NucleusJP: upgrade2.0.php,v 1.3.2.1 2007/10/24 05:39:16 kimitake Exp $
16  *
17  */
18
19 function upgrade_do20() {
20
21         if (upgrade_checkinstall(20))
22                 return "already installed";
23
24         // queries come here
25         
26         // add ikarmaneg 
27         if (!upgrade_checkIfColumnExists('item','ikarmaneg')) {
28                 $query =  'ALTER TABLE '.sql_table('item')
29                            . " ADD ikarmaneg int(11) NOT NULL default '0'";
30                 upgrade_query("Adding ikarmaneg column to items",$query);
31         }
32
33         // rename ikarma to ikarmapos
34         if (!upgrade_checkIfColumnExists('item','ikarmapos')) {
35                 $query =  'ALTER TABLE '.sql_table('item')
36                            . " CHANGE ikarma ikarmapos int(11) NOT NULL default '0'";
37                 upgrade_query("Renaming ikarma column for items to ikarmapos",$query);
38         }
39
40         // drop key in actionlog
41         $query = 'ALTER TABLE '.sql_table('actionlog').' DROP PRIMARY KEY';
42         upgrade_query("Dropping primary key in actionlog table",$query);        
43         
44         // change cmail field length
45         $query = 'ALTER TABLE '.sql_table('comment').' CHANGE cmail cmail varchar(100) default NULL';
46         upgrade_query("changing max email/url length of guest comments to 100",$query); 
47         
48         // create default skin option
49         if (!upgrade_checkIfCVExists('BaseSkin')) {
50                 $skinid = SKIN::getIdFromName('default');
51                 $query = 'INSERT INTO '.sql_table('config')." VALUES ('BaseSkin', '$skinid');";
52                 upgrade_query("Adding setting BaseSkin",$query);
53         }
54
55         global $CONF;
56         // add SkinsURL setting
57         if (!upgrade_checkIfCVExists('SkinsURL')) {
58                 $skinsurl = str_replace('/media/','/skins/',$CONF['MediaURL']);
59                 $query = 'INSERT INTO '.sql_table('config')." VALUES ('SkinsURL', '".addslashes($skinsurl)."');";
60                 upgrade_query("Adding setting SkinsURL",$query);
61         }
62
63         // add ActionURL setting
64         if (!upgrade_checkIfCVExists('ActionURL')) {
65                 $actionurl = str_replace('/media/','/action.php',$CONF['MediaURL']);
66                 $query = 'INSERT INTO '.sql_table('config')." VALUES ('ActionURL', '".addslashes($actionurl)."');";
67                 upgrade_query("Adding setting ActionURL",$query);
68         }
69         
70         // time offset can also be decimal (for half time zones like GMT+3:30)
71         $query = 'ALTER TABLE '.sql_table('blog')." CHANGE btimeoffset btimeoffset DECIMAL( 3, 1 ) DEFAULT '0' NOT NULL";
72         upgrade_query('Changing time offset column type to decimal',$query);
73         
74         // add ballowpast option to nucleus_blog
75         if (!upgrade_checkIfColumnExists('blog','ballowpast')) {
76                 $query =  'ALTER TABLE '.sql_table('blog')." ADD ballowpast tinyint(2) NOT NULL default '0'";
77                 upgrade_query("Adding 'Allow posting to the past' option to blogs",$query);
78         }
79         
80         // URLMode
81         if (!upgrade_checkIfCVExists('URLMode')) {
82                 $query = 'INSERT INTO '.sql_table('config')." VALUES ('URLMode', 'normal');";
83                 upgrade_query("Adding setting URLMode",$query);
84         }
85         
86         // add id to nucleus_plugin_option (allows for ordening)
87         if (!upgrade_checkIfColumnExists('plugin_option','oid')) {
88                 $query =  'ALTER TABLE '.sql_table('plugin_option').' ADD oid int(11) NOT NULL auto_increment UNIQUE ';
89                 upgrade_query("Adding id attribute to plugin options table",$query);
90         }
91
92         // add sdincmode and sdincpref to skins
93         global $upgrade_failures;
94         if (0 == $upgrade_failures && !upgrade_checkIfColumnExists('skin_desc','sdincpref')) {
95                 $query =  'ALTER TABLE '.sql_table('skin_desc')
96                            . " ADD sdincmode varchar(10) NOT NULL default 'normal',"
97                            . " ADD sdincpref varchar(50) NOT NULL default ''";
98                 upgrade_query('Adding IncludeMode and IncludePrefix properties to skins',$query);       
99         }else{
100                 echo "<li>Adding IncludeMode and IncludePrefix properties to skins ... <span class=\"warning\">NOT EXECUTED</span>\n<blockquote>Errors occurred during upgrade process.</blockquote>";
101         }
102 }
103 ?>