-<?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);
+}
+
+?>