/lenasys/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/lenasys/trunk

« back to all changes in this revision

Viewing changes to codeigniter/system/database/DB.php

  • Committer: Gustav Hatvigsson
  • Date: 2013-05-30 12:02:31 UTC
  • mfrom: (85.1.28 lenasys)
  • Revision ID: gustav.hartvigsson@gmail.com-20130530120231-ttqgqjqw2w8enn7g
Merged Ohlsons changes:
added function to get ssn and name for the registrationspages in the user model.
added the registrationpage for students.
edited the registration page for instructors
edited the css for both the registrationpages
minor fix to registration css

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 
2
/**
 
3
 * CodeIgniter
 
4
 *
 
5
 * An open source application development framework for PHP 5.1.6 or newer
 
6
 *
 
7
 * @package             CodeIgniter
 
8
 * @author              ExpressionEngine Dev Team
 
9
 * @copyright   Copyright (c) 2008 - 2011, EllisLab, Inc.
 
10
 * @license             http://codeigniter.com/user_guide/license.html
 
11
 * @link                http://codeigniter.com
 
12
 * @since               Version 1.0
 
13
 * @filesource
 
14
 */
 
15
 
 
16
// ------------------------------------------------------------------------
 
17
 
 
18
/**
 
19
 * Initialize the database
 
20
 *
 
21
 * @category    Database
 
22
 * @author              ExpressionEngine Dev Team
 
23
 * @link                http://codeigniter.com/user_guide/database/
 
24
 * @param       string
 
25
 * @param       bool    Determines if active record should be used or not
 
26
 */
 
27
function &DB($params = '', $active_record_override = NULL)
 
28
{
 
29
        // Load the DB config file if a DSN string wasn't passed
 
30
        if (is_string($params) AND strpos($params, '://') === FALSE)
 
31
        {
 
32
                // Is the config file in the environment folder?
 
33
                if ( ! defined('ENVIRONMENT') OR ! file_exists($file_path = APPPATH.'config/'.ENVIRONMENT.'/database.php'))
 
34
                {
 
35
                        if ( ! file_exists($file_path = APPPATH.'config/database.php'))
 
36
                        {
 
37
                                show_error('The configuration file database.php does not exist.');
 
38
                        }
 
39
                }
 
40
 
 
41
                include($file_path);
 
42
 
 
43
                if ( ! isset($db) OR count($db) == 0)
 
44
                {
 
45
                        show_error('No database connection settings were found in the database config file.');
 
46
                }
 
47
 
 
48
                if ($params != '')
 
49
                {
 
50
                        $active_group = $params;
 
51
                }
 
52
 
 
53
                if ( ! isset($active_group) OR ! isset($db[$active_group]))
 
54
                {
 
55
                        show_error('You have specified an invalid database connection group.');
 
56
                }
 
57
 
 
58
                $params = $db[$active_group];
 
59
        }
 
60
        elseif (is_string($params))
 
61
        {
 
62
 
 
63
                /* parse the URL from the DSN string
 
64
                 *  Database settings can be passed as discreet
 
65
                 *  parameters or as a data source name in the first
 
66
                 *  parameter. DSNs must have this prototype:
 
67
                 *  $dsn = 'driver://username:password@hostname/database';
 
68
                 */
 
69
 
 
70
                if (($dns = @parse_url($params)) === FALSE)
 
71
                {
 
72
                        show_error('Invalid DB Connection String');
 
73
                }
 
74
 
 
75
                $params = array(
 
76
                                                        'dbdriver'      => $dns['scheme'],
 
77
                                                        'hostname'      => (isset($dns['host'])) ? rawurldecode($dns['host']) : '',
 
78
                                                        'username'      => (isset($dns['user'])) ? rawurldecode($dns['user']) : '',
 
79
                                                        'password'      => (isset($dns['pass'])) ? rawurldecode($dns['pass']) : '',
 
80
                                                        'database'      => (isset($dns['path'])) ? rawurldecode(substr($dns['path'], 1)) : ''
 
81
                                                );
 
82
 
 
83
                // were additional config items set?
 
84
                if (isset($dns['query']))
 
85
                {
 
86
                        parse_str($dns['query'], $extra);
 
87
 
 
88
                        foreach ($extra as $key => $val)
 
89
                        {
 
90
                                // booleans please
 
91
                                if (strtoupper($val) == "TRUE")
 
92
                                {
 
93
                                        $val = TRUE;
 
94
                                }
 
95
                                elseif (strtoupper($val) == "FALSE")
 
96
                                {
 
97
                                        $val = FALSE;
 
98
                                }
 
99
 
 
100
                                $params[$key] = $val;
 
101
                        }
 
102
                }
 
103
        }
 
104
 
 
105
        // No DB specified yet?  Beat them senseless...
 
106
        if ( ! isset($params['dbdriver']) OR $params['dbdriver'] == '')
 
107
        {
 
108
                show_error('You have not selected a database type to connect to.');
 
109
        }
 
110
 
 
111
        // Load the DB classes.  Note: Since the active record class is optional
 
112
        // we need to dynamically create a class that extends proper parent class
 
113
        // based on whether we're using the active record class or not.
 
114
        // Kudos to Paul for discovering this clever use of eval()
 
115
 
 
116
        if ($active_record_override !== NULL)
 
117
        {
 
118
                $active_record = $active_record_override;
 
119
        }
 
120
 
 
121
        require_once(BASEPATH.'database/DB_driver.php');
 
122
 
 
123
        if ( ! isset($active_record) OR $active_record == TRUE)
 
124
        {
 
125
                require_once(BASEPATH.'database/DB_active_rec.php');
 
126
 
 
127
                if ( ! class_exists('CI_DB'))
 
128
                {
 
129
                        eval('class CI_DB extends CI_DB_active_record { }');
 
130
                }
 
131
        }
 
132
        else
 
133
        {
 
134
                if ( ! class_exists('CI_DB'))
 
135
                {
 
136
                        eval('class CI_DB extends CI_DB_driver { }');
 
137
                }
 
138
        }
 
139
 
 
140
        require_once(BASEPATH.'database/drivers/'.$params['dbdriver'].'/'.$params['dbdriver'].'_driver.php');
 
141
 
 
142
        // Instantiate the DB adapter
 
143
        $driver = 'CI_DB_'.$params['dbdriver'].'_driver';
 
144
        $DB = new $driver($params);
 
145
 
 
146
        if ($DB->autoinit == TRUE)
 
147
        {
 
148
                $DB->initialize();
 
149
        }
 
150
 
 
151
        if (isset($params['stricton']) && $params['stricton'] == TRUE)
 
152
        {
 
153
                $DB->query('SET SESSION sql_mode="STRICT_ALL_TABLES"');
 
154
        }
 
155
 
 
156
        return $DB;
 
157
}
 
158
 
 
159
 
 
160
 
 
161
/* End of file DB.php */
 
162
/* Location: ./system/database/DB.php */
 
 
b'\\ No newline at end of file'