Index: src/wp-admin/includes/class-ftp-pure.php
===================================================================
--- src/wp-admin/includes/class-ftp-pure.php	(revision 32291)
+++ src/wp-admin/includes/class-ftp-pure.php	(working copy)
@@ -27,14 +27,14 @@
  */
 class ftp extends ftp_base {

+	function __construct($verb=FALSE, $le=FALSE) {
+		parent::__construct(false, $verb, $le);
+	}
+
 	function ftp($verb=FALSE, $le=FALSE) {
 		$this->__construct($verb, $le);
 	}

-	function __construct($verb=FALSE, $le=FALSE) {
-		parent::__construct(false, $verb, $le);
-	}
-
 // <!-- --------------------------------------------------------------------------------------- -->
 // <!--       Private functions                                                                 -->
 // <!-- --------------------------------------------------------------------------------------- -->
Index: src/wp-admin/includes/class-ftp-sockets.php
===================================================================
--- src/wp-admin/includes/class-ftp-sockets.php	(revision 32291)
+++ src/wp-admin/includes/class-ftp-sockets.php	(working copy)
@@ -27,14 +27,14 @@
  */
 class ftp extends ftp_base {

+	function __construct($verb=FALSE, $le=FALSE) {
+		parent::__construct(true, $verb, $le);
+	}
+
 	function ftp($verb=FALSE, $le=FALSE) {
 		$this->__construct($verb, $le);
 	}

-	function __construct($verb=FALSE, $le=FALSE) {
-		parent::__construct(true, $verb, $le);
-	}
-
 // <!-- --------------------------------------------------------------------------------------- -->
 // <!--       Private functions                                                                 -->
 // <!-- --------------------------------------------------------------------------------------- -->
Index: src/wp-admin/includes/class-ftp.php
===================================================================
--- src/wp-admin/includes/class-ftp.php	(revision 32291)
+++ src/wp-admin/includes/class-ftp.php	(working copy)
@@ -121,10 +121,6 @@
 	var $AutoAsciiExt;

 	/* Constructor */
-	function ftp_base($port_mode=FALSE) {
-		$this->__construct($port_mode);
-	}
-
 	function __construct($port_mode=FALSE, $verb=FALSE, $le=FALSE) {
 		$this->LocalEcho=$le;
 		$this->Verbose=$verb;
@@ -157,6 +153,10 @@
 		elseif(strtoupper(substr(PHP_OS, 0, 3)) === 'MAC') $this->OS_local=FTP_OS_Mac;
 	}

+	function ftp_base($port_mode=FALSE) {
+		$this->__construct($port_mode);
+	}
+
 // <!-- --------------------------------------------------------------------------------------- -->
 // <!--       Public functions                                                                  -->
 // <!-- --------------------------------------------------------------------------------------- -->
Index: src/wp-admin/includes/class-pclzip.php
===================================================================
--- src/wp-admin/includes/class-pclzip.php	(revision 32291)
+++ src/wp-admin/includes/class-pclzip.php	(working copy)
@@ -212,7 +212,7 @@
   //   Note that no real action is taken, if the archive does not exist it is not
   //   created. Use create() for that.
   // --------------------------------------------------------------------------------
-  function PclZip($p_zipname)
+  function __construct($p_zipname)
   {

     // ----- Tests the zlib
@@ -229,6 +229,10 @@
     // ----- Return
     return;
   }
+
+  public function PclZip($p_zipname) {
+    self::__construct($p_zipname);
+  }
   // --------------------------------------------------------------------------------

   // --------------------------------------------------------------------------------
Index: src/wp-admin/includes/deprecated.php
===================================================================
--- src/wp-admin/includes/deprecated.php	(revision 32291)
+++ src/wp-admin/includes/deprecated.php	(working copy)
@@ -470,7 +470,7 @@
 	var $paging_text;

 	/**
-	 * PHP4 Constructor - Sets up the object properties.
+	 * PHP5 Constructor - Sets up the object properties.
 	 *
 	 * @since 2.1.0
 	 *
@@ -479,7 +479,7 @@
 	 * @param string $role Role name.
 	 * @return WP_User_Search
 	 */
-	function WP_User_Search ($search_term = '', $page = '', $role = '') {
+	function __construct( $search_term = '', $page = '', $role = '' ) {
 		_deprecated_function( __FUNCTION__, '3.1', 'WP_User_Query' );

 		$this->search_term = wp_unslash( $search_term );
@@ -493,6 +493,20 @@
 	}

 	/**
+	 * PHP4 Constructor - Sets up the object properties.
+	 *
+	 * @since 2.1.0
+	 *
+	 * @param string $search_term Search terms string.
+	 * @param int $page Optional. Page ID.
+	 * @param string $role Role name.
+	 * @return WP_User_Search
+	 */
+	public function WP_User_Search( $search_term = '', $page = '', $role = '' ) {
+		self::__construct( $search_term, $page, $role );
+	}
+
+	/**
 	 * {@internal Missing Short Description}}
 	 *
 	 * {@internal Missing Long Description}}
Index: src/wp-includes/Text/Diff/Renderer.php
===================================================================
--- src/wp-includes/Text/Diff/Renderer.php	(revision 32291)
+++ src/wp-includes/Text/Diff/Renderer.php	(working copy)
@@ -33,7 +33,7 @@
     /**
      * Constructor.
      */
-    function Text_Diff_Renderer($params = array())
+    function __construct( $params = array() )
     {
         foreach ($params as $param => $value) {
             $v = '_' . $param;
@@ -43,6 +43,13 @@
         }
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function Text_Diff_Renderer( $params = array() ) {
+		self::__construct( $params );
+	}
+
     /**
      * Get any renderer parameters.
      *
Index: src/wp-includes/Text/Diff.php
===================================================================
--- src/wp-includes/Text/Diff.php	(revision 32291)
+++ src/wp-includes/Text/Diff.php	(working copy)
@@ -33,7 +33,7 @@
      *                           Normally an array of two arrays, each
      *                           containing the lines from a file.
      */
-    function Text_Diff($engine, $params)
+    function __construct( $engine, $params )
     {
         // Backward compatibility workaround.
         if (!is_string($engine)) {
@@ -55,6 +55,13 @@
         $this->_edits = call_user_func_array(array($diff_engine, 'diff'), $params);
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function Text_Diff( $engine, $params ) {
+		self::__construct( $engine, $params );
+	}
+
     /**
      * Returns the array of differences.
      */
@@ -304,7 +311,7 @@
      * @param array $mapped_to_lines    This array should have the same number
      *                                  of elements as $to_lines.
      */
-    function Text_MappedDiff($from_lines, $to_lines,
+    function __construct($from_lines, $to_lines,
                              $mapped_from_lines, $mapped_to_lines)
     {
         assert(count($from_lines) == count($mapped_from_lines));
@@ -328,6 +335,15 @@
         }
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function Text_MappedDiff( $from_lines, $to_lines,
+                             $mapped_from_lines, $mapped_to_lines ) {
+		self::__construct( $from_lines, $to_lines,
+                             $mapped_from_lines, $mapped_to_lines );
+	}
+
 }

 /**
@@ -366,7 +382,10 @@
  */
 class Text_Diff_Op_copy extends Text_Diff_Op {

-    function Text_Diff_Op_copy($orig, $final = false)
+	/**
+	 * PHP5 constructor.
+	 */
+    function __construct( $orig, $final = false )
     {
         if (!is_array($final)) {
             $final = $orig;
@@ -375,6 +394,13 @@
         $this->final = $final;
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function Text_Diff_Op_copy( $orig, $final = false ) {
+		self::__construct( $orig, $final );
+	}
+
     function &reverse()
     {
         $reverse = new Text_Diff_Op_copy($this->final, $this->orig);
@@ -391,12 +417,22 @@
  */
 class Text_Diff_Op_delete extends Text_Diff_Op {

-    function Text_Diff_Op_delete($lines)
+	/**
+	 * PHP5 constructor.
+	 */
+	function __construct( $lines )
     {
         $this->orig = $lines;
         $this->final = false;
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function Text_Diff_Op_delete( $lines ) {
+		self::__construct( $lines );
+	}
+
     function &reverse()
     {
         $reverse = new Text_Diff_Op_add($this->orig);
@@ -413,12 +449,22 @@
  */
 class Text_Diff_Op_add extends Text_Diff_Op {

-    function Text_Diff_Op_add($lines)
+	/**
+	 * PHP5 constructor.
+	 */
+    function __construct( $lines )
     {
         $this->final = $lines;
         $this->orig = false;
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function Text_Diff_Op_add( $lines ) {
+		self::__construct( $lines );
+	}
+
     function &reverse()
     {
         $reverse = new Text_Diff_Op_delete($this->final);
@@ -435,12 +481,22 @@
  */
 class Text_Diff_Op_change extends Text_Diff_Op {

-    function Text_Diff_Op_change($orig, $final)
+	/**
+	 * PHP5 constructor.
+	 */
+    function __construct( $orig, $final )
     {
         $this->orig = $orig;
         $this->final = $final;
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function Text_Diff_Op_change( $orig, $final ) {
+		self::__construct( $orig, $final );
+	}
+
     function &reverse()
     {
         $reverse = new Text_Diff_Op_change($this->final, $this->orig);
Index: src/wp-includes/atomlib.php
===================================================================
--- src/wp-includes/atomlib.php	(revision 32291)
+++ src/wp-includes/atomlib.php	(working copy)
@@ -87,7 +87,10 @@
     var $feed;
     var $current;

-    function AtomParser() {
+	/**
+	 * PHP5 constructor.
+	 */
+    function __construct() {

         $this->feed = new AtomFeed();
         $this->current = null;
@@ -95,6 +98,13 @@
         $this->map_xmlns_func = create_function('$p,$n', '$xd = "xmlns"; if(strlen($n[0])>0) $xd .= ":{$n[0]}"; return "{$xd}=\"{$n[1]}\"";');
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function AtomParser() {
+		self::__construct();
+	}
+
     function _p($msg) {
         if($this->debug) {
             print str_repeat(" ", $this->depth * $this->indent) . $msg ."\n";
Index: src/wp-includes/class-IXR.php
===================================================================
--- src/wp-includes/class-IXR.php	(revision 32291)
+++ src/wp-includes/class-IXR.php	(working copy)
@@ -49,7 +49,10 @@
     var $data;
     var $type;

-    function IXR_Value($data, $type = false)
+	/**
+	 * PHP5 constructor.
+	 */
+	function __construct( $data, $type = false )
     {
         $this->data = $data;
         if (!$type) {
@@ -69,6 +72,13 @@
         }
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function IXR_Value( $data, $type = false ) {
+		self::__construct( $data, $type );
+	}
+
     function calculateType()
     {
         if ($this->data === true || $this->data === false) {
@@ -194,11 +204,21 @@
     // The XML parser
     var $_parser;

-    function IXR_Message($message)
+	/**
+	 * PHP5 constructor.
+	 */
+    function __construct( $message )
     {
         $this->message =& $message;
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function IXR_Message( $message ) {
+		self::__construct( $message );
+	}
+
     function parse()
     {
         // first remove the XML declaration
@@ -386,7 +406,10 @@
     var $message;
     var $capabilities;

-    function IXR_Server($callbacks = false, $data = false, $wait = false)
+	/**
+	 * PHP5 constructor.
+	 */
+    function __construct( $callbacks = false, $data = false, $wait = false )
     {
         $this->setCapabilities();
         if ($callbacks) {
@@ -398,6 +421,13 @@
         }
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function IXR_Server( $callbacks = false, $data = false, $wait = false ) {
+		self::__construct( $callbacks, $data, $wait );
+	}
+
     function serve($data = false)
     {
         if (!$data) {
@@ -600,7 +630,10 @@
     var $args;
     var $xml;

-    function IXR_Request($method, $args)
+	/**
+	 * PHP5 constructor.
+	 */
+    function __construct($method, $args)
     {
         $this->method = $method;
         $this->args = $args;
@@ -620,6 +653,13 @@
         $this->xml .= '</params></methodCall>';
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function IXR_Request( $method, $args ) {
+		self::__construct( $method, $args );
+	}
+
     function getLength()
     {
         return strlen($this->xml);
@@ -653,7 +693,10 @@
     // Storage place for an error message
     var $error = false;

-    function IXR_Client($server, $path = false, $port = 80, $timeout = 15)
+	/**
+	 * PHP5 constructor.
+	 */
+    function __construct( $server, $path = false, $port = 80, $timeout = 15 )
     {
         if (!$path) {
             // Assume we have been given a URL instead
@@ -679,6 +722,13 @@
         $this->timeout = $timeout;
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function IXR_Client( $server, $path = false, $port = 80, $timeout = 15 ) {
+		self::__construct( $server, $path, $port, $timeout );
+	}
+
     function query()
     {
         $args = func_get_args();
@@ -798,12 +848,22 @@
     var $code;
     var $message;

-    function IXR_Error($code, $message)
+	/**
+	 * PHP5 constructor.
+	 */
+    function __construct( $code, $message )
     {
         $this->code = $code;
         $this->message = htmlspecialchars($message);
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function IXR_Error( $code, $message ) {
+		self::__construct( $code, $message );
+	}
+
     function getXml()
     {
         $xml = <<<EOD
@@ -844,7 +904,10 @@
     var $second;
     var $timezone;

-    function IXR_Date($time)
+	/**
+	 * PHP5 constructor.
+	 */
+    function __construct( $time )
     {
         // $time can be a PHP timestamp or an ISO one
         if (is_numeric($time)) {
@@ -854,6 +917,13 @@
         }
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function IXR_Date( $time ) {
+		self::__construct( $time );
+	}
+
     function parseTimestamp($timestamp)
     {
         $this->year = date('Y', $timestamp);
@@ -902,11 +972,21 @@
 {
     var $data;

-    function IXR_Base64($data)
+	/**
+	 * PHP5 constructor.
+	 */
+    function __construct( $data )
     {
         $this->data = $data;
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function IXR_Base64( $data ) {
+		self::__construct( $data );
+	}
+
     function getXml()
     {
         return '<base64>'.base64_encode($this->data).'</base64>';
@@ -924,7 +1004,10 @@
     var $signatures;
     var $help;

-    function IXR_IntrospectionServer()
+	/**
+	 * PHP5 constructor.
+	 */
+    function __construct()
     {
         $this->setCallbacks();
         $this->setCapabilities();
@@ -958,6 +1041,13 @@
         );
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function IXR_IntrospectionServer() {
+		self::__construct();
+	}
+
     function addCallback($method, $callback, $args, $help)
     {
         $this->callbacks[$method] = $callback;
@@ -1086,12 +1176,22 @@
 {
     var $calls = array();

-    function IXR_ClientMulticall($server, $path = false, $port = 80)
+	/**
+	 * PHP5 constructor.
+	 */
+    function __construct( $server, $path = false, $port = 80 )
     {
         parent::IXR_Client($server, $path, $port);
         $this->useragent = 'The Incutio XML-RPC PHP Library (multicall client)';
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function IXR_ClientMulticall( $server, $path = false, $port = 80 ) {
+		self::__construct( $server, $path, $port );
+	}
+
     function addCall()
     {
         $args = func_get_args();
Index: src/wp-includes/class-json.php
===================================================================
--- src/wp-includes/class-json.php	(revision 32291)
+++ src/wp-includes/class-json.php	(working copy)
@@ -140,7 +140,7 @@
     *                                   strings or numbers, if you return an object, make sure it does
     *                                   not have a toJSON method, otherwise an error will occur.
     */
-    function Services_JSON($use = 0)
+    function __construct( $use = 0 )
     {
         $this->use = $use;
         $this->_mb_strlen            = function_exists('mb_strlen');
@@ -147,6 +147,13 @@
         $this->_mb_convert_encoding  = function_exists('mb_convert_encoding');
         $this->_mb_substr            = function_exists('mb_substr');
     }
+
+	/**
+	 * PHP4 constructor.
+	 */
+	public function Services_JSON( $use = 0 ) {
+		self::__construct( $use );
+	}
     // private - cache the mbstring lookup results..
     var $_mb_strlen = false;
     var $_mb_substr = false;
@@ -910,11 +917,17 @@

     class Services_JSON_Error extends PEAR_Error
     {
-        function Services_JSON_Error($message = 'unknown error', $code = null,
+        function __construct($message = 'unknown error', $code = null,
                                      $mode = null, $options = null, $userinfo = null)
         {
             parent::PEAR_Error($message, $code, $mode, $options, $userinfo);
         }
+
+	public function Services_JSON_Error($message = 'unknown error', $code = null,
+                                     $mode = null, $options = null, $userinfo = null) {
+		self::__construct($message = 'unknown error', $code = null,
+                                     $mode = null, $options = null, $userinfo = null);
+	}
     }

 } else {
@@ -924,11 +937,22 @@
      */
     class Services_JSON_Error
     {
-        function Services_JSON_Error($message = 'unknown error', $code = null,
-                                     $mode = null, $options = null, $userinfo = null)
+	    /**
+	     * PHP5 constructor.
+	     */
+        function __construct( $message = 'unknown error', $code = null,
+                                     $mode = null, $options = null, $userinfo = null )
         {

         }
+
+	    /**
+	     * PHP4 constructor.
+	     */
+		public function Services_JSON_Error( $message = 'unknown error', $code = null,
+	                                     $mode = null, $options = null, $userinfo = null ) {
+			self::__construct( $message, $code, $mode, $options, $userinfo );
+		}
     }

 }
Index: src/wp-includes/class-phpass.php
===================================================================
--- src/wp-includes/class-phpass.php	(revision 32291)
+++ src/wp-includes/class-phpass.php	(working copy)
@@ -39,7 +39,10 @@
 	var $portable_hashes;
 	var $random_state;

-	function PasswordHash($iteration_count_log2, $portable_hashes)
+	/**
+	 * PHP5 constructor.
+	 */
+	function __construct( $iteration_count_log2, $portable_hashes )
 	{
 		$this->itoa64 = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';

@@ -52,6 +55,13 @@
 		$this->random_state = microtime() . uniqid(rand(), TRUE); // removed getmypid() for compatibility reasons
 	}

+	/**
+	 * PHP4 constructor.
+	 */
+	public function PasswordHash( $iteration_count_log2, $portable_hashes ) {
+		self::__construct( $iteration_count_log2, $portable_hashes );
+	}
+
 	function get_random_bytes($count)
 	{
 		$output = '';
Index: src/wp-includes/class-pop3.php
===================================================================
--- src/wp-includes/class-pop3.php	(revision 32291)
+++ src/wp-includes/class-pop3.php	(working copy)
@@ -44,7 +44,10 @@
                                 //  This must be set to true
                                 //  manually

-    function POP3 ( $server = '', $timeout = '' ) {
+	/**
+	 * PHP5 constructor.
+	 */
+    function __construct ( $server = '', $timeout = '' ) {
         settype($this->BUFFER,"integer");
         if( !empty($server) ) {
             // Do not allow programs to alter MAILSERVER
@@ -62,6 +65,13 @@
         return true;
     }

+	/**
+	 * PHP4 constructor.
+	 */
+	public function POP3( $server = '', $timeout = '' ) {
+		self::__construct( $server, $timeout );
+	}
+
     function update_timer () {
         if (!ini_get('safe_mode'))
             set_time_limit($this->TIMEOUT);
Index: src/wp-includes/pomo/entry.php
===================================================================
--- src/wp-includes/pomo/entry.php	(revision 32291)
+++ src/wp-includes/pomo/entry.php	(working copy)
@@ -40,7 +40,7 @@
 	 * 	- references (array) -- places in the code this strings is used, in relative_to_root_path/file.php:linenum form
 	 * 	- flags (array) -- flags like php-format
 	 */
-	function Translation_Entry($args=array()) {
+	function __construct( $args = array() ) {
 		// if no singular -- empty object
 		if (!isset($args['singular'])) {
 			return;
@@ -56,6 +56,13 @@
 	}

 	/**
+	 * PHP4 constructor.
+	 */
+	public function Translation_Entry( $args = array() ) {
+		self::__construct( $args );
+	}
+
+	/**
 	 * Generates a unique key for this entry
 	 *
 	 * @return string|bool the key or false if the entry is empty
Index: src/wp-includes/pomo/streams.php
===================================================================
--- src/wp-includes/pomo/streams.php	(revision 32291)
+++ src/wp-includes/pomo/streams.php	(working copy)
@@ -14,12 +14,22 @@
 	var $endian = 'little';
 	var $_post = '';

-	function POMO_Reader() {
+	/**
+	 * PHP5 constructor.
+	 */
+	function __construct() {
 		$this->is_overloaded = ((ini_get("mbstring.func_overload") & 2) != 0) && function_exists('mb_substr');
 		$this->_pos = 0;
 	}

 	/**
+	 * PHP4 constructor.
+	 */
+	public function POMO_Reader() {
+		self::__construct();
+	}
+
+	/**
 	 * Sets the endianness of the file.
 	 *
 	 * @param $endian string 'big' or 'little'
@@ -122,12 +132,19 @@
 	/**
 	 * @param string $filename
 	 */
-	function POMO_FileReader($filename) {
+	function __construct( $filename ) {
 		parent::POMO_Reader();
 		$this->_f = fopen($filename, 'rb');
 	}

 	/**
+	 * PHP4 constructor.
+	 */
+	public function POMO_FileReader( $filename ) {
+		self::__construct( $filename );
+	}
+
+	/**
 	 * @param int $bytes
 	 */
 	function read($bytes) {
@@ -176,7 +193,10 @@

 	var $_str = '';

-	function POMO_StringReader($str = '') {
+	/**
+	 * PHP5 constructor.
+	 */
+	function __construct( $str = '' ) {
 		parent::POMO_Reader();
 		$this->_str = $str;
 		$this->_pos = 0;
@@ -183,6 +203,13 @@
 	}

 	/**
+	 * PHP4 constructor.
+	 */
+	public function POMO_StringReader( $str = '' ) {
+		self::__construct( $str );
+	}
+
+	/**
 	 * @param string $bytes
 	 * @return string
 	 */
@@ -219,7 +246,10 @@
  * Reads the contents of the file in the beginning.
  */
 class POMO_CachedFileReader extends POMO_StringReader {
-	function POMO_CachedFileReader($filename) {
+	/**
+	 * PHP5 constructor.
+	 */
+	function __construct( $filename ) {
 		parent::POMO_StringReader();
 		$this->_str = file_get_contents($filename);
 		if (false === $this->_str)
@@ -226,6 +256,13 @@
 			return false;
 		$this->_pos = 0;
 	}
+
+	/**
+	 * PHP4 constructor.
+	 */
+	public function POMO_CachedFileReader( $filename ) {
+		self::__construct( $filename );
+	}
 }
 endif;

@@ -234,8 +271,18 @@
  * Reads the contents of the file in the beginning.
  */
 class POMO_CachedIntFileReader extends POMO_CachedFileReader {
-       function POMO_CachedIntFileReader($filename) {
+       /**
+        * PHP5 constructor.
+        */
+       public function __construct( $filename ) {
                parent::POMO_CachedFileReader($filename);
        }
+
+       /**
+        * PHP4 constructor.
+        */
+       function POMO_CachedIntFileReader( $filename ) {
+               self::__construct( $filename );
+       }
 }
 endif;
\ No newline at end of file
Index: src/wp-includes/rss.php
===================================================================
--- src/wp-includes/rss.php	(revision 32291)
+++ src/wp-includes/rss.php	(working copy)
@@ -55,7 +55,10 @@

 	var $_CONTENT_CONSTRUCTS = array('content', 'summary', 'info', 'title', 'tagline', 'copyright');

-	function MagpieRSS ($source) {
+	/**
+	 * PHP5 constructor.
+	 */
+	function __construct( $source ) {

 		# if PHP xml isn't compiled in, die
 		#
@@ -97,6 +100,13 @@
 		$this->normalize();
 	}

+	/**
+	 * PHP4 constructor.
+	 */
+	public function MagpieRSS( $source ) {
+		self::__construct( $source );
+	}
+
 	function feed_start_element($p, $element, &$attrs) {
 		$el = $element = strtolower($element);
 		$attrs = array_change_key_case($attrs, CASE_LOWER);
@@ -709,7 +719,10 @@
 	var $MAX_AGE	= 43200;  		// when are files stale, default twelve hours
 	var $ERROR 		= '';			// accumulate error messages

-	function RSSCache ($base='', $age='') {
+	/**
+	 * PHP5 constructor.
+	 */
+	function __construct( $base = '', $age = '' ) {
 		$this->BASE_CACHE = WP_CONTENT_DIR . '/cache';
 		if ( $base ) {
 			$this->BASE_CACHE = $base;
@@ -720,6 +733,13 @@

 	}

+	/**
+	 * PHP4 constructor.
+	 */
+	public function RSSCache( $base = '', $age = '' ) {
+		self::__construct( $base, $age );
+	}
+
 /*=======================================================================*\
 	Function:	set
 	Purpose:	add an item to the cache, keyed on url
Index: src/wp-includes/widgets.php
===================================================================
--- src/wp-includes/widgets.php	(revision 32291)
+++ src/wp-includes/widgets.php	(working copy)
@@ -544,11 +544,21 @@
 class WP_Widget_Factory {
 	public $widgets = array();

-	public function WP_Widget_Factory() {
+	/**
+	 * PHP5 constructor.
+	 */
+	public function __construct() {
 		add_action( 'widgets_init', array( $this, '_register_widgets' ), 100 );
 	}

 	/**
+	 * PHP4 constructor.
+	 */
+	public function WP_Widget_Factory() {
+		self::__construct();
+	}
+
+	/**
 	 * Register a widget subclass.
 	 *
 	 * @since 2.8.0
Index: tests/phpunit/includes/utils.php
===================================================================
--- tests/phpunit/includes/utils.php	(revision 32291)
+++ tests/phpunit/includes/utils.php	(working copy)
@@ -25,11 +25,21 @@
 	var $events;
 	var $debug;

-	function MockAction($debug=0) {
+	/**
+	 * PHP5 constructor.
+	 */
+	function __construct( $debug = 0 ) {
 		$this->reset();
 		$this->debug = $debug;
 	}

+	/**
+	 * PHP4 constructor.
+	 */
+	public function MockAction( $debug = 0 ) {
+		self::__construct( $debug );
+	}
+
 	function reset() {
 		$this->events = array();
 	}
@@ -129,7 +139,10 @@
 	var $xml;
 	var $data = array();

-	function testXMLParser($in) {
+	/**
+	 * PHP5 constructor.
+	 */
+	function __construct( $in ) {
 		$this->xml = xml_parser_create();
 		xml_set_object($this->xml, $this);
 		xml_parser_set_option($this->xml,XML_OPTION_CASE_FOLDING, 0);
@@ -138,6 +151,13 @@
 		$this->parse($in);
 	}

+	/**
+	 * PHP4 constructor.
+	 */
+	public function testXMLParser( $in ) {
+		self::__construct( $in );
+	}
+
 	function parse($in) {
 		$parse = xml_parse($this->xml, $in, sizeof($in));
 		if (!$parse) {
Index: tests/phpunit/includes/wp-profiler.php
===================================================================
--- tests/phpunit/includes/wp-profiler.php	(revision 32291)
+++ tests/phpunit/includes/wp-profiler.php	(working copy)
@@ -21,12 +21,21 @@
 	var $stack;
 	var $profile;

-	// constructor
-	function WPProfiler() {
+	/**
+	 * PHP5 constructor.
+	 */
+	function __construct() {
 		$this->stack = array();
 		$this->profile = array();
 	}

+	/**
+	 * PHP4 constructor.
+	 */
+	public function WPProfiler() {
+		self::__construct();
+	}
+
 	function start($name) {
 		$time = $this->microtime();

Index: tools/i18n/add-textdomain.php
===================================================================
--- tools/i18n/add-textdomain.php	(revision 32291)
+++ tools/i18n/add-textdomain.php	(working copy)
@@ -14,11 +14,21 @@
 	var $modified_contents = '';
 	var $funcs;

-	function AddTextdomain() {
+	/**
+	 * PHP5 constructor.
+	 */
+	function __construct() {
 		$makepot = new MakePOT;
 		$this->funcs = array_keys( $makepot->rules );
 	}

+	/**
+	 * PHP4 constructor.
+	 */
+	public function AddTextdomain() {
+		self::__construct();
+	}
+
 	function usage() {
 		$usage = "Usage: php add-textdomain.php [-i] <domain> <file>\n\nAdds the string <domain> as a last argument to all i18n function calls in <file>\nand prints the modified php file on standard output.\n\nOptions:\n    -i    Modifies the PHP file in place, instead of printing it to standard output.\n";
 		fwrite(STDERR, $usage);
