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