[ Index ]
 

Code source de WordPress 2.1.2

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

title

Body

[fermer]

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

   1  <?php @require_once('../../wp-config.php');
   2  cache_javascript_headers();
   3  ?>
   4  var autosaveLast = '';
   5  var autosavePeriodical;
   6  
   7  function autosave_start_timer() {
   8      var form = $('post');
   9      autosaveLast = form.post_title.value+form.content.value;
  10      // Keep autosave_interval in sync with edit_post().
  11      autosavePeriodical = new PeriodicalExecuter(autosave, <?php echo apply_filters('autosave_interval', '120'); ?>);
  12      //Disable autosave after the form has been submitted
  13      if(form.addEventListener) {
  14          form.addEventListener("submit", function () { autosavePeriodical.currentlyExecuting = true; }, false);
  15      }
  16      if(form.attachEvent) {
  17          form.save ? form.save.attachEvent("onclick", function () { autosavePeriodical.currentlyExecuting = true; }) : null;
  18          form.submit ? form.submit.attachEvent("onclick", function () { autosavePeriodical.currentlyExecuting = true; }) : null;
  19          form.publish ? form.publish.attachEvent("onclick", function () { autosavePeriodical.currentlyExecuting = true; }) : null;
  20          form.deletepost ? form.deletepost.attachEvent("onclick", function () { autosavePeriodical.currentlyExecuting = true; }) : null;
  21      }
  22  }
  23  addLoadEvent(autosave_start_timer)
  24  
  25  function autosave_cur_time() {
  26      var now = new Date();
  27      return "" + ((now.getHours() >12) ? now.getHours() -12 : now.getHours()) + 
  28      ((now.getMinutes() < 10) ? ":0" : ":") + now.getMinutes() +
  29      ((now.getSeconds() < 10) ? ":0" : ":") + now.getSeconds();
  30  }
  31      
  32  function autosave_update_nonce() {
  33      var response = nonceAjax.response;
  34      document.getElementsByName('_wpnonce')[0].value = response;
  35  }
  36  
  37  function autosave_update_post_ID() {
  38      var response = autosaveAjax.response;
  39      var res = parseInt(response);
  40      var message;
  41      
  42      if(isNaN(res)) {
  43          message = "<?php echo js_escape(__('Error: ')); ?>" + response;
  44      } else {
  45          message = "<?php echo js_escape(__('Saved at ')); ?>" + autosave_cur_time();
  46          $('post_ID').name = "post_ID";
  47          $('post_ID').value = res;
  48          // We need new nonces
  49          nonceAjax = new sack();
  50          nonceAjax.element = null;
  51          nonceAjax.setVar("action", "autosave-generate-nonces");
  52          nonceAjax.setVar("post_ID", res);
  53          nonceAjax.setVar("cookie", document.cookie);
  54          nonceAjax.setVar("post_type", $('post_type').value);
  55          nonceAjax.requestFile = "<?php echo get_option('siteurl'); ?>/wp-admin/admin-ajax.php";
  56          nonceAjax.onCompletion = autosave_update_nonce;
  57          nonceAjax.method = "POST";
  58          nonceAjax.runAJAX();
  59          $('hiddenaction').value = 'editpost';
  60      }
  61      $('autosave').innerHTML = message;
  62      autosave_enable_buttons();
  63  }
  64  
  65  function autosave_loading() {
  66      $('autosave').innerHTML = "<?php echo js_escape(__('Saving Draft...')); ?>";
  67  }
  68  
  69  function autosave_saved() {
  70      var response = autosaveAjax.response;
  71      var res = parseInt(response);
  72      var message;
  73      
  74      if(isNaN(res)) {
  75          message = "<?php echo js_escape(__('Error: ')); ?>" + response;
  76      } else {
  77          message = "<?php echo js_escape(__('Saved at ')); ?>" + autosave_cur_time() + ".";
  78      }
  79      $('autosave').innerHTML = message;
  80      autosave_enable_buttons();
  81  }
  82  
  83  function autosave_disable_buttons() {
  84      var form = $('post');
  85      form.save ? form.save.disabled = 'disabled' : null;
  86      form.submit ? form.submit.disabled = 'disabled' : null;
  87      form.publish ? form.publish.disabled = 'disabled' : null;
  88      form.deletepost ? form.deletepost.disabled = 'disabled' : null;
  89      setTimeout('autosave_enable_buttons();', 1000); // Re-enable 1 sec later.  Just gives autosave a head start to avoid collisions.
  90  }
  91  
  92  function autosave_enable_buttons() {
  93      var form = $('post');
  94      form.save ? form.save.disabled = '' : null;
  95      form.submit ? form.submit.disabled = '' : null;
  96      form.publish ? form.publish.disabled = '' : null;
  97      form.deletepost ? form.deletepost.disabled = '' : null;
  98  }
  99  
 100  function autosave() {
 101      var form = $('post');
 102      var rich = ((typeof tinyMCE != "undefined") && tinyMCE.getInstanceById('content')) ? true : false;
 103  
 104      autosaveAjax = new sack();
 105  
 106      /* Gotta do this up here so we can check the length when tinyMCE is in use */
 107      if ( typeof tinyMCE == "undefined" || tinyMCE.configs.length < 1 || rich == false ) {
 108          autosaveAjax.setVar("content", form.content.value);
 109      } else {
 110          // Don't run while the TinyMCE spellcheck is on.
 111          if(tinyMCE.selectedInstance.spellcheckerOn) return;
 112          tinyMCE.wpTriggerSave();
 113          autosaveAjax.setVar("content", form.content.value);
 114      }
 115  
 116      if(form.post_title.value.length==0 || form.content.value.length==0 || form.post_title.value+form.content.value == autosaveLast)
 117          return;
 118  
 119      autosave_disable_buttons();
 120  
 121      autosaveLast = form.post_title.value+form.content.value;
 122  
 123      cats = document.getElementsByName("post_category[]");
 124      goodcats = ([]);
 125      for(i=0;i<cats.length;i++) {
 126          if(cats[i].checked)
 127              goodcats.push(cats[i].value);
 128      }
 129      catslist = goodcats.join(",");
 130      
 131      autosaveAjax.setVar("action", "autosave");
 132      autosaveAjax.setVar("cookie", document.cookie);
 133      autosaveAjax.setVar("catslist", catslist);
 134      autosaveAjax.setVar("post_ID", $("post_ID").value);
 135      autosaveAjax.setVar("post_title", form.post_title.value);
 136      autosaveAjax.setVar("post_type", form.post_type.value);
 137      if ( form.comment_status.checked )
 138          autosaveAjax.setVar("comment_status", 'open');
 139      if ( form.ping_status.checked )
 140          autosaveAjax.setVar("ping_status", 'open');
 141      if(form.excerpt)
 142          autosaveAjax.setVar("excerpt", form.excerpt.value);        
 143          
 144      if ( typeof tinyMCE == "undefined" || tinyMCE.configs.length < 1 || rich == false ) {
 145          autosaveAjax.setVar("content", form.content.value);
 146      } else {
 147          tinyMCE.wpTriggerSave();
 148          autosaveAjax.setVar("content", form.content.value);
 149      }
 150          
 151      autosaveAjax.requestFile = "<?php echo get_option('siteurl'); ?>/wp-admin/admin-ajax.php";
 152      autosaveAjax.method = "POST";
 153      autosaveAjax.element = null;
 154      autosaveAjax.onLoading = autosave_loading;
 155      autosaveAjax.onInteractive = autosave_loading;
 156      if(parseInt($("post_ID").value) < 1)
 157          autosaveAjax.onCompletion = autosave_update_post_ID;
 158      else
 159          autosaveAjax.onCompletion = autosave_saved;
 160      autosaveAjax.runAJAX();
 161  }


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