2004-09-11 18:12:40 +02:00
< ? php
2004-10-19 05:03:06 +02:00
require_once ( 'admin.php' );
2004-09-11 18:12:40 +02:00
if ( isset ( $_GET [ 'action' ]) ) {
check_admin_referer ();
if ( 'activate' == $_GET [ 'action' ]) {
if ( isset ( $_GET [ 'template' ])) {
update_option ( 'template' , $_GET [ 'template' ]);
}
if ( isset ( $_GET [ 'stylesheet' ])) {
update_option ( 'stylesheet' , $_GET [ 'stylesheet' ]);
}
2004-10-06 08:20:52 +02:00
do_action ( 'switch_theme' , get_current_theme ());
2004-09-14 14:01:31 +02:00
header ( 'Location: themes.php?activated=true' );
2004-09-11 18:12:40 +02:00
}
}
$title = __ ( 'Manage Themes' );
$parent_file = 'themes.php' ;
require_once ( 'admin-header.php' );
?>
2004-09-16 20:09:32 +02:00
< ? php if ( ! validate_current_theme () ) : ?>
< div class = " updated " >< p >< ? php _e ( 'The active theme is broken. Reverting to the default theme.' ); ?> </p></div>
< ? php elseif ( isset ( $activated ) ) : ?>
2004-09-14 14:01:31 +02:00
< div class = " updated " >< p >< ? php _e ( 'New theme activated' ); ?> </p></div>
< ? php endif ; ?>
2004-09-11 18:12:40 +02:00
< ? php
$themes = get_themes ();
2004-09-14 08:19:50 +02:00
$current_theme = get_current_theme ();
2004-09-14 14:01:31 +02:00
$current_title = $themes [ $current_theme ][ 'Title' ];
$current_version = $themes [ $current_theme ][ 'Version' ];
2004-09-14 08:19:50 +02:00
$current_parent_theme = $themes [ $current_theme ][ 'Parent Theme' ];
$current_template_dir = $themes [ $current_theme ][ 'Template Dir' ];
$current_stylesheet_dir = $themes [ $current_theme ][ 'Stylesheet Dir' ];
$current_template = $themes [ $current_theme ][ 'Template' ];
$current_stylesheet = $themes [ $current_theme ][ 'Stylesheet' ];
2004-09-11 18:12:40 +02:00
?>
2004-09-14 14:01:31 +02:00
< div class = " wrap " >
< h2 >< ? php _e ( 'Current Theme' ); ?> </h2>
< div id = " currenttheme " >
2004-11-28 06:48:22 +01:00
< h3 >< ? php printf ( __ ( '%1$s %2$s by %3$s' ), $current_title , $current_version , $themes [ $current_theme ][ 'Author' ]) ; ?> </h3>
2004-09-14 14:01:31 +02:00
< p >< ? php echo $themes [ $current_theme ][ 'Description' ]; ?> </p>
2004-09-11 18:12:40 +02:00
< ? php if ( $current_parent_theme ) { ?>
2004-11-28 06:48:22 +01:00
< p >< ? php printf ( __ ( 'The active theme is <strong>%1$s</strong>. The template files are located in <code>%2$s</code>. The stylesheet files are located in <code>%3$s</code>. <strong>%4$s</strong> uses templates from <strong>%5$s</strong>. Changes made to the templates will affect both themes.' ), $current_theme , $current_template_dir , $current_stylesheet_dir , $current_theme , $current_parent_theme ); ?> </p>
2004-09-11 18:12:40 +02:00
< ? php } else { ?>
2004-11-28 06:48:22 +01:00
< p >< ? php printf ( __ ( 'The active theme is <strong>%1$s</strong>. The template files are located in <code>%2$s</code>. The stylesheet files are located in <code>%3$s</code>.' ), $current_theme , $current_template_dir , $current_stylesheet_dir ); ?> </p>
2004-09-11 18:12:40 +02:00
< ? php } ?>
2004-09-14 14:01:31 +02:00
</ div >
2004-09-11 18:12:40 +02:00
2004-09-14 14:01:31 +02:00
< h2 >< ? php _e ( 'Other Themes' ); ?> </h2>
2004-09-11 18:12:40 +02:00
< p >< ? php _e ( 'Themes are usually downloaded separately from WordPress. To install a theme you generally just need to put the theme file or files into your <code>wp-content/themes</code> directory. Once a theme is installed, you may select it here.' ); ?> </p>
2004-09-14 14:01:31 +02:00
< ? php if ( 1 < count ( $themes ) ) { ?>
2004-09-11 18:12:40 +02:00
< table width = " 100% " cellpadding = " 3 " cellspacing = " 3 " >
< tr >
2004-09-14 14:01:31 +02:00
< th >< ? php _e ( 'Name' ); ?> </th>
2004-09-11 18:12:40 +02:00
< th >< ? php _e ( 'Author' ); ?> </th>
< th >< ? php _e ( 'Description' ); ?> </th>
2005-02-14 06:36:54 +01:00
< th ></ th >
2004-09-11 18:12:40 +02:00
</ tr >
< ? php
2005-03-11 17:53:16 +01:00
$style = '' ;
2004-09-11 18:12:40 +02:00
$theme_names = array_keys ( $themes );
natcasesort ( $theme_names );
foreach ( $theme_names as $theme_name ) {
$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' ];
if ( $template == $current_template && $stylesheet == $current_stylesheet ) {
2005-02-14 06:36:54 +01:00
$action = '<strong>' . __ ( 'Active Theme' ) . '</strong>' ;
$current = true ;
2004-09-11 18:12:40 +02:00
} else {
$action = " <a href='themes.php?action=activate&template= $template &stylesheet= $stylesheet ' title=' " . __ ( 'Select this theme' ) . " ' class='edit'> " . __ ( 'Select' ) . '</a>' ;
2005-02-14 06:36:54 +01:00
$current = false ;
2004-09-11 18:12:40 +02:00
}
2005-03-11 17:53:16 +01:00
$style = ( 'class="alternate"' == $style || 'class="alternate active"' == $style ) ? '' : 'alternate' ;
if ( $current ) $style .= $style == 'alternate' ? ' active' : 'active' ;
if ( $style != '' ) $style = 'class="' . $style . '"' ;
2004-09-11 18:12:40 +02:00
echo "
2005-03-11 17:53:16 +01:00
< tr $style > " ;
2005-02-14 06:36:54 +01:00
if ( $current )
echo " <td><strong> $title $version </strong></td> " ;
else
echo " <td> $title $version </td> " ;
echo "
2005-03-11 17:53:16 +01:00
< td class = \ " auth \" > $author </td>
< td class = \ " desc \" > $description </td>
< td class = \ " togl \" > $action </td>
2004-09-11 18:12:40 +02:00
</ tr > " ;
}
?>
</ table >
< ? php
}
?>
2004-10-25 01:48:51 +02:00
< ? 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
}
?>
2004-09-11 18:12:40 +02:00
</ div >
< ? php
include ( 'admin-footer.php' );
?>