diff --git a/wp-admin/includes/schema.php b/wp-admin/includes/schema.php index 9d33f0e009..72157c41e8 100644 --- a/wp-admin/includes/schema.php +++ b/wp-admin/includes/schema.php @@ -481,6 +481,9 @@ function populate_options() { // 3.1 'default_post_format' => 0, + + // 3.5 + 'link_manager_enabled' => 0, ); // 3.3 diff --git a/wp-admin/includes/upgrade.php b/wp-admin/includes/upgrade.php index aac4e70f8c..06273b0175 100644 --- a/wp-admin/includes/upgrade.php +++ b/wp-admin/includes/upgrade.php @@ -399,6 +399,9 @@ function upgrade_all() { if ( $wp_current_db_version < 20080 ) upgrade_340(); + if ( $wp_current_db_version < 21501 ) + upgrade_350(); + maybe_disable_automattic_widgets(); update_option( 'db_version', $wp_db_version ); @@ -1181,6 +1184,18 @@ function upgrade_340() { } } +/** + * Execute changes made in WordPress 3.5. + * + * @since 3.5.0 + */ +function upgrade_350() { + global $wp_current_db_version, $wpdb; + + if ( $wp_current_db_version < 21501 && $wpdb->get_var( "SELECT link_id FROM $wpdb->links LIMIT 1" ) ) + update_option( 'link_manager_enabled', 1 ); // Previously set to 0 by populate_options() +} + /** * Execute network level changes * diff --git a/wp-admin/network/users.php b/wp-admin/network/users.php index 1d16fbbd4e..1318355448 100644 --- a/wp-admin/network/users.php +++ b/wp-admin/network/users.php @@ -24,7 +24,7 @@ function confirm_delete_users( $users ) { screen_icon(); ?>

-

+

-

%s?" ), $delete_user->user_login ); ?>

+

%s?" ), $delete_user->user_login ); ?>

$details ) { $blog_users = get_users( array( 'blog_id' => $details->userblog_id ) ); @@ -67,9 +67,9 @@ function confirm_delete_users( $users ) {
  • +
  • + ' . $user_dropdown; ?>
- + @@ -116,6 +119,8 @@ wp_dropdown_categories(array('hide_empty' => 0, 'name' => 'default_link_category ?> + + diff --git a/wp-admin/users.php b/wp-admin/users.php index 47faacfcb6..b41f0fb777 100644 --- a/wp-admin/users.php +++ b/wp-admin/users.php @@ -212,12 +212,12 @@ case 'delete': ?> -

+

  • +
  • - '.__('Attribute all posts and links to:').''; + '.__('Attribute all posts to:').''; wp_dropdown_users( array( 'name' => 'reassign_user', 'exclude' => array_diff( $userids, array($current_user->ID) ) ) ); ?>
diff --git a/wp-includes/capabilities.php b/wp-includes/capabilities.php index 4459f467cc..293fba2c99 100644 --- a/wp-includes/capabilities.php +++ b/wp-includes/capabilities.php @@ -1226,6 +1226,12 @@ function map_meta_cap( $cap, $user_id ) { else $caps[] = 'do_not_allow'; break; + case 'manage_links' : + if ( get_option( 'link_manager_enabled' ) ) + $caps[] = $cap; + else + $caps[] = 'do_not_allow'; + break; default: // Handle meta capabilities for custom post types. $post_type_meta_caps = _post_type_meta_capabilities(); diff --git a/wp-includes/default-widgets.php b/wp-includes/default-widgets.php index e4856dac68..d52574f80d 100644 --- a/wp-includes/default-widgets.php +++ b/wp-includes/default-widgets.php @@ -1158,7 +1158,8 @@ function wp_widgets_init() { register_widget('WP_Widget_Archives'); - register_widget('WP_Widget_Links'); + if ( get_option( 'link_manager_enabled' ) ) + register_widget('WP_Widget_Links'); register_widget('WP_Widget_Meta'); diff --git a/wp-includes/taxonomy.php b/wp-includes/taxonomy.php index 8ea976ffac..61573dd00b 100644 --- a/wp-includes/taxonomy.php +++ b/wp-includes/taxonomy.php @@ -89,6 +89,12 @@ function create_initial_taxonomies() { 'add_or_remove_items' => null, 'choose_from_most_used' => null, ), + 'capabilities' => array( + 'manage_terms' => 'manage_links', + 'edit_terms' => 'manage_links', + 'delete_terms' => 'manage_links', + 'assign_terms' => 'manage_links', + ), 'query_var' => false, 'rewrite' => false, 'public' => false, diff --git a/wp-includes/version.php b/wp-includes/version.php index f8cbc0782e..bb95e85ba4 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -11,7 +11,7 @@ $wp_version = '3.5-alpha-21499'; * * @global int $wp_db_version */ -$wp_db_version = 20596; +$wp_db_version = 21501; /** * Holds the TinyMCE version