From e55bebac25befdd88259d482d37b3cbffda29b9d Mon Sep 17 00:00:00 2001 From: Ryan Boren Date: Tue, 27 Nov 2012 00:20:27 +0000 Subject: [PATCH] Show a better message ondmins on link-manager.php, link-add.php, link.php when links are disabled. Props nacin fixes #22569 git-svn-id: http://core.svn.wordpress.org/trunk@22855 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/includes/bookmark.php | 22 ++++++++++++++++++++++ wp-admin/link.php | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/wp-admin/includes/bookmark.php b/wp-admin/includes/bookmark.php index 17a8229aa6..4d240b775c 100644 --- a/wp-admin/includes/bookmark.php +++ b/wp-admin/includes/bookmark.php @@ -266,3 +266,25 @@ function wp_update_link( $linkdata ) { return wp_insert_link( $linkdata ); } + +/** + * @since 3.5.0 + * @access private + */ +function wp_link_manager_disabled_message() { + global $pagenow; + if ( 'link-manager.php' != $pagenow && 'link-add.php' != $pagenow && 'link.php' != $pagenow ) + return; + + add_filter( 'pre_option_link_manager_enabled', '__return_true', 100 ); + $really_can_manage_links = current_user_can( 'manage_links' ); + remove_filter( 'pre_option_link_manager_enabled', '__return_true', 100 ); + + if ( $really_can_manage_links && current_user_can( 'install_plugins' ) ) { + $link = network_admin_url( 'plugin-install.php?tab=search&s=Link+Manager' ); + wp_die( sprintf( __( 'If you are looking to use the link manager, please install the Link Manager plugin.' ), $link ) ); + } + + wp_die( __( 'You do not have sufficient permissions to edit the links for this site.' ) ); +} +add_action( 'admin_page_access_denied', 'wp_link_manager_disabled_message' ); diff --git a/wp-admin/link.php b/wp-admin/link.php index 9e2d6a86a6..d12d229ed8 100644 --- a/wp-admin/link.php +++ b/wp-admin/link.php @@ -15,7 +15,7 @@ require_once ('admin.php'); wp_reset_vars(array('action', 'cat_id', 'linkurl', 'name', 'image', 'description', 'visible', 'target', 'category', 'link_id', 'submit', 'order_by', 'links_show_cat_id', 'rating', 'rel', 'notes', 'linkcheck[]')); if ( ! current_user_can('manage_links') ) - wp_die( __('You do not have sufficient permissions to edit the links for this site.') ); + wp_link_manager_disabled_message(); if ( !empty($_POST['deletebookmarks']) ) $action = 'deletebookmarks';