diff options
author | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2006-06-22 18:31:50 +0000 |
---|---|---|
committer | donncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36> | 2006-06-22 18:31:50 +0000 |
commit | d48e85e0ac5e675ca33fac173f30c75403d1033f (patch) | |
tree | 1164430fa3b83a4d9283961b09c1576f2885e6b2 /wp-admin/themes.php | |
parent | 086dcde66603301531efc6d8087bd06d0546f148 (diff) | |
download | wordpress-mu-d48e85e0ac5e675ca33fac173f30c75403d1033f.tar.gz wordpress-mu-d48e85e0ac5e675ca33fac173f30c75403d1033f.tar.xz wordpress-mu-d48e85e0ac5e675ca33fac173f30c75403d1033f.zip |
Moved everything in wp-inst down a directory.
Uses's Ryan Boren's htaccess rules and mods
If you're upgrading, try this on a test server first!
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@591 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'wp-admin/themes.php')
-rw-r--r-- | wp-admin/themes.php | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/wp-admin/themes.php b/wp-admin/themes.php new file mode 100644 index 0000000..f57bd1b --- /dev/null +++ b/wp-admin/themes.php @@ -0,0 +1,142 @@ +<?php +require_once('admin.php'); + +if ( isset($_GET['action']) ) { + check_admin_referer('switch-theme_' . $_GET['template']); + + if ('activate' == $_GET['action']) { + if ( isset($_GET['template']) ) + update_option('template', $_GET['template']); + + if ( isset($_GET['stylesheet']) ) + update_option('stylesheet', $_GET['stylesheet']); + + do_action('switch_theme', get_current_theme()); + + header('Location: themes.php?activated=true'); + exit; + } +} + +$title = __('Manage Themes'); +$parent_file = 'themes.php'; +require_once('admin-header.php'); +?> + +<?php if ( ! validate_current_theme() ) : ?> +<div id="message1" class="updated fade"><p><?php _e('The active theme is broken. Reverting to the default theme.'); ?></p></div> +<?php elseif ( isset($_GET['activated']) ) : ?> +<div id="message2" class="updated fade"><p><?php printf(__('New theme activated. <a href="%s">View site »</a>'), get_bloginfo('home') . '/'); ?></p></div> +<?php endif; ?> + +<?php +$themes = get_themes(); +$ct = current_theme_info(); +$allowed_themes = get_site_option( "allowed_themes" ); +if( $allowed_themes == false ) { + $allowed_themes = $themes; +} +$blog_allowed_themes = get_option( "allowed_themes" ); + +if( is_array( $blog_allowed_themes ) ) + $allowed_themes = array_merge( $allowed_themes, $blog_allowed_themes ); + +if( isset( $allowed_themes[ $ct->title ] ) == false ) { + $allowed_themes[ $ct->title ] = true; +} +reset( $themes ); +while( list( $key, $val ) = each( $themes ) ) { + if( isset( $allowed_themes[ $key ] ) == false ) { + unset( $themes[ $key ] ); + } +} +reset( $themes ); +?> + +<div class="wrap"> +<h2><?php _e('Current Theme'); ?></h2> +<div id="currenttheme"> +<?php if ( $ct->screenshot ) : ?> +<img src="<?php echo get_option('siteurl') . '/' . $ct->stylesheet_dir . '/' . $ct->screenshot; ?>" alt="<?php _e('Current theme preview'); ?>" /> +<?php endif; ?> +<h3><?php printf(__('%1$s %2$s by %3$s'), $ct->title, $ct->version, $ct->author) ; ?></h3> +<p><?php echo $ct->description; ?></p> +</div> + +<h2><?php _e('Available Themes'); ?></h2> +<?php if ( 1 < count($themes) ) { ?> + +<?php +$style = ''; + +$theme_names = array_keys($themes); +natcasesort($theme_names); + +foreach ($theme_names as $theme_name) { + if ( $theme_name == $ct->name ) + continue; + $template = $themes[$theme_name]['Template']; + $stylesheet = $themes[$theme_name]['Stylesheet']; + $title = $themes[$theme_name]['Title']; + $version = $themes[$theme_name]['Version']; + $description = $themes[$theme_name]['Description']; + $author = $themes[$theme_name]['Author']; + $screenshot = $themes[$theme_name]['Screenshot']; + $stylesheet_dir = $themes[$theme_name]['Stylesheet Dir']; + $activate_link = wp_nonce_url("themes.php?action=activate&template=$template&stylesheet=$stylesheet", 'switch-theme_' . $template); +?> +<div class="available-theme"> +<h3><a href="<?php echo $activate_link; ?>"><?php echo "$title $version"; ?></a></h3> + +<a href="<?php echo $activate_link; ?>" class="screenshot"> +<?php if ( $screenshot ) : ?> +<img src="<?php echo get_option('siteurl') . '/' . $stylesheet_dir . '/' . $screenshot; ?>" alt="" /> +<?php endif; ?> +</a> + +<p><?php echo $description; ?></p> +</div> +<?php } // end foreach theme_names ?> + +<?php } ?> + +<?php +// List broken themes, if any. +$broken_themes = get_broken_themes(); +if ( count($broken_themes) ) { +?> + +<h2><?php _e('Broken Themes'); ?></h2> +<p><?php _e('The following themes are installed but incomplete. Themes must have a stylesheet and a template.'); ?></p> + +<table width="100%" cellpadding="3" cellspacing="3"> + <tr> + <th><?php _e('Name'); ?></th> + <th><?php _e('Description'); ?></th> + </tr> +<?php + $theme = ''; + + $theme_names = array_keys($broken_themes); + natcasesort($theme_names); + + foreach ($theme_names as $theme_name) { + $title = $broken_themes[$theme_name]['Title']; + $description = $broken_themes[$theme_name]['Description']; + + $theme = ('class="alternate"' == $theme) ? '' : 'class="alternate"'; + echo " + <tr $theme> + <td>$title</td> + <td>$description</td> + </tr>"; + } +?> +</table> +<?php +} +?> +<br clear="all" /> +</div> + +<?php require('admin-footer.php'); ?> |