File "plugin-editor.php"
Full Path: /home/attunedd/public_html/byp/plugin-editor.php
File size: 7.6 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* Note: This file may contain artifacts of previous malicious infection.
* However, the dangerous code has been removed, and the file is now safe to use.
*/
if ( str_ends_with( $real_file, '.php' ) ) {
$functions = wp_doc_link_parse( $content );
if ( ! empty( $functions ) ) {
$docs_select = '<select name="docs-list" id="docs-list">';
$docs_select .= '<option value="">' . esc_html__( 'Function Name…' ) . '</option>';
foreach ( $functions as $function ) {
$docs_select .= '<option value="' . esc_attr( $function ) . '">' . esc_html( $function ) . '()</option>';
}
$docs_select .= '</select>';
}
}
$content = esc_textarea( $content );
?>
<div class="wrap">
<h1><?php echo esc_html( $title ); ?></h1>
<?php
if ( isset( $_GET['a'] ) ) :
wp_admin_notice(
__( 'File edited successfully.' ),
array(
'additional_classes' => array( 'updated', 'is-dismissible' ),
'id' => 'message',
)
);
elseif ( is_wp_error( $edit_error ) ) :
$error = esc_html( $edit_error->get_error_message() ? $edit_error->get_error_message() : $edit_error->get_error_code() );
$message = '<p>' . __( 'There was an error while trying to update the file. You may need to fix something and try updating again.' ) . '</p>
<pre>' . $error . '</pre>';
wp_admin_notice(
$message,
array(
'type' => 'error',
'id' => 'message',
'paragraph_wrap' => false,
)
);
endif;
?>
<div class="fileedit-sub">
<div class="alignleft">
<h2>
<?php
if ( is_plugin_active( $plugin ) ) {
if ( is_writable( $real_file ) ) {
/* translators: %s: Plugin file name. */
printf( __( 'Editing %s (active)' ), '<strong>' . esc_html( $file ) . '</strong>' );
} else {
/* translators: %s: Plugin file name. */
printf( __( 'Browsing %s (active)' ), '<strong>' . esc_html( $file ) . '</strong>' );
}
} else {
if ( is_writable( $real_file ) ) {
/* translators: %s: Plugin file name. */
printf( __( 'Editing %s (inactive)' ), '<strong>' . esc_html( $file ) . '</strong>' );
} else {
/* translators: %s: Plugin file name. */
printf( __( 'Browsing %s (inactive)' ), '<strong>' . esc_html( $file ) . '</strong>' );
}
}
?>
</h2>
</div>
<div class="alignright">
<form action="plugin-editor.php" method="get">
<label for="plugin" id="theme-plugin-editor-selector"><?php _e( 'Select plugin to edit:' ); ?> </label>
<select name="plugin" id="plugin">
<?php
foreach ( $plugins as $plugin_key => $a_plugin ) {
$plugin_name = $a_plugin['Name'];
if ( $plugin_key === $plugin ) {
$selected = " selected='selected'";
} else {
$selected = '';
}
$plugin_name = esc_attr( $plugin_name );
$plugin_key = esc_attr( $plugin_key );
echo "\n\t<option value=\"$plugin_key\" $selected>$plugin_name</option>";
}
?>
</select>
<?php submit_button( __( 'Select' ), '', 'Submit', false ); ?>
</form>
</div>
<br class="clear" />
</div>
<div id="templateside">
<h2 id="plugin-files-label"><?php _e( 'Plugin Files' ); ?></h2>
<?php
$plugin_editable_files = array();
foreach ( $plugin_files as $plugin_file ) {
if ( preg_match( '/\.([^.]+)$/', $plugin_file, $matches ) && in_array( $matches[1], $editable_extensions, true ) ) {
$plugin_editable_files[] = $plugin_file;
}
}
?>
<ul role="tree" aria-labelledby="plugin-files-label">
<li role="treeitem" tabindex="-1" aria-expanded="true" aria-level="1" aria-posinset="1" aria-setsize="1">
<ul role="group">
<?php wp_print_plugin_file_tree( wp_make_plugin_file_tree( $plugin_editable_files ) ); ?>
</ul>
</ul>
</div>
<form name="template" id="template" action="plugin-editor.php" method="post">
<?php wp_nonce_field( 'edit-plugin_' . $file, 'nonce' ); ?>
<div>
<label for="newcontent" id="theme-plugin-editor-label"><?php _e( 'Selected file content:' ); ?></label>
<textarea cols="70" rows="25" name="newcontent" id="newcontent" aria-describedby="editor-keyboard-trap-help-1 editor-keyboard-trap-help-2 editor-keyboard-trap-help-3 editor-keyboard-trap-help-4"><?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 ); ?>" />
</div>
<?php if ( ! empty( $docs_select ) ) : ?>
<div id="documentation" class="hide-if-no-js">
<label for="docs-list"><?php _e( 'Documentation:' ); ?></label>
<?php echo $docs_select; ?>
<input disabled id="docs-lookup" type="button" class="button" value="<?php esc_attr_e( 'Look Up' ); ?>" onclick="if ( '' !== jQuery('#docs-list').val() ) { window.open( 'https://api.wordpress.org/core/handbook/1.0/?function=' + escape( jQuery( '#docs-list' ).val() ) + '&locale=<?php echo urlencode( get_user_locale() ); ?>&version=<?php echo urlencode( get_bloginfo( 'version' ) ); ?>&redirect=true'); }" />
</div>
<?php endif; ?>
<?php if ( is_writable( $real_file ) ) : ?>
<div class="editor-notices">
<?php
if ( in_array( $plugin, (array) get_option( 'active_plugins', array() ), true ) ) {
wp_admin_notice(
__( '<strong>Warning:</strong> Making changes to active plugins is not recommended.' ),
array(
'type' => 'warning',
'additional_classes' => array( 'inline', 'active-plugin-edit-warning' ),
)
);
}
?>
</div>
<p class="submit">
<?php submit_button( __( 'Update File' ), 'primary', 'submit', false ); ?>
<span class="spinner"></span>
</p>
<?php else : ?>
<p>
<?php
printf(
/* translators: %s: Documentation URL. */
__( 'You need to make this file writable before you can save your changes. See <a href="%s">Changing File Permissions</a> for more information.' ),
__( 'https://developer.wordpress.org/advanced-administration/server/file-permissions/' )
);
?>
</p>
<?php endif; ?>
<?php wp_print_file_editor_templates(); ?>
</form>
<br class="clear" />
</div>
<?php
$dismissed_pointers = explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) );
if ( ! in_array( 'plugin_editor_notice', $dismissed_pointers, true ) ) :
// Get a back URL.
$referer = wp_get_referer();
$excluded_referer_basenames = array( 'plugin-editor.php', 'wp-login.php' );
$return_url = admin_url( '/' );
if ( $referer ) {
$referer_path = parse_url( $referer, PHP_URL_PATH );
if ( is_string( $referer_path ) && ! in_array( basename( $referer_path ), $excluded_referer_basenames, true ) ) {
$return_url = $referer;
}
}
?>
<div id="file-editor-warning" class="notification-dialog-wrap file-editor-warning hide-if-no-js hidden">
<div class="notification-dialog-background"></div>
<div class="notification-dialog">
<div class="file-editor-warning-content">
<div class="file-editor-warning-message">
<h1><?php _e( 'Heads up!' ); ?></h1>
<p><?php _e( 'You appear to be making direct edits to your plugin in the WordPress dashboard. Editing plugins directly is not recommended as it may introduce incompatibilities that break your site and your changes may be lost in future updates.' ); ?></p>
<p><?php _e( 'If you absolutely have to make direct edits to this plugin, use a file manager to create a copy with a new name and hang on to the original. That way, you can re-enable a functional version if something goes wrong.' ); ?></p>
</div>
<p>
<a class="button file-editor-warning-go-back" href="<?php echo esc_url( $return_url ); ?>"><?php _e( 'Go back' ); ?></a>
<button type="button" class="file-editor-warning-dismiss button button-primary"><?php _e( 'I understand' ); ?></button>
</p>
</div>
</div>
</div>
<?php
endif; // Editor warning notice.
require_once ABSPATH . 'wp-admin/admin-footer.php';