109
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1 |
<?php |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
2 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
3 |
* WordPress Upgrade API |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
4 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
5 |
* Most of the functions are pluggable and can be overwritten |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
6 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
7 |
* @package WordPress |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
8 |
* @subpackage Administration |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
9 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
10 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
11 |
/** Include user install customize script. */ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
12 |
if ( file_exists(WP_CONTENT_DIR . '/install.php') ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
13 |
require (WP_CONTENT_DIR . '/install.php'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
14 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
15 |
/** WordPress Administration API */ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
16 |
require_once(ABSPATH . 'wp-admin/includes/admin.php'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
17 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
18 |
/** WordPress Schema API */ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
19 |
require_once(ABSPATH . 'wp-admin/includes/schema.php'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
20 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
21 |
if ( !function_exists('wp_install') ) : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
22 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
23 |
* Installs the blog |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
24 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
25 |
* {@internal Missing Long Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
26 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
27 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
28 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
29 |
* @param string $blog_title Blog title. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
30 |
* @param string $user_name User's username. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
31 |
* @param string $user_email User's email. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
32 |
* @param bool $public Whether blog is public. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
33 |
* @param null $deprecated Optional. Not used. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
34 |
* @return array Array keys 'url', 'user_id', 'password', 'password_message'. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
35 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
36 |
function wp_install($blog_title, $user_name, $user_email, $public, $deprecated='') { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
37 |
global $wp_rewrite; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
38 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
39 |
wp_check_mysql_version(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
40 |
wp_cache_flush(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
41 |
make_db_current_silent(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
42 |
populate_options(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
43 |
populate_roles(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
44 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
45 |
update_option('blogname', $blog_title); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
46 |
update_option('admin_email', $user_email); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
47 |
update_option('blog_public', $public); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
48 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
49 |
$guessurl = wp_guess_url(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
50 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
51 |
update_option('siteurl', $guessurl); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
52 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
53 |
// If not a public blog, don't ping. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
54 |
if ( ! $public ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
55 |
update_option('default_pingback_flag', 0); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
56 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
57 |
// Create default user. If the user already exists, the user tables are |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
58 |
// being shared among blogs. Just set the role in that case. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
59 |
$user_id = username_exists($user_name); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
60 |
if ( !$user_id ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
61 |
$random_password = wp_generate_password(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
62 |
$message = __('<strong><em>Note that password</em></strong> carefully! It is a <em>random</em> password that was generated just for you.'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
63 |
$user_id = wp_create_user($user_name, $random_password, $user_email); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
64 |
update_usermeta($user_id, 'default_password_nag', true); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
65 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
66 |
$random_password = ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
67 |
$message = __('User already exists. Password inherited.'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
68 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
69 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
70 |
$user = new WP_User($user_id); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
71 |
$user->set_role('administrator'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
72 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
73 |
wp_install_defaults($user_id); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
74 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
75 |
$wp_rewrite->flush_rules(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
76 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
77 |
wp_new_blog_notification($blog_title, $guessurl, $user_id, $random_password); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
78 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
79 |
wp_cache_flush(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
80 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
81 |
return array('url' => $guessurl, 'user_id' => $user_id, 'password' => $random_password, 'password_message' => $message); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
82 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
83 |
endif; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
84 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
85 |
if ( !function_exists('wp_install_defaults') ) : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
86 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
87 |
* {@internal Missing Short Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
88 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
89 |
* {@internal Missing Long Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
90 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
91 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
92 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
93 |
* @param int $user_id User ID. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
94 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
95 |
function wp_install_defaults($user_id) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
96 |
global $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
97 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
98 |
// Default category |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
99 |
$cat_name = __('Uncategorized'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
100 |
/* translators: Default category slug */ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
101 |
$cat_slug = sanitize_title(_x('Uncategorized', 'Default category slug')); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
102 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
103 |
$wpdb->insert( $wpdb->terms, array('name' => $cat_name, 'slug' => $cat_slug, 'term_group' => 0) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
104 |
$wpdb->insert( $wpdb->term_taxonomy, array('term_id' => '1', 'taxonomy' => 'category', 'description' => '', 'parent' => 0, 'count' => 1)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
105 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
106 |
// Default link category |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
107 |
$cat_name = __('Blogroll'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
108 |
/* translators: Default link category slug */ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
109 |
$cat_slug = sanitize_title(_x('Blogroll', 'Default link category slug')); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
110 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
111 |
$wpdb->insert( $wpdb->terms, array('name' => $cat_name, 'slug' => $cat_slug, 'term_group' => 0) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
112 |
$wpdb->insert( $wpdb->term_taxonomy, array('term_id' => '2', 'taxonomy' => 'link_category', 'description' => '', 'parent' => 0, 'count' => 7)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
113 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
114 |
// Now drop in some default links |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
115 |
$default_links = array(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
116 |
$default_links[] = array( 'link_url' => 'http://codex.wordpress.org/', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
117 |
'link_name' => 'Documentation', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
118 |
'link_rss' => '', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
119 |
'link_notes' => ''); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
120 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
121 |
$default_links[] = array( 'link_url' => 'http://wordpress.org/development/', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
122 |
'link_name' => 'Development Blog', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
123 |
'link_rss' => 'http://wordpress.org/development/feed/', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
124 |
'link_notes' => ''); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
125 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
126 |
$default_links[] = array( 'link_url' => 'http://wordpress.org/extend/ideas/', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
127 |
'link_name' => 'Suggest Ideas', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
128 |
'link_rss' => '', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
129 |
'link_notes' =>''); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
130 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
131 |
$default_links[] = array( 'link_url' => 'http://wordpress.org/support/', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
132 |
'link_name' => 'Support Forum', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
133 |
'link_rss' => '', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
134 |
'link_notes' =>''); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
135 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
136 |
$default_links[] = array( 'link_url' => 'http://wordpress.org/extend/plugins/', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
137 |
'link_name' => 'Plugins', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
138 |
'link_rss' => '', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
139 |
'link_notes' =>''); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
140 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
141 |
$default_links[] = array( 'link_url' => 'http://wordpress.org/extend/themes/', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
142 |
'link_name' => 'Themes', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
143 |
'link_rss' => '', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
144 |
'link_notes' =>''); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
145 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
146 |
$default_links[] = array( 'link_url' => 'http://planet.wordpress.org/', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
147 |
'link_name' => 'WordPress Planet', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
148 |
'link_rss' => '', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
149 |
'link_notes' =>''); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
150 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
151 |
foreach ( $default_links as $link ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
152 |
$wpdb->insert( $wpdb->links, $link); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
153 |
$wpdb->insert( $wpdb->term_relationships, array('term_taxonomy_id' => 2, 'object_id' => $wpdb->insert_id) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
154 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
155 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
156 |
// First post |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
157 |
$now = date('Y-m-d H:i:s'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
158 |
$now_gmt = gmdate('Y-m-d H:i:s'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
159 |
$first_post_guid = get_option('home') . '/?p=1'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
160 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
161 |
$wpdb->insert( $wpdb->posts, array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
162 |
'post_author' => $user_id, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
163 |
'post_date' => $now, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
164 |
'post_date_gmt' => $now_gmt, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
165 |
'post_content' => __('Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!'), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
166 |
'post_excerpt' => '', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
167 |
'post_title' => __('Hello world!'), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
168 |
/* translators: Default post slug */ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
169 |
'post_name' => _x('hello-world', 'Default post slug'), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
170 |
'post_modified' => $now, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
171 |
'post_modified_gmt' => $now_gmt, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
172 |
'guid' => $first_post_guid, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
173 |
'comment_count' => 1, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
174 |
'to_ping' => '', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
175 |
'pinged' => '', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
176 |
'post_content_filtered' => '' |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
177 |
)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
178 |
$wpdb->insert( $wpdb->term_relationships, array('term_taxonomy_id' => 1, 'object_id' => 1) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
179 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
180 |
// Default comment |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
181 |
$wpdb->insert( $wpdb->comments, array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
182 |
'comment_post_ID' => 1, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
183 |
'comment_author' => __('Mr WordPress'), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
184 |
'comment_author_email' => '', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
185 |
'comment_author_url' => 'http://wordpress.org/', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
186 |
'comment_date' => $now, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
187 |
'comment_date_gmt' => $now_gmt, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
188 |
'comment_content' => __('Hi, this is a comment.<br />To delete a comment, just log in and view the post's comments. There you will have the option to edit or delete them.') |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
189 |
)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
190 |
// First Page |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
191 |
$first_post_guid = get_option('home') . '/?page_id=2'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
192 |
$wpdb->insert( $wpdb->posts, array( |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
193 |
'post_author' => $user_id, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
194 |
'post_date' => $now, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
195 |
'post_date_gmt' => $now_gmt, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
196 |
'post_content' => __('This is an example of a WordPress page, you could edit this to put information about yourself or your site so readers know where you are coming from. You can create as many pages like this one or sub-pages as you like and manage all of your content inside of WordPress.'), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
197 |
'post_excerpt' => '', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
198 |
'post_title' => __('About'), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
199 |
/* translators: Default page slug */ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
200 |
'post_name' => _x('about', 'Default page slug'), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
201 |
'post_modified' => $now, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
202 |
'post_modified_gmt' => $now_gmt, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
203 |
'guid' => $first_post_guid, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
204 |
'post_type' => 'page', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
205 |
'to_ping' => '', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
206 |
'pinged' => '', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
207 |
'post_content_filtered' => '' |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
208 |
)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
209 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
210 |
endif; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
211 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
212 |
if ( !function_exists('wp_new_blog_notification') ) : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
213 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
214 |
* {@internal Missing Short Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
215 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
216 |
* {@internal Missing Long Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
217 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
218 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
219 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
220 |
* @param string $blog_title Blog title. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
221 |
* @param string $blog_url Blog url. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
222 |
* @param int $user_id User ID. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
223 |
* @param string $password User's Password. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
224 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
225 |
function wp_new_blog_notification($blog_title, $blog_url, $user_id, $password) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
226 |
$user = new WP_User($user_id); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
227 |
$email = $user->user_email; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
228 |
$name = $user->user_login; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
229 |
$message = sprintf(__("Your new WordPress blog has been successfully set up at: |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
230 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
231 |
%1\$s |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
232 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
233 |
You can log in to the administrator account with the following information: |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
234 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
235 |
Username: %2\$s |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
236 |
Password: %3\$s |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
237 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
238 |
We hope you enjoy your new blog. Thanks! |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
239 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
240 |
--The WordPress Team |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
241 |
http://wordpress.org/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
242 |
"), $blog_url, $name, $password); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
243 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
244 |
@wp_mail($email, __('New WordPress Blog'), $message); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
245 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
246 |
endif; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
247 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
248 |
if ( !function_exists('wp_upgrade') ) : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
249 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
250 |
* Run WordPress Upgrade functions. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
251 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
252 |
* {@internal Missing Long Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
253 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
254 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
255 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
256 |
* @return null |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
257 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
258 |
function wp_upgrade() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
259 |
global $wp_current_db_version, $wp_db_version; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
260 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
261 |
$wp_current_db_version = __get_option('db_version'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
262 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
263 |
// We are up-to-date. Nothing to do. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
264 |
if ( $wp_db_version == $wp_current_db_version ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
265 |
return; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
266 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
267 |
if( ! is_blog_installed() ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
268 |
return; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
269 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
270 |
wp_check_mysql_version(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
271 |
wp_cache_flush(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
272 |
make_db_current_silent(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
273 |
upgrade_all(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
274 |
wp_cache_flush(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
275 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
276 |
endif; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
277 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
278 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
279 |
* Functions to be called in install and upgrade scripts. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
280 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
281 |
* {@internal Missing Long Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
282 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
283 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
284 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
285 |
function upgrade_all() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
286 |
global $wp_current_db_version, $wp_db_version, $wp_rewrite; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
287 |
$wp_current_db_version = __get_option('db_version'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
288 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
289 |
// We are up-to-date. Nothing to do. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
290 |
if ( $wp_db_version == $wp_current_db_version ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
291 |
return; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
292 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
293 |
// If the version is not set in the DB, try to guess the version. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
294 |
if ( empty($wp_current_db_version) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
295 |
$wp_current_db_version = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
296 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
297 |
// If the template option exists, we have 1.5. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
298 |
$template = __get_option('template'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
299 |
if ( !empty($template) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
300 |
$wp_current_db_version = 2541; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
301 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
302 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
303 |
if ( $wp_current_db_version < 6039 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
304 |
upgrade_230_options_table(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
305 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
306 |
populate_options(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
307 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
308 |
if ( $wp_current_db_version < 2541 ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
309 |
upgrade_100(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
310 |
upgrade_101(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
311 |
upgrade_110(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
312 |
upgrade_130(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
313 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
314 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
315 |
if ( $wp_current_db_version < 3308 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
316 |
upgrade_160(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
317 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
318 |
if ( $wp_current_db_version < 4772 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
319 |
upgrade_210(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
320 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
321 |
if ( $wp_current_db_version < 4351 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
322 |
upgrade_old_slugs(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
323 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
324 |
if ( $wp_current_db_version < 5539 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
325 |
upgrade_230(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
326 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
327 |
if ( $wp_current_db_version < 6124 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
328 |
upgrade_230_old_tables(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
329 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
330 |
if ( $wp_current_db_version < 7499 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
331 |
upgrade_250(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
332 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
333 |
if ( $wp_current_db_version < 7796 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
334 |
upgrade_251(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
335 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
336 |
if ( $wp_current_db_version < 7935 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
337 |
upgrade_252(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
338 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
339 |
if ( $wp_current_db_version < 8201 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
340 |
upgrade_260(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
341 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
342 |
if ( $wp_current_db_version < 8989 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
343 |
upgrade_270(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
344 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
345 |
if ( $wp_current_db_version < 10360 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
346 |
upgrade_280(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
347 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
348 |
maybe_disable_automattic_widgets(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
349 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
350 |
update_option( 'db_version', $wp_db_version ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
351 |
update_option( 'db_upgraded', true ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
352 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
353 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
354 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
355 |
* Execute changes made in WordPress 1.0. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
356 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
357 |
* @since 1.0.0 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
358 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
359 |
function upgrade_100() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
360 |
global $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
361 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
362 |
// Get the title and ID of every post, post_name to check if it already has a value |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
363 |
$posts = $wpdb->get_results("SELECT ID, post_title, post_name FROM $wpdb->posts WHERE post_name = ''"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
364 |
if ($posts) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
365 |
foreach($posts as $post) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
366 |
if ('' == $post->post_name) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
367 |
$newtitle = sanitize_title($post->post_title); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
368 |
$wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET post_name = %s WHERE ID = %d", $newtitle, $post->ID) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
369 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
370 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
371 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
372 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
373 |
$categories = $wpdb->get_results("SELECT cat_ID, cat_name, category_nicename FROM $wpdb->categories"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
374 |
foreach ($categories as $category) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
375 |
if ('' == $category->category_nicename) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
376 |
$newtitle = sanitize_title($category->cat_name); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
377 |
$wpdb>update( $wpdb->categories, array('category_nicename' => $newtitle), array('cat_ID' => $category->cat_ID) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
378 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
379 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
380 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
381 |
$wpdb->query("UPDATE $wpdb->options SET option_value = REPLACE(option_value, 'wp-links/links-images/', 'wp-images/links/') |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
382 |
WHERE option_name LIKE 'links_rating_image%' |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
383 |
AND option_value LIKE 'wp-links/links-images/%'"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
384 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
385 |
$done_ids = $wpdb->get_results("SELECT DISTINCT post_id FROM $wpdb->post2cat"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
386 |
if ($done_ids) : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
387 |
foreach ($done_ids as $done_id) : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
388 |
$done_posts[] = $done_id->post_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
389 |
endforeach; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
390 |
$catwhere = ' AND ID NOT IN (' . implode(',', $done_posts) . ')'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
391 |
else: |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
392 |
$catwhere = ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
393 |
endif; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
394 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
395 |
$allposts = $wpdb->get_results("SELECT ID, post_category FROM $wpdb->posts WHERE post_category != '0' $catwhere"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
396 |
if ($allposts) : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
397 |
foreach ($allposts as $post) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
398 |
// Check to see if it's already been imported |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
399 |
$cat = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->post2cat WHERE post_id = %d AND category_id = %d", $post->ID, $post->post_category) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
400 |
if (!$cat && 0 != $post->post_category) { // If there's no result |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
401 |
$wpdb->insert( $wpdb->post2cat, array('post_id' => $post->ID, 'category_id' => $post->post_category) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
402 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
403 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
404 |
endif; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
405 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
406 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
407 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
408 |
* Execute changes made in WordPress 1.0.1. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
409 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
410 |
* @since 1.0.1 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
411 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
412 |
function upgrade_101() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
413 |
global $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
414 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
415 |
// Clean up indices, add a few |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
416 |
add_clean_index($wpdb->posts, 'post_name'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
417 |
add_clean_index($wpdb->posts, 'post_status'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
418 |
add_clean_index($wpdb->categories, 'category_nicename'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
419 |
add_clean_index($wpdb->comments, 'comment_approved'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
420 |
add_clean_index($wpdb->comments, 'comment_post_ID'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
421 |
add_clean_index($wpdb->links , 'link_category'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
422 |
add_clean_index($wpdb->links , 'link_visible'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
423 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
424 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
425 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
426 |
* Execute changes made in WordPress 1.2. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
427 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
428 |
* @since 1.2.0 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
429 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
430 |
function upgrade_110() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
431 |
global $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
432 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
433 |
// Set user_nicename. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
434 |
$users = $wpdb->get_results("SELECT ID, user_nickname, user_nicename FROM $wpdb->users"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
435 |
foreach ($users as $user) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
436 |
if ('' == $user->user_nicename) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
437 |
$newname = sanitize_title($user->user_nickname); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
438 |
$wpdb->update( $wpdb->users, array('user_nicename' => $newname), array('ID' => $user->ID) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
439 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
440 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
441 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
442 |
$users = $wpdb->get_results("SELECT ID, user_pass from $wpdb->users"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
443 |
foreach ($users as $row) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
444 |
if (!preg_match('/^[A-Fa-f0-9]{32}$/', $row->user_pass)) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
445 |
$wpdb->update( $wpdb->users, array('user_pass' => md5($row->user_pass)), array('ID' => $row->ID) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
446 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
447 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
448 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
449 |
// Get the GMT offset, we'll use that later on |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
450 |
$all_options = get_alloptions_110(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
451 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
452 |
$time_difference = $all_options->time_difference; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
453 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
454 |
$server_time = time()+date('Z'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
455 |
$weblogger_time = $server_time + $time_difference*3600; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
456 |
$gmt_time = time(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
457 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
458 |
$diff_gmt_server = ($gmt_time - $server_time) / 3600; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
459 |
$diff_weblogger_server = ($weblogger_time - $server_time) / 3600; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
460 |
$diff_gmt_weblogger = $diff_gmt_server - $diff_weblogger_server; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
461 |
$gmt_offset = -$diff_gmt_weblogger; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
462 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
463 |
// Add a gmt_offset option, with value $gmt_offset |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
464 |
add_option('gmt_offset', $gmt_offset); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
465 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
466 |
// Check if we already set the GMT fields (if we did, then |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
467 |
// MAX(post_date_gmt) can't be '0000-00-00 00:00:00' |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
468 |
// <michel_v> I just slapped myself silly for not thinking about it earlier |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
469 |
$got_gmt_fields = ($wpdb->get_var("SELECT MAX(post_date_gmt) FROM $wpdb->posts") == '0000-00-00 00:00:00') ? false : true; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
470 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
471 |
if (!$got_gmt_fields) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
472 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
473 |
// Add or substract time to all dates, to get GMT dates |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
474 |
$add_hours = intval($diff_gmt_weblogger); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
475 |
$add_minutes = intval(60 * ($diff_gmt_weblogger - $add_hours)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
476 |
$wpdb->query("UPDATE $wpdb->posts SET post_date_gmt = DATE_ADD(post_date, INTERVAL '$add_hours:$add_minutes' HOUR_MINUTE)"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
477 |
$wpdb->query("UPDATE $wpdb->posts SET post_modified = post_date"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
478 |
$wpdb->query("UPDATE $wpdb->posts SET post_modified_gmt = DATE_ADD(post_modified, INTERVAL '$add_hours:$add_minutes' HOUR_MINUTE) WHERE post_modified != '0000-00-00 00:00:00'"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
479 |
$wpdb->query("UPDATE $wpdb->comments SET comment_date_gmt = DATE_ADD(comment_date, INTERVAL '$add_hours:$add_minutes' HOUR_MINUTE)"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
480 |
$wpdb->query("UPDATE $wpdb->users SET user_registered = DATE_ADD(user_registered, INTERVAL '$add_hours:$add_minutes' HOUR_MINUTE)"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
481 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
482 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
483 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
484 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
485 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
486 |
* Execute changes made in WordPress 1.5. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
487 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
488 |
* @since 1.5.0 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
489 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
490 |
function upgrade_130() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
491 |
global $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
492 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
493 |
// Remove extraneous backslashes. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
494 |
$posts = $wpdb->get_results("SELECT ID, post_title, post_content, post_excerpt, guid, post_date, post_name, post_status, post_author FROM $wpdb->posts"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
495 |
if ($posts) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
496 |
foreach($posts as $post) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
497 |
$post_content = addslashes(deslash($post->post_content)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
498 |
$post_title = addslashes(deslash($post->post_title)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
499 |
$post_excerpt = addslashes(deslash($post->post_excerpt)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
500 |
if ( empty($post->guid) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
501 |
$guid = get_permalink($post->ID); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
502 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
503 |
$guid = $post->guid; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
504 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
505 |
$wpdb->update( $wpdb->posts, compact('post_title', 'post_content', 'post_excerpt', 'guid'), array('ID' => $post->ID) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
506 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
507 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
508 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
509 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
510 |
// Remove extraneous backslashes. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
511 |
$comments = $wpdb->get_results("SELECT comment_ID, comment_author, comment_content FROM $wpdb->comments"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
512 |
if ($comments) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
513 |
foreach($comments as $comment) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
514 |
$comment_content = deslash($comment->comment_content); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
515 |
$comment_author = deslash($comment->comment_author); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
516 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
517 |
$wpdb->update($wpdb->comments, compact('comment_content', 'comment_author'), array('comment_ID' => $comment->comment_ID) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
518 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
519 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
520 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
521 |
// Remove extraneous backslashes. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
522 |
$links = $wpdb->get_results("SELECT link_id, link_name, link_description FROM $wpdb->links"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
523 |
if ($links) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
524 |
foreach($links as $link) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
525 |
$link_name = deslash($link->link_name); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
526 |
$link_description = deslash($link->link_description); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
527 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
528 |
$wpdb->update( $wpdb->links, compact('link_name', 'link_description'), array('link_id' => $link->link_id) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
529 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
530 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
531 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
532 |
$active_plugins = __get_option('active_plugins'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
533 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
534 |
// If plugins are not stored in an array, they're stored in the old |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
535 |
// newline separated format. Convert to new format. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
536 |
if ( !is_array( $active_plugins ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
537 |
$active_plugins = explode("\n", trim($active_plugins)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
538 |
update_option('active_plugins', $active_plugins); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
539 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
540 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
541 |
// Obsolete tables |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
542 |
$wpdb->query('DROP TABLE IF EXISTS ' . $wpdb->prefix . 'optionvalues'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
543 |
$wpdb->query('DROP TABLE IF EXISTS ' . $wpdb->prefix . 'optiontypes'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
544 |
$wpdb->query('DROP TABLE IF EXISTS ' . $wpdb->prefix . 'optiongroups'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
545 |
$wpdb->query('DROP TABLE IF EXISTS ' . $wpdb->prefix . 'optiongroup_options'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
546 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
547 |
// Update comments table to use comment_type |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
548 |
$wpdb->query("UPDATE $wpdb->comments SET comment_type='trackback', comment_content = REPLACE(comment_content, '<trackback />', '') WHERE comment_content LIKE '<trackback />%'"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
549 |
$wpdb->query("UPDATE $wpdb->comments SET comment_type='pingback', comment_content = REPLACE(comment_content, '<pingback />', '') WHERE comment_content LIKE '<pingback />%'"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
550 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
551 |
// Some versions have multiple duplicate option_name rows with the same values |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
552 |
$options = $wpdb->get_results("SELECT option_name, COUNT(option_name) AS dupes FROM `$wpdb->options` GROUP BY option_name"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
553 |
foreach ( $options as $option ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
554 |
if ( 1 != $option->dupes ) { // Could this be done in the query? |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
555 |
$limit = $option->dupes - 1; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
556 |
$dupe_ids = $wpdb->get_col( $wpdb->prepare("SELECT option_id FROM $wpdb->options WHERE option_name = %s LIMIT %d", $option->option_name, $limit) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
557 |
$dupe_ids = join($dupe_ids, ','); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
558 |
$wpdb->query("DELETE FROM $wpdb->options WHERE option_id IN ($dupe_ids)"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
559 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
560 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
561 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
562 |
make_site_theme(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
563 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
564 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
565 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
566 |
* Execute changes made in WordPress 2.0. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
567 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
568 |
* @since 2.0.0 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
569 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
570 |
function upgrade_160() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
571 |
global $wpdb, $wp_current_db_version; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
572 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
573 |
populate_roles_160(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
574 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
575 |
$users = $wpdb->get_results("SELECT * FROM $wpdb->users"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
576 |
foreach ( $users as $user ) : |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
577 |
if ( !empty( $user->user_firstname ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
578 |
update_usermeta( $user->ID, 'first_name', $wpdb->escape($user->user_firstname) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
579 |
if ( !empty( $user->user_lastname ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
580 |
update_usermeta( $user->ID, 'last_name', $wpdb->escape($user->user_lastname) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
581 |
if ( !empty( $user->user_nickname ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
582 |
update_usermeta( $user->ID, 'nickname', $wpdb->escape($user->user_nickname) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
583 |
if ( !empty( $user->user_level ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
584 |
update_usermeta( $user->ID, $wpdb->prefix . 'user_level', $user->user_level ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
585 |
if ( !empty( $user->user_icq ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
586 |
update_usermeta( $user->ID, 'icq', $wpdb->escape($user->user_icq) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
587 |
if ( !empty( $user->user_aim ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
588 |
update_usermeta( $user->ID, 'aim', $wpdb->escape($user->user_aim) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
589 |
if ( !empty( $user->user_msn ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
590 |
update_usermeta( $user->ID, 'msn', $wpdb->escape($user->user_msn) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
591 |
if ( !empty( $user->user_yim ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
592 |
update_usermeta( $user->ID, 'yim', $wpdb->escape($user->user_icq) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
593 |
if ( !empty( $user->user_description ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
594 |
update_usermeta( $user->ID, 'description', $wpdb->escape($user->user_description) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
595 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
596 |
if ( isset( $user->user_idmode ) ): |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
597 |
$idmode = $user->user_idmode; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
598 |
if ($idmode == 'nickname') $id = $user->user_nickname; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
599 |
if ($idmode == 'login') $id = $user->user_login; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
600 |
if ($idmode == 'firstname') $id = $user->user_firstname; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
601 |
if ($idmode == 'lastname') $id = $user->user_lastname; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
602 |
if ($idmode == 'namefl') $id = $user->user_firstname.' '.$user->user_lastname; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
603 |
if ($idmode == 'namelf') $id = $user->user_lastname.' '.$user->user_firstname; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
604 |
if (!$idmode) $id = $user->user_nickname; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
605 |
$wpdb->update( $wpdb->users, array('display_name' => $id), array('ID' => $user->ID) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
606 |
endif; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
607 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
608 |
// FIXME: RESET_CAPS is temporary code to reset roles and caps if flag is set. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
609 |
$caps = get_usermeta( $user->ID, $wpdb->prefix . 'capabilities'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
610 |
if ( empty($caps) || defined('RESET_CAPS') ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
611 |
$level = get_usermeta($user->ID, $wpdb->prefix . 'user_level'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
612 |
$role = translate_level_to_role($level); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
613 |
update_usermeta( $user->ID, $wpdb->prefix . 'capabilities', array($role => true) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
614 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
615 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
616 |
endforeach; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
617 |
$old_user_fields = array( 'user_firstname', 'user_lastname', 'user_icq', 'user_aim', 'user_msn', 'user_yim', 'user_idmode', 'user_ip', 'user_domain', 'user_browser', 'user_description', 'user_nickname', 'user_level' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
618 |
$wpdb->hide_errors(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
619 |
foreach ( $old_user_fields as $old ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
620 |
$wpdb->query("ALTER TABLE $wpdb->users DROP $old"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
621 |
$wpdb->show_errors(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
622 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
623 |
// populate comment_count field of posts table |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
624 |
$comments = $wpdb->get_results( "SELECT comment_post_ID, COUNT(*) as c FROM $wpdb->comments WHERE comment_approved = '1' GROUP BY comment_post_ID" ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
625 |
if( is_array( $comments ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
626 |
foreach ($comments as $comment) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
627 |
$wpdb->update( $wpdb->posts, array('comment_count' => $comment->c), array('ID' => $comment->comment_post_ID) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
628 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
629 |
// Some alpha versions used a post status of object instead of attachment and put |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
630 |
// the mime type in post_type instead of post_mime_type. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
631 |
if ( $wp_current_db_version > 2541 && $wp_current_db_version <= 3091 ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
632 |
$objects = $wpdb->get_results("SELECT ID, post_type FROM $wpdb->posts WHERE post_status = 'object'"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
633 |
foreach ($objects as $object) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
634 |
$wpdb->update( $wpdb->posts, array( 'post_status' => 'attachment', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
635 |
'post_mime_type' => $object->post_type, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
636 |
'post_type' => ''), |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
637 |
array( 'ID' => $object->ID ) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
638 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
639 |
$meta = get_post_meta($object->ID, 'imagedata', true); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
640 |
if ( ! empty($meta['file']) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
641 |
update_attached_file( $object->ID, $meta['file'] ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
642 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
643 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
644 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
645 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
646 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
647 |
* Execute changes made in WordPress 2.1. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
648 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
649 |
* @since 2.1.0 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
650 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
651 |
function upgrade_210() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
652 |
global $wpdb, $wp_current_db_version; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
653 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
654 |
if ( $wp_current_db_version < 3506 ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
655 |
// Update status and type. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
656 |
$posts = $wpdb->get_results("SELECT ID, post_status FROM $wpdb->posts"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
657 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
658 |
if ( ! empty($posts) ) foreach ($posts as $post) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
659 |
$status = $post->post_status; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
660 |
$type = 'post'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
661 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
662 |
if ( 'static' == $status ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
663 |
$status = 'publish'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
664 |
$type = 'page'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
665 |
} else if ( 'attachment' == $status ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
666 |
$status = 'inherit'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
667 |
$type = 'attachment'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
668 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
669 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
670 |
$wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET post_status = %s, post_type = %s WHERE ID = %d", $status, $type, $post->ID) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
671 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
672 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
673 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
674 |
if ( $wp_current_db_version < 3845 ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
675 |
populate_roles_210(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
676 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
677 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
678 |
if ( $wp_current_db_version < 3531 ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
679 |
// Give future posts a post_status of future. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
680 |
$now = gmdate('Y-m-d H:i:59'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
681 |
$wpdb->query ("UPDATE $wpdb->posts SET post_status = 'future' WHERE post_status = 'publish' AND post_date_gmt > '$now'"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
682 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
683 |
$posts = $wpdb->get_results("SELECT ID, post_date FROM $wpdb->posts WHERE post_status ='future'"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
684 |
if ( !empty($posts) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
685 |
foreach ( $posts as $post ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
686 |
wp_schedule_single_event(mysql2date('U', $post->post_date, false), 'publish_future_post', array($post->ID)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
687 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
688 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
689 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
690 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
691 |
* Execute changes made in WordPress 2.3. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
692 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
693 |
* @since 2.3.0 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
694 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
695 |
function upgrade_230() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
696 |
global $wp_current_db_version, $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
697 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
698 |
if ( $wp_current_db_version < 5200 ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
699 |
populate_roles_230(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
700 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
701 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
702 |
// Convert categories to terms. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
703 |
$tt_ids = array(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
704 |
$have_tags = false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
705 |
$categories = $wpdb->get_results("SELECT * FROM $wpdb->categories ORDER BY cat_ID"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
706 |
foreach ($categories as $category) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
707 |
$term_id = (int) $category->cat_ID; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
708 |
$name = $category->cat_name; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
709 |
$description = $category->category_description; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
710 |
$slug = $category->category_nicename; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
711 |
$parent = $category->category_parent; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
712 |
$term_group = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
713 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
714 |
// Associate terms with the same slug in a term group and make slugs unique. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
715 |
if ( $exists = $wpdb->get_results( $wpdb->prepare("SELECT term_id, term_group FROM $wpdb->terms WHERE slug = %s", $slug) ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
716 |
$term_group = $exists[0]->term_group; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
717 |
$id = $exists[0]->term_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
718 |
$num = 2; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
719 |
do { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
720 |
$alt_slug = $slug . "-$num"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
721 |
$num++; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
722 |
$slug_check = $wpdb->get_var( $wpdb->prepare("SELECT slug FROM $wpdb->terms WHERE slug = %s", $alt_slug) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
723 |
} while ( $slug_check ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
724 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
725 |
$slug = $alt_slug; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
726 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
727 |
if ( empty( $term_group ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
728 |
$term_group = $wpdb->get_var("SELECT MAX(term_group) FROM $wpdb->terms GROUP BY term_group") + 1; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
729 |
$wpdb->query( $wpdb->prepare("UPDATE $wpdb->terms SET term_group = %d WHERE term_id = %d", $term_group, $id) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
730 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
731 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
732 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
733 |
$wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->terms (term_id, name, slug, term_group) VALUES |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
734 |
(%d, %s, %s, %d)", $term_id, $name, $slug, $term_group) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
735 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
736 |
$count = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
737 |
if ( !empty($category->category_count) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
738 |
$count = (int) $category->category_count; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
739 |
$taxonomy = 'category'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
740 |
$wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->term_taxonomy (term_id, taxonomy, description, parent, count) VALUES ( %d, %s, %s, %d, %d)", $term_id, $taxonomy, $description, $parent, $count) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
741 |
$tt_ids[$term_id][$taxonomy] = (int) $wpdb->insert_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
742 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
743 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
744 |
if ( !empty($category->link_count) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
745 |
$count = (int) $category->link_count; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
746 |
$taxonomy = 'link_category'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
747 |
$wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->term_taxonomy (term_id, taxonomy, description, parent, count) VALUES ( %d, %s, %s, %d, %d)", $term_id, $taxonomy, $description, $parent, $count) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
748 |
$tt_ids[$term_id][$taxonomy] = (int) $wpdb->insert_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
749 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
750 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
751 |
if ( !empty($category->tag_count) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
752 |
$have_tags = true; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
753 |
$count = (int) $category->tag_count; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
754 |
$taxonomy = 'post_tag'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
755 |
$wpdb->insert( $wpdb->term_taxonomy, compact('term_id', 'taxonomy', 'description', 'parent', 'count') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
756 |
$tt_ids[$term_id][$taxonomy] = (int) $wpdb->insert_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
757 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
758 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
759 |
if ( empty($count) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
760 |
$count = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
761 |
$taxonomy = 'category'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
762 |
$wpdb->insert( $wpdb->term_taxonomy, compact('term_id', 'taxonomy', 'description', 'parent', 'count') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
763 |
$tt_ids[$term_id][$taxonomy] = (int) $wpdb->insert_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
764 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
765 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
766 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
767 |
$select = 'post_id, category_id'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
768 |
if ( $have_tags ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
769 |
$select .= ', rel_type'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
770 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
771 |
$posts = $wpdb->get_results("SELECT $select FROM $wpdb->post2cat GROUP BY post_id, category_id"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
772 |
foreach ( $posts as $post ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
773 |
$post_id = (int) $post->post_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
774 |
$term_id = (int) $post->category_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
775 |
$taxonomy = 'category'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
776 |
if ( !empty($post->rel_type) && 'tag' == $post->rel_type) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
777 |
$taxonomy = 'tag'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
778 |
$tt_id = $tt_ids[$term_id][$taxonomy]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
779 |
if ( empty($tt_id) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
780 |
continue; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
781 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
782 |
$wpdb->insert( $wpdb->term_relationships, array('object_id' => $post_id, 'term_taxonomy_id' => $tt_id) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
783 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
784 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
785 |
// < 3570 we used linkcategories. >= 3570 we used categories and link2cat. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
786 |
if ( $wp_current_db_version < 3570 ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
787 |
// Create link_category terms for link categories. Create a map of link cat IDs |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
788 |
// to link_category terms. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
789 |
$link_cat_id_map = array(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
790 |
$default_link_cat = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
791 |
$tt_ids = array(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
792 |
$link_cats = $wpdb->get_results("SELECT cat_id, cat_name FROM " . $wpdb->prefix . 'linkcategories'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
793 |
foreach ( $link_cats as $category) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
794 |
$cat_id = (int) $category->cat_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
795 |
$term_id = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
796 |
$name = $wpdb->escape($category->cat_name); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
797 |
$slug = sanitize_title($name); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
798 |
$term_group = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
799 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
800 |
// Associate terms with the same slug in a term group and make slugs unique. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
801 |
if ( $exists = $wpdb->get_results( $wpdb->prepare("SELECT term_id, term_group FROM $wpdb->terms WHERE slug = %s", $slug) ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
802 |
$term_group = $exists[0]->term_group; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
803 |
$term_id = $exists[0]->term_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
804 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
805 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
806 |
if ( empty($term_id) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
807 |
$wpdb->insert( $wpdb->terms, compact('name', 'slug', 'term_group') ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
808 |
$term_id = (int) $wpdb->insert_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
809 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
810 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
811 |
$link_cat_id_map[$cat_id] = $term_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
812 |
$default_link_cat = $term_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
813 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
814 |
$wpdb->insert( $wpdb->term_taxonomy, array('term_id' => $term_id, 'taxonomy' => 'link_category', 'description' => '', 'parent' => 0, 'count' => 0) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
815 |
$tt_ids[$term_id] = (int) $wpdb->insert_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
816 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
817 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
818 |
// Associate links to cats. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
819 |
$links = $wpdb->get_results("SELECT link_id, link_category FROM $wpdb->links"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
820 |
if ( !empty($links) ) foreach ( $links as $link ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
821 |
if ( 0 == $link->link_category ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
822 |
continue; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
823 |
if ( ! isset($link_cat_id_map[$link->link_category]) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
824 |
continue; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
825 |
$term_id = $link_cat_id_map[$link->link_category]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
826 |
$tt_id = $tt_ids[$term_id]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
827 |
if ( empty($tt_id) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
828 |
continue; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
829 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
830 |
$wpdb->insert( $wpdb->term_relationships, array('object_id' => $link->link_id, 'term_taxonomy_id' => $tt_id) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
831 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
832 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
833 |
// Set default to the last category we grabbed during the upgrade loop. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
834 |
update_option('default_link_category', $default_link_cat); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
835 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
836 |
$links = $wpdb->get_results("SELECT link_id, category_id FROM $wpdb->link2cat GROUP BY link_id, category_id"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
837 |
foreach ( $links as $link ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
838 |
$link_id = (int) $link->link_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
839 |
$term_id = (int) $link->category_id; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
840 |
$taxonomy = 'link_category'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
841 |
$tt_id = $tt_ids[$term_id][$taxonomy]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
842 |
if ( empty($tt_id) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
843 |
continue; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
844 |
$wpdb->insert( $wpdb->term_relationships, array('object_id' => $link_id, 'term_taxonomy_id' => $tt_id) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
845 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
846 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
847 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
848 |
if ( $wp_current_db_version < 4772 ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
849 |
// Obsolete linkcategories table |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
850 |
$wpdb->query('DROP TABLE IF EXISTS ' . $wpdb->prefix . 'linkcategories'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
851 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
852 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
853 |
// Recalculate all counts |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
854 |
$terms = $wpdb->get_results("SELECT term_taxonomy_id, taxonomy FROM $wpdb->term_taxonomy"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
855 |
foreach ( (array) $terms as $term ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
856 |
if ( ('post_tag' == $term->taxonomy) || ('category' == $term->taxonomy) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
857 |
$count = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(*) FROM $wpdb->term_relationships, $wpdb->posts WHERE $wpdb->posts.ID = $wpdb->term_relationships.object_id AND post_status = 'publish' AND post_type = 'post' AND term_taxonomy_id = %d", $term->term_taxonomy_id) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
858 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
859 |
$count = $wpdb->get_var( $wpdb->prepare("SELECT COUNT(*) FROM $wpdb->term_relationships WHERE term_taxonomy_id = %d", $term->term_taxonomy_id) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
860 |
$wpdb->update( $wpdb->term_taxonomy, array('count' => $count), array('term_taxonomy_id' => $term->term_taxonomy_id) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
861 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
862 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
863 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
864 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
865 |
* Remove old options from the database. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
866 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
867 |
* @since 2.3.0 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
868 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
869 |
function upgrade_230_options_table() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
870 |
global $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
871 |
$old_options_fields = array( 'option_can_override', 'option_type', 'option_width', 'option_height', 'option_description', 'option_admin_level' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
872 |
$wpdb->hide_errors(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
873 |
foreach ( $old_options_fields as $old ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
874 |
$wpdb->query("ALTER TABLE $wpdb->options DROP $old"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
875 |
$wpdb->show_errors(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
876 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
877 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
878 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
879 |
* Remove old categories, link2cat, and post2cat database tables. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
880 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
881 |
* @since 2.3.0 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
882 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
883 |
function upgrade_230_old_tables() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
884 |
global $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
885 |
$wpdb->query('DROP TABLE IF EXISTS ' . $wpdb->prefix . 'categories'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
886 |
$wpdb->query('DROP TABLE IF EXISTS ' . $wpdb->prefix . 'link2cat'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
887 |
$wpdb->query('DROP TABLE IF EXISTS ' . $wpdb->prefix . 'post2cat'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
888 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
889 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
890 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
891 |
* Upgrade old slugs made in version 2.2. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
892 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
893 |
* @since 2.2.0 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
894 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
895 |
function upgrade_old_slugs() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
896 |
// upgrade people who were using the Redirect Old Slugs plugin |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
897 |
global $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
898 |
$wpdb->query("UPDATE $wpdb->postmeta SET meta_key = '_wp_old_slug' WHERE meta_key = 'old_slug'"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
899 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
900 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
901 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
902 |
* Execute changes made in WordPress 2.5.0. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
903 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
904 |
* @since 2.5.0 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
905 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
906 |
function upgrade_250() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
907 |
global $wp_current_db_version; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
908 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
909 |
if ( $wp_current_db_version < 6689 ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
910 |
populate_roles_250(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
911 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
912 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
913 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
914 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
915 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
916 |
* Execute changes made in WordPress 2.5.1. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
917 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
918 |
* @since 2.5.1 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
919 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
920 |
function upgrade_251() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
921 |
global $wp_current_db_version; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
922 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
923 |
// Make the secret longer |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
924 |
update_option('secret', wp_generate_password(64)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
925 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
926 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
927 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
928 |
* Execute changes made in WordPress 2.5.2. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
929 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
930 |
* @since 2.5.2 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
931 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
932 |
function upgrade_252() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
933 |
global $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
934 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
935 |
$wpdb->query("UPDATE $wpdb->users SET user_activation_key = ''"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
936 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
937 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
938 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
939 |
* Execute changes made in WordPress 2.6. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
940 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
941 |
* @since 2.6.0 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
942 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
943 |
function upgrade_260() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
944 |
global $wp_current_db_version; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
945 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
946 |
if ( $wp_current_db_version < 8000 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
947 |
populate_roles_260(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
948 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
949 |
if ( $wp_current_db_version < 8201 ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
950 |
update_option('enable_app', 1); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
951 |
update_option('enable_xmlrpc', 1); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
952 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
953 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
954 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
955 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
956 |
* Execute changes made in WordPress 2.7. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
957 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
958 |
* @since 2.7.0 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
959 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
960 |
function upgrade_270() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
961 |
global $wpdb, $wp_current_db_version; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
962 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
963 |
if ( $wp_current_db_version < 8980 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
964 |
populate_roles_270(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
965 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
966 |
// Update post_date for unpublished posts with empty timestamp |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
967 |
if ( $wp_current_db_version < 8921 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
968 |
$wpdb->query( "UPDATE $wpdb->posts SET post_date = post_modified WHERE post_date = '0000-00-00 00:00:00'" ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
969 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
970 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
971 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
972 |
* Execute changes made in WordPress 2.8. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
973 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
974 |
* @since 2.8.0 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
975 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
976 |
function upgrade_280() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
977 |
global $wp_current_db_version; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
978 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
979 |
if ( $wp_current_db_version < 10360 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
980 |
populate_roles_280(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
981 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
982 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
983 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
984 |
// The functions we use to actually do stuff |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
985 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
986 |
// General |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
987 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
988 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
989 |
* {@internal Missing Short Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
990 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
991 |
* {@internal Missing Long Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
992 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
993 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
994 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
995 |
* @param string $table_name Database table name to create. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
996 |
* @param string $create_ddl SQL statement to create table. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
997 |
* @return bool If table already exists or was created by function. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
998 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
999 |
function maybe_create_table($table_name, $create_ddl) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1000 |
global $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1001 |
if ( $wpdb->get_var("SHOW TABLES LIKE '$table_name'") == $table_name ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1002 |
return true; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1003 |
//didn't find it try to create it. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1004 |
$q = $wpdb->query($create_ddl); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1005 |
// we cannot directly tell that whether this succeeded! |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1006 |
if ( $wpdb->get_var("SHOW TABLES LIKE '$table_name'") == $table_name ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1007 |
return true; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1008 |
return false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1009 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1010 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1011 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1012 |
* {@internal Missing Short Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1013 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1014 |
* {@internal Missing Long Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1015 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1016 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1017 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1018 |
* @param string $table Database table name. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1019 |
* @param string $index Index name to drop. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1020 |
* @return bool True, when finished. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1021 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1022 |
function drop_index($table, $index) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1023 |
global $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1024 |
$wpdb->hide_errors(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1025 |
$wpdb->query("ALTER TABLE `$table` DROP INDEX `$index`"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1026 |
// Now we need to take out all the extra ones we may have created |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1027 |
for ($i = 0; $i < 25; $i++) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1028 |
$wpdb->query("ALTER TABLE `$table` DROP INDEX `{$index}_$i`"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1029 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1030 |
$wpdb->show_errors(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1031 |
return true; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1032 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1033 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1034 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1035 |
* {@internal Missing Short Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1036 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1037 |
* {@internal Missing Long Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1038 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1039 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1040 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1041 |
* @param string $table Database table name. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1042 |
* @param string $index Database table index column. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1043 |
* @return bool True, when done with execution. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1044 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1045 |
function add_clean_index($table, $index) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1046 |
global $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1047 |
drop_index($table, $index); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1048 |
$wpdb->query("ALTER TABLE `$table` ADD INDEX ( `$index` )"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1049 |
return true; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1050 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1051 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1052 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1053 |
** maybe_add_column() |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1054 |
** Add column to db table if it doesn't exist. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1055 |
** Returns: true if already exists or on successful completion |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1056 |
** false on error |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1057 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1058 |
function maybe_add_column($table_name, $column_name, $create_ddl) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1059 |
global $wpdb, $debug; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1060 |
foreach ($wpdb->get_col("DESC $table_name", 0) as $column ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1061 |
if ($debug) echo("checking $column == $column_name<br />"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1062 |
if ($column == $column_name) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1063 |
return true; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1064 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1065 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1066 |
//didn't find it try to create it. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1067 |
$q = $wpdb->query($create_ddl); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1068 |
// we cannot directly tell that whether this succeeded! |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1069 |
foreach ($wpdb->get_col("DESC $table_name", 0) as $column ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1070 |
if ($column == $column_name) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1071 |
return true; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1072 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1073 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1074 |
return false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1075 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1076 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1077 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1078 |
* Retrieve all options as it was for 1.2. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1079 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1080 |
* @since 1.2.0 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1081 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1082 |
* @return array List of options. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1083 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1084 |
function get_alloptions_110() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1085 |
global $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1086 |
if ($options = $wpdb->get_results("SELECT option_name, option_value FROM $wpdb->options")) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1087 |
foreach ($options as $option) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1088 |
// "When trying to design a foolproof system, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1089 |
// never underestimate the ingenuity of the fools :)" -- Dougal |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1090 |
if ('siteurl' == $option->option_name) $option->option_value = preg_replace('|/+$|', '', $option->option_value); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1091 |
if ('home' == $option->option_name) $option->option_value = preg_replace('|/+$|', '', $option->option_value); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1092 |
if ('category_base' == $option->option_name) $option->option_value = preg_replace('|/+$|', '', $option->option_value); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1093 |
$all_options->{$option->option_name} = stripslashes($option->option_value); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1094 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1095 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1096 |
return $all_options; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1097 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1098 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1099 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1100 |
* Version of get_option that is private to install/upgrade. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1101 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1102 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1103 |
* @access private |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1104 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1105 |
* @param string $setting Option name. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1106 |
* @return mixed |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1107 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1108 |
function __get_option($setting) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1109 |
global $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1110 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1111 |
if ( $setting == 'home' && defined( 'WP_HOME' ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1112 |
return preg_replace( '|/+$|', '', constant( 'WP_HOME' ) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1113 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1114 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1115 |
if ( $setting == 'siteurl' && defined( 'WP_SITEURL' ) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1116 |
return preg_replace( '|/+$|', '', constant( 'WP_SITEURL' ) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1117 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1118 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1119 |
$option = $wpdb->get_var( $wpdb->prepare("SELECT option_value FROM $wpdb->options WHERE option_name = %s", $setting) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1120 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1121 |
if ( 'home' == $setting && '' == $option ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1122 |
return __get_option('siteurl'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1123 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1124 |
if ( 'siteurl' == $setting || 'home' == $setting || 'category_base' == $setting ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1125 |
$option = preg_replace('|/+$|', '', $option); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1126 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1127 |
@ $kellogs = unserialize($option); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1128 |
if ($kellogs !== FALSE) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1129 |
return $kellogs; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1130 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1131 |
return $option; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1132 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1133 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1134 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1135 |
* {@internal Missing Short Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1136 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1137 |
* {@internal Missing Long Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1138 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1139 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1140 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1141 |
* @param string $content |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1142 |
* @return string |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1143 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1144 |
function deslash($content) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1145 |
// Note: \\\ inside a regex denotes a single backslash. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1146 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1147 |
// Replace one or more backslashes followed by a single quote with |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1148 |
// a single quote. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1149 |
$content = preg_replace("/\\\+'/", "'", $content); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1150 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1151 |
// Replace one or more backslashes followed by a double quote with |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1152 |
// a double quote. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1153 |
$content = preg_replace('/\\\+"/', '"', $content); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1154 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1155 |
// Replace one or more backslashes with one backslash. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1156 |
$content = preg_replace("/\\\+/", "\\", $content); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1157 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1158 |
return $content; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1159 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1160 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1161 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1162 |
* {@internal Missing Short Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1163 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1164 |
* {@internal Missing Long Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1165 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1166 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1167 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1168 |
* @param unknown_type $queries |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1169 |
* @param unknown_type $execute |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1170 |
* @return unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1171 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1172 |
function dbDelta($queries, $execute = true) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1173 |
global $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1174 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1175 |
// Separate individual queries into an array |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1176 |
if( !is_array($queries) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1177 |
$queries = explode( ';', $queries ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1178 |
if('' == $queries[count($queries) - 1]) array_pop($queries); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1179 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1180 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1181 |
$cqueries = array(); // Creation Queries |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1182 |
$iqueries = array(); // Insertion Queries |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1183 |
$for_update = array(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1184 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1185 |
// Create a tablename index for an array ($cqueries) of queries |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1186 |
foreach($queries as $qry) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1187 |
if(preg_match("|CREATE TABLE ([^ ]*)|", $qry, $matches)) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1188 |
$cqueries[trim( strtolower($matches[1]), '`' )] = $qry; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1189 |
$for_update[$matches[1]] = 'Created table '.$matches[1]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1190 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1191 |
else if(preg_match("|CREATE DATABASE ([^ ]*)|", $qry, $matches)) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1192 |
array_unshift($cqueries, $qry); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1193 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1194 |
else if(preg_match("|INSERT INTO ([^ ]*)|", $qry, $matches)) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1195 |
$iqueries[] = $qry; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1196 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1197 |
else if(preg_match("|UPDATE ([^ ]*)|", $qry, $matches)) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1198 |
$iqueries[] = $qry; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1199 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1200 |
else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1201 |
// Unrecognized query type |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1202 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1203 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1204 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1205 |
// Check to see which tables and fields exist |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1206 |
if($tables = $wpdb->get_col('SHOW TABLES;')) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1207 |
// For every table in the database |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1208 |
foreach($tables as $table) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1209 |
// If a table query exists for the database table... |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1210 |
if( array_key_exists(strtolower($table), $cqueries) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1211 |
// Clear the field and index arrays |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1212 |
unset($cfields); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1213 |
unset($indices); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1214 |
// Get all of the field names in the query from between the parens |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1215 |
preg_match("|\((.*)\)|ms", $cqueries[strtolower($table)], $match2); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1216 |
$qryline = trim($match2[1]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1217 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1218 |
// Separate field lines into an array |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1219 |
$flds = explode("\n", $qryline); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1220 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1221 |
//echo "<hr/><pre>\n".print_r(strtolower($table), true).":\n".print_r($cqueries, true)."</pre><hr/>"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1222 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1223 |
// For every field line specified in the query |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1224 |
foreach($flds as $fld) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1225 |
// Extract the field name |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1226 |
preg_match("|^([^ ]*)|", trim($fld), $fvals); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1227 |
$fieldname = trim( $fvals[1], '`' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1228 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1229 |
// Verify the found field name |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1230 |
$validfield = true; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1231 |
switch(strtolower($fieldname)) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1232 |
{ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1233 |
case '': |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1234 |
case 'primary': |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1235 |
case 'index': |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1236 |
case 'fulltext': |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1237 |
case 'unique': |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1238 |
case 'key': |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1239 |
$validfield = false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1240 |
$indices[] = trim(trim($fld), ", \n"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1241 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1242 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1243 |
$fld = trim($fld); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1244 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1245 |
// If it's a valid field, add it to the field array |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1246 |
if($validfield) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1247 |
$cfields[strtolower($fieldname)] = trim($fld, ", \n"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1248 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1249 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1250 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1251 |
// Fetch the table column structure from the database |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1252 |
$tablefields = $wpdb->get_results("DESCRIBE {$table};"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1253 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1254 |
// For every field in the table |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1255 |
foreach($tablefields as $tablefield) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1256 |
// If the table field exists in the field array... |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1257 |
if(array_key_exists(strtolower($tablefield->Field), $cfields)) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1258 |
// Get the field type from the query |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1259 |
preg_match("|".$tablefield->Field." ([^ ]*( unsigned)?)|i", $cfields[strtolower($tablefield->Field)], $matches); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1260 |
$fieldtype = $matches[1]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1261 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1262 |
// Is actual field type different from the field type in query? |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1263 |
if($tablefield->Type != $fieldtype) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1264 |
// Add a query to change the column type |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1265 |
$cqueries[] = "ALTER TABLE {$table} CHANGE COLUMN {$tablefield->Field} " . $cfields[strtolower($tablefield->Field)]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1266 |
$for_update[$table.'.'.$tablefield->Field] = "Changed type of {$table}.{$tablefield->Field} from {$tablefield->Type} to {$fieldtype}"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1267 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1268 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1269 |
// Get the default value from the array |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1270 |
//echo "{$cfields[strtolower($tablefield->Field)]}<br>"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1271 |
if(preg_match("| DEFAULT '(.*)'|i", $cfields[strtolower($tablefield->Field)], $matches)) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1272 |
$default_value = $matches[1]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1273 |
if($tablefield->Default != $default_value) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1274 |
{ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1275 |
// Add a query to change the column's default value |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1276 |
$cqueries[] = "ALTER TABLE {$table} ALTER COLUMN {$tablefield->Field} SET DEFAULT '{$default_value}'"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1277 |
$for_update[$table.'.'.$tablefield->Field] = "Changed default value of {$table}.{$tablefield->Field} from {$tablefield->Default} to {$default_value}"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1278 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1279 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1280 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1281 |
// Remove the field from the array (so it's not added) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1282 |
unset($cfields[strtolower($tablefield->Field)]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1283 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1284 |
else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1285 |
// This field exists in the table, but not in the creation queries? |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1286 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1287 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1288 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1289 |
// For every remaining field specified for the table |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1290 |
foreach($cfields as $fieldname => $fielddef) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1291 |
// Push a query line into $cqueries that adds the field to that table |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1292 |
$cqueries[] = "ALTER TABLE {$table} ADD COLUMN $fielddef"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1293 |
$for_update[$table.'.'.$fieldname] = 'Added column '.$table.'.'.$fieldname; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1294 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1295 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1296 |
// Index stuff goes here |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1297 |
// Fetch the table index structure from the database |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1298 |
$tableindices = $wpdb->get_results("SHOW INDEX FROM {$table};"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1299 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1300 |
if($tableindices) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1301 |
// Clear the index array |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1302 |
unset($index_ary); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1303 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1304 |
// For every index in the table |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1305 |
foreach($tableindices as $tableindex) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1306 |
// Add the index to the index data array |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1307 |
$keyname = $tableindex->Key_name; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1308 |
$index_ary[$keyname]['columns'][] = array('fieldname' => $tableindex->Column_name, 'subpart' => $tableindex->Sub_part); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1309 |
$index_ary[$keyname]['unique'] = ($tableindex->Non_unique == 0)?true:false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1310 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1311 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1312 |
// For each actual index in the index array |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1313 |
foreach($index_ary as $index_name => $index_data) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1314 |
// Build a create string to compare to the query |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1315 |
$index_string = ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1316 |
if($index_name == 'PRIMARY') { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1317 |
$index_string .= 'PRIMARY '; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1318 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1319 |
else if($index_data['unique']) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1320 |
$index_string .= 'UNIQUE '; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1321 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1322 |
$index_string .= 'KEY '; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1323 |
if($index_name != 'PRIMARY') { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1324 |
$index_string .= $index_name; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1325 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1326 |
$index_columns = ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1327 |
// For each column in the index |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1328 |
foreach($index_data['columns'] as $column_data) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1329 |
if($index_columns != '') $index_columns .= ','; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1330 |
// Add the field to the column list string |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1331 |
$index_columns .= $column_data['fieldname']; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1332 |
if($column_data['subpart'] != '') { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1333 |
$index_columns .= '('.$column_data['subpart'].')'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1334 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1335 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1336 |
// Add the column list to the index create string |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1337 |
$index_string .= ' ('.$index_columns.')'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1338 |
if(!(($aindex = array_search($index_string, $indices)) === false)) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1339 |
unset($indices[$aindex]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1340 |
//echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">{$table}:<br />Found index:".$index_string."</pre>\n"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1341 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1342 |
//else echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">{$table}:<br /><b>Did not find index:</b>".$index_string."<br />".print_r($indices, true)."</pre>\n"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1343 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1344 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1345 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1346 |
// For every remaining index specified for the table |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1347 |
foreach ( (array) $indices as $index ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1348 |
// Push a query line into $cqueries that adds the index to that table |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1349 |
$cqueries[] = "ALTER TABLE {$table} ADD $index"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1350 |
$for_update[$table.'.'.$fieldname] = 'Added index '.$table.' '.$index; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1351 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1352 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1353 |
// Remove the original table creation query from processing |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1354 |
unset($cqueries[strtolower($table)]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1355 |
unset($for_update[strtolower($table)]); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1356 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1357 |
// This table exists in the database, but not in the creation queries? |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1358 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1359 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1360 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1361 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1362 |
$allqueries = array_merge($cqueries, $iqueries); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1363 |
if($execute) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1364 |
foreach($allqueries as $query) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1365 |
//echo "<pre style=\"border:1px solid #ccc;margin-top:5px;\">".print_r($query, true)."</pre>\n"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1366 |
$wpdb->query($query); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1367 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1368 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1369 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1370 |
return $for_update; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1371 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1372 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1373 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1374 |
* {@internal Missing Short Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1375 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1376 |
* {@internal Missing Long Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1377 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1378 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1379 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1380 |
function make_db_current() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1381 |
global $wp_queries; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1382 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1383 |
$alterations = dbDelta($wp_queries); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1384 |
echo "<ol>\n"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1385 |
foreach($alterations as $alteration) echo "<li>$alteration</li>\n"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1386 |
echo "</ol>\n"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1387 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1388 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1389 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1390 |
* {@internal Missing Short Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1391 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1392 |
* {@internal Missing Long Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1393 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1394 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1395 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1396 |
function make_db_current_silent() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1397 |
global $wp_queries; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1398 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1399 |
$alterations = dbDelta($wp_queries); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1400 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1401 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1402 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1403 |
* {@internal Missing Short Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1404 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1405 |
* {@internal Missing Long Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1406 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1407 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1408 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1409 |
* @param unknown_type $theme_name |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1410 |
* @param unknown_type $template |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1411 |
* @return unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1412 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1413 |
function make_site_theme_from_oldschool($theme_name, $template) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1414 |
$home_path = get_home_path(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1415 |
$site_dir = WP_CONTENT_DIR . "/themes/$template"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1416 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1417 |
if (! file_exists("$home_path/index.php")) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1418 |
return false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1419 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1420 |
// Copy files from the old locations to the site theme. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1421 |
// TODO: This does not copy arbitarary include dependencies. Only the |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1422 |
// standard WP files are copied. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1423 |
$files = array('index.php' => 'index.php', 'wp-layout.css' => 'style.css', 'wp-comments.php' => 'comments.php', 'wp-comments-popup.php' => 'comments-popup.php'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1424 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1425 |
foreach ($files as $oldfile => $newfile) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1426 |
if ($oldfile == 'index.php') |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1427 |
$oldpath = $home_path; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1428 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1429 |
$oldpath = ABSPATH; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1430 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1431 |
if ($oldfile == 'index.php') { // Check to make sure it's not a new index |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1432 |
$index = implode('', file("$oldpath/$oldfile")); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1433 |
if (strpos($index, 'WP_USE_THEMES') !== false) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1434 |
if (! @copy(WP_CONTENT_DIR . '/themes/default/index.php', "$site_dir/$newfile")) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1435 |
return false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1436 |
continue; // Don't copy anything |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1437 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1438 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1439 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1440 |
if (! @copy("$oldpath/$oldfile", "$site_dir/$newfile")) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1441 |
return false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1442 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1443 |
chmod("$site_dir/$newfile", 0777); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1444 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1445 |
// Update the blog header include in each file. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1446 |
$lines = explode("\n", implode('', file("$site_dir/$newfile"))); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1447 |
if ($lines) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1448 |
$f = fopen("$site_dir/$newfile", 'w'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1449 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1450 |
foreach ($lines as $line) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1451 |
if (preg_match('/require.*wp-blog-header/', $line)) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1452 |
$line = '//' . $line; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1453 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1454 |
// Update stylesheet references. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1455 |
$line = str_replace("<?php echo __get_option('siteurl'); ?>/wp-layout.css", "<?php bloginfo('stylesheet_url'); ?>", $line); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1456 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1457 |
// Update comments template inclusion. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1458 |
$line = str_replace("<?php include(ABSPATH . 'wp-comments.php'); ?>", "<?php comments_template(); ?>", $line); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1459 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1460 |
fwrite($f, "{$line}\n"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1461 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1462 |
fclose($f); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1463 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1464 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1465 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1466 |
// Add a theme header. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1467 |
$header = "/*\nTheme Name: $theme_name\nTheme URI: " . __get_option('siteurl') . "\nDescription: A theme automatically created by the upgrade.\nVersion: 1.0\nAuthor: Moi\n*/\n"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1468 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1469 |
$stylelines = file_get_contents("$site_dir/style.css"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1470 |
if ($stylelines) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1471 |
$f = fopen("$site_dir/style.css", 'w'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1472 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1473 |
fwrite($f, $header); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1474 |
fwrite($f, $stylelines); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1475 |
fclose($f); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1476 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1477 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1478 |
return true; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1479 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1480 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1481 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1482 |
* {@internal Missing Short Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1483 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1484 |
* {@internal Missing Long Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1485 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1486 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1487 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1488 |
* @param unknown_type $theme_name |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1489 |
* @param unknown_type $template |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1490 |
* @return unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1491 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1492 |
function make_site_theme_from_default($theme_name, $template) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1493 |
$site_dir = WP_CONTENT_DIR . "/themes/$template"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1494 |
$default_dir = WP_CONTENT_DIR . '/themes/default'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1495 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1496 |
// Copy files from the default theme to the site theme. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1497 |
//$files = array('index.php', 'comments.php', 'comments-popup.php', 'footer.php', 'header.php', 'sidebar.php', 'style.css'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1498 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1499 |
$theme_dir = @ opendir("$default_dir"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1500 |
if ($theme_dir) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1501 |
while(($theme_file = readdir( $theme_dir )) !== false) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1502 |
if (is_dir("$default_dir/$theme_file")) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1503 |
continue; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1504 |
if (! @copy("$default_dir/$theme_file", "$site_dir/$theme_file")) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1505 |
return; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1506 |
chmod("$site_dir/$theme_file", 0777); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1507 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1508 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1509 |
@closedir($theme_dir); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1510 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1511 |
// Rewrite the theme header. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1512 |
$stylelines = explode("\n", implode('', file("$site_dir/style.css"))); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1513 |
if ($stylelines) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1514 |
$f = fopen("$site_dir/style.css", 'w'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1515 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1516 |
foreach ($stylelines as $line) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1517 |
if (strpos($line, 'Theme Name:') !== false) $line = 'Theme Name: ' . $theme_name; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1518 |
elseif (strpos($line, 'Theme URI:') !== false) $line = 'Theme URI: ' . __get_option('url'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1519 |
elseif (strpos($line, 'Description:') !== false) $line = 'Description: Your theme.'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1520 |
elseif (strpos($line, 'Version:') !== false) $line = 'Version: 1'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1521 |
elseif (strpos($line, 'Author:') !== false) $line = 'Author: You'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1522 |
fwrite($f, $line . "\n"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1523 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1524 |
fclose($f); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1525 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1526 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1527 |
// Copy the images. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1528 |
umask(0); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1529 |
if (! mkdir("$site_dir/images", 0777)) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1530 |
return false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1531 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1532 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1533 |
$images_dir = @ opendir("$default_dir/images"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1534 |
if ($images_dir) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1535 |
while(($image = readdir($images_dir)) !== false) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1536 |
if (is_dir("$default_dir/images/$image")) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1537 |
continue; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1538 |
if (! @copy("$default_dir/images/$image", "$site_dir/images/$image")) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1539 |
return; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1540 |
chmod("$site_dir/images/$image", 0777); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1541 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1542 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1543 |
@closedir($images_dir); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1544 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1545 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1546 |
// Create a site theme from the default theme. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1547 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1548 |
* {@internal Missing Short Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1549 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1550 |
* {@internal Missing Long Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1551 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1552 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1553 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1554 |
* @return unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1555 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1556 |
function make_site_theme() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1557 |
// Name the theme after the blog. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1558 |
$theme_name = __get_option('blogname'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1559 |
$template = sanitize_title($theme_name); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1560 |
$site_dir = WP_CONTENT_DIR . "/themes/$template"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1561 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1562 |
// If the theme already exists, nothing to do. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1563 |
if ( is_dir($site_dir)) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1564 |
return false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1565 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1566 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1567 |
// We must be able to write to the themes dir. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1568 |
if (! is_writable(WP_CONTENT_DIR . "/themes")) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1569 |
return false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1570 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1571 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1572 |
umask(0); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1573 |
if (! mkdir($site_dir, 0777)) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1574 |
return false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1575 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1576 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1577 |
if (file_exists(ABSPATH . 'wp-layout.css')) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1578 |
if (! make_site_theme_from_oldschool($theme_name, $template)) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1579 |
// TODO: rm -rf the site theme directory. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1580 |
return false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1581 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1582 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1583 |
if (! make_site_theme_from_default($theme_name, $template)) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1584 |
// TODO: rm -rf the site theme directory. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1585 |
return false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1586 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1587 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1588 |
// Make the new site theme active. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1589 |
$current_template = __get_option('template'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1590 |
if ($current_template == 'default') { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1591 |
update_option('template', $template); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1592 |
update_option('stylesheet', $template); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1593 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1594 |
return $template; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1595 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1596 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1597 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1598 |
* Translate user level to user role name. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1599 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1600 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1601 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1602 |
* @param int $level User level. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1603 |
* @return string User role name. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1604 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1605 |
function translate_level_to_role($level) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1606 |
switch ($level) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1607 |
case 10: |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1608 |
case 9: |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1609 |
case 8: |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1610 |
return 'administrator'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1611 |
case 7: |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1612 |
case 6: |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1613 |
case 5: |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1614 |
return 'editor'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1615 |
case 4: |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1616 |
case 3: |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1617 |
case 2: |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1618 |
return 'author'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1619 |
case 1: |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1620 |
return 'contributor'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1621 |
case 0: |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1622 |
return 'subscriber'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1623 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1624 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1625 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1626 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1627 |
* {@internal Missing Short Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1628 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1629 |
* {@internal Missing Long Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1630 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1631 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1632 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1633 |
function wp_check_mysql_version() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1634 |
global $wpdb; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1635 |
$result = $wpdb->check_database_version(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1636 |
if ( is_wp_error( $result ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1637 |
die( $result->get_error_message() ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1638 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1639 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1640 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1641 |
* {@internal Missing Short Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1642 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1643 |
* {@internal Missing Long Description}} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1644 |
* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1645 |
* @since unknown |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1646 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1647 |
function maybe_disable_automattic_widgets() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1648 |
$plugins = __get_option( 'active_plugins' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1649 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1650 |
foreach ( (array) $plugins as $plugin ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1651 |
if ( basename( $plugin ) == 'widgets.php' ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1652 |
array_splice( $plugins, array_search( $plugin, $plugins ), 1 ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1653 |
update_option( 'active_plugins', $plugins ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1654 |
break; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1655 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1656 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1657 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1658 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1659 |
?> |