X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/dc1231b7312fbdca99e9e887cc2bb35a28f85cdc..refs/tags/wordpress-4.4:/wp-admin/includes/file.php?ds=sidebyside diff --git a/wp-admin/includes/file.php b/wp-admin/includes/file.php index df489491..3b4d1c6e 100644 --- a/wp-admin/includes/file.php +++ b/wp-admin/includes/file.php @@ -1,11 +1,14 @@ __( 'RTL Stylesheet' ), 'comments.php' => __( 'Comments' ), 'comments-popup.php' => __( 'Popup Comments' ), - 'footer.php' => __( 'Footer' ), - 'header.php' => __( 'Header' ), + 'footer.php' => __( 'Theme Footer' ), + 'header.php' => __( 'Theme Header' ), 'sidebar.php' => __( 'Sidebar' ), 'archive.php' => __( 'Archives' ), 'author.php' => __( 'Author Template' ), @@ -52,18 +55,21 @@ $wp_file_descriptions = array( * * @global array $wp_file_descriptions * @param string $file Filesystem path or filename - * @return string Description of file from $wp_file_descriptions or basename of $file if description doesn't exist + * @return string Description of file from $wp_file_descriptions or basename of $file if description doesn't exist. + * Appends 'Page Template' to basename of $file if the file is a page template */ function get_file_description( $file ) { - global $wp_file_descriptions; - - if ( isset( $wp_file_descriptions[basename( $file )] ) ) { - return $wp_file_descriptions[basename( $file )]; - } - elseif ( file_exists( $file ) && is_file( $file ) ) { - $template_data = implode( '', file( $file ) ); - if ( preg_match( '|Template Name:(.*)$|mi', $template_data, $name )) - return sprintf( __( '%s Page Template' ), _cleanup_header_comment($name[1]) ); + global $wp_file_descriptions, $allowed_files; + + $relative_pathinfo = pathinfo( $file ); + $file_path = $allowed_files[ $file ]; + if ( isset( $wp_file_descriptions[ basename( $file ) ] ) && '.' === $relative_pathinfo['dirname'] ) { + return $wp_file_descriptions[ basename( $file ) ]; + } elseif ( file_exists( $file_path ) && is_file( $file_path ) ) { + $template_data = implode( '', file( $file_path ) ); + if ( preg_match( '|Template Name:(.*)$|mi', $template_data, $name ) ) { + return sprintf( __( '%s Page Template' ), _cleanup_header_comment( $name[1] ) ); + } } return trim( basename( $file ) ); @@ -154,14 +160,23 @@ function wp_tempnam( $filename = '', $dir = '' ) { $temp_filename = basename( $filename ); $temp_filename = preg_replace( '|\.[^.]*$|', '', $temp_filename ); - // If the folder is falsey, use it's parent directory name instead + // If the folder is falsey, use its parent directory name instead. if ( ! $temp_filename ) { return wp_tempnam( dirname( $filename ), $dir ); } + // Suffix some random data to avoid filename conflicts + $temp_filename .= '-' . wp_generate_password( 6, false ); $temp_filename .= '.tmp'; $temp_filename = $dir . wp_unique_filename( $dir, $temp_filename ); - touch( $temp_filename ); + + $fp = @fopen( $temp_filename, 'x' ); + if ( ! $fp && is_writable( $dir ) && file_exists( $temp_filename ) ) { + return wp_tempnam( $filename, $dir ); + } + if ( $fp ) { + fclose( $fp ); + } return $temp_filename; } @@ -340,7 +355,9 @@ function _wp_handle_upload( &$file, $overrides, $time, $action ) { if ( 'wp_handle_upload' === $action ) { $move_new_file = @ move_uploaded_file( $file['tmp_name'], $new_file ); } else { - $move_new_file = @ rename( $file['tmp_name'], $new_file ); + // use copy and unlink because rename breaks streams. + $move_new_file = @ copy( $file['tmp_name'], $new_file ); + unlink( $file['tmp_name'] ); } if ( false === $move_new_file ) { @@ -560,7 +577,7 @@ function unzip_file($file, $to) { * * @param bool $ziparchive Whether to use ZipArchive. Default true. */ - if ( class_exists( 'ZipArchive' ) && apply_filters( 'unzip_file_use_ziparchive', true ) ) { + if ( class_exists( 'ZipArchive', false ) && apply_filters( 'unzip_file_use_ziparchive', true ) ) { $result = _unzip_file_ziparchive($file, $to, $needed_dirs); if ( true === $result ) { return $result; @@ -849,7 +866,7 @@ function WP_Filesystem( $args = false, $context = false, $allow_relaxed_file_own if ( ! $method ) return false; - if ( ! class_exists("WP_Filesystem_$method") ) { + if ( ! class_exists( "WP_Filesystem_$method" ) ) { /** * Filter the path for a specific filesystem method class file. @@ -910,7 +927,7 @@ function WP_Filesystem( $args = false, $context = false, $allow_relaxed_file_own * * @since 2.5.0 * - * @global callback $_wp_filesystem_direct_method + * @global callable $_wp_filesystem_direct_method * * @param array $args Optional. Connection details. Default empty array. * @param string $context Optional. Full path to the directory that is tested @@ -996,6 +1013,8 @@ function get_filesystem_method( $args = array(), $context = false, $allow_relaxe * * @todo Properly mark optional arguments as such * + * @global string $pagenow + * * @param string $form_post the URL to post the form to * @param string $type the chosen Filesystem method in use * @param bool $error if the current request has failed to connect @@ -1005,6 +1024,7 @@ function get_filesystem_method( $args = array(), $context = false, $allow_relaxe * @return bool False on failure. True on success. */ function request_filesystem_credentials($form_post, $type = '', $error = false, $context = false, $extra_fields = null, $allow_relaxed_file_ownership = false ) { + global $pagenow; /** * Filter the filesystem credentials form output. @@ -1079,7 +1099,7 @@ function request_filesystem_credentials($form_post, $type = '', $error = false, $stored_credentials['hostname'] .= ':' . $stored_credentials['port']; unset($stored_credentials['password'], $stored_credentials['port'], $stored_credentials['private_key'], $stored_credentials['public_key']); - if ( ! defined( 'WP_INSTALLING' ) ) { + if ( ! wp_installing() ) { update_option( 'ftp_credentials', $stored_credentials ); } return $credentials; @@ -1136,7 +1156,14 @@ jQuery(function($){
-

+" . __( 'Connection Information' ) . ""; +?>

-

+
+ +
-

-
+
+ $text ) : ?> @@ -1232,7 +1261,7 @@ function wp_print_request_filesystem_credentials_modal() {