2004-02-13 10:59:47 +01:00
< ? php
2008-08-16 09:27:34 +02:00
/**
* General settings administration panel .
*
* @ package WordPress
* @ subpackage Administration
*/
/** WordPress Administration Bootstrap */
2006-01-10 06:16:17 +01:00
require_once ( './admin.php' );
2006-11-18 08:31:29 +01:00
2010-03-18 18:46:25 +01:00
if ( ! current_user_can ( 'manage_options' ) )
wp_die ( __ ( 'You do not have sufficient permissions to manage options for this site.' ) );
2009-08-01 23:12:17 +02:00
2008-02-14 01:39:38 +01:00
$title = __ ( 'General Settings' );
2008-08-22 01:18:51 +02:00
$parent_file = 'options-general.php' ;
2009-03-25 17:55:28 +01:00
/* translators: date and time format for exact current time, mainly about timezones, see http://php.net/date */
$timezone_format = _x ( 'Y-m-d G:i:s' , 'timezone date format' );
2006-11-18 08:31:29 +01:00
2008-10-13 20:32:16 +02:00
/**
* Display JavaScript on the page .
*
* @ package WordPress
* @ subpackage General_Settings_Panel
*/
function add_js () {
?>
< script type = " text/javascript " >
//<![CDATA[
jQuery ( document ) . ready ( function ( $ ){
$ ( " input[name='date_format'] " ) . click ( function (){
if ( " date_format_custom_radio " != $ ( this ) . attr ( " id " ) )
$ ( " input[name='date_format_custom'] " ) . val ( $ ( this ) . val () );
});
$ ( " input[name='date_format_custom'] " ) . focus ( function (){
$ ( " #date_format_custom_radio " ) . attr ( " checked " , " checked " );
});
$ ( " input[name='time_format'] " ) . click ( function (){
if ( " time_format_custom_radio " != $ ( this ) . attr ( " id " ) )
$ ( " input[name='time_format_custom'] " ) . val ( $ ( this ) . val () );
});
$ ( " input[name='time_format_custom'] " ) . focus ( function (){
$ ( " #time_format_custom_radio " ) . attr ( " checked " , " checked " );
});
});
//]]>
</ script >
< ? php
}
add_filter ( 'admin_head' , 'add_js' );
2010-01-15 17:58:36 +01:00
add_contextual_help ( $current_screen , __ ( '<a href="http://codex.wordpress.org/Settings_General_SubPanel" target="_blank">General Settings</a>' ));
2006-01-10 06:16:17 +01:00
include ( './admin-header.php' );
2004-02-13 10:59:47 +01:00
?>
2007-06-14 04:25:30 +02:00
2006-01-10 06:16:17 +01:00
< div class = " wrap " >
2008-11-26 14:51:25 +01:00
< ? php screen_icon (); ?>
2009-05-18 17:11:07 +02:00
< h2 >< ? php echo esc_html ( $title ); ?> </h2>
2008-10-17 22:02:03 +02:00
2007-09-04 01:32:58 +02:00
< form method = " post " action = " options.php " >
2008-10-20 01:35:09 +02:00
< ? php settings_fields ( 'general' ); ?>
2008-10-14 03:18:52 +02:00
2008-02-24 05:33:10 +01:00
< table class = " form-table " >
2007-09-04 01:32:58 +02:00
< tr valign = " top " >
2010-03-18 18:46:25 +01:00
< th scope = " row " >< label for = " blogname " >< ? php _e ( 'Site Title' ) ?> </label></th>
2008-10-28 23:07:39 +01:00
< td >< input name = " blogname " type = " text " id = " blogname " value = " <?php form_option('blogname'); ?> " class = " regular-text " /></ td >
2007-09-04 01:32:58 +02:00
</ tr >
< tr valign = " top " >
2008-05-04 12:37:06 +02:00
< th scope = " row " >< label for = " blogdescription " >< ? php _e ( 'Tagline' ) ?> </label></th>
2008-10-28 23:07:39 +01:00
< td >< input name = " blogdescription " type = " text " id = " blogdescription " value = " <?php form_option('blogdescription'); ?> " class = " regular-text " />
2010-03-18 18:46:25 +01:00
< span class = " description " >< ? php _e ( 'In a few words, explain what this site is about.' ) ?> </span></td>
2007-09-04 01:32:58 +02:00
</ tr >
2010-01-12 22:11:52 +01:00
< ? php if ( ! is_multisite () ) { ?>
2007-09-04 01:32:58 +02:00
< tr valign = " top " >
2008-05-04 12:37:06 +02:00
< th scope = " row " >< label for = " siteurl " >< ? php _e ( 'WordPress address (URL)' ) ?> </label></th>
2010-03-11 18:30:02 +01:00
< td >< input name = " siteurl " type = " text " id = " siteurl " value = " <?php form_option('siteurl'); ?> " < ? php disabled ( defined ( 'WP_SITEURL' ) ); ?> class="regular-text code<?php if ( defined( 'WP_SITEURL' ) ) echo ' disabled' ?>" /></td>
2007-09-04 01:32:58 +02:00
</ tr >
2005-08-07 21:23:41 +02:00
< tr valign = " top " >
2010-03-18 18:46:25 +01:00
< th scope = " row " >< label for = " home " >< ? php _e ( 'Site address (URL)' ) ?> </label></th>
2010-03-11 18:30:02 +01:00
< td >< input name = " home " type = " text " id = " home " value = " <?php form_option('home'); ?> " < ? php disabled ( defined ( 'WP_HOME' ) ); ?> class="regular-text code<?php if ( defined( 'WP_HOME' ) ) echo ' disabled' ?>" />
2010-03-18 18:46:25 +01:00
< span class = " description " >< ? php _e ( 'Enter the address here if you want your site homepage <a href="http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory">to be different from the directory</a> you installed WordPress.' ); ?> </span></td>
2005-08-07 21:23:41 +02:00
</ tr >
2007-09-04 01:32:58 +02:00
< tr valign = " top " >
2008-05-04 12:37:06 +02:00
< th scope = " row " >< label for = " admin_email " >< ? php _e ( 'E-mail address' ) ?> </label></th>
2009-04-17 03:04:00 +02:00
< td >< input name = " admin_email " type = " text " id = " admin_email " value = " <?php form_option('admin_email'); ?> " class = " regular-text " />
2009-04-30 04:33:22 +02:00
< span class = " description " >< ? php _e ( 'This address is used for admin purposes, like new user notification.' ) ?> </span></td>
2005-08-07 21:23:41 +02:00
</ tr >
2007-09-04 01:32:58 +02:00
< tr valign = " top " >
2008-02-14 06:19:39 +01:00
< th scope = " row " >< ? php _e ( 'Membership' ) ?> </th>
2009-05-13 00:40:56 +02:00
< td > < fieldset >< legend class = " screen-reader-text " >< span >< ? php _e ( 'Membership' ) ?> </span></legend><label for="users_can_register">
2007-09-04 01:32:58 +02:00
< input name = " users_can_register " type = " checkbox " id = " users_can_register " value = " 1 " < ? php checked ( '1' , get_option ( 'users_can_register' )); ?> />
2008-10-27 18:03:20 +01:00
< ? php _e ( 'Anyone can register' ) ?> </label>
2008-05-04 12:37:06 +02:00
</ fieldset ></ td >
2007-09-04 01:32:58 +02:00
</ tr >
< tr valign = " top " >
2008-05-04 12:37:06 +02:00
< th scope = " row " >< label for = " default_role " >< ? php _e ( 'New User Default Role' ) ?> </label></th>
< td >
< select name = " default_role " id = " default_role " >< ? php wp_dropdown_roles ( get_option ( 'default_role' ) ); ?> </select>
2007-09-04 01:32:58 +02:00
</ td >
</ tr >
2010-01-12 22:11:52 +01:00
< ? php } else { ?>
< tr valign = " top " >
< th scope = " row " >< label for = " new_admin_email " >< ? php _e ( 'E-mail address' ) ?> </label></th>
< td >< input name = " new_admin_email " type = " text " id = " new_admin_email " value = " <?php form_option('admin_email'); ?> " class = " regular-text code " />
2010-02-26 22:19:10 +01:00
< span class = " setting-description " >< ? php _e ( 'This address is used for admin purposes. If you change this we will send you an e-mail at your new address to confirm it. <strong>The new address will not become active until confirmed.</strong>' ) ?> </span>
< ? php
2010-03-15 18:18:00 +01:00
$new_admin_email = get_option ( 'new_admin_email' );
if ( $new_admin_email && $new_admin_email != get_option ( 'admin_email' ) ) : ?>
2010-02-26 22:19:10 +01:00
< div class = " updated inline " >
2010-05-03 20:16:22 +02:00
< p >< ? php printf ( __ ( 'There is a pending change of the admin e-mail to <code>%1$s</code>. <a href="%2$s">Cancel</a>' ), $new_admin_email , esc_url ( admin_url ( 'options.php?dismiss=new_admin_email' ) ) ); ?> </p>
2010-02-26 22:19:10 +01:00
</ div >
< ? php endif ; ?>
</ td >
2010-01-12 22:11:52 +01:00
</ tr >
< ? php } ?>
2007-09-04 01:32:58 +02:00
< tr >
2009-03-18 03:43:45 +01:00
< ? php
2009-05-14 04:00:32 +02:00
if ( ! wp_timezone_supported () ) : // no magic timezone support here
2009-03-10 01:50:00 +01:00
?>
2008-05-04 12:37:06 +02:00
< th scope = " row " >< label for = " gmt_offset " >< ? php _e ( 'Timezone' ) ?> </label></th>
2008-02-20 07:50:52 +01:00
< td >
2008-05-04 12:37:06 +02:00
< select name = " gmt_offset " id = " gmt_offset " >
2008-03-02 21:17:30 +01:00
< ? php
2008-02-20 07:50:52 +01:00
$current_offset = get_option ( 'gmt_offset' );
2008-02-29 20:00:52 +01:00
$offset_range = array ( - 12 , - 11.5 , - 11 , - 10.5 , - 10 , - 9.5 , - 9 , - 8.5 , - 8 , - 7.5 , - 7 , - 6.5 , - 6 , - 5.5 , - 5 , - 4.5 , - 4 , - 3.5 , - 3 , - 2.5 , - 2 , - 1.5 , - 1 , - 0.5 ,
2008-03-12 09:38:21 +01:00
0 , 0.5 , 1 , 1.5 , 2 , 2.5 , 3 , 3.5 , 4 , 4.5 , 5 , 5.5 , 5.75 , 6 , 6.5 , 7 , 7.5 , 8 , 8.5 , 8.75 , 9 , 9.5 , 10 , 10.5 , 11 , 11.5 , 12 , 12.75 , 13 , 13.75 , 14 );
2008-02-29 20:00:52 +01:00
foreach ( $offset_range as $offset ) {
2008-02-20 07:50:52 +01:00
if ( 0 < $offset )
$offset_name = '+' . $offset ;
elseif ( 0 == $offset )
$offset_name = '' ;
else
$offset_name = ( string ) $offset ;
2008-03-12 09:38:21 +01:00
$offset_name = str_replace ( array ( '.25' , '.5' , '.75' ), array ( ':15' , ':30' , ':45' ), $offset_name );
2008-02-20 07:50:52 +01:00
$selected = '' ;
if ( $current_offset == $offset ) {
$selected = " selected='selected' " ;
$current_offset_name = $offset_name ;
}
2009-05-05 21:43:53 +02:00
echo " <option value= \" " . esc_attr ( $offset ) . " \" $selected > " . sprintf ( __ ( 'UTC %s' ), $offset_name ) . '</option>' ;
2008-02-20 07:50:52 +01:00
}
?>
</ select >
2009-05-14 04:00:32 +02:00
< ? php _e ( 'hours' ); ?>
2009-03-25 17:55:28 +01:00
< span id = " utc-time " >< ? php printf ( __ ( '<abbr title="Coordinated Universal Time">UTC</abbr> time is <code>%s</code>' ), date_i18n ( $time_format , false , 'gmt' )); ?> </span>
2008-10-25 21:55:56 +02:00
< ? php if ( $current_offset ) : ?>
2009-03-25 17:55:28 +01:00
< span id = " local-time " >< ? php printf ( __ ( 'UTC %1$s is <code>%2$s</code>' ), $current_offset_name , date_i18n ( $time_format )); ?> </span>
2008-10-25 21:55:56 +02:00
< ? php endif ; ?>
2009-04-30 04:33:22 +02:00
< br />
2010-04-04 10:15:20 +02:00
< span class = " description " >< ? php _e ( 'Unfortunately, you have to manually update this for daylight saving time. The PHP Date/Time library is not supported by your web host.' ); ?> </span>
2008-02-20 07:50:52 +01:00
</ td >
2009-03-18 03:43:45 +01:00
< ? php
2009-03-10 01:50:00 +01:00
else : // looks like we can do nice timezone selection!
$current_offset = get_option ( 'gmt_offset' );
2009-03-10 17:14:50 +01:00
$tzstring = get_option ( 'timezone_string' );
2009-12-23 15:16:36 +01:00
$check_zone_info = true ;
// Remove old Etc mappings. Fallback to gmt_offset.
if ( false !== strpos ( $tzstring , 'Etc/GMT' ) )
$tzstring = '' ;
2010-03-06 10:49:11 +01:00
if ( empty ( $tzstring ) ) { // Create a UTC+- zone if no timezone string exists
2009-12-23 15:16:36 +01:00
$check_zone_info = false ;
if ( 0 == $current_offset )
$tzstring = 'UTC+0' ;
elseif ( $current_offset < 0 )
$tzstring = 'UTC' . $current_offset ;
else
$tzstring = 'UTC+' . $current_offset ;
2009-03-10 17:14:50 +01:00
}
2009-12-23 15:16:36 +01:00
2009-03-10 01:50:00 +01:00
?>
< th scope = " row " >< label for = " timezone_string " >< ? php _e ( 'Timezone' ) ?> </label></th>
< td >
< select id = " timezone_string " name = " timezone_string " >
2009-03-10 17:14:50 +01:00
< ? php echo wp_timezone_choice ( $tzstring ); ?>
2009-03-10 01:50:00 +01:00
</ select >
2009-03-25 17:55:28 +01:00
< span id = " utc-time " >< ? php printf ( __ ( '<abbr title="Coordinated Universal Time">UTC</abbr> time is <code>%s</code>' ), date_i18n ( $timezone_format , false , 'gmt' )); ?> </span>
2010-05-19 18:25:55 +02:00
< ? php if ( get_option ( 'timezone_string' ) || ! empty ( $current_offset ) ) : ?>
2009-04-06 18:16:39 +02:00
< span id = " local-time " >< ? php printf ( __ ( 'Local time is <code>%1$s</code>' ), date_i18n ( $timezone_format )); ?> </span>
< ? php endif ; ?>
2009-04-30 04:33:22 +02:00
< br />
< span class = " description " >< ? php _e ( 'Choose a city in the same timezone as you.' ); ?> </span>
2010-03-06 10:47:38 +01:00
< ? php if ( $check_zone_info && $tzstring ) : ?>
2009-04-06 18:16:39 +02:00
< br />
< span >
2009-03-10 17:14:50 +01:00
< ? php
2010-03-15 02:57:36 +01:00
// Set TZ so localtime works.
date_default_timezone_set ( $tzstring );
2010-03-06 10:49:11 +01:00
$now = localtime ( time (), true );
if ( $now [ 'tm_isdst' ] )
_e ( 'This timezone is currently in daylight saving time.' );
else
_e ( 'This timezone is currently in standard time.' );
2009-03-10 17:14:50 +01:00
?>
< br />
< ? php
2010-03-06 10:49:11 +01:00
if ( function_exists ( 'timezone_transitions_get' ) ) {
$found = false ;
$date_time_zone_selected = new DateTimeZone ( $tzstring );
2010-03-15 02:57:36 +01:00
$tz_offset = timezone_offset_get ( $date_time_zone_selected , date_create ());
$right_now = time ();
2010-03-06 10:49:11 +01:00
foreach ( timezone_transitions_get ( $date_time_zone_selected ) as $tr ) {
2010-03-15 02:57:36 +01:00
if ( $tr [ 'ts' ] > $right_now ) {
2009-06-18 19:40:40 +02:00
$found = true ;
2009-03-10 17:14:50 +01:00
break ;
}
}
2009-03-18 03:43:45 +01:00
2010-03-06 10:49:11 +01:00
if ( $found ) {
2009-03-25 17:55:28 +01:00
echo ' ' ;
2009-03-11 16:46:16 +01:00
$message = $tr [ 'isdst' ] ?
2010-02-26 06:46:08 +01:00
__ ( 'Daylight saving time begins on: <code>%s</code>.' ) :
2009-04-06 18:16:39 +02:00
__ ( 'Standard time begins on: <code>%s</code>.' );
2010-03-15 02:57:36 +01:00
// Add the difference between the current offset and the new offset to ts to get the correct transition time from date_i18n().
printf ( $message , date_i18n ( get_option ( 'date_format' ) . ' ' . get_option ( 'time_format' ), $tr [ 'ts' ] + ( $tz_offset - $tr [ 'offset' ]) ) );
2009-03-10 17:14:50 +01:00
} else {
2010-02-26 06:46:08 +01:00
_e ( 'This timezone does not observe daylight saving time.' );
2009-03-10 17:14:50 +01:00
}
}
2010-03-15 02:57:36 +01:00
// Set back to UTC.
date_default_timezone_set ( 'UTC' );
2009-03-10 17:14:50 +01:00
?>
</ span >
2009-03-10 01:50:00 +01:00
< ? php endif ; ?>
</ td >
< ? php endif ; ?>
2005-08-07 21:23:41 +02:00
</ tr >
< tr >
2008-10-17 05:49:43 +02:00
< th scope = " row " >< ? php _e ( 'Date Format' ) ?> </th>
2008-10-13 20:32:16 +02:00
< td >
2009-05-13 00:40:56 +02:00
< fieldset >< legend class = " screen-reader-text " >< span >< ? php _e ( 'Date Format' ) ?> </span></legend>
2008-10-13 20:32:16 +02:00
< ? php
$date_formats = apply_filters ( 'date_formats' , array (
__ ( 'F j, Y' ),
'Y/m/d' ,
'm/d/Y' ,
'd/m/Y' ,
) );
2010-03-06 10:49:11 +01:00
$custom = true ;
2008-10-13 20:32:16 +02:00
foreach ( $date_formats as $format ) {
2009-05-05 21:43:53 +02:00
echo " \t <label title=' " . esc_attr ( $format ) . " '><input type='radio' name='date_format' value=' " . esc_attr ( $format ) . " ' " ;
2008-10-13 20:32:16 +02:00
if ( get_option ( 'date_format' ) === $format ) { // checked() uses "==" rather than "==="
echo " checked='checked' " ;
2010-03-06 10:49:11 +01:00
$custom = false ;
2008-10-13 20:32:16 +02:00
}
2008-11-17 22:31:46 +01:00
echo ' /> ' . date_i18n ( $format ) . " </label><br /> \n " ;
2008-10-13 20:32:16 +02:00
}
echo ' <label><input type="radio" name="date_format" id="date_format_custom_radio" value="\c\u\s\t\o\m"' ;
2009-02-27 23:15:14 +01:00
checked ( $custom );
2009-05-05 21:43:53 +02:00
echo '/> ' . __ ( 'Custom:' ) . ' </label><input type="text" name="date_format_custom" value="' . esc_attr ( get_option ( 'date_format' ) ) . '" class="small-text" /> ' . date_i18n ( get_option ( 'date_format' ) ) . " \n " ;
2008-10-13 20:32:16 +02:00
2009-05-05 06:28:05 +02:00
echo " \t <p> " . __ ( '<a href="http://codex.wordpress.org/Formatting_Date_and_Time">Documentation on date formatting</a>. Click “Save Changes” to update sample output.' ) . " </p> \n " ;
2008-10-13 20:32:16 +02:00
?>
</ fieldset >
</ td >
2005-08-07 21:23:41 +02:00
</ tr >
< tr >
2008-10-17 05:49:43 +02:00
< th scope = " row " >< ? php _e ( 'Time Format' ) ?> </th>
2008-10-13 20:32:16 +02:00
< td >
2009-05-13 00:40:56 +02:00
< fieldset >< legend class = " screen-reader-text " >< span >< ? php _e ( 'Time Format' ) ?> </span></legend>
2008-10-13 20:32:16 +02:00
< ? php
$time_formats = apply_filters ( 'time_formats' , array (
__ ( 'g:i a' ),
'g:i A' ,
'H:i' ,
) );
2010-03-06 10:49:11 +01:00
$custom = true ;
2008-10-13 20:32:16 +02:00
foreach ( $time_formats as $format ) {
2009-05-05 21:43:53 +02:00
echo " \t <label title=' " . esc_attr ( $format ) . " '><input type='radio' name='time_format' value=' " . esc_attr ( $format ) . " ' " ;
2008-10-13 20:32:16 +02:00
if ( get_option ( 'time_format' ) === $format ) { // checked() uses "==" rather than "==="
echo " checked='checked' " ;
2010-03-06 10:49:11 +01:00
$custom = false ;
2008-10-13 20:32:16 +02:00
}
2008-11-17 22:31:46 +01:00
echo ' /> ' . date_i18n ( $format ) . " </label><br /> \n " ;
2008-10-13 20:32:16 +02:00
}
echo ' <label><input type="radio" name="time_format" id="time_format_custom_radio" value="\c\u\s\t\o\m"' ;
2009-02-27 23:15:14 +01:00
checked ( $custom );
2009-05-05 21:43:53 +02:00
echo '/> ' . __ ( 'Custom:' ) . ' </label><input type="text" name="time_format_custom" value="' . esc_attr ( get_option ( 'time_format' ) ) . '" class="small-text" /> ' . date_i18n ( get_option ( 'time_format' ) ) . " \n " ;
2008-10-13 20:32:16 +02:00
?>
</ fieldset >
</ td >
2005-11-11 03:19:49 +01:00
</ tr >
< tr >
2008-05-04 12:37:06 +02:00
< th scope = " row " >< label for = " start_of_week " >< ? php _e ( 'Week Starts On' ) ?> </label></th>
2005-08-07 21:23:41 +02:00
< td >< select name = " start_of_week " id = " start_of_week " >
< ? php
2004-09-10 01:07:46 +02:00
for ( $day_index = 0 ; $day_index <= 6 ; $day_index ++ ) :
2006-08-30 23:46:31 +02:00
$selected = ( get_option ( 'start_of_week' ) == $day_index ) ? 'selected="selected"' : '' ;
2009-05-05 21:43:53 +02:00
echo " \n \t <option value=' " . esc_attr ( $day_index ) . " ' $selected > " . $wp_locale -> get_weekday ( $day_index ) . '</option>' ;
2004-09-10 01:07:46 +02:00
endfor ;
?>
</ select ></ td >
2005-08-07 21:23:41 +02:00
</ tr >
2008-09-10 00:31:22 +02:00
< ? php do_settings_fields ( 'general' , 'default' ); ?>
2010-01-12 22:11:52 +01:00
< ? php
2010-05-04 00:06:49 +02:00
$languages = get_available_languages ();
if ( is_multisite () && ! empty ( $languages ) ) :
2010-01-18 23:21:36 +01:00
?>
2010-01-15 23:11:12 +01:00
< tr valign = " top " >
2010-03-18 18:46:25 +01:00
< th width = " 33% " scope = " row " >< ? php _e ( 'Site language:' ) ?> </th>
2010-01-12 22:11:52 +01:00
< td >
< select name = " WPLANG " id = " WPLANG " >
2010-05-04 00:06:49 +02:00
< ? php mu_dropdown_languages ( $languages , get_option ( 'WPLANG' ) ); ?>
2010-01-12 22:11:52 +01:00
</ select >
</ td >
2010-01-15 23:11:12 +01:00
</ tr >
2010-01-18 23:21:36 +01:00
< ? php
2010-05-04 00:06:49 +02:00
endif ;
2010-01-12 22:11:52 +01:00
?>
2004-02-13 10:59:47 +01:00
</ table >
2006-01-10 06:16:17 +01:00
2008-09-10 00:31:22 +02:00
< ? php do_settings_sections ( 'general' ); ?>
2008-10-14 03:18:52 +02:00
< p class = " submit " >
2009-05-05 21:43:53 +02:00
< input type = " submit " name = " Submit " class = " button-primary " value = " <?php esc_attr_e('Save Changes') ?> " />
2005-08-07 21:23:41 +02:00
</ p >
2006-01-10 06:16:17 +01:00
</ form >
2007-09-04 01:32:58 +02:00
</ div >
2006-01-10 06:16:17 +01:00
2006-04-02 02:31:26 +02:00
< ? php include ( './admin-footer.php' ) ?>