From 0212f66ff1682ab699830d7571a5ff5ee85aa725 Mon Sep 17 00:00:00 2001
From: Dries Buytaert <dries@buytaert.net>
Date: Mon, 19 Dec 2005 14:27:28 +0000
Subject: [PATCH] - Patch #40677 by Steven: make the updater work again.

---
 misc/drupal.js   | 3 +++
 misc/progress.js | 2 +-
 misc/update.js   | 2 +-
 update.php       | 3 ++-
 4 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/misc/drupal.js b/misc/drupal.js
index f1af13be1849..1bc35c7573d9 100644
--- a/misc/drupal.js
+++ b/misc/drupal.js
@@ -66,6 +66,9 @@ function HTTPGet(uri, callbackFunction, callbackParameter) {
 
 /**
  * Creates an HTTP POST request and sends the response to the callback function
+ *
+ * Note: passing null or undefined for 'object' makes the request fail in Opera.
+ *       Pass an empty string instead, if you must.
  */
 function HTTPPost(uri, callbackFunction, callbackParameter, object) {
   var xmlHttp = new XMLHttpRequest();
diff --git a/misc/progress.js b/misc/progress.js
index b19cc08dbc8f..66013d4e88e4 100644
--- a/misc/progress.js
+++ b/misc/progress.js
@@ -69,7 +69,7 @@ progressBar.prototype.sendPing = function () {
   if (this.timer) {
     clearTimeout(this.timer);
   }
-  this.method(this.uri, this.receivePing, this);
+  this.method(this.uri, this.receivePing, this, '');
 }
 
 /**
diff --git a/misc/update.js b/misc/update.js
index 1b79a74e59e8..e4358d269172 100644
--- a/misc/update.js
+++ b/misc/update.js
@@ -11,7 +11,7 @@ if (isJsEnabled()) {
         }
       }
 
-      this.progress = new progressBar('updateprogress', updateCallback, HTTPGet);
+      this.progress = new progressBar('updateprogress', updateCallback, HTTPPost);
       this.progress.setProgress(-1, 'Starting updates...');
       $('progress').appendChild(this.progress.element);
       this.progress.startMonitoring('update.php?op=do_update', 0);
diff --git a/update.php b/update.php
index 14c19e4d0681..c29fbdb09603 100644
--- a/update.php
+++ b/update.php
@@ -308,7 +308,8 @@ function update_selection_page() {
 
   $form['has_js'] = array(
     '#type' => 'hidden',
-    '#default_value' => FALSE
+    '#default_value' => FALSE,
+    '#attributes' => array('id' => 'edit-has_js')
   );
   $form['submit'] = array(
     '#type' => 'submit',
-- 
GitLab