summaryrefslogtreecommitdiffstats
path: root/system/libraries/Controller.php
diff options
context:
space:
mode:
Diffstat (limited to 'system/libraries/Controller.php')
-rw-r--r--system/libraries/Controller.php97
1 files changed, 3 insertions, 94 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);
+ }
// --------------------------------------------------------------------