[ Index ]

PHP Cross Reference of Drupal 6 (gatewave)

title

Body

[close]

/modules/system/ -> system.js (source)

   1  // $Id: system.js,v 1.14.2.2 2009/07/21 08:59:12 goba Exp $
   2  
   3  /**
   4   * Internal function to check using Ajax if clean URLs can be enabled on the
   5   * settings page.
   6   *
   7   * This function is not used to verify whether or not clean URLs
   8   * are currently enabled.
   9   */
  10  Drupal.behaviors.cleanURLsSettingsCheck = function(context) {
  11    // This behavior attaches by ID, so is only valid once on a page.
  12    // Also skip if we are on an install page, as Drupal.cleanURLsInstallCheck will handle
  13    // the processing.
  14    if ($("#clean-url.clean-url-processed, #clean-url.install").size()) {
  15      return;
  16    }
  17    var url = Drupal.settings.basePath +"admin/settings/clean-urls/check";
  18    $("#clean-url .description span").html('<div id="testing">'+ Drupal.t('Testing clean URLs...') +"</div>");
  19    $("#clean-url p").hide();
  20    $.ajax({
  21      url: location.protocol +"//"+ location.host + url,
  22      dataType: 'json',
  23      success: function () {
  24        // Check was successful.
  25        $("#clean-url input.form-radio").attr("disabled", false);
  26        $("#clean-url .description span").append('<div class="ok">'+ Drupal.t('Your server has been successfully tested to support this feature.') +"</div>");
  27        $("#testing").hide();
  28      },
  29      error: function() {
  30        // Check failed.
  31        $("#clean-url .description span").append('<div class="warning">'+ Drupal.t('Your system configuration does not currently support this feature. The <a href="http://drupal.org/node/15365">handbook page on Clean URLs</a> has additional troubleshooting information.') +"</div>");
  32        $("#testing").hide();
  33      }
  34    });
  35    $("#clean-url").addClass('clean-url-processed');
  36  };
  37  
  38  /**
  39   * Internal function to check using Ajax if clean URLs can be enabled on the
  40   * install page.
  41   *
  42   * This function is not used to verify whether or not clean URLs
  43   * are currently enabled.
  44   */
  45  Drupal.cleanURLsInstallCheck = function() {
  46    var url = location.protocol +"//"+ location.host + Drupal.settings.basePath +"admin/settings/clean-urls/check";
  47    $("#clean-url .description").append('<span><div id="testing">'+ Drupal.settings.cleanURL.testing +"</div></span>");
  48    $("#clean-url.install").css("display", "block");
  49    $.ajax({
  50      url: url,
  51      dataType: 'json',
  52      success: function () {
  53        // Check was successful.
  54        $("#clean-url input.form-radio").attr("disabled", false);
  55        $("#clean-url input.form-radio").attr("checked", 1);
  56        $("#clean-url .description span").append('<div class="ok">'+ Drupal.settings.cleanURL.success +"</div>");
  57        $("#testing").hide();
  58      },
  59      error: function() {
  60        // Check failed.
  61        $("#clean-url .description span").append('<div class="warning">'+ Drupal.settings.cleanURL.failure +"</div>");
  62        $("#testing").hide();
  63      }
  64    });
  65    $("#clean-url").addClass('clean-url-processed');
  66  };
  67  
  68  /**
  69   * When a field is filled out, apply its value to other fields that will likely
  70   * use the same value. In the installer this is used to populate the
  71   * administrator e-mail address with the same value as the site e-mail address.
  72   */
  73  Drupal.behaviors.copyFieldValue = function (context) {
  74    for (var sourceId in Drupal.settings.copyFieldValue) {
  75      // Get the list of target fields.
  76      targetIds = Drupal.settings.copyFieldValue[sourceId];
  77      if (!$('#'+ sourceId + '.copy-field-values-processed').size(), context) {
  78        // Add the behavior to update target fields on blur of the primary field.
  79        sourceField = $('#' + sourceId);
  80        sourceField.bind('blur', function() {
  81          for (var delta in targetIds) {
  82            var targetField = $('#'+ targetIds[delta]);
  83            if (targetField.val() == '') {
  84              targetField.val(this.value);
  85            }
  86          }
  87        });
  88        sourceField.addClass('copy-field-values-processed');
  89      }
  90    }
  91  };
  92  
  93  /**
  94   * Show/hide custom format sections on the date-time settings page.
  95   */
  96  Drupal.behaviors.dateTime = function(context) {
  97    // Show/hide custom format depending on the select's value.
  98    $('select.date-format:not(.date-time-processed)', context).change(function() {
  99      $(this).addClass('date-time-processed').parents("div.date-container").children("div.custom-container")[$(this).val() == "custom" ? "show" : "hide"]();
 100    });
 101  
 102    // Attach keyup handler to custom format inputs.
 103    $('input.custom-format:not(.date-time-processed)', context).addClass('date-time-processed').keyup(function() {
 104      var input = $(this);
 105      var url = Drupal.settings.dateTime.lookup +(Drupal.settings.dateTime.lookup.match(/\?q=/) ? "&format=" : "?format=") + encodeURIComponent(input.val());
 106      $.getJSON(url, function(data) {
 107        $("div.description span", input.parent()).html(data);
 108      });
 109    });
 110  
 111    // Trigger the event handler to show the form input if necessary.
 112    $('select.date-format', context).trigger('change');
 113  };


Generated: Thu Mar 24 11:18:33 2011 Cross-referenced by PHPXref 0.7