ID, 'plugins_last_view', $status); $page = isset($_REQUEST['paged']) ? $_REQUEST['paged'] : 1; if ( !empty($action) ) { switch ( $action ) { case 'activate': check_admin_referer('activate-plugin_' . $plugin); $result = activate_plugin($plugin, 'plugins.php?error=true&plugin=' . $plugin); if ( is_wp_error( $result ) ) wp_die($result); $recent = (array)get_option('recently_activated'); if ( isset($recent[ $plugin ]) ) { unset($recent[ $plugin ]); update_option('recently_activated', $recent); } wp_redirect("plugins.php?activate=true&plugin_status=$status&paged=$page"); // overrides the ?error=true one above exit; break; case 'activate-selected': check_admin_referer('bulk-manage-plugins'); activate_plugins($_POST['checked'], 'plugins.php?error=true'); $recent = (array)get_option('recently_activated'); foreach( (array)$_POST['checked'] as $plugin => $time) { if ( isset($recent[ $plugin ]) ) unset($recent[ $plugin ]); } if( $recent != get_option('recently_activated') ) //If array changed, update it. update_option('recently_activated', $recent); wp_redirect("plugins.php?activate-multi=true&plugin_status=$status&paged=$page"); exit; break; case 'error_scrape': check_admin_referer('plugin-activation-error_' . $plugin); $valid = validate_plugin($plugin); if ( is_wp_error($valid) ) wp_die($valid); error_reporting( E_ALL ^ E_NOTICE ); @ini_set('display_errors', true); //Ensure that Fatal errors are displayed. include(WP_PLUGIN_DIR . '/' . $plugin); do_action('activate_' . $plugin); exit; break; case 'deactivate': check_admin_referer('deactivate-plugin_' . $plugin); deactivate_plugins($plugin); update_option('recently_activated', array($plugin => time()) + (array)get_option('recently_activated')); wp_redirect("plugins.php?deactivate=true&plugin_status=$status&paged=$page"); exit; break; case 'deactivate-selected': check_admin_referer('bulk-manage-plugins'); deactivate_plugins($_POST['checked']); $deactivated = array(); foreach ( (array)$_POST['checked'] as $plugin ) $deactivated[ $plugin ] = time(); update_option('recently_activated', $deactivated + (array)get_option('recently_activated')); wp_redirect("plugins.php?deactivate-multi=true&plugin_status=$status&paged=$page"); exit; break; case 'delete-selected': if ( ! current_user_can('delete_plugins') ) wp_die(__('You do not have sufficient permissions to delete plugins for this blog.')); check_admin_referer('bulk-manage-plugins'); $plugins = $_REQUEST['checked']; //$_POST = from the plugin form; $_GET = from the FTP details screen. include(ABSPATH . 'wp-admin/update.php'); $title = __('Delete Plugin'); $parent_file = 'plugins.php'; if ( ! isset($_REQUEST['verify-delete']) ) { wp_enqueue_script('jquery'); require_once('admin-header.php'); ?>
' . __('Plugins extend and expand the functionality of WordPress. Once a plugin is installed, you may activate it or deactivate it here.') . ''; $help .= '' . sprintf(__('If something goes wrong with a plugin and you can’t use WordPress, delete or rename that file in the %s
directory and it will be automatically deactivated.'), WP_PLUGIN_DIR) . '
' . sprintf(__('You can find additional plugins for your site by using the new Plugin Browser/Installer functionality or by browsing the WordPress Plugin Directory directly and installing manually. To manually install a plugin you generally just need to upload the plugin file into your %2$s
directory. Once a plugin has been installed, you may activate it here.'), 'plugin-install.php', WP_PLUGIN_DIR) . '
' . sprintf(__('The plugin %s
has been deactivated due to an error: %s'), wp_specialchars($plugin_file), $error->get_error_message()) . '
fatal error.') ?>
get_error_message() ); ?>
deleted.'); ?>
activated.') ?>
activated.'); ?>
deactivated.') ?>
deactivated.'); ?>
' . __('No plugins to show') . ' | '; } foreach ( (array)$plugins as $plugin_file => $plugin_data) { $actions = array(); $is_active = is_plugin_active($plugin_file); if ( $is_active ) $actions[] = '' . __('Deactivate') . ''; else //Inactive or Recently deactivated $actions[] = '' . __('Activate') . ''; if ( current_user_can('edit_plugins') && is_writable(WP_PLUGIN_DIR . '/' . $plugin_file) ) $actions[] = '' . __('Edit') . ''; $actions = apply_filters( 'plugin_action_links', $actions, $plugin_file, $plugin_data, $context ); $actions = apply_filters( "plugin_action_links_$plugin_file", $actions, $plugin_file, $plugin_data, $context ); $action_count = count($actions); $class = $is_active ? 'active' : 'inactive'; echo "|||
{$plugin_data['Title']}";
$i = 0;
echo ' ';
foreach ( $actions as $action => $link ) {
++$i;
( $i == $action_count ) ? $sep = '' : $sep = ' | ';
echo "$link$sep";
}
echo ' ';
echo " |
{$plugin_data['Version']} | {$plugin_data['Description']} "; echo ' |