2004-02-13 04:59:47 -05:00
< ? php
2008-08-16 03:27:34 -04:00
/**
* General settings administration panel .
*
* @ package WordPress
* @ subpackage Administration
*/
/** WordPress Administration Bootstrap */
2006-01-10 00:16:17 -05:00
require_once ( './admin.php' );
2006-11-18 02:31:29 -05:00
2010-03-18 13:46:25 -04:00
if ( ! current_user_can ( 'manage_options' ) )
wp_die ( __ ( 'You do not have sufficient permissions to manage options for this site.' ) );
2009-08-01 17:12:17 -04:00
2008-02-13 19:39:38 -05:00
$title = __ ( 'General Settings' );
2008-08-21 19:18:51 -04:00
$parent_file = 'options-general.php' ;
2009-03-25 12:55:28 -04: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 02:31:29 -05:00
2008-10-13 14:32:16 -04: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 11:58:36 -05:00
add_contextual_help ( $current_screen , __ ( '<a href="http://codex.wordpress.org/Settings_General_SubPanel" target="_blank">General Settings</a>' ));
2006-01-10 00:16:17 -05:00
include ( './admin-header.php' );
2004-02-13 04:59:47 -05:00
?>
2007-06-13 22:25:30 -04:00
2006-01-10 00:16:17 -05:00
< div class = " wrap " >
2008-11-26 08:51:25 -05:00
< ? php screen_icon (); ?>
2009-05-18 11:11:07 -04:00
< h2 >< ? php echo esc_html ( $title ); ?> </h2>
2008-10-17 16:02:03 -04:00
2007-09-03 19:32:58 -04:00
< form method = " post " action = " options.php " >
2008-10-19 19:35:09 -04:00
< ? php settings_fields ( 'general' ); ?>
2008-10-13 21:18:52 -04:00
2008-02-23 23:33:10 -05:00
< table class = " form-table " >
2007-09-03 19:32:58 -04:00
< tr valign = " top " >
2010-03-18 13:46:25 -04:00
< th scope = " row " >< label for = " blogname " >< ? php _e ( 'Site Title' ) ?> </label></th>
2008-10-28 18:07:39 -04:00
< td >< input name = " blogname " type = " text " id = " blogname " value = " <?php form_option('blogname'); ?> " class = " regular-text " /></ td >
2007-09-03 19:32:58 -04:00
</ tr >
< tr valign = " top " >
2008-05-04 06:37:06 -04:00
< th scope = " row " >< label for = " blogdescription " >< ? php _e ( 'Tagline' ) ?> </label></th>
2008-10-28 18:07:39 -04:00
< td >< input name = " blogdescription " type = " text " id = " blogdescription " value = " <?php form_option('blogdescription'); ?> " class = " regular-text " />
2010-03-18 13:46:25 -04:00
< span class = " description " >< ? php _e ( 'In a few words, explain what this site is about.' ) ?> </span></td>
2007-09-03 19:32:58 -04:00
</ tr >
2010-01-12 16:11:52 -05:00
< ? php if ( ! is_multisite () ) { ?>
2007-09-03 19:32:58 -04:00
< tr valign = " top " >
2008-05-04 06:37:06 -04:00
< th scope = " row " >< label for = " siteurl " >< ? php _e ( 'WordPress address (URL)' ) ?> </label></th>
2010-03-11 12:30:02 -05: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-03 19:32:58 -04:00
</ tr >
2005-08-07 15:23:41 -04:00
< tr valign = " top " >
2010-03-18 13:46:25 -04:00
< th scope = " row " >< label for = " home " >< ? php _e ( 'Site address (URL)' ) ?> </label></th>
2010-03-11 12:30:02 -05: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 13:46:25 -04: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 15:23:41 -04:00
</ tr >
2007-09-03 19:32:58 -04:00
< tr valign = " top " >
2008-05-04 06:37:06 -04:00
< th scope = " row " >< label for = " admin_email " >< ? php _e ( 'E-mail address' ) ?> </label></th>
2009-04-16 21:04:00 -04:00
< td >< input name = " admin_email " type = " text " id = " admin_email " value = " <?php form_option('admin_email'); ?> " class = " regular-text " />
2009-04-29 22:33:22 -04:00
< span class = " description " >< ? php _e ( 'This address is used for admin purposes, like new user notification.' ) ?> </span></td>
2005-08-07 15:23:41 -04:00
</ tr >
2007-09-03 19:32:58 -04:00
< tr valign = " top " >
2008-02-14 00:19:39 -05:00
< th scope = " row " >< ? php _e ( 'Membership' ) ?> </th>
2009-05-12 18:40:56 -04:00
< td > < fieldset >< legend class = " screen-reader-text " >< span >< ? php _e ( 'Membership' ) ?> </span></legend><label for="users_can_register">
2007-09-03 19:32:58 -04: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 13:03:20 -04:00
< ? php _e ( 'Anyone can register' ) ?> </label>
2008-05-04 06:37:06 -04:00
</ fieldset ></ td >
2007-09-03 19:32:58 -04:00
</ tr >
< tr valign = " top " >
2008-05-04 06:37:06 -04: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-03 19:32:58 -04:00
</ td >
</ tr >
2010-01-12 16:11:52 -05: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 16:19:10 -05: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 13:18:00 -04:00
$new_admin_email = get_option ( 'new_admin_email' );
if ( $new_admin_email && $new_admin_email != get_option ( 'admin_email' ) ) : ?>
2010-02-26 16:19:10 -05:00
< div class = " updated inline " >
2010-05-03 14:16:22 -04: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 16:19:10 -05:00
</ div >
< ? php endif ; ?>
</ td >
2010-01-12 16:11:52 -05:00
</ tr >
< ? php } ?>
2007-09-03 19:32:58 -04:00
< tr >
2009-03-17 22:43:45 -04:00
< ? php
2009-05-13 22:00:32 -04:00
if ( ! wp_timezone_supported () ) : // no magic timezone support here
2009-03-09 20:50:00 -04:00
?>
2008-05-04 06:37:06 -04:00
< th scope = " row " >< label for = " gmt_offset " >< ? php _e ( 'Timezone' ) ?> </label></th>
2008-02-20 01:50:52 -05:00
< td >
2008-05-04 06:37:06 -04:00
< select name = " gmt_offset " id = " gmt_offset " >
2008-03-02 15:17:30 -05:00
< ? php
2008-02-20 01:50:52 -05:00
$current_offset = get_option ( 'gmt_offset' );
2008-02-29 14:00:52 -05: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 04:38:21 -04: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 14:00:52 -05:00
foreach ( $offset_range as $offset ) {
2008-02-20 01:50:52 -05:00
if ( 0 < $offset )
$offset_name = '+' . $offset ;
elseif ( 0 == $offset )
$offset_name = '' ;
else
$offset_name = ( string ) $offset ;
2008-03-12 04:38:21 -04:00
$offset_name = str_replace ( array ( '.25' , '.5' , '.75' ), array ( ':15' , ':30' , ':45' ), $offset_name );
2008-02-20 01:50:52 -05:00
$selected = '' ;
if ( $current_offset == $offset ) {
$selected = " selected='selected' " ;
$current_offset_name = $offset_name ;
}
2009-05-05 15:43:53 -04:00
echo " <option value= \" " . esc_attr ( $offset ) . " \" $selected > " . sprintf ( __ ( 'UTC %s' ), $offset_name ) . '</option>' ;
2008-02-20 01:50:52 -05:00
}
?>
</ select >
2009-05-13 22:00:32 -04:00
< ? php _e ( 'hours' ); ?>
2009-03-25 12:55:28 -04: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 15:55:56 -04:00
< ? php if ( $current_offset ) : ?>
2009-03-25 12:55:28 -04: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 15:55:56 -04:00
< ? php endif ; ?>
2009-04-29 22:33:22 -04:00
< br />
2010-04-04 04:15:20 -04: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 01:50:52 -05:00
</ td >
2009-03-17 22:43:45 -04:00
< ? php
2009-03-09 20:50:00 -04:00
else : // looks like we can do nice timezone selection!
$current_offset = get_option ( 'gmt_offset' );
2009-03-10 12:14:50 -04:00
$tzstring = get_option ( 'timezone_string' );
2009-12-23 09:16:36 -05:00
$check_zone_info = true ;
// Remove old Etc mappings. Fallback to gmt_offset.
if ( false !== strpos ( $tzstring , 'Etc/GMT' ) )
$tzstring = '' ;
2010-03-06 04:49:11 -05:00
if ( empty ( $tzstring ) ) { // Create a UTC+- zone if no timezone string exists
2009-12-23 09:16:36 -05: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 12:14:50 -04:00
}
2009-12-23 09:16:36 -05:00
2009-03-09 20:50:00 -04:00
?>
< th scope = " row " >< label for = " timezone_string " >< ? php _e ( 'Timezone' ) ?> </label></th>
< td >
< select id = " timezone_string " name = " timezone_string " >
2009-03-10 12:14:50 -04:00
< ? php echo wp_timezone_choice ( $tzstring ); ?>
2009-03-09 20:50:00 -04:00
</ select >
2009-03-25 12:55:28 -04: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 12:25:55 -04:00
< ? php if ( get_option ( 'timezone_string' ) || ! empty ( $current_offset ) ) : ?>
2009-04-06 12:16:39 -04:00
< span id = " local-time " >< ? php printf ( __ ( 'Local time is <code>%1$s</code>' ), date_i18n ( $timezone_format )); ?> </span>
< ? php endif ; ?>
2009-04-29 22:33:22 -04:00
< br />
< span class = " description " >< ? php _e ( 'Choose a city in the same timezone as you.' ); ?> </span>
2010-03-06 04:47:38 -05:00
< ? php if ( $check_zone_info && $tzstring ) : ?>
2009-04-06 12:16:39 -04:00
< br />
< span >
2009-03-10 12:14:50 -04:00
< ? php
2010-03-14 21:57:36 -04:00
// Set TZ so localtime works.
date_default_timezone_set ( $tzstring );
2010-03-06 04:49:11 -05: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 12:14:50 -04:00
?>
< br />
< ? php
2010-03-06 04:49:11 -05:00
if ( function_exists ( 'timezone_transitions_get' ) ) {
$found = false ;
$date_time_zone_selected = new DateTimeZone ( $tzstring );
2010-03-14 21:57:36 -04:00
$tz_offset = timezone_offset_get ( $date_time_zone_selected , date_create ());
$right_now = time ();
2010-03-06 04:49:11 -05:00
foreach ( timezone_transitions_get ( $date_time_zone_selected ) as $tr ) {
2010-03-14 21:57:36 -04:00
if ( $tr [ 'ts' ] > $right_now ) {
2009-06-18 13:40:40 -04:00
$found = true ;
2009-03-10 12:14:50 -04:00
break ;
}
}
2009-03-17 22:43:45 -04:00
2010-03-06 04:49:11 -05:00
if ( $found ) {
2009-03-25 12:55:28 -04:00
echo ' ' ;
2009-03-11 11:46:16 -04:00
$message = $tr [ 'isdst' ] ?
2010-02-26 00:46:08 -05:00
__ ( 'Daylight saving time begins on: <code>%s</code>.' ) :
2009-04-06 12:16:39 -04:00
__ ( 'Standard time begins on: <code>%s</code>.' );
2010-03-14 21:57:36 -04: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 12:14:50 -04:00
} else {
2010-02-26 00:46:08 -05:00
_e ( 'This timezone does not observe daylight saving time.' );
2009-03-10 12:14:50 -04:00
}
}
2010-03-14 21:57:36 -04:00
// Set back to UTC.
date_default_timezone_set ( 'UTC' );
2009-03-10 12:14:50 -04:00
?>
</ span >
2009-03-09 20:50:00 -04:00
< ? php endif ; ?>
</ td >
< ? php endif ; ?>
2005-08-07 15:23:41 -04:00
</ tr >
< tr >
2008-10-16 23:49:43 -04:00
< th scope = " row " >< ? php _e ( 'Date Format' ) ?> </th>
2008-10-13 14:32:16 -04:00
< td >
2009-05-12 18:40:56 -04:00
< fieldset >< legend class = " screen-reader-text " >< span >< ? php _e ( 'Date Format' ) ?> </span></legend>
2008-10-13 14:32:16 -04:00
< ? php
$date_formats = apply_filters ( 'date_formats' , array (
__ ( 'F j, Y' ),
'Y/m/d' ,
'm/d/Y' ,
'd/m/Y' ,
) );
2010-03-06 04:49:11 -05:00
$custom = true ;
2008-10-13 14:32:16 -04:00
foreach ( $date_formats as $format ) {
2009-05-05 15:43:53 -04:00
echo " \t <label title=' " . esc_attr ( $format ) . " '><input type='radio' name='date_format' value=' " . esc_attr ( $format ) . " ' " ;
2008-10-13 14:32:16 -04:00
if ( get_option ( 'date_format' ) === $format ) { // checked() uses "==" rather than "==="
echo " checked='checked' " ;
2010-03-06 04:49:11 -05:00
$custom = false ;
2008-10-13 14:32:16 -04:00
}
2008-11-17 16:31:46 -05:00
echo ' /> ' . date_i18n ( $format ) . " </label><br /> \n " ;
2008-10-13 14:32:16 -04:00
}
echo ' <label><input type="radio" name="date_format" id="date_format_custom_radio" value="\c\u\s\t\o\m"' ;
2009-02-27 17:15:14 -05:00
checked ( $custom );
2009-05-05 15:43:53 -04: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 14:32:16 -04:00
2009-05-05 00:28:05 -04: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 14:32:16 -04:00
?>
</ fieldset >
</ td >
2005-08-07 15:23:41 -04:00
</ tr >
< tr >
2008-10-16 23:49:43 -04:00
< th scope = " row " >< ? php _e ( 'Time Format' ) ?> </th>
2008-10-13 14:32:16 -04:00
< td >
2009-05-12 18:40:56 -04:00
< fieldset >< legend class = " screen-reader-text " >< span >< ? php _e ( 'Time Format' ) ?> </span></legend>
2008-10-13 14:32:16 -04:00
< ? php
$time_formats = apply_filters ( 'time_formats' , array (
__ ( 'g:i a' ),
'g:i A' ,
'H:i' ,
) );
2010-03-06 04:49:11 -05:00
$custom = true ;
2008-10-13 14:32:16 -04:00
foreach ( $time_formats as $format ) {
2009-05-05 15:43:53 -04:00
echo " \t <label title=' " . esc_attr ( $format ) . " '><input type='radio' name='time_format' value=' " . esc_attr ( $format ) . " ' " ;
2008-10-13 14:32:16 -04:00
if ( get_option ( 'time_format' ) === $format ) { // checked() uses "==" rather than "==="
echo " checked='checked' " ;
2010-03-06 04:49:11 -05:00
$custom = false ;
2008-10-13 14:32:16 -04:00
}
2008-11-17 16:31:46 -05:00
echo ' /> ' . date_i18n ( $format ) . " </label><br /> \n " ;
2008-10-13 14:32:16 -04:00
}
echo ' <label><input type="radio" name="time_format" id="time_format_custom_radio" value="\c\u\s\t\o\m"' ;
2009-02-27 17:15:14 -05:00
checked ( $custom );
2009-05-05 15:43:53 -04: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 14:32:16 -04:00
?>
</ fieldset >
</ td >
2005-11-10 21:19:49 -05:00
</ tr >
< tr >
2008-05-04 06:37:06 -04:00
< th scope = " row " >< label for = " start_of_week " >< ? php _e ( 'Week Starts On' ) ?> </label></th>
2005-08-07 15:23:41 -04:00
< td >< select name = " start_of_week " id = " start_of_week " >
< ? php
2004-09-09 19:07:46 -04:00
for ( $day_index = 0 ; $day_index <= 6 ; $day_index ++ ) :
2006-08-30 17:46:31 -04:00
$selected = ( get_option ( 'start_of_week' ) == $day_index ) ? 'selected="selected"' : '' ;
2009-05-05 15:43:53 -04:00
echo " \n \t <option value=' " . esc_attr ( $day_index ) . " ' $selected > " . $wp_locale -> get_weekday ( $day_index ) . '</option>' ;
2004-09-09 19:07:46 -04:00
endfor ;
?>
</ select ></ td >
2005-08-07 15:23:41 -04:00
</ tr >
2008-09-09 18:31:22 -04:00
< ? php do_settings_fields ( 'general' , 'default' ); ?>
2010-01-12 16:11:52 -05:00
< ? php
2010-05-03 18:06:49 -04:00
$languages = get_available_languages ();
if ( is_multisite () && ! empty ( $languages ) ) :
2010-01-18 17:21:36 -05:00
?>
2010-01-15 17:11:12 -05:00
< tr valign = " top " >
2010-03-18 13:46:25 -04:00
< th width = " 33% " scope = " row " >< ? php _e ( 'Site language:' ) ?> </th>
2010-01-12 16:11:52 -05:00
< td >
< select name = " WPLANG " id = " WPLANG " >
2010-05-03 18:06:49 -04:00
< ? php mu_dropdown_languages ( $languages , get_option ( 'WPLANG' ) ); ?>
2010-01-12 16:11:52 -05:00
</ select >
</ td >
2010-01-15 17:11:12 -05:00
</ tr >
2010-01-18 17:21:36 -05:00
< ? php
2010-05-03 18:06:49 -04:00
endif ;
2010-01-12 16:11:52 -05:00
?>
2004-02-13 04:59:47 -05:00
</ table >
2006-01-10 00:16:17 -05:00
2008-09-09 18:31:22 -04:00
< ? php do_settings_sections ( 'general' ); ?>
2008-10-13 21:18:52 -04:00
< p class = " submit " >
2009-05-05 15:43:53 -04:00
< input type = " submit " name = " Submit " class = " button-primary " value = " <?php esc_attr_e('Save Changes') ?> " />
2005-08-07 15:23:41 -04:00
</ p >
2006-01-10 00:16:17 -05:00
</ form >
2007-09-03 19:32:58 -04:00
</ div >
2006-01-10 00:16:17 -05:00
2006-04-01 19:31:26 -05:00
< ? php include ( './admin-footer.php' ) ?>