[ XREF Home ] [ Index ]

PHP Cross Reference of WordPress Trunk

Provided by Yoast

title

Body

[close]

/wp-admin/ -> options-general.php (source)

   1  <?php
   2  /**
   3   * General settings administration panel.
   4   *
   5   * @package WordPress
   6   * @subpackage Administration
   7   */
   8  
   9  /** WordPress Administration Bootstrap */
  10  require_once ('./admin.php');
  11  
  12  if ( ! current_user_can( 'manage_options' ) )
  13      wp_die( __( 'You do not have sufficient permissions to manage options for this site.' ) );
  14  
  15  $title = __('General Settings');
  16  $parent_file = 'options-general.php';
  17  /* translators: date and time format for exact current time, mainly about timezones, see http://php.net/date */
  18  $timezone_format = _x('Y-m-d G:i:s', 'timezone date format');
  19  
  20  /**
  21   * Display JavaScript on the page.
  22   *
  23   * @package WordPress
  24   * @subpackage General_Settings_Screen
  25   */
  26  function add_js() {
  27  ?>
  28  <script type="text/javascript">
  29  //<![CDATA[
  30      jQuery(document).ready(function($){
  31          $("input[name='date_format']").click(function(){
  32              if ( "date_format_custom_radio" != $(this).attr("id") )
  33                  $("input[name='date_format_custom']").val( $(this).val() ).siblings('.example').text( $(this).siblings('span').text() );
  34          });
  35          $("input[name='date_format_custom']").focus(function(){
  36              $("#date_format_custom_radio").attr("checked", "checked");
  37          });
  38  
  39          $("input[name='time_format']").click(function(){
  40              if ( "time_format_custom_radio" != $(this).attr("id") )
  41                  $("input[name='time_format_custom']").val( $(this).val() ).siblings('.example').text( $(this).siblings('span').text() );
  42          });
  43          $("input[name='time_format_custom']").focus(function(){
  44              $("#time_format_custom_radio").attr("checked", "checked");
  45          });
  46          $("input[name='date_format_custom'], input[name='time_format_custom']").change( function() {
  47              var format = $(this);
  48              format.siblings('img').css('visibility','visible');
  49              $.post(ajaxurl, {
  50                      action: 'date_format_custom' == format.attr('name') ? 'date_format' : 'time_format',
  51                      date : format.val()
  52                  }, function(d) { format.siblings('img').css('visibility','hidden'); format.siblings('.example').text(d); } );
  53          });
  54      });
  55  //]]>
  56  </script>
  57  <?php
  58  }
  59  add_action('admin_head', 'add_js');
  60  
  61  add_contextual_help($current_screen,
  62      '<p>' . __('The fields on this screen determine some of the basics of your site setup.') . '</p>' .
  63      '<p>' . __('Most themes display the site title at the top of every page, in the title bar of the browser, and as the identifying name for syndicated feeds. The tagline is also displayed by many themes.') . '</p>' .
  64      '<p>' . __('The WordPress URL and the Site URL can be the same (example.com) or different; for example, having the WordPress core files (example.com/wordpress) in a subdirectory instead of the root directory.') . '</p>' .
  65      '<p>' . __('If you want site visitors to be able to register themselves, as opposed to being registered 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 administrator.') . '</p>' .
  66      '<p>' . __('UTC means Coordinated Universal Time.') . '</p>' .
  67      '<p>' . __('Remember to click the Save Changes button at the bottom of the screen for new settings to take effect.') . '</p>' .
  68      '<p><strong>' . __('For more information:') . '</strong></p>' .
  69      '<p>' . __('<a href="http://codex.wordpress.org/Settings_General_Screen" target="_blank">Documentation on General Settings</a>') . '</p>' .
  70      '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
  71  );
  72  
  73  include ('./admin-header.php');
  74  ?>
  75  
  76  <div class="wrap">
  77  <?php screen_icon(); ?>
  78  <h2><?php echo esc_html( $title ); ?></h2>
  79  
  80  <form method="post" action="options.php">
  81  <?php settings_fields('general'); ?>
  82  
  83  <table class="form-table">
  84  <tr valign="top">
  85  <th scope="row"><label for="blogname"><?php _e('Site Title') ?></label></th>
  86  <td><input name="blogname" type="text" id="blogname" value="<?php form_option('blogname'); ?>" class="regular-text" /></td>
  87  </tr>
  88  <tr valign="top">
  89  <th scope="row"><label for="blogdescription"><?php _e('Tagline') ?></label></th>
  90  <td><input name="blogdescription" type="text" id="blogdescription"  value="<?php form_option('blogdescription'); ?>" class="regular-text" />
  91  <span class="description"><?php _e('In a few words, explain what this site is about.') ?></span></td>
  92  </tr>
  93  <?php if ( !is_multisite() ) { ?>
  94  <tr valign="top">
  95  <th scope="row"><label for="siteurl"><?php _e('WordPress address (URL)') ?></label></th>
  96  <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>
  97  </tr>
  98  <tr valign="top">
  99  <th scope="row"><label for="home"><?php _e('Site address (URL)') ?></label></th>
 100  <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' ?>" />
 101  <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>
 102  </tr>
 103  <tr valign="top">
 104  <th scope="row"><label for="admin_email"><?php _e('E-mail address') ?> </label></th>
 105  <td><input name="admin_email" type="text" id="admin_email" value="<?php form_option('admin_email'); ?>" class="regular-text" />
 106  <span class="description"><?php _e('This address is used for admin purposes, like new user notification.') ?></span></td>
 107  </tr>
 108  <tr valign="top">
 109  <th scope="row"><?php _e('Membership') ?></th>
 110  <td> <fieldset><legend class="screen-reader-text"><span><?php _e('Membership') ?></span></legend><label for="users_can_register">
 111  <input name="users_can_register" type="checkbox" id="users_can_register" value="1" <?php checked('1', get_option('users_can_register')); ?> />
 112  <?php _e('Anyone can register') ?></label>
 113  </fieldset></td>
 114  </tr>
 115  <tr valign="top">
 116  <th scope="row"><label for="default_role"><?php _e('New User Default Role') ?></label></th>
 117  <td>
 118  <select name="default_role" id="default_role"><?php wp_dropdown_roles( get_option('default_role') ); ?></select>
 119  </td>
 120  </tr>
 121  <?php } else { ?>
 122  <tr valign="top">
 123  <th scope="row"><label for="new_admin_email"><?php _e('E-mail address') ?> </label></th>
 124  <td><input name="new_admin_email" type="text" id="new_admin_email" value="<?php form_option('admin_email'); ?>" class="regular-text code" />
 125  <span 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>') ?></span>
 126  <?php
 127  $new_admin_email = get_option( 'new_admin_email' );
 128  if ( $new_admin_email && $new_admin_email != get_option('admin_email') ) : ?>
 129  <div class="updated inline">
 130  <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>
 131  </div>
 132  <?php endif; ?>
 133  </td>
 134  </tr>
 135  <?php } ?>
 136  <tr>
 137  <?php
 138  $current_offset = get_option('gmt_offset');
 139  $tzstring = get_option('timezone_string');
 140  
 141  $check_zone_info = true;
 142  
 143  // Remove old Etc mappings.  Fallback to gmt_offset.
 144  if ( false !== strpos($tzstring,'Etc/GMT') )
 145      $tzstring = '';
 146  
 147  if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists
 148      $check_zone_info = false;
 149      if ( 0 == $current_offset )
 150          $tzstring = 'UTC+0';
 151      elseif ($current_offset < 0)
 152          $tzstring = 'UTC' . $current_offset;
 153      else
 154          $tzstring = 'UTC+' . $current_offset;
 155  }
 156  
 157  ?>
 158  <th scope="row"><label for="timezone_string"><?php _e('Timezone') ?></label></th>
 159  <td>
 160  
 161  <select id="timezone_string" name="timezone_string">
 162  <?php echo wp_timezone_choice($tzstring); ?>
 163  </select>
 164  
 165      <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>
 166  <?php if ( get_option('timezone_string') || !empty($current_offset) ) : ?>
 167      <span id="local-time"><?php printf(__('Local time is <code>%1$s</code>'), date_i18n($timezone_format)); ?></span>
 168  <?php endif; ?>
 169  <br />
 170  <span class="description"><?php _e('Choose a city in the same timezone as you.'); ?></span>
 171  <?php if ($check_zone_info && $tzstring) : ?>
 172  <br />
 173  <span>
 174      <?php
 175      // Set TZ so localtime works.
 176      date_default_timezone_set($tzstring);
 177      $now = localtime(time(), true);
 178      if ( $now['tm_isdst'] )
 179          _e('This timezone is currently in daylight saving time.');
 180      else
 181          _e('This timezone is currently in standard time.');
 182      ?>
 183      <br />
 184      <?php
 185      if ( function_exists('timezone_transitions_get') ) {
 186          $found = false;
 187          $date_time_zone_selected = new DateTimeZone($tzstring);
 188          $tz_offset = timezone_offset_get($date_time_zone_selected, date_create());
 189          $right_now = time();
 190          foreach ( timezone_transitions_get($date_time_zone_selected) as $tr) {
 191              if ( $tr['ts'] > $right_now ) {
 192                  $found = true;
 193                  break;
 194              }
 195          }
 196  
 197          if ( $found ) {
 198              echo ' ';
 199              $message = $tr['isdst'] ?
 200                  __('Daylight saving time begins on: <code>%s</code>.') :
 201                  __('Standard time begins  on: <code>%s</code>.');
 202              // Add the difference between the current offset and the new offset to ts to get the correct transition time from date_i18n().
 203              printf( $message, date_i18n(get_option('date_format') . ' ' . get_option('time_format'), $tr['ts'] + ($tz_offset - $tr['offset']) ) );
 204          } else {
 205              _e('This timezone does not observe daylight saving time.');
 206          }
 207      }
 208      // Set back to UTC.
 209      date_default_timezone_set('UTC');
 210      ?>
 211      </span>
 212  <?php endif; ?>
 213  </td>
 214  
 215  </tr>
 216  <tr>
 217  <th scope="row"><?php _e('Date Format') ?></th>
 218  <td>
 219      <fieldset><legend class="screen-reader-text"><span><?php _e('Date Format') ?></span></legend>
 220  <?php
 221  
 222      $date_formats = apply_filters( 'date_formats', array(
 223          __('F j, Y'),
 224          'Y/m/d',
 225          'm/d/Y',
 226          'd/m/Y',
 227      ) );
 228  
 229      $custom = true;
 230  
 231      foreach ( $date_formats as $format ) {
 232          echo "\t<label title='" . esc_attr($format) . "'><input type='radio' name='date_format' value='" . esc_attr($format) . "'";
 233          if ( get_option('date_format') === $format ) { // checked() uses "==" rather than "==="
 234              echo " checked='checked'";
 235              $custom = false;
 236          }
 237          echo ' /> <span>' . date_i18n( $format ) . "</span></label><br />\n";
 238      }
 239  
 240      echo '    <label><input type="radio" name="date_format" id="date_format_custom_radio" value="\c\u\s\t\o\m"';
 241      checked( $custom );
 242      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> <img class='ajax-loading' src='" . esc_url( admin_url( 'images/wpspin_light.gif' ) ) . "' />\n";
 243  
 244      echo "\t<p>" . __('<a href="http://codex.wordpress.org/Formatting_Date_and_Time">Documentation on date and time formatting</a>.') . "</p>\n";
 245  ?>
 246      </fieldset>
 247  </td>
 248  </tr>
 249  <tr>
 250  <th scope="row"><?php _e('Time Format') ?></th>
 251  <td>
 252      <fieldset><legend class="screen-reader-text"><span><?php _e('Time Format') ?></span></legend>
 253  <?php
 254  
 255      $time_formats = apply_filters( 'time_formats', array(
 256          __('g:i a'),
 257          'g:i A',
 258          'H:i',
 259      ) );
 260  
 261      $custom = true;
 262  
 263      foreach ( $time_formats as $format ) {
 264          echo "\t<label title='" . esc_attr($format) . "'><input type='radio' name='time_format' value='" . esc_attr($format) . "'";
 265          if ( get_option('time_format') === $format ) { // checked() uses "==" rather than "==="
 266              echo " checked='checked'";
 267              $custom = false;
 268          }
 269          echo ' /> <span>' . date_i18n( $format ) . "</span></label><br />\n";
 270      }
 271  
 272      echo '    <label><input type="radio" name="time_format" id="time_format_custom_radio" value="\c\u\s\t\o\m"';
 273      checked( $custom );
 274      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> <img class='ajax-loading' src='" . esc_url( admin_url( 'images/wpspin_light.gif' ) ) . "' />\n";
 275      ;
 276  ?>
 277      </fieldset>
 278  </td>
 279  </tr>
 280  <tr>
 281  <th scope="row"><label for="start_of_week"><?php _e('Week Starts On') ?></label></th>
 282  <td><select name="start_of_week" id="start_of_week">
 283  <?php
 284  for ($day_index = 0; $day_index <= 6; $day_index++) :
 285      $selected = (get_option('start_of_week') == $day_index) ? 'selected="selected"' : '';
 286      echo "\n\t<option value='" . esc_attr($day_index) . "' $selected>" . $wp_locale->get_weekday($day_index) . '</option>';
 287  endfor;
 288  ?>
 289  </select></td>
 290  </tr>
 291  <?php do_settings_fields('general', 'default'); ?>
 292  <?php
 293      $languages = get_available_languages();
 294      if ( is_multisite() && !empty( $languages ) ):
 295  ?>
 296      <tr valign="top">
 297          <th width="33%" scope="row"><?php _e('Site language:') ?></th>
 298          <td>
 299              <select name="WPLANG" id="WPLANG">
 300                  <?php mu_dropdown_languages( $languages, get_option('WPLANG') ); ?>
 301              </select>
 302          </td>
 303      </tr>
 304  <?php
 305      endif;
 306  ?>
 307  </table>
 308  
 309  <?php do_settings_sections('general'); ?>
 310  
 311  <?php submit_button(); ?>
 312  </form>
 313  
 314  </div>
 315  
 316  <?php include ('./admin-footer.php') ?>


Generated: Wed Jun 1 08:30:02 2011 Cross-referenced by PHPXref 0.7
Provided by Yoast and awesome WordPress Hosting