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) :
?>
+