summaryrefslogtreecommitdiffstats
path: root/system/libraries
diff options
context:
space:
mode:
Diffstat (limited to 'system/libraries')
-rw-r--r--system/libraries/Controller.php97
-rw-r--r--system/libraries/Loader.php54
2 files changed, 24 insertions, 127 deletions
diff --git a/system/libraries/Controller.php b/system/libraries/Controller.php
index 2a4c19522..b09be6c57 100644
--- a/system/libraries/Controller.php
+++ b/system/libraries/Controller.php
@@ -434,101 +434,10 @@ class Controller extends CI_Base {
* @return void
*/
function _ci_init_database($params = '', $return = FALSE, $active_record = FALSE)
- {
- if ($this->_ci_is_loaded('db') == TRUE AND $return == FALSE AND $active_record == FALSE)
- {
- return;
- }
-
- // Load the DB config file if needed. We'll test for a DSN string
- if (is_string($params) AND strpos($params, '://') === FALSE)
- {
- include(APPPATH.'config/database'.EXT);
-
- $group = ($params == '') ? $active_group : $params;
-
- if ( ! isset($db[$group]))
- {
- show_error('You have specified an invalid database connection group: '.$group);
- }
-
- $params = $db[$group];
- }
-
- // No DB specified yet? Beat them senseless...
- if ( ! isset($params['dbdriver']) OR $params['dbdriver'] == '')
- {
- show_error('You have not selected a database type to connect to.');
- }
-
- // Load the DB classes. Note: Since the active record class is optional
- // we need to dynamically create a class that extends proper parent class
- // based on whether we're using the active record class or not.
- // Kudos to Paul for discovering this clever use of eval()
-
- if ($active_record == TRUE)
- {
- $params['active_r'] = TRUE;
- }
-
- require_once(BASEPATH.'database/DB_driver'.EXT);
-
- if ( ! isset($params['active_r']) OR $params['active_r'] == TRUE)
- {
- require_once(BASEPATH.'database/DB_active_rec'.EXT);
-
- if ( ! class_exists('CI_DB'))
- {
- eval('class CI_DB extends CI_DB_active_record { }');
- }
- }
- else
- {
- if ( ! class_exists('CI_DB'))
- {
- eval('class CI_DB extends CI_DB_driver { }');
- }
- }
-
- require_once(BASEPATH.'database/drivers/'.$params['dbdriver'].'/'.$params['dbdriver'].'_driver'.EXT);
-
- // Instantiate the DB adapter
- $driver = 'CI_DB_'.$params['dbdriver'].'_driver';
- $DB = new $driver($params);
-
- if ($return === TRUE)
- {
- return $DB;
- }
-
- $obj =& get_instance();
- $obj->db =& $DB;
- }
-
- // --------------------------------------------------------------------
-
- /**
- * Initialize Database Ancillary Classes
- *
- * @access private
- * @param str class name
- * @return void
- */
- function _ci_init_dbextra($class)
{
- if ( ! $this->_ci_is_loaded('db'))
- {
- $this->_ci_init_database();
- }
-
- if ($class == 'dbutil')
- {
- require_once(BASEPATH.'database/DB_utility'.EXT);
- require_once(BASEPATH.'database/drivers/'.$this->db->dbdriver.'/'.$this->db->dbdriver.'_utility'.EXT);
- $class = 'CI_DB_'.$this->db->dbdriver.'_utility';
- $this->dbutil = new $class();
- }
- }
+ require_once(BASEPATH.'database/DB'.EXT);
+ return DB($params, $return, $active_record);
+ }
// --------------------------------------------------------------------
diff --git a/system/libraries/Loader.php b/system/libraries/Loader.php
index 2534e6965..6809054e5 100644
--- a/system/libraries/Loader.php
+++ b/system/libraries/Loader.php
@@ -110,7 +110,9 @@ class CI_Loader {
function database($db = '', $return = FALSE, $active_record = FALSE)
{
$obj =& get_instance();
-
+
+ return DB($params, $return, $active_record);
+
if ($return === TRUE)
{
return $obj->_ci_init_database($db, TRUE, $active_record);
@@ -125,20 +127,6 @@ class CI_Loader {
// --------------------------------------------------------------------
/**
- * Database Utiliy Loader
- *
- * @access public
- * @return object
- */
- function dbutil()
- {
- $obj =& get_instance();
- $obj->_ci_init_dbextra('dbutil');
- }
-
- // --------------------------------------------------------------------
-
- /**
* Scaffolding Loader
*
* @access public
@@ -336,7 +324,24 @@ class CI_Loader {
log_message('debug', 'Plugins loaded: '.implode(', ', $plugins));
}
+
+ // --------------------------------------------------------------------
+ /**
+ * Load Plugins
+ *
+ * This is simply an alias to the above function in case the
+ * user has written the plural form of this function.
+ *
+ * @access public
+ * @param array
+ * @return void
+ */
+ function plugins($plugins = array())
+ {
+ $this->plugin($plugins);
+ }
+
// --------------------------------------------------------------------
/**
@@ -380,24 +385,7 @@ class CI_Loader {
log_message('debug', 'Scripts loaded: '.implode(', ', $scripts));
}
-
- // --------------------------------------------------------------------
-
- /**
- * Load Plugins
- *
- * This is simply an alias to the above function in case the
- * user has written the plural form of this function.
- *
- * @access public
- * @param array
- * @return void
- */
- function plugins($plugins = array())
- {
- $this->plugin($plugins);
- }
-
+
// --------------------------------------------------------------------
/**