diff -r c7c34916027a -r 177826044cd9 wp/wp-admin/theme-editor.php --- a/wp/wp-admin/theme-editor.php Mon Oct 14 18:06:33 2019 +0200 +++ b/wp/wp-admin/theme-editor.php Mon Oct 14 18:28:13 2019 +0200 @@ -14,39 +14,45 @@ exit(); } -if ( !current_user_can('edit_themes') ) - wp_die('

'.__('Sorry, you are not allowed to edit templates for this site.').'

'); +if ( ! current_user_can( 'edit_themes' ) ) { + wp_die( '

' . __( 'Sorry, you are not allowed to edit templates for this site.' ) . '

' ); +} -$title = __("Edit Themes"); +$title = __( 'Edit Themes' ); $parent_file = 'themes.php'; -get_current_screen()->add_help_tab( array( -'id' => 'overview', -'title' => __('Overview'), -'content' => - '

' . __( 'You can use the Theme Editor to edit the individual CSS and PHP files which make up your theme.' ) . '

' . - '

' . __( 'Begin by choosing a theme to edit from the dropdown menu and clicking the Select button. A list then appears of the theme’s template files. Clicking once on any file name causes the file to appear in the large Editor box.' ) . '

' . - '

' . __( 'For PHP files, you can use the Documentation dropdown to select from functions recognized in that file. Look Up takes you to a web page with reference material about that particular function.' ) . '

' . - '

' . __( 'When using a keyboard to navigate:' ) . '

' . - '' . - '

' . __( 'After typing in your edits, click Update File.' ) . '

' . - '

' . __( 'Advice: think very carefully about your site crashing if you are live-editing the theme currently in use.' ) . '

' . - /* translators: %s: link to codex article about child themes */ - '

' . sprintf( __( 'Upgrading to a newer version of the same theme will override changes made here. To avoid this, consider creating a child theme instead.' ), __( 'https://codex.wordpress.org/Child_Themes' ) ) . '

' . - ( is_network_admin() ? '

' . __( 'Any edits to files from this screen will be reflected on all sites in the network.' ) . '

' : '' ), -) ); +get_current_screen()->add_help_tab( + array( + 'id' => 'overview', + 'title' => __( 'Overview' ), + 'content' => + '

' . __( 'You can use the theme editor to edit the individual CSS and PHP files which make up your theme.' ) . '

' . + '

' . __( 'Begin by choosing a theme to edit from the dropdown menu and clicking the Select button. A list then appears of the theme’s template files. Clicking once on any file name causes the file to appear in the large Editor box.' ) . '

' . + '

' . __( 'For PHP files, you can use the Documentation dropdown to select from functions recognized in that file. Look Up takes you to a web page with reference material about that particular function.' ) . '

' . + '

' . __( 'When using a keyboard to navigate:' ) . '

' . + '' . + '

' . __( 'After typing in your edits, click Update File.' ) . '

' . + '

' . __( 'Advice: Think very carefully about your site crashing if you are live-editing the theme currently in use.' ) . '

' . + '

' . sprintf( + /* translators: %s: link to documentation on child themes */ + __( 'Upgrading to a newer version of the same theme will override changes made here. To avoid this, consider creating a child theme instead.' ), + __( 'https://developer.wordpress.org/themes/advanced-topics/child-themes/' ) + ) . '

' . + ( is_network_admin() ? '

' . __( 'Any edits to files from this screen will be reflected on all sites in the network.' ) . '

' : '' ), + ) +); get_current_screen()->set_help_sidebar( - '

' . __('For more information:') . '

' . - '

' . __('Documentation on Theme Development') . '

' . - '

' . __('Documentation on Using Themes') . '

' . - '

' . __('Documentation on Editing Files') . '

' . - '

' . __('Documentation on Template Tags') . '

' . - '

' . __('Support Forums') . '

' + '

' . __( 'For more information:' ) . '

' . + '

' . __( 'Documentation on Theme Development' ) . '

' . + '

' . __( 'Documentation on Using Themes' ) . '

' . + '

' . __( 'Documentation on Editing Files' ) . '

' . + '

' . __( 'Documentation on Template Tags' ) . '

' . + '

' . __( 'Support' ) . '

' ); wp_reset_vars( array( 'action', 'error', 'file', 'theme' ) ); @@ -76,12 +82,12 @@ switch ( $type ) { case 'php': $allowed_files += $theme->get_files( 'php', -1 ); - $has_templates = ! empty( $allowed_files ); + $has_templates = ! empty( $allowed_files ); break; case 'css': - $style_files = $theme->get_files( 'css', -1 ); + $style_files = $theme->get_files( 'css', -1 ); $allowed_files['style.css'] = $style_files['style.css']; - $allowed_files += $style_files; + $allowed_files += $style_files; break; default: $allowed_files += $theme->get_files( $type, -1 ); @@ -99,33 +105,35 @@ if ( empty( $file ) ) { $relative_file = 'style.css'; - $file = $allowed_files['style.css']; + $file = $allowed_files['style.css']; } else { $relative_file = wp_unslash( $file ); - $file = $theme->get_stylesheet_directory() . '/' . $relative_file; + $file = $theme->get_stylesheet_directory() . '/' . $relative_file; } validate_file_to_edit( $file, $allowed_files ); // Handle fallback editing of file when JavaScript is not available. -$edit_error = null; +$edit_error = null; $posted_content = null; if ( 'POST' === $_SERVER['REQUEST_METHOD'] ) { $r = wp_edit_theme_plugin_file( wp_unslash( $_POST ) ); if ( is_wp_error( $r ) ) { $edit_error = $r; - if ( check_ajax_referer( 'edit-theme_' . $file . $stylesheet, 'nonce', false ) && isset( $_POST['newcontent'] ) ) { + if ( check_ajax_referer( 'edit-theme_' . $stylesheet . '_' . $relative_file, 'nonce', false ) && isset( $_POST['newcontent'] ) ) { $posted_content = wp_unslash( $_POST['newcontent'] ); } } else { - wp_redirect( add_query_arg( - array( - 'a' => 1, // This means "success" for some reason. - 'theme' => $stylesheet, - 'file' => $relative_file, - ), - admin_url( 'theme-editor.php' ) - ) ); + wp_redirect( + add_query_arg( + array( + 'a' => 1, // This means "success" for some reason. + 'theme' => $stylesheet, + 'file' => $relative_file, + ), + admin_url( 'theme-editor.php' ) + ) + ); exit; } } @@ -141,20 +149,21 @@ update_recently_edited( $file ); - if ( ! is_file( $file ) ) + if ( ! is_file( $file ) ) { $error = true; + } $content = ''; if ( ! empty( $posted_content ) ) { $content = $posted_content; } elseif ( ! $error && filesize( $file ) > 0 ) { - $f = fopen($file, 'r'); - $content = fread($f, filesize($file)); + $f = fopen( $file, 'r' ); + $content = fread( $f, filesize( $file ) ); if ( '.php' == substr( $file, strrpos( $file, '.' ) ) ) { $functions = wp_doc_link_parse( $content ); - $docs_select = ''; $docs_select .= ''; foreach ( $functions as $function ) { $docs_select .= ''; @@ -165,13 +174,13 @@ $content = esc_textarea( $content ); } -$file_description = get_file_description( $relative_file ); -$file_show = array_search( $file, array_filter( $allowed_files ) ); -$description = esc_html( $file_description ); -if ( $file_description != $file_show ) { - $description .= ' (' . esc_html( $file_show ) . ')'; -} -?> + $file_description = get_file_description( $relative_file ); + $file_show = array_search( $file, array_filter( $allowed_files ) ); + $description = esc_html( $file_description ); + if ( $file_description != $file_show ) { + $description .= ' (' . esc_html( $file_show ) . ')'; + } + ?>

@@ -202,19 +211,26 @@
-

display( 'Name' ); if ( $description ) echo ': ' . $description; ?>

+

+display( 'Name' ); +if ( $description ) { + echo ': ' . $description;} +?> +

- + @@ -224,8 +240,9 @@
errors() ) +if ( $theme->errors() ) { echo '

' . __( 'This theme is broken.' ) . ' ' . $theme->errors()->get_error_message() . '

'; +} ?>

@@ -234,8 +251,10 @@
  • %s', + echo sprintf( + __( 'This child theme inherits templates from a parent theme, %s.' ), + sprintf( + '%s', self_admin_url( 'theme-editor.php?theme=' . urlencode( $theme->get_template() ) ), $theme->parent()->display( 'Name' ) ) @@ -251,11 +270,13 @@
  • -

    ' . __('Oops, no such file exists! Double check the name and try again, merci.') . '

    '; -else : ?> +

    ' . __( 'Oops, no such file exists! Double check the name and try again, merci.' ) . '

    '; +else : + ?> - +
    @@ -265,9 +286,9 @@
    - + - +
    @@ -276,7 +297,10 @@ get_stylesheet() == get_template() ) : ?>

    - + +

    @@ -288,12 +312,12 @@

    -

    the Codex for more information.'); ?>

    +

    the Codex for more information.' ); ?>

    -
    @@ -302,7 +326,7 @@ $dismissed_pointers = explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) ); if ( ! in_array( 'theme_editor_notice', $dismissed_pointers, true ) ) : // Get a back URL - $referer = wp_get_referer(); + $referer = wp_get_referer(); $excluded_referer_basenames = array( 'theme-editor.php', 'wp-login.php' ); if ( $referer && ! in_array( basename( parse_url( $referer, PHP_URL_PATH ) ), $excluded_referer_basenames, true ) ) { @@ -310,7 +334,7 @@ } else { $return_url = admin_url( '/' ); } -?> + ?> -