From ae4a4c13d91c30f727a354df1a73f445d4f66f89 Mon Sep 17 00:00:00 2001 From: azaozz Date: Sat, 8 Aug 2009 07:22:19 +0000 Subject: [PATCH] Scroll back to the same location after saving a file in the Plugin and Theme editors git-svn-id: http://svn.automattic.com/wordpress/trunk@11788 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/plugin-editor.php | 27 +++++++++++++++++---------- wp-admin/theme-editor.php | 25 ++++++++++++++++--------- 2 files changed, 33 insertions(+), 19 deletions(-) diff --git a/wp-admin/plugin-editor.php b/wp-admin/plugin-editor.php index fb6fba4ae5..349516f008 100644 --- a/wp-admin/plugin-editor.php +++ b/wp-admin/plugin-editor.php @@ -9,6 +9,9 @@ /** WordPress Administration Bootstrap */ require_once('admin.php'); +if ( !current_user_can('edit_plugins') ) + wp_die('

'.__('You do not have sufficient permissions to edit plugins for this blog.').'

'); + $title = __("Edit Plugins"); $parent_file = 'plugins.php'; @@ -33,6 +36,7 @@ if ( empty($file) ) $file = validate_file_to_edit($file, $plugin_files); $real_file = WP_PLUGIN_DIR . '/' . $file; +$scrollto = isset($_REQUEST['scrollto']) ? (int) $_REQUEST['scrollto'] : 0; switch ( $action ) { @@ -40,9 +44,6 @@ case 'update': check_admin_referer('edit-plugin_' . $file); - if ( !current_user_can('edit_plugins') ) - wp_die('

'.__('You do not have sufficient permissions to edit templates for this blog.').'

'); - $newcontent = stripslashes($_POST['newcontent']); if ( is_writeable($real_file) ) { $f = fopen($real_file, 'w+'); @@ -53,12 +54,12 @@ case 'update': if ( is_plugin_active($file) || isset($_POST['phperror']) ) { if ( is_plugin_active($file) ) deactivate_plugins($file, true); - wp_redirect(add_query_arg('_wpnonce', wp_create_nonce('edit-plugin-test_' . $file), "plugin-editor.php?file=$file&liveupdate=1")); + wp_redirect(add_query_arg('_wpnonce', wp_create_nonce('edit-plugin-test_' . $file), "plugin-editor.php?file=$file&liveupdate=1&scrollto=$scrollto")); exit; } - wp_redirect("plugin-editor.php?file=$file&a=te"); + wp_redirect("plugin-editor.php?file=$file&a=te&scrollto=$scrollto"); } else { - wp_redirect("plugin-editor.php?file=$file"); + wp_redirect("plugin-editor.php?file=$file&scrollto=$scrollto"); } exit; @@ -66,9 +67,6 @@ break; default: - if ( !current_user_can('edit_plugins') ) - wp_die('

'.__('You do not have sufficient permissions to edit plugins for this blog.').'

'); - if ( isset($_GET['liveupdate']) ) { check_admin_referer('edit-plugin-test_' . $file); @@ -79,7 +77,7 @@ default: if ( ! is_plugin_active($file) ) activate_plugin($file, "plugin-editor.php?file=$file&phperror=1"); // we'll override this later if the plugin can be included without fatal error - wp_redirect("plugin-editor.php?file=$file&a=te"); + wp_redirect("plugin-editor.php?file=$file&a=te&scrollto=$scrollto"); exit; } @@ -205,6 +203,7 @@ foreach ( $plugin_files as $plugin_file ) : +
@@ -227,6 +226,14 @@ foreach ( $plugin_files as $plugin_file ) :
+ '.__('You do not have sufficient permissions to edit templates for this blog.').'

'); + $title = __("Edit Themes"); $parent_file = 'themes.php'; @@ -36,6 +39,7 @@ if (empty($file)) { $file = validate_file_to_edit($file, $allowed_files); $real_file = get_real_file_to_edit($file); +$scrollto = isset($_REQUEST['scrollto']) ? (int) $_REQUEST['scrollto'] : 0; $file_show = basename( $file ); @@ -45,9 +49,6 @@ case 'update': check_admin_referer('edit-theme_' . $file . $theme); - if ( !current_user_can('edit_themes') ) - wp_die('

'.__('You do not have sufficient permissions to edit templates for this blog.').'

'); - $newcontent = stripslashes($_POST['newcontent']); $theme = urlencode($theme); if (is_writeable($real_file)) { @@ -56,12 +57,12 @@ case 'update': if ($f !== FALSE) { fwrite($f, $newcontent); fclose($f); - $location = "theme-editor.php?file=$file&theme=$theme&a=te"; + $location = "theme-editor.php?file=$file&theme=$theme&a=te&scrollto=$scrollto"; } else { - $location = "theme-editor.php?file=$file&theme=$theme"; + $location = "theme-editor.php?file=$file&theme=$theme&scrollto=$scrollto"; } } else { - $location = "theme-editor.php?file=$file&theme=$theme"; + $location = "theme-editor.php?file=$file&theme=$theme&scrollto=$scrollto"; } $location = wp_kses_no_null($location); @@ -74,9 +75,6 @@ break; default: - if ( !current_user_can('edit_themes') ) - wp_die('

'.__('You do not have sufficient permissions to edit themes for this blog.').'

'); - if ( use_codepress() ) wp_enqueue_script( 'codepress' ); @@ -201,6 +199,7 @@ if ($allowed_files) : +
@@ -229,6 +228,14 @@ if ($allowed_files) : ?>
+