diff options
author | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2008-06-24 17:00:10 +0000 |
---|---|---|
committer | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2008-06-24 17:00:10 +0000 |
commit | 631c9bb4d60d242432052f56c00768392f42a392 (patch) | |
tree | 50d41b0248d5c5fb156c6d52020675208b77a3e6 /wp-admin/plugins.php | |
parent | a1fbe4e0694a66d7351e2f6280ab84568681e8e0 (diff) | |
download | wordpress-mu-631c9bb4d60d242432052f56c00768392f42a392.tar.gz wordpress-mu-631c9bb4d60d242432052f56c00768392f42a392.tar.xz wordpress-mu-631c9bb4d60d242432052f56c00768392f42a392.zip |
WP Merge to revision 8180
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@1336 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'wp-admin/plugins.php')
-rw-r--r-- | wp-admin/plugins.php | 91 |
1 files changed, 80 insertions, 11 deletions
diff --git a/wp-admin/plugins.php b/wp-admin/plugins.php index ef8424b..ee5d101 100644 --- a/wp-admin/plugins.php +++ b/wp-admin/plugins.php @@ -37,7 +37,7 @@ if( !empty($action) ) { exit; break; case 'activate-selected': - check_admin_referer('mass-manage-plugins'); + check_admin_referer('bulk-manage-plugins'); activate_plugins($_POST['checked'], 'plugins.php?error=true'); $recent = (array)get_option('recently_activated'); @@ -69,7 +69,7 @@ if( !empty($action) ) { exit; break; case 'deactivate-selected': - check_admin_referer('mass-manage-plugins'); + check_admin_referer('bulk-manage-plugins'); deactivate_plugins($_POST['checked']); $deactivated = array(); foreach( (array)$_POST['checked'] as $plugin ) @@ -81,20 +81,87 @@ if( !empty($action) ) { 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('mass-manage-plugins'); - $plugins = $_REQUEST['checked']; + + 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'; - - $delete_result = delete_plugins($plugins); + + if( ! isset($_REQUEST['verify-delete']) ) { + wp_enqueue_script('jquery'); + require_once('admin-header.php'); + ?> + <div class="wrap"> + <h2><?php _e('Delete Plugin(s)'); ?></h2> + <?php + $files_to_delete = $plugin_info = array(); + foreach( (array) $plugins as $plugin ) { + if( '.' == dirname($plugin) ) { + $files_to_delete[] = WP_PLUGIN_DIR . '/' . $plugin; + if( $data = get_plugin_data(WP_PLUGIN_DIR . '/' . $plugin) ) + $plugin_info[ $plugin ] = $data; + } else { + //Locate all the files in that folder: + $files = list_files( WP_PLUGIN_DIR . '/' . dirname($plugin) ); + if( $files ) { + $files_to_delete = array_merge($files_to_delete, $files); + } + //Get plugins list from that folder + if ( $folder_plugins = get_plugins( '/' . dirname($plugin)) ) + $plugin_info = array_merge($plugin_info, $folder_plugins); + } + } + ?> + <p><?php _e('Deleting the selected plugins will remove the following plugin(s) and their files:'); ?></p> + <p> + <ul> + <?php + foreach( $plugin_info as $plugin ) + echo '<li>', $plugin['Title'], ' ', __('By'), ' ', $plugin['Author'], '</li>'; + ?> + </ul> + </p> + <p><?php _e('Are you sure you wish to delete these files?') ?></p> + <form method="post" action="<?php echo clean_url($_SERVER['REQUEST_URI']); ?>" style="display:inline;"> + <input type="hidden" name="verify-delete" value="1" /> + <input type="hidden" name="delete-selected" value="1" /> + <?php + foreach( (array)$plugins as $plugin ) { + $plugin = attribute_escape($plugin); + echo "<input type='hidden' name='checked[]' value='$plugin' />"; + } + ?> + <?php wp_nonce_field('bulk-manage-plugins') ?> + <input type="submit" name="submit" value="<?php _e('Yes, Delete these files') ?>" class="button" /> + </form> + <form method="post" action="<?php echo clean_url(wp_get_referer()); ?>" style="display:inline;"> + <input type="submit" name="submit" value="<?php _e('No, Return me to the plugin list') ?>" class="button" /> + </form> + + <p><a href="#" onclick="jQuery('#files-list').toggle(); return false;"><?php _e('Click to view entire list of files which will be deleted'); ?></a></p> + <div id="files-list" style="display:none;"> + <ul> + <?php + foreach( (array)$files_to_delete as $file ) { + $file = str_replace(ABSPATH, '', $file); + echo "<li>$file</li>"; + } + ?> + </ul> + </div> + </div> + <?php + require_once('admin-footer.php'); + exit; + } + //$delete_result = delete_plugins($plugins); wp_cache_delete('plugins', 'plugins'); break; - default: - var_dump("Unknown Action $action"); } } @@ -231,7 +298,7 @@ function print_plugins_table($plugins, $context = '') { <h3 id="currently-active"><?php _e('Currently Active Plugins') ?></h3> <form method="post" action="<?php echo admin_url('plugins.php') ?>"> -<?php wp_nonce_field('mass-manage-plugins') ?> +<?php wp_nonce_field('bulk-manage-plugins') ?> <div class="tablenav"> <div class="alignleft"> @@ -247,7 +314,7 @@ function print_plugins_table($plugins, $context = '') { <?php if ( ! empty($recent_plugins) ) : ?> <h3 id="recent-plugins"><?php _e('Recently Active Plugins') ?></h3> <form method="post" action="<?php echo admin_url('plugins.php') ?>"> -<?php wp_nonce_field('mass-manage-plugins') ?> +<?php wp_nonce_field('bulk-manage-plugins') ?> <div class="tablenav"> <div class="alignleft"> @@ -261,8 +328,9 @@ function print_plugins_table($plugins, $context = '') { <h3 id="available-plugins"><?php _e('Available Plugins') ?></h3> <form method="post" action="<?php echo admin_url('plugins.php') ?>"> -<?php wp_nonce_field('mass-manage-plugins') ?> +<?php wp_nonce_field('bulk-manage-plugins') ?> +<?php if ( ! empty($available_plugins) ) : ?> <div class="tablenav"> <div class="alignleft"> <input type="submit" name="activate-selected" value="<?php _e('Activate') ?>" class="button-secondary" /> @@ -271,6 +339,7 @@ function print_plugins_table($plugins, $context = '') { <br class="clear" /> <?php print_plugins_table($available_plugins, 'available') ?> </form> +<?php endif; ?> <?php if( is_site_admin() ) { ?> <p><?php printf(__('If something goes wrong with a plugin and you can’t use WordPress, delete or rename that file in the <code>%s</code> directory and it will be automatically deactivated.'), PLUGINDIR); ?></p> |