[ Index ]
 

Code source de WordPress 2.1.2

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/wp-includes/js/ -> wp-ajax-js.php (source)

   1  <?php @require_once('../../wp-config.php'); cache_javascript_headers(); ?>
   2  var WPAjax = Class.create();
   3  Object.extend(WPAjax.prototype, Ajax.Request.prototype);
   4  Object.extend(WPAjax.prototype, {
   5      WPComplete: false, // onComplete function
   6      WPError: false, // onWPError function
   7      initialize: function(url, responseEl) {
   8          var tempObj = this;
   9          this.transport = Ajax.getTransport();
  10          if ( !this.transport )
  11              return false;
  12          this.setOptions( {
  13              parameters: 'cookie=' + encodeURIComponent(document.cookie),
  14              onComplete: function(transport) { // transport = XMLHttpRequest object
  15                  if ( tempObj.parseAjaxResponse() ) {
  16                      if ( 'function' == typeof tempObj.WPComplete )
  17                          tempObj.WPComplete(transport);
  18                  } else if ( 'function' == typeof tempObj.WPError ) // if response corresponds to an error (bad data, say, not 404)
  19                      tempObj.WPError(transport);
  20              }
  21          });
  22          this.url = url ? url : '<?php bloginfo( 'wpurl' ); ?>/wp-admin/admin-ajax.php';
  23          this.getResponseElement(responseEl);
  24      },
  25      addArg: function(key, value) {
  26          var a = $H(this.options.parameters.parseQuery());
  27          a[encodeURIComponent(key)] = encodeURIComponent(value);
  28          this.options.parameters = a.map(function(pair) {
  29              return pair.join('=');
  30          }).join('&');
  31      },
  32      getResponseElement: function(r) {
  33          var p = $(r + '-p');
  34          if ( !p ) {
  35              new Insertion.Bottom(r, "<span id='" + r + "-p'></span>");
  36              var p = $(r + '-p');
  37          }
  38          this.myResponseElement = p;
  39      },
  40      parseAjaxResponse: function() { // 1 = good, 0 = strange (bad data?), -1 = you lack permission
  41          if ( this.transport.responseXML && typeof this.transport.responseXML == 'object' && ( this.transport.responseXML.xml || 'undefined' == typeof this.transport.responseXML.xml ) ) {
  42              var err = this.transport.responseXML.getElementsByTagName('wp_error');
  43              if ( err[0] ) {
  44                  var msg = $A(err).inject( '', function(a, b) { return a + '<p>' + b.firstChild.nodeValue + '</p>'; } );
  45                  Element.update(this.myResponseElement,'<div class="error">' + msg + '</div>');
  46                  return false;
  47              }
  48              return true;
  49          }
  50          var r = this.transport.responseText;
  51          if ( isNaN(r) ) {
  52              Element.update(this.myResponseElement,'<div class="error"><p>' + r + '</p></div>');
  53              return false;
  54          }
  55          var r = parseInt(r,10);
  56          if ( -1 == r ) {
  57              Element.update(this.myResponseElement,"<div class='error'><p><?php _e("You don't have permission to do that."); ?></p></div>");
  58              return false;
  59          } else if ( 0 == r ) {
  60              Element.update(this.myResponseElement,"<div class='error'><p><?php _e("Something strange happened.  Try refreshing the page."); ?></p></div>");
  61              return false;
  62          }
  63          return true;
  64      },
  65      addOnComplete: function(f) {
  66          if ( 'function' == typeof f ) { var of = this.WPComplete; this.WPComplete = function(t) { if ( of ) of(t); f(t); } }
  67      },
  68      addOnWPError: function(f) {
  69          if ( 'function' == typeof f ) { var of = this.WPError; this.WPError = function(t) { if ( of ) of(t); f(t); } }
  70      },
  71      notInitialized: function() {
  72          return this.transport ? false : true;
  73      }
  74  });
  75  
  76  Ajax.activeSendCount = 0;
  77  Ajax.Responders.register( {
  78      onCreate: function() {
  79          Ajax.activeSendCount++;
  80          if ( 1 != Ajax.activeSendCount )
  81              return;
  82          wpBeforeUnload = window.onbeforeunload;
  83          window.onbeforeunload = function() {
  84              return "<?php js_escape(__("Slow down, I'm still sending your data!")); ?>";
  85          }
  86      },
  87      onLoading: function() { // Can switch to onLoaded if we lose data
  88          Ajax.activeSendCount--;
  89          if ( 0 != Ajax.activeSendCount )
  90              return;
  91          window.onbeforeunload = wpBeforeUnload;
  92      }
  93  });
  94  
  95  //Pretty func adapted from ALA http://www.alistapart.com/articles/gettingstartedwithajax
  96  function getNodeValue(tree,el){try { var r = tree.getElementsByTagName(el)[0].firstChild.nodeValue; } catch(err) { var r = null; } return r; }


Généré le : Fri Mar 30 19:41:27 2007 par Balluche grâce à PHPXref 0.7