Blasting the Base4/5 files.  Updating Controller.php to inherit bits from the old Base5.

If a constructor is needed in a controller, call parent::__contruct()
diff --git a/system/core/Base4.php b/system/core/Base4.php
deleted file mode 100644
index ef7838d..0000000
--- a/system/core/Base4.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
-/**
- * CodeIgniter
- *
- * An open source application development framework for PHP 4.3.2 or newer
- *
- * @package		CodeIgniter
- * @author		ExpressionEngine Dev Team
- * @copyright	Copyright (c) 2008 - 2010, EllisLab, Inc.
- * @license		http://codeigniter.com/user_guide/license.html
- * @link		http://codeigniter.com
- * @since		Version 1.3
- * @filesource
- */
-
-// ------------------------------------------------------------------------
-
-/**
- * CI_BASE - For PHP 4
- *
- * This file is used only when CodeIgniter is being run under PHP 4.
- *
- * In order to allow CI to work under PHP 4 we had to make the Loader class
- * the parent of the Controller Base class.  It's the only way we can
- * enable functions like $this->load->library('email') to instantiate
- * classes that can then be used within controllers as $this->email->send()
- *
- * PHP 4 also has trouble referencing the CI super object within application
- * constructors since objects do not exist until the class is fully
- * instantiated.  Basically PHP 4 sucks...
- *
- * Since PHP 5 doesn't suffer from this problem so we load one of
- * two files based on the version of PHP being run.
- * @PHP4
- *
- * @package		CodeIgniter
- * @subpackage	codeigniter
- * @category	front-controller
- * @author		ExpressionEngine Dev Team
- * @link		http://codeigniter.com/user_guide/
- */
- class CI_Base extends CI_Loader {
-
-	function CI_Base()
-	{
-		// This allows syntax like $this->load->foo() to work
-		parent::CI_Loader();
-		$this->load =& $this;
-
-		// This allows resources used within controller constructors to work
-		global $OBJ;
-		$OBJ = $this->load; // Do NOT use a reference.
-	}
-}
-
-function &get_instance()
-{
-	global $CI, $OBJ;
-
-	if (is_object($CI))
-	{
-		return $CI;
-	}
-
-	return $OBJ->load;
-}
-
-
-/* End of file Base4.php */
-/* Location: ./system/core/Base4.php */
\ No newline at end of file
diff --git a/system/core/Base5.php b/system/core/Base5.php
deleted file mode 100644
index ac6c7f0..0000000
--- a/system/core/Base5.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
-/**
- * CodeIgniter
- *
- * An open source application development framework for PHP 4.3.2 or newer
- *
- * @package		CodeIgniter
- * @author		ExpressionEngine Dev Team
- * @copyright	Copyright (c) 2008 - 2010, EllisLab, Inc.
- * @license		http://codeigniter.com/user_guide/license.html
- * @link		http://codeigniter.com
- * @since		Version 1.3
- * @filesource
- */
-
-
-// ------------------------------------------------------------------------
-
-/**
- * CI_BASE - For PHP 5
- *
- * This file contains some code used only when CodeIgniter is being
- * run under PHP 5.  It allows us to manage the CI super object more
- * gracefully than what is possible with PHP 4.
- * @PHP4 (no need for separate Bases after PHP 4 is gone)
- *
- * @package		CodeIgniter
- * @subpackage	codeigniter
- * @category	front-controller
- * @author		ExpressionEngine Dev Team
- * @link		http://codeigniter.com/user_guide/
- */
-
-class CI_Base {
-
-	private static $instance;
-
-	public function CI_Base()
-	{
-		self::$instance =& $this;
-	}
-
-	public static function &get_instance()
-	{
-		return self::$instance;
-	}
-}
-
-function &get_instance()
-{
-	return CI_Base::get_instance();
-}
-
-
-
-/* End of file Base5.php */
-/* Location: ./system/core/Base5.php */
\ No newline at end of file
diff --git a/system/core/CodeIgniter.php b/system/core/CodeIgniter.php
index bf412b2..c50ae6d 100644
--- a/system/core/CodeIgniter.php
+++ b/system/core/CodeIgniter.php
@@ -208,26 +208,16 @@
  *  Load the app controller and local controller
  * ------------------------------------------------------
  *
- *  Note: Due to the poor object handling in PHP 4 we'll
- *  conditionally load different versions of the base
- *  class.  Retaining PHP 4 compatibility requires a bit of a hack.
- *  @PHP4
- *
  */
-	if (is_php('5.0.0') == TRUE)
-	{
-		require(BASEPATH.'core/Base5'.EXT);
-	}
-	else
-	{
-		// The Loader class needs to be included first when running PHP 4.x
-		load_class('Loader', 'core');
-		require(BASEPATH.'core/Base4'.EXT);
-	}
-
 	// Load the base controller class
 	require BASEPATH.'core/Controller'.EXT;
 
+	function &get_instance()
+	{
+		return CI_Controller::get_instance();
+	}
+
+
 	if (file_exists(APPPATH.'core/'.$CFG->config['subclass_prefix'].'Controller'.EXT))
 	{
 		require APPPATH.'core/'.$CFG->config['subclass_prefix'].'Controller'.EXT;
diff --git a/system/core/Controller.php b/system/core/Controller.php
index e250caf..c78be87 100644
--- a/system/core/Controller.php
+++ b/system/core/Controller.php
@@ -2,7 +2,7 @@
 /**
  * CodeIgniter
  *
- * An open source application development framework for PHP 4.3.2 or newer
+ * An open source application development framework for PHP 5.1.6 or newer
  *
  * @package		CodeIgniter
  * @author		ExpressionEngine Dev Team
@@ -27,16 +27,16 @@
  * @author		ExpressionEngine Dev Team
  * @link		http://codeigniter.com/user_guide/general/controllers.html
  */
-class CI_Controller extends CI_Base {
+class CI_Controller {
+
+	private static $instance;
 
 	/**
 	 * Constructor
-	 *
-	 * Calls the initialize() function
 	 */
-	function CI_Controller()
+	public function __construct()
 	{
-		parent::CI_Base();
+		self::$instance =& $this;
 		
 		// Assign all the class objects that were instantiated by the
 		// bootstrap file (CodeIgniter.php) to local class variables
@@ -46,34 +46,20 @@
 			$this->$var =& load_class($class);
 		}
 
-		// In PHP 5 the Loader class is run as a discreet
-		// class.  In PHP 4 it extends the Controller @PHP4
-		if (is_php('5.0.0') == TRUE)
-		{
-			$this->load =& load_class('Loader', 'core');
+		$this->load =& load_class('Loader', 'core');
 
-			$this->load->_base_classes =& is_loaded();
+		$this->load->_base_classes =& is_loaded();
 
-			$this->load->_ci_autoloader();
-		}
-		else
-		{
-			$this->_ci_autoloader();
-
-			// sync up the objects since PHP4 was working from a copy
-			foreach (array_keys(get_object_vars($this)) as $attribute)
-			{
-				if (is_object($this->$attribute))
-				{
-					$this->load->$attribute =& $this->$attribute;
-				}
-			}
-		}
+		$this->load->_ci_autoloader();
 
 		log_message('debug', "Controller Class Initialized");
 
 	}
 
+	public static function &get_instance()
+	{
+		return self::$instance;
+	}
 }
 // END Controller class