/** WordPress Administration Bootstrap */
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");
$parent_file = 'plugins.php';
$plugins = get_plugins();
if ( isset($_REQUEST['file']) )
- $plugin = $_REQUEST['file'];
+ $plugin = stripslashes($_REQUEST['file']);
if ( empty($plugin) ) {
$plugin = array_keys($plugins);
if ( empty($file) )
$file = $plugin_files[0];
+else
+ $file = stripslashes($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 ) {
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']);
if ( is_writeable($real_file) ) {
$f = fopen($real_file, 'w+');
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;
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']) ) {
check_admin_referer('edit-plugin-test_' . $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
- wp_redirect("plugin-editor.php?file=$file&a=te");
+ wp_redirect("plugin-editor.php?file=$file&a=te&scrollto=$scrollto");
exit;
}
- if ( use_codepress() )
- wp_enqueue_script( 'codepress' );
-
// List of allowable extensions
$editable_extensions = array('php', 'txt', 'text', 'js', 'css', 'html', 'htm', 'xml', 'inc', 'include');
$editable_extensions = (array) apply_filters('editable_extensions', $editable_extensions);
if ( '.php' == substr( $real_file, strrpos( $real_file, '.' ) ) ) {
$functions = wp_doc_link_parse( $content );
- $docs_select = '<select name="docs-list" id="docs-list">';
- $docs_select .= '<option value="">' . __( 'Function Name...' ) . '</option>';
- foreach ( $functions as $function) {
- $docs_select .= '<option value="' . esc_attr( $function ) . '">' . htmlspecialchars( $function ) . '()</option>';
+ if ( !empty($functions) ) {
+ $docs_select = '<select name="docs-list" id="docs-list">';
+ $docs_select .= '<option value="">' . __( 'Function Name...' ) . '</option>';
+ foreach ( $functions as $function) {
+ $docs_select .= '<option value="' . esc_attr( $function ) . '">' . htmlspecialchars( $function ) . '()</option>';
+ }
+ $docs_select .= '</select>';
}
- $docs_select .= '</select>';
}
$content = htmlspecialchars( $content );
<div class="wrap">
<?php screen_icon(); ?>
<h2><?php echo esc_html( $title ); ?></h2>
-<div class="bordertitle">
- <form id="themeselector" action="plugin-editor.php" method="post">
+
+<div class="fileedit-sub">
+<div class="alignleft">
+<big><?php
+ if ( is_plugin_active($plugin) ) {
+ if ( is_writeable($real_file) )
+ echo sprintf(__('Editing <strong>%s</strong> (active)'), $file);
+ else
+ echo sprintf(__('Browsing <strong>%s</strong> (active)'), $file);
+ } else {
+ if ( is_writeable($real_file) )
+ echo sprintf(__('Editing <strong>%s</strong> (inactive)'), $file);
+ else
+ echo sprintf(__('Browsing <strong>%s</strong> (inactive)'), $file);
+ }
+ ?></big>
+</div>
+<div class="alignright">
+ <form action="plugin-editor.php" method="post">
<strong><label for="plugin"><?php _e('Select plugin to edit:'); ?> </label></strong>
<select name="plugin" id="plugin">
<?php
<input type="submit" name="Submit" value="<?php esc_attr_e('Select') ?>" class="button" />
</form>
</div>
-<div class="tablenav">
-<div class="alignleft">
-<big><?php
- if ( is_plugin_active($plugin) ) {
- if ( is_writeable($real_file) )
- echo sprintf(__('Editing <strong>%s</strong> (active)'), $file);
- else
- echo sprintf(__('Browsing <strong>%s</strong> (active)'), $file);
- } else {
- if ( is_writeable($real_file) )
- echo sprintf(__('Editing <strong>%s</strong> (inactive)'), $file);
- else
- echo sprintf(__('Browsing <strong>%s</strong> (inactive)'), $file);
- }
- ?></big>
-</div>
<br class="clear" />
</div>
-<br class="clear" />
- <div id="templateside">
- <h3 id="bordertitle"><?php _e('Plugin Files'); ?></h3>
+
+<div id="templateside">
+ <h3><?php _e('Plugin Files'); ?></h3>
<ul>
<?php
<li<?php echo $file == $plugin_file ? ' class="highlight"' : ''; ?>><a href="plugin-editor.php?file=<?php echo $plugin_file; ?>&plugin=<?php echo $plugin; ?>"><?php echo $plugin_file ?></a></li>
<?php endforeach; ?>
</ul>
- </div>
- <form name="template" id="template" action="plugin-editor.php" method="post">
+</div>
+<form name="template" id="template" action="plugin-editor.php" method="post">
<?php wp_nonce_field('edit-plugin_' . $file) ?>
<div><textarea cols="70" rows="25" name="newcontent" id="newcontent" tabindex="1" class="codepress <?php echo $codepress_lang ?>"><?php echo $content ?></textarea>
<input type="hidden" name="action" value="update" />
<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="scrollto" id="scrollto" value="<?php echo $scrollto; ?>" />
</div>
- <?php if ( isset( $functions ) ) : ?>
+ <?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>
<?php endif; ?>
<?php if ( is_writeable($real_file) ) : ?>
<?php else : ?>
<p><em><?php _e('You need to make this file writable before you can save your changes. See <a href="http://codex.wordpress.org/Changing_File_Permissions">the Codex</a> for more information.'); ?></em></p>
<?php endif; ?>
- </form>
-<div class="clear"> </div>
+</form>
+<br class="clear" />
</div>
+<script type="text/javascript">
+/* <![CDATA[ */
+jQuery(document).ready(function($){
+ $('#template').submit(function(){ $('#scrollto').val( $('#newcontent').scrollTop() ); });
+ $('#newcontent').scrollTop( $('#scrollto').val() );
+});
+/* ]]> */
+</script>
<?php
break;
}
-include("admin-footer.php") ?>
+include("admin-footer.php");