Include only valid plugins. Props guillep2k, fixes #6871
git-svn-id: http://svn.automattic.com/wordpress/trunk@8495 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
@@ -304,14 +304,19 @@ function validate_active_plugins() {
|
||||
return;
|
||||
}
|
||||
|
||||
//Invalid is any plugin that is deactivated due to error.
|
||||
$invalid = array();
|
||||
|
||||
// If a plugin file does not exist, remove it from the list of active
|
||||
// plugins.
|
||||
foreach ( $check_plugins as $check_plugin ) {
|
||||
$result = validate_plugin($check_plugin);
|
||||
if ( is_wp_error( $result ) ) {
|
||||
$invalid[$check_plugin] = $result;
|
||||
deactivate_plugins( $check_plugin, true);
|
||||
}
|
||||
}
|
||||
return $invalid;
|
||||
}
|
||||
|
||||
function validate_plugin($plugin) {
|
||||
|
||||
@@ -165,8 +165,10 @@ wp_enqueue_script('admin-forms');
|
||||
$title = __('Manage Plugins');
|
||||
require_once('admin-header.php');
|
||||
|
||||
validate_active_plugins();
|
||||
|
||||
$invalid = validate_active_plugins();
|
||||
if( !empty($invalid) )
|
||||
foreach($invalid as $plugin_file => $error)
|
||||
echo '<div id="message" class="error"><p>' . sprintf(__('The plugin <code>%s</code> has been <strong>deactivated</strong> due to <em>"%s"</em>.'), $plugin_file, $error->get_error_message()) . '</p></div>';
|
||||
?>
|
||||
|
||||
<?php if ( isset($_GET['error']) ) : ?>
|
||||
|
||||
Reference in New Issue
Block a user