mirror of
https://github.com/WordPress/WordPress.git
synced 2024-12-22 17:18:32 +01:00
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
This commit is contained in:
parent
f027bbd170
commit
ae4a4c13d9
@ -9,6 +9,9 @@
|
|||||||
/** WordPress Administration Bootstrap */
|
/** WordPress Administration Bootstrap */
|
||||||
require_once('admin.php');
|
require_once('admin.php');
|
||||||
|
|
||||||
|
if ( !current_user_can('edit_plugins') )
|
||||||
|
wp_die('<p>'.__('You do not have sufficient permissions to edit plugins for this blog.').'</p>');
|
||||||
|
|
||||||
$title = __("Edit Plugins");
|
$title = __("Edit Plugins");
|
||||||
$parent_file = 'plugins.php';
|
$parent_file = 'plugins.php';
|
||||||
|
|
||||||
@ -33,6 +36,7 @@ if ( empty($file) )
|
|||||||
|
|
||||||
$file = validate_file_to_edit($file, $plugin_files);
|
$file = validate_file_to_edit($file, $plugin_files);
|
||||||
$real_file = WP_PLUGIN_DIR . '/' . $file;
|
$real_file = WP_PLUGIN_DIR . '/' . $file;
|
||||||
|
$scrollto = isset($_REQUEST['scrollto']) ? (int) $_REQUEST['scrollto'] : 0;
|
||||||
|
|
||||||
switch ( $action ) {
|
switch ( $action ) {
|
||||||
|
|
||||||
@ -40,9 +44,6 @@ case 'update':
|
|||||||
|
|
||||||
check_admin_referer('edit-plugin_' . $file);
|
check_admin_referer('edit-plugin_' . $file);
|
||||||
|
|
||||||
if ( !current_user_can('edit_plugins') )
|
|
||||||
wp_die('<p>'.__('You do not have sufficient permissions to edit templates for this blog.').'</p>');
|
|
||||||
|
|
||||||
$newcontent = stripslashes($_POST['newcontent']);
|
$newcontent = stripslashes($_POST['newcontent']);
|
||||||
if ( is_writeable($real_file) ) {
|
if ( is_writeable($real_file) ) {
|
||||||
$f = fopen($real_file, 'w+');
|
$f = fopen($real_file, 'w+');
|
||||||
@ -53,12 +54,12 @@ case 'update':
|
|||||||
if ( is_plugin_active($file) || isset($_POST['phperror']) ) {
|
if ( is_plugin_active($file) || isset($_POST['phperror']) ) {
|
||||||
if ( is_plugin_active($file) )
|
if ( is_plugin_active($file) )
|
||||||
deactivate_plugins($file, true);
|
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;
|
exit;
|
||||||
}
|
}
|
||||||
wp_redirect("plugin-editor.php?file=$file&a=te");
|
wp_redirect("plugin-editor.php?file=$file&a=te&scrollto=$scrollto");
|
||||||
} else {
|
} else {
|
||||||
wp_redirect("plugin-editor.php?file=$file");
|
wp_redirect("plugin-editor.php?file=$file&scrollto=$scrollto");
|
||||||
}
|
}
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
@ -66,9 +67,6 @@ break;
|
|||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
||||||
if ( !current_user_can('edit_plugins') )
|
|
||||||
wp_die('<p>'.__('You do not have sufficient permissions to edit plugins for this blog.').'</p>');
|
|
||||||
|
|
||||||
if ( isset($_GET['liveupdate']) ) {
|
if ( isset($_GET['liveupdate']) ) {
|
||||||
check_admin_referer('edit-plugin-test_' . $file);
|
check_admin_referer('edit-plugin-test_' . $file);
|
||||||
|
|
||||||
@ -79,7 +77,7 @@ default:
|
|||||||
if ( ! is_plugin_active($file) )
|
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
|
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;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -205,6 +203,7 @@ foreach ( $plugin_files as $plugin_file ) :
|
|||||||
<input type="hidden" name="action" value="update" />
|
<input type="hidden" name="action" value="update" />
|
||||||
<input type="hidden" name="file" value="<?php echo esc_attr($file) ?>" />
|
<input type="hidden" name="file" value="<?php echo esc_attr($file) ?>" />
|
||||||
<input type="hidden" name="plugin" value="<?php echo esc_attr($plugin) ?>" />
|
<input type="hidden" name="plugin" value="<?php echo esc_attr($plugin) ?>" />
|
||||||
|
<input type="hidden" name="scrollto" id="scrollto" value="<?php echo $scrollto; ?>" />
|
||||||
</div>
|
</div>
|
||||||
<?php if ( !empty( $docs_select ) ) : ?>
|
<?php if ( !empty( $docs_select ) ) : ?>
|
||||||
<div id="documentation"><label for="docs-list"><?php _e('Documentation:') ?></label> <?php echo $docs_select ?> <input type="button" class="button" value="<?php esc_attr_e( 'Lookup' ) ?> " onclick="if ( '' != jQuery('#docs-list').val() ) { window.open( 'http://api.wordpress.org/core/handbook/1.0/?function=' + escape( jQuery( '#docs-list' ).val() ) + '&locale=<?php echo urlencode( get_locale() ) ?>&version=<?php echo urlencode( $wp_version ) ?>&redirect=true'); }" /></div>
|
<div id="documentation"><label for="docs-list"><?php _e('Documentation:') ?></label> <?php echo $docs_select ?> <input type="button" class="button" value="<?php esc_attr_e( 'Lookup' ) ?> " onclick="if ( '' != jQuery('#docs-list').val() ) { window.open( 'http://api.wordpress.org/core/handbook/1.0/?function=' + escape( jQuery( '#docs-list' ).val() ) + '&locale=<?php echo urlencode( get_locale() ) ?>&version=<?php echo urlencode( $wp_version ) ?>&redirect=true'); }" /></div>
|
||||||
@ -227,6 +226,14 @@ foreach ( $plugin_files as $plugin_file ) :
|
|||||||
</form>
|
</form>
|
||||||
<br class="clear" />
|
<br class="clear" />
|
||||||
</div>
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* <![CDATA[ */
|
||||||
|
jQuery(document).ready(function($){
|
||||||
|
$('#template').submit(function(){ $('#scrollto').val( $('#newcontent').scrollTop() ); });
|
||||||
|
$('#newcontent').scrollTop( $('#scrollto').val() );
|
||||||
|
});
|
||||||
|
/* ]]> */
|
||||||
|
</script>
|
||||||
<?php
|
<?php
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -9,6 +9,9 @@
|
|||||||
/** WordPress Administration Bootstrap */
|
/** WordPress Administration Bootstrap */
|
||||||
require_once('admin.php');
|
require_once('admin.php');
|
||||||
|
|
||||||
|
if ( !current_user_can('edit_themes') )
|
||||||
|
wp_die('<p>'.__('You do not have sufficient permissions to edit templates for this blog.').'</p>');
|
||||||
|
|
||||||
$title = __("Edit Themes");
|
$title = __("Edit Themes");
|
||||||
$parent_file = 'themes.php';
|
$parent_file = 'themes.php';
|
||||||
|
|
||||||
@ -36,6 +39,7 @@ if (empty($file)) {
|
|||||||
|
|
||||||
$file = validate_file_to_edit($file, $allowed_files);
|
$file = validate_file_to_edit($file, $allowed_files);
|
||||||
$real_file = get_real_file_to_edit($file);
|
$real_file = get_real_file_to_edit($file);
|
||||||
|
$scrollto = isset($_REQUEST['scrollto']) ? (int) $_REQUEST['scrollto'] : 0;
|
||||||
|
|
||||||
$file_show = basename( $file );
|
$file_show = basename( $file );
|
||||||
|
|
||||||
@ -45,9 +49,6 @@ case 'update':
|
|||||||
|
|
||||||
check_admin_referer('edit-theme_' . $file . $theme);
|
check_admin_referer('edit-theme_' . $file . $theme);
|
||||||
|
|
||||||
if ( !current_user_can('edit_themes') )
|
|
||||||
wp_die('<p>'.__('You do not have sufficient permissions to edit templates for this blog.').'</p>');
|
|
||||||
|
|
||||||
$newcontent = stripslashes($_POST['newcontent']);
|
$newcontent = stripslashes($_POST['newcontent']);
|
||||||
$theme = urlencode($theme);
|
$theme = urlencode($theme);
|
||||||
if (is_writeable($real_file)) {
|
if (is_writeable($real_file)) {
|
||||||
@ -56,12 +57,12 @@ case 'update':
|
|||||||
if ($f !== FALSE) {
|
if ($f !== FALSE) {
|
||||||
fwrite($f, $newcontent);
|
fwrite($f, $newcontent);
|
||||||
fclose($f);
|
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 {
|
} else {
|
||||||
$location = "theme-editor.php?file=$file&theme=$theme";
|
$location = "theme-editor.php?file=$file&theme=$theme&scrollto=$scrollto";
|
||||||
}
|
}
|
||||||
} else {
|
} 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);
|
$location = wp_kses_no_null($location);
|
||||||
@ -74,9 +75,6 @@ break;
|
|||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
||||||
if ( !current_user_can('edit_themes') )
|
|
||||||
wp_die('<p>'.__('You do not have sufficient permissions to edit themes for this blog.').'</p>');
|
|
||||||
|
|
||||||
if ( use_codepress() )
|
if ( use_codepress() )
|
||||||
wp_enqueue_script( 'codepress' );
|
wp_enqueue_script( 'codepress' );
|
||||||
|
|
||||||
@ -201,6 +199,7 @@ if ($allowed_files) :
|
|||||||
<input type="hidden" name="action" value="update" />
|
<input type="hidden" name="action" value="update" />
|
||||||
<input type="hidden" name="file" value="<?php echo esc_attr($file) ?>" />
|
<input type="hidden" name="file" value="<?php echo esc_attr($file) ?>" />
|
||||||
<input type="hidden" name="theme" value="<?php echo esc_attr($theme) ?>" />
|
<input type="hidden" name="theme" value="<?php echo esc_attr($theme) ?>" />
|
||||||
|
<input type="hidden" name="scrollto" id="scrollto" value="<?php echo $scrollto; ?>" />
|
||||||
</div>
|
</div>
|
||||||
<?php if ( isset($functions ) && count($functions) ) { ?>
|
<?php if ( isset($functions ) && count($functions) ) { ?>
|
||||||
<div id="documentation">
|
<div id="documentation">
|
||||||
@ -229,6 +228,14 @@ if ($allowed_files) :
|
|||||||
?>
|
?>
|
||||||
<br class="clear" />
|
<br class="clear" />
|
||||||
</div>
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* <![CDATA[ */
|
||||||
|
jQuery(document).ready(function($){
|
||||||
|
$('#template').submit(function(){ $('#scrollto').val( $('#newcontent').scrollTop() ); });
|
||||||
|
$('#newcontent').scrollTop( $('#scrollto').val() );
|
||||||
|
});
|
||||||
|
/* ]]> */
|
||||||
|
</script>
|
||||||
<?php
|
<?php
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user