]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-admin/options-general.php
WordPress 4.1.2-scripts
[autoinstalls/wordpress.git] / wp-admin / options-general.php
index 5f2bf21ce866217b459cf2cfd3bbb9b51a9a01ee..629c4d2f35e066013734a7b0d696487dcd8ae985 100644 (file)
@@ -9,6 +9,9 @@
 /** WordPress Administration Bootstrap */
 require_once( dirname( __FILE__ ) . '/admin.php' );
 
+/** WordPress Translation Install API */
+require_once( ABSPATH . 'wp-admin/includes/translation-install.php' );
+
 if ( ! current_user_can( 'manage_options' ) )
        wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) );
 
@@ -27,12 +30,26 @@ function options_general_add_js() {
 <script type="text/javascript">
 //<![CDATA[
        jQuery(document).ready(function($){
+               var $siteName = $( '#wp-admin-bar-site-name' ).children( 'a' ).first(),
+                       homeURL = ( <?php echo wp_json_encode( get_home_url() ); ?> || '' ).replace( /^(https?:\/\/)?(www\.)?/, '' );
+
+               $( '#blogname' ).on( 'input', function() {
+                       var title = $.trim( $( this ).val() ) || homeURL;
+
+                       // Truncate to 40 characters.
+                       if ( 40 < title.length ) {
+                               title = title.substring( 0, 40 ) + '\u2026';
+                       }
+
+                       $siteName.text( title );
+               });
+
                $("input[name='date_format']").click(function(){
                        if ( "date_format_custom_radio" != $(this).attr("id") )
                                $("input[name='date_format_custom']").val( $(this).val() ).siblings('.example').text( $(this).siblings('span').text() );
                });
                $("input[name='date_format_custom']").focus(function(){
-                       $("#date_format_custom_radio").attr("checked", "checked");
+                       $( '#date_format_custom_radio' ).prop( 'checked', true );
                });
 
                $("input[name='time_format']").click(function(){
@@ -40,7 +57,7 @@ function options_general_add_js() {
                                $("input[name='time_format_custom']").val( $(this).val() ).siblings('.example').text( $(this).siblings('span').text() );
                });
                $("input[name='time_format_custom']").focus(function(){
-                       $("#time_format_custom_radio").attr("checked", "checked");
+                       $( '#time_format_custom_radio' ).prop( 'checked', true );
                });
                $("input[name='date_format_custom'], input[name='time_format_custom']").change( function() {
                        var format = $(this);
@@ -50,6 +67,15 @@ function options_general_add_js() {
                                        date : format.val()
                                }, function(d) { format.siblings('.spinner').hide(); format.siblings('.example').text(d); } );
                });
+
+               var languageSelect = $( '#WPLANG' );
+               $( 'form' ).submit( function() {
+                       // Don't show a spinner for English and installed languages,
+                       // as there is nothing to download.
+                       if ( ! languageSelect.find( 'option:selected' ).data( 'installed' ) ) {
+                               $( '#submit', this ).after( '<span class="spinner language-install-spinner" />' );
+                       }
+               });
        });
 //]]>
 </script>
@@ -65,7 +91,8 @@ if ( ! is_multisite() ) {
                '<p>' . __('If you want site visitors to be able to register themselves, as opposed to by the site administrator, check the membership box. A default user role can be set for all new users, whether self-registered or registered by the site admin.') . '</p>';
 }
 
-$options_help .= '<p>' . __('UTC means Coordinated Universal Time.') . '</p>' .
+$options_help .= '<p>' . __( 'You can set the language, and the translation files will be automatically downloaded and installed (available if your filesystem is writable).' ) . '</p>' .
+       '<p>' . __( 'UTC means Coordinated Universal Time.' ) . '</p>' .
        '<p>' . __( 'You must click the Save Changes button at the bottom of the screen for new settings to take effect.' ) . '</p>';
 
 get_current_screen()->add_help_tab( array(
@@ -77,61 +104,60 @@ get_current_screen()->add_help_tab( array(
 get_current_screen()->set_help_sidebar(
        '<p><strong>' . __('For more information:') . '</strong></p>' .
        '<p>' . __('<a href="http://codex.wordpress.org/Settings_General_Screen" target="_blank">Documentation on General Settings</a>') . '</p>' .
-       '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
+       '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
 include( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
 <div class="wrap">
-<?php screen_icon(); ?>
 <h2><?php echo esc_html( $title ); ?></h2>
 
-<form method="post" action="options.php">
+<form method="post" action="options.php" novalidate="novalidate">
 <?php settings_fields('general'); ?>
 
 <table class="form-table">
-<tr valign="top">
+<tr>
 <th scope="row"><label for="blogname"><?php _e('Site Title') ?></label></th>
 <td><input name="blogname" type="text" id="blogname" value="<?php form_option('blogname'); ?>" class="regular-text" /></td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="blogdescription"><?php _e('Tagline') ?></label></th>
 <td><input name="blogdescription" type="text" id="blogdescription" value="<?php form_option('blogdescription'); ?>" class="regular-text" />
 <p class="description"><?php _e('In a few words, explain what this site is about.') ?></p></td>
 </tr>
 <?php if ( !is_multisite() ) { ?>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="siteurl"><?php _e('WordPress Address (URL)') ?></label></th>
-<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>
+<td><input name="siteurl" type="url" id="siteurl" value="<?php form_option( 'siteurl' ); ?>"<?php disabled( defined( 'WP_SITEURL' ) ); ?> class="regular-text code<?php if ( defined( 'WP_SITEURL' ) ) echo ' disabled' ?>" /></td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="home"><?php _e('Site Address (URL)') ?></label></th>
-<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' ?>" />
+<td><input name="home" type="url" id="home" value="<?php form_option( 'home' ); ?>"<?php disabled( defined( 'WP_HOME' ) ); ?> class="regular-text code<?php if ( defined( 'WP_HOME' ) ) echo ' disabled' ?>" />
 <p 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.'); ?></p></td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><label for="admin_email"><?php _e('E-mail Address') ?> </label></th>
-<td><input name="admin_email" type="text" id="admin_email" value="<?php form_option('admin_email'); ?>" class="regular-text ltr" />
+<td><input name="admin_email" type="email" id="admin_email" value="<?php form_option( 'admin_email' ); ?>" class="regular-text ltr" />
 <p class="description"><?php _e('This address is used for admin purposes, like new user notification.') ?></p></td>
 </tr>
-<tr valign="top">
+<tr>
 <th scope="row"><?php _e('Membership') ?></th>
 <td> <fieldset><legend class="screen-reader-text"><span><?php _e('Membership') ?></span></legend><label for="users_can_register">
 <input name="users_can_register" type="checkbox" id="users_can_register" value="1" <?php checked('1', get_option('users_can_register')); ?> />
 <?php _e('Anyone can register') ?></label>
 </fieldset></td>
 </tr>
-<tr valign="top">
+<tr>
 <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>
 </td>
 </tr>
 <?php } else { ?>
-<tr valign="top">
+<tr>
 <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 ltr" />
+<td><input name="new_admin_email" type="email" id="new_admin_email" value="<?php form_option( 'admin_email' ); ?>" class="regular-text ltr" />
 <p class="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>') ?></p>
 <?php
 $new_admin_email = get_option( 'new_admin_email' );
@@ -233,10 +259,11 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists
        * Filter the default date formats.
        *
        * @since 2.7.0
+       * @since 4.0.0 Added ISO date standard YYYY-MM-DD format.
        *
        * @param array $default_date_formats Array of default date formats.
        */
-       $date_formats = array_unique( apply_filters( 'date_formats', array( __( 'F j, Y' ), 'Y/m/d', 'm/d/Y', 'd/m/Y' ) ) );
+       $date_formats = array_unique( apply_filters( 'date_formats', array( __( 'F j, Y' ), 'Y-m-d', 'm/d/Y', 'd/m/Y' ) ) );
 
        $custom = true;
 
@@ -252,8 +279,6 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists
        echo '  <label><input type="radio" name="date_format" id="date_format_custom_radio" value="\c\u\s\t\o\m"';
        checked( $custom );
        echo '/> ' . __('Custom:') . ' </label><input type="text" name="date_format_custom" value="' . esc_attr( get_option('date_format') ) . '" class="small-text" /> <span class="example"> ' . date_i18n( get_option('date_format') ) . "</span> <span class='spinner'></span>\n";
-
-       echo "\t<p>" . __('<a href="http://codex.wordpress.org/Formatting_Date_and_Time">Documentation on date and time formatting</a>.') . "</p>\n";
 ?>
        </fieldset>
 </td>
@@ -286,7 +311,8 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists
        echo '  <label><input type="radio" name="time_format" id="time_format_custom_radio" value="\c\u\s\t\o\m"';
        checked( $custom );
        echo '/> ' . __('Custom:') . ' </label><input type="text" name="time_format_custom" value="' . esc_attr( get_option('time_format') ) . '" class="small-text" /> <span class="example"> ' . date_i18n( get_option('time_format') ) . "</span> <span class='spinner'></span>\n";
-       ;
+
+       echo "\t<p>" . __('<a href="http://codex.wordpress.org/Formatting_Date_and_Time">Documentation on date and time formatting</a>.') . "</p>\n";
 ?>
        </fieldset>
 </td>
@@ -303,20 +329,49 @@ endfor;
 </select></td>
 </tr>
 <?php do_settings_fields('general', 'default'); ?>
+
 <?php
-       $languages = get_available_languages();
-       if ( is_multisite() && !empty( $languages ) ):
-?>
-       <tr valign="top">
-               <th width="33%" scope="row"><?php _e('Site Language') ?></th>
+$languages = get_available_languages();
+$translations = wp_get_available_translations();
+if ( ! is_multisite() && defined( 'WPLANG' ) && '' !== WPLANG && 'en_US' !== WPLANG && ! in_array( WPLANG, $languages ) ) {
+       $languages[] = WPLANG;
+}
+if ( ! empty( $languages ) || ! empty( $translations ) ) {
+       ?>
+       <tr>
+               <th width="33%" scope="row"><label for="WPLANG"><?php _e( 'Site Language' ); ?></label></th>
                <td>
-                       <select name="WPLANG" id="WPLANG">
-                               <?php mu_dropdown_languages( $languages, get_option('WPLANG') ); ?>
-                       </select>
+                       <?php
+                       $locale = get_locale();
+                       if ( ! in_array( $locale, $languages ) ) {
+                               $locale = '';
+                       }
+
+                       wp_dropdown_languages( array(
+                               'name'         => 'WPLANG',
+                               'id'           => 'WPLANG',
+                               'selected'     => $locale,
+                               'languages'    => $languages,
+                               'translations' => $translations,
+                               'show_available_translations' => ( ! is_multisite() || is_super_admin() ) && wp_can_install_language_pack(),
+                       ) );
+
+                       // Add note about deprecated WPLANG constant.
+                       if ( defined( 'WPLANG' ) && ( '' !== WPLANG ) && $locale !== WPLANG ) {
+                               if ( is_super_admin() ) {
+                                       ?>
+                                       <p class="description">
+                                               <strong><?php _e( 'Note:' ); ?></strong> <?php printf( __( 'The %s constant in your %s file is no longer needed.' ), '<code>WPLANG</code>', '<code>wp-config.php</code>' ); ?>
+                                       </p>
+                                       <?php
+                               }
+                               _deprecated_argument( 'define()', '4.0', sprintf( __( 'The %s constant in your %s file is no longer needed.' ), 'WPLANG', 'wp-config.php' ) );
+                       }
+                       ?>
                </td>
        </tr>
-<?php
-       endif;
+       <?php
+}
 ?>
 </table>