X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/76aea3697c6043c1613370f172395b4f65ee71f0..d3b1ea255664edd2deef17f900a655613d20820d:/wp-admin/includes/theme.php diff --git a/wp-admin/includes/theme.php b/wp-admin/includes/theme.php index ec670ce6..f6eb03df 100644 --- a/wp-admin/includes/theme.php +++ b/wp-admin/includes/theme.php @@ -1,5 +1,18 @@ errors) && $wp_filesystem->errors->get_error_code() ) + return new WP_Error('fs_error', __('Filesystem error'), $wp_filesystem->errors); + + //Get the base plugin folder + $themes_dir = $wp_filesystem->wp_themes_dir(); + if ( empty($themes_dir) ) + return new WP_Error('fs_no_themes_dir', __('Unable to locate WordPress theme directory.')); + + $themes_dir = trailingslashit( $themes_dir ); + + $errors = array(); + + $theme_dir = trailingslashit($themes_dir . $template); + $deleted = $wp_filesystem->delete($theme_dir, true); + + if ( ! $deleted ) + return new WP_Error('could_not_remove_theme', sprintf(__('Could not fully remove the theme %s'), $template) ); + + // Force refresh of theme update information + delete_transient('update_themes'); + + return true; +} + +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @return unknown + */ function get_broken_themes() { global $wp_broken_themes; @@ -25,6 +114,13 @@ function get_broken_themes() { return $wp_broken_themes; } +/** + * {@internal Missing Short Description}} + * + * @since unknown + * + * @return unknown + */ function get_page_templates() { $themes = get_themes(); $theme = get_current_theme(); @@ -35,11 +131,9 @@ function get_page_templates() { foreach ( $templates as $template ) { $template_data = implode( '', file( WP_CONTENT_DIR.$template )); - preg_match( '|Template Name:(.*)$|mi', $template_data, $name ); - preg_match( '|Description:(.*)$|mi', $template_data, $description ); - - $name = $name[1]; - $description = $description[1]; + $name = ''; + if ( preg_match( '|Template Name:(.*)$|mi', $template_data, $name ) ) + $name = _cleanup_header_comment($name[1]); if ( !empty( $name ) ) { $page_templates[trim( $name )] = basename( $template );