/textpattern/update/_to_xp_1.0.0.php
PHP | 216 lines | 177 code | 31 blank | 8 comment | 28 complexity | c9ecd7d8766d02507242af9be5d395a7 MD5 | raw file
Possible License(s): AGPL-1.0
- <?php
- if (!defined('XPAT_UPDATE'))
- {
- exit("Nothing here. You can't access this file directly.");
- }
- $version = mysql_get_server_info();
- //Use "ENGINE" if version of MySQL > (4.0.18 or 4.1.2)
- $tabletype = ( intval($version[0]) >= 5 || preg_match('#^4\.(0\.[2-9]|(1[89]))|(1\.[2-9])#',$version))
- ? " ENGINE=MyISAM "
- : " TYPE=MyISAM ";
- global $txpcfg;
- $dbcharset = $txpcfg['dbcharset'];
- // On 4.1 or greater use utf8-tables
- if ( isset($dbcharset) && (intval($version[0]) >= 5 || preg_match('#^4\.[1-9]#',$version)))
- {
- $tabletype .= " CHARACTER SET = $dbcharset ";
- if ($dbcharset == 'utf8')
- $tabletype .= " COLLATE utf8_general_ci ";
- mysql_query("SET NAMES ".$dbcharset);
- }
- safe_alter( 'txp_lang' , ' CHANGE `data` `data` TEXT NULL DEFAULT NULL' );
- $table_blurb = @getThings('describe '.safe_pfx('blurb'));
- if (empty($table_blurb))
- {
- safe_query("CREATE TABLE ".safe_pfx("blurb")." (
- `id` INT NOT NULL AUTO_INCREMENT ,
- `name` VARCHAR( 64 ) NOT NULL ,
- `type` VARCHAR( 32 ) NOT NULL ,
- `theme` VARCHAR( 32 ) NOT NULL DEFAULT 'default',
- `content` TEXT NOT NULL ,
- `mime_type` VARCHAR( 64 ) NOT NULL DEFAULT '',
- PRIMARY KEY ( `id` ) ,
- UNIQUE `hash` ( `name` , `type` , `theme` )
- ) $tabletype PACK_KEYS=1");
- // migrate txp_page to blurb
- safe_query("INSERT INTO ".safe_pfx('blurb')." (`name`, `type`, `theme`, `content`, `mime_type`) SELECT `name`, 'page' as `type`, '' as `theme`, `user_html` as `content`, '' as mime_type FROM `txp_page` WHERE 1");
- // migrate txp_form to blurb
- safe_query("INSERT INTO ".safe_pfx('blurb')." (`name`, `type`, `theme`, `content`, `mime_type`) SELECT `name`, 'form' as `type`, '' as `theme`, `Form` as `content`, '' as `mime_type` FROM `txp_form` WHERE 1");
- // migrate txp_css to blurb
- safe_query("INSERT INTO ".safe_pfx('blurb')." (`name`, `type`, `theme`, `content`, `mime_type`) SELECT `name`, 'css' as `type`, '' as `theme`, `css` as `content`, 'text/css' as `mime_type` FROM `txp_css` WHERE 1");
- }
- $table_admin_log = @getThings('describe '.safe_pfx('admin_log'));
- if (empty($table_admin_log))
- {
- safe_query("CREATE TABLE ".safe_pfx("admin_log")." (
- `log_id` int( 12 ) NOT NULL auto_increment,
- `time` datetime NOT NULL default '0000-00-00 00:00:00',
- `event` varchar( 32 ) NOT NULL default '',
- `step` varchar( 32 ) NOT NULL default '',
- `ip` int( 12 ) NOT NULL default '0',
- `user` varchar( 64 ) NOT NULL default '',
- `message` varchar( 128 ) NOT NULL default '',
- PRIMARY KEY (`log_id`),
- KEY `time` (`time`)
- ) $tabletype AUTO_INCREMENT=1 ");
- }
- # Login updates...
- if (safe_field('val', 'txp_prefs', "name='hide_login_in_email'") === false)
- {
- safe_insert('txp_prefs', "prefs_id = 1, name = 'hide_login_in_email', val = 0, type = 1, event = 'admin', html = 'yesnoradio', position = 160");
- }
- if (safe_field('val', 'txp_prefs', "name='hash_alg'") === false)
- {
- safe_insert('txp_prefs', "prefs_id = 1, name = 'hash_alg', val = 'sha256', type = 1, event = 'admin', html = 'hash_picker', position = 160");
- }
-
- if (safe_field('val', 'txp_prefs', "name='adminstyle'") === false)
- {
- safe_insert('txp_prefs', "prefs_id = 1, name = 'adminstyle', val = 'chapman.css', type = 1, event = 'admin', html = 'get_admin_styles', position = 161");
- }
- if (safe_field('val', 'txp_prefs', "name='admin_email'") === false)
- {
- safe_insert('txp_prefs', "prefs_id = 1, name = 'admin_email', val = '', type = 1, event = 'admin', html = 'text_input', position = 160");
- }
- if (safe_field('val', 'txp_prefs', "name='plugin_dir_name'") === false)
- {
- safe_insert('txp_prefs', "prefs_id = 1, name = 'plugin_dir_name', val = 'plugin', type = 2, event = 'admin', html = 'text_input', position = 160");
- }
- if (safe_field('val', 'txp_prefs', "name='comments_sendmail_spam'") === false)
- {
- safe_update('txp_prefs', "position = 161", "name='comments_sendmail'");
- safe_insert('txp_prefs', "prefs_id = 1, name = 'comments_sendmail_spam', val = 0, type = 0, event = 'comments', html = 'yesnoradio', position = 161");
- }
- if (safe_field('val', 'txp_prefs', "name='lang_rpc_server'") === false)
- {
- safe_insert('txp_prefs', "prefs_id = 1, name = 'lang_rpc_server', val = '', type = 1, event = 'admin', html = 'text_input', position = 0");
- }
-
- $table_group = @getThings('describe '.safe_pfx('group'));
- if (empty($table_group))
- {
- safe_query("CREATE TABLE ".safe_pfx("group")." (
- `id` int(6) NOT NULL,
- `name` varchar(64) NOT NULL default '',
- PRIMARY KEY (`id`),
- UNIQUE KEY `name` (`name`)
- ) $tabletype PACK_KEYS=1");
-
- safe_query('INSERT INTO '.safe_pfx('group')." ( `id`, `name` )
- VALUES (0, 'none'), (1, 'publisher'), (2, 'managing_editor'), (3, 'copy_editor'), (4, 'staff_writer'), (5, 'freelancer'), (6, 'designer')");
- }
- $table_category_map = @getThings('describe '.safe_pfx('category_map'));
- if (empty($table_category_map))
- {
- safe_query("CREATE TABLE ".safe_pfx('category_map')." (
- `id` int(11) NOT NULL auto_increment,
- `category_id` int(11) NOT NULL,
- `type` varchar(25) NOT NULL,
- `type_id` int(11) NOT NULL,
- PRIMARY KEY (`id`),
- UNIQUE KEY `category_id` (`category_id`,`type`,`type_id`)
- ) $tabletype ");
- function get_category_lookup($type)
- {
- $c = safe_rows('*', 'txp_category', "type='". doSlash($type)."'");
- $cats = Array();
- foreach ($c as $cat)
- {
- $cats[$cat['name']] = $cat;
- }
-
- return $cats;
- }
- // migrate article categories
- $articles = safe_rows('ID, Category1, Category2', 'textpattern', '1=1');
- if ($articles)
- {
- $cats = get_category_lookup('article');
- foreach ($articles as $a)
- {
- $c_field = 'Category1';
- if (!empty($a[$c_field]) && array_key_exists($a[$c_field], $cats))
- {
- @safe_insert('category_map',
- "category_id = ". doSlash($cats[$a[$c_field]]['id']). ",
- type = 'article',
- type_id = " . doSlash($a['ID']));
- }
- $c_field = 'Category2';
- if (!empty($a[$c_field]) && array_key_exists($a[$c_field], $cats))
- {
- @safe_insert('category_map',
- "category_id = ". doSlash($cats[$a[$c_field]]['id']). ",
- type = 'article',
- type_id = " . doSlash($a['ID']));
- }
- }
-
- unset($cats);
- }
- unset($articles);
-
- // migrate file categories
- $files = safe_rows('id, category', 'txp_file', '1=1');
- if ($files)
- {
- $cats = get_category_lookup('file');
- foreach ($files as $f)
- {
- if (!empty($f['category']) && array_key_exists($f['category'], $cats))
- {
- @safe_insert('category_map',
- "category_id = ". doSlash($cats[$f['category']]['id']) .",
- type = 'file',
- type_id = " . doSlash($f['id']));
- }
- }
- unset($cats);
- }
- unset($files);
- // migrate image categories
- $images = safe_rows('id, category', 'txp_image', '1=1');
- if ($images)
- {
- $cats = get_category_lookup('image');
- foreach ($images as $img)
- {
- if (!empty($img['category']) && array_key_exists($img['category'], $cats))
- {
- @safe_insert('category_map',
- "category_id = ". doSlash($cats[$img['category']]['id']) .",
- type = 'image',
- type_id = " . doSlash($img['id']));
- }
- }
- unset($cats);
- }
- unset($images);
- }
-
- ?>