From 6ed2dfd478332d07560e240f54a33093310da424 Mon Sep 17 00:00:00 2001 From: westi Date: Mon, 21 Sep 2009 21:43:41 +0000 Subject: [PATCH] Move theme preview away from using create_function and to predefined functions. See #10729. git-svn-id: http://svn.automattic.com/wordpress/trunk@11957 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/theme.php | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/wp-includes/theme.php b/wp-includes/theme.php index 25ad83b01..19b04e347 100644 --- a/wp-includes/theme.php +++ b/wp-includes/theme.php @@ -886,13 +886,13 @@ function preview_theme() { if ( validate_file($_GET['template']) ) return; - add_filter( 'template', create_function('', "return '{$_GET['template']}';") ); + add_filter( 'template', '_preview_theme_template_filter' ); if ( isset($_GET['stylesheet']) ) { $_GET['stylesheet'] = preg_replace('|[^a-z0-9_./-]|i', '', $_GET['stylesheet']); if ( validate_file($_GET['stylesheet']) ) return; - add_filter( 'stylesheet', create_function('', "return '{$_GET['stylesheet']}';") ); + add_filter( 'stylesheet', '_preview_theme_stylesheet_filter' ); } // Prevent theme mods to current theme being used on theme being previewed @@ -902,6 +902,24 @@ function preview_theme() { } add_action('setup_theme', 'preview_theme'); +/** + * Private function to modify the current template when previewing a theme + * + * @return string + */ +function _preview_theme_template_filter() { + return isset($_GET['template']) ? $_GET['template'] : ''; +} + +/** + * Private function to modify the current stylesheet when previewing a theme + * + * @return string + */ +function _preview_theme_stylesheet_filter() { + return isset($_GET['stylesheet']) ? $_GET['stylesheet'] : ''; +} + /** * Callback function for ob_start() to capture all links in the theme. *