X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/177fd6fefd2e3d5a0ea6591c71d660cabdb3c1a4..4f4e083f6f77639c41e2b1ddb200de8e34301cee:/wp-admin/includes/theme.php?ds=sidebyside diff --git a/wp-admin/includes/theme.php b/wp-admin/includes/theme.php index 7dae5beb..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(); @@ -33,13 +129,11 @@ function get_page_templates() { if ( is_array( $templates ) ) { foreach ( $templates as $template ) { - $template_data = implode( '', file( ABSPATH.$template )); - - preg_match( '|Template Name:(.*)$|mi', $template_data, $name ); - preg_match( '|Description:(.*)$|mi', $template_data, $description ); + $template_data = implode( '', file( WP_CONTENT_DIR.$template )); - $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 );