OSDN Git Service

merged 3.3 beta1
[nucleus-jp/nucleus-jp-ancient.git] / utf8 / nucleus / upgrades / upgrade2.5.php
index 72bbe1c..9e4860a 100755 (executable)
-<?php\r
-function upgrade_do25() {\r
-\r
-       if (upgrade_checkinstall(25))\r
-               return 'already installed';\r
-\r
-       // -------------------- 2.0 -> 2.2 (dev only) --------------------\r
-       // (avoid doing this twice :))\r
-       if (!upgrade_checkinstall(22))  {\r
-               // 1. create nucleus_plugin_option_desc table\r
-               // create new table: nucleus_plugin_option\r
-               $query = 'CREATE TABLE IF NOT EXISTS '. sql_table('plugin_option_desc') . '('\r
-                          ." oid int(11) NOT NULL auto_increment UNIQUE,"\r
-                          ." opid int(11) NOT NULL,"\r
-                          ." oname varchar(20) NOT NULL,"\r
-                          ." ocontext varchar(20) NOT NULL,"\r
-                          ." odesc varchar(255),"\r
-                          ." otype varchar(20),"\r
-                          ." odef text,"\r
-                          ." oextra text,"\r
-                          ." PRIMARY KEY(opid, oname, ocontext)"\r
-                          .") TYPE=MyISAM;";\r
-               upgrade_query('Creating ' . sql_table('plugin_option_desc') . ' table',$query);\r
-\r
-               // 2. move all data from plugin_option to plugin_option_desc\r
-               $query = 'SELECT * FROM ' . sql_table('plugin_option') .' ORDER BY oid ASC';\r
-               $res = sql_query($query);\r
-               $aValues = array();\r
-               while ($o = mysql_fetch_object($res)) {\r
-                       $query = 'INSERT INTO ' . sql_table('plugin_option_desc')\r
-                                  .' (opid, oname, ocontext, odesc, otype)'\r
-                                  ." VALUES ("\r
-                                               ."'".addslashes($o->opid)."',"\r
-                                               ."'".addslashes($o->oname) ."',"\r
-                                               ."'global',"\r
-                                               ."'".addslashes($o->odesc) ."',"\r
-                                               ."'".addslashes($o->otype) ."')";\r
-                       upgrade_query('Moving option description for '.htmlspecialchars($o->oname).' to ' . sql_table('plugin_option_desc'), $query);\r
-\r
-                       // store new id\r
-                       $aValues[] = array ( \r
-                                                       'id' => mysql_insert_id(),\r
-                                                       'value' => $o->ovalue\r
-                                               );\r
-\r
-               }\r
-\r
-               // 3. alter plugin_options table \r
-               $query = 'ALTER TABLE ' . sql_table('plugin_option')\r
-                          .' DROP PRIMARY KEY,'\r
-                          .' DROP KEY oid,'\r
-                          .' DROP COLUMN opid,'\r
-                          .' DROP COLUMN oname,'\r
-                          .' DROP COLUMN odesc,'\r
-                          .' DROP COLUMN otype,'               \r
-                          .' ADD ocontextid INT(11) NOT NULL,'\r
-                          .' ADD PRIMARY KEY (oid, ocontextid)';\r
-               upgrade_query('Altering ' . sql_table('plugin_option') . ' table', $query);\r
-\r
-               // 4. delete from plugin_options\r
-               $query = 'DELETE FROM ' . sql_table('plugin_option');\r
-               upgrade_query('Cleaning ' . sql_table('plugin_option'), $query);\r
-\r
-               // 5. refill plugin_options\r
-               foreach ($aValues as $aInfo) {\r
-                       $query = 'INSERT INTO ' . sql_table('plugin_option') \r
-                                  .' (oid, ocontextid, ovalue)'\r
-                                  ." VALUES (".$aInfo['id'].",'0','".addslashes($aInfo['value'])."')";\r
-                       upgrade_query('Re-filling ' . sql_table('plugin_option') . ' ('.$aInfo['id'].')', $query);\r
-               }       \r
-       }               \r
-       \r
-       // -------------------- 2.0 -> 2.5 --------------------\r
-       \r
-       if (!upgrade_checkIfIndexExists('item', array('ibody', 'ititle', 'imore'))) {\r
-               // add fulltext indices for search\r
-               $query = 'ALTER TABLE ' . sql_table('item') . ' ADD FULLTEXT(ibody, ititle, imore)';\r
-               upgrade_query('Adding fulltext index to item table', $query);\r
-               // repair table is needed (build index)\r
-               upgrade_query('Repairing item table', 'REPAIR TABLE ' . sql_table('item'));\r
-       }\r
-       \r
-       if (!upgrade_checkIfIndexExists('comment', array('cbody'))) {\r
-               $query = 'ALTER TABLE ' . sql_table('comment') . ' ADD FULLTEXT(cbody)';\r
-               upgrade_query('Adding fulltext index to comments table', $query);       \r
-               upgrade_query('Repairing comment table', 'REPAIR TABLE ' . sql_table('comment'));       \r
-       }       \r
-       \r
-       if (!upgrade_checkinstall(24))  {\r
-           $query = ' ALTER TABLE ' . sql_table('blog') . ' ADD bincludesearch TINYINT(2) DEFAULT 0';\r
-               upgrade_query('Adding bincludesearch column to blog', $query);\r
-       }\r
-       \r
-       // modify plugin option table value column type to TEXT\r
-       $query = 'ALTER TABLE ' . sql_table('plugin_option') . ' MODIFY ovalue TEXT NOT NULL default \'\'';\r
-       upgrade_query('Modifying plugin options column type', $query);\r
-       \r
-       // insert database version  (allows us to do better version checking in v3.0 upgrades)\r
-       $query = 'INSERT INTO ' . sql_table('config') . ' (name,value) VALUES (\'DatabaseVersion\',\'250\')';\r
-       upgrade_query('Adding DatabaseVersion to config table', $query);\r
-\r
-       // insert External Authentication global option\r
-       $query = 'INSERT INTO ' . sql_table('config') . ' (name,value) VALUES (\'ExtAuth\',\'0\')';\r
-       upgrade_query('Adding External Authentication option to config table', $query); \r
-}\r
-\r
-?>\r
+<?php
+function upgrade_do25() {
+
+       if (upgrade_checkinstall(25))
+               return 'already installed';
+
+       // -------------------- 2.0 -> 2.2 (dev only) --------------------
+       // (avoid doing this twice :))
+       if (!upgrade_checkinstall(22))  {
+               // 1. create nucleus_plugin_option_desc table
+               // create new table: nucleus_plugin_option
+               $query = 'CREATE TABLE IF NOT EXISTS '. sql_table('plugin_option_desc') . '('
+                          ." oid int(11) NOT NULL auto_increment UNIQUE,"
+                          ." opid int(11) NOT NULL,"
+                          ." oname varchar(20) NOT NULL,"
+                          ." ocontext varchar(20) NOT NULL,"
+                          ." odesc varchar(255),"
+                          ." otype varchar(20),"
+                          ." odef text,"
+                          ." oextra text,"
+                          ." PRIMARY KEY(opid, oname, ocontext)"
+                          .") TYPE=MyISAM;";
+               upgrade_query('Creating ' . sql_table('plugin_option_desc') . ' table',$query);
+
+               // 2. move all data from plugin_option to plugin_option_desc
+               $query = 'SELECT * FROM ' . sql_table('plugin_option') .' ORDER BY oid ASC';
+               $res = sql_query($query);
+               $aValues = array();
+               while ($o = mysql_fetch_object($res)) {
+                       $query = 'INSERT INTO ' . sql_table('plugin_option_desc')
+                                  .' (opid, oname, ocontext, odesc, otype)'
+                                  ." VALUES ("
+                                               ."'".addslashes($o->opid)."',"
+                                               ."'".addslashes($o->oname) ."',"
+                                               ."'global',"
+                                               ."'".addslashes($o->odesc) ."',"
+                                               ."'".addslashes($o->otype) ."')";
+                       upgrade_query('Moving option description for '.htmlspecialchars($o->oname).' to ' . sql_table('plugin_option_desc'), $query);
+
+                       // store new id
+                       $aValues[] = array ( 
+                                                       'id' => mysql_insert_id(),
+                                                       'value' => $o->ovalue
+                                               );
+
+               }
+
+               // 3. alter plugin_options table 
+               $query = 'ALTER TABLE ' . sql_table('plugin_option')
+                          .' DROP PRIMARY KEY,'
+                          .' DROP KEY oid,'
+                          .' DROP COLUMN opid,'
+                          .' DROP COLUMN oname,'
+                          .' DROP COLUMN odesc,'
+                          .' DROP COLUMN otype,'               
+                          .' ADD ocontextid INT(11) NOT NULL,'
+                          .' ADD PRIMARY KEY (oid, ocontextid)';
+               upgrade_query('Altering ' . sql_table('plugin_option') . ' table', $query);
+
+               // 4. delete from plugin_options
+               $query = 'DELETE FROM ' . sql_table('plugin_option');
+               upgrade_query('Cleaning ' . sql_table('plugin_option'), $query);
+
+               // 5. refill plugin_options
+               foreach ($aValues as $aInfo) {
+                       $query = 'INSERT INTO ' . sql_table('plugin_option') 
+                                  .' (oid, ocontextid, ovalue)'
+                                  ." VALUES (".$aInfo['id'].",'0','".addslashes($aInfo['value'])."')";
+                       upgrade_query('Re-filling ' . sql_table('plugin_option') . ' ('.$aInfo['id'].')', $query);
+               }       
+       }               
+       
+       // -------------------- 2.0 -> 2.5 --------------------
+       
+       if (!upgrade_checkIfIndexExists('item', array('ibody', 'ititle', 'imore'))) {
+               // add fulltext indices for search
+               $query = 'ALTER TABLE ' . sql_table('item') . ' ADD FULLTEXT(ibody, ititle, imore)';
+               upgrade_query('Adding fulltext index to item table', $query);
+               // repair table is needed (build index)
+               upgrade_query('Repairing item table', 'REPAIR TABLE ' . sql_table('item'));
+       }
+       
+       if (!upgrade_checkIfIndexExists('comment', array('cbody'))) {
+               $query = 'ALTER TABLE ' . sql_table('comment') . ' ADD FULLTEXT(cbody)';
+               upgrade_query('Adding fulltext index to comments table', $query);       
+               upgrade_query('Repairing comment table', 'REPAIR TABLE ' . sql_table('comment'));       
+       }       
+       
+       if (!upgrade_checkinstall(24))  {
+           $query = ' ALTER TABLE ' . sql_table('blog') . ' ADD bincludesearch TINYINT(2) DEFAULT 0';
+               upgrade_query('Adding bincludesearch column to blog', $query);
+       }
+       
+       // modify plugin option table value column type to TEXT
+       $query = 'ALTER TABLE ' . sql_table('plugin_option') . ' MODIFY ovalue TEXT NOT NULL default \'\'';
+       upgrade_query('Modifying plugin options column type', $query);
+       
+       // insert database version  (allows us to do better version checking in v3.0 upgrades)
+       $query = 'INSERT INTO ' . sql_table('config') . ' (name,value) VALUES (\'DatabaseVersion\',\'250\')';
+       upgrade_query('Adding DatabaseVersion to config table', $query);
+
+       // insert External Authentication global option
+       $query = 'INSERT INTO ' . sql_table('config') . ' (name,value) VALUES (\'ExtAuth\',\'0\')';
+       upgrade_query('Adding External Authentication option to config table', $query); 
+}
+
+?>