Passed
Push — 1.0.0-dev ( 8edc19...2b6704 )
by nguereza
03:32
created
tests/tnhfw/classes/DBSessionHandlerTest.php 1 patch
Indentation   +199 added lines, -199 removed lines patch added patch discarded remove patch
@@ -1,222 +1,222 @@
 block discarded – undo
1 1
 <?php 
2 2
 
3
-	use PHPUnit\Framework\TestCase;
3
+    use PHPUnit\Framework\TestCase;
4 4
 
5
-	class DBSessionHandlerTest extends TestCase
6
-	{	
5
+    class DBSessionHandlerTest extends TestCase
6
+    {	
7 7
 	
8
-		private $db = null;
8
+        private $db = null;
9 9
 		
10
-		private $model = null;
10
+        private $model = null;
11 11
 		
12
-		private $secret = 'bXlzZWNyZXQ';
12
+        private $secret = 'bXlzZWNyZXQ';
13 13
 		
14
-		private static $config = null;
14
+        private static $config = null;
15 15
 		
16
-		public function __construct(){
16
+        public function __construct(){
17 17
             $cfg = get_db_config();
18
-			$this->db = new Database($cfg);
18
+            $this->db = new Database($cfg);
19 19
             $qr = new DatabaseQueryRunner($this->db->getPdo());
20 20
             $qr->setBenchmark(new Benchmark());
21 21
             $qr->setDriver('sqlite');
22 22
             $this->db->setQueryRunner($qr);
23
-		}
23
+        }
24 24
 		
25
-		public static function setUpBeforeClass()
26
-		{
27
-			require APPS_MODEL_PATH . 'DBSessionModel.php';
28
-			self::$config = new Config();
29
-			self::$config->init();
30
-		}
25
+        public static function setUpBeforeClass()
26
+        {
27
+            require APPS_MODEL_PATH . 'DBSessionModel.php';
28
+            self::$config = new Config();
29
+            self::$config->init();
30
+        }
31 31
 		
32 32
 		
33
-		public static function tearDownAfterClass()
34
-		{
33
+        public static function tearDownAfterClass()
34
+        {
35 35
 			
36
-		}
36
+        }
37 37
 		
38
-		protected function setUp()
39
-		{
40
-			$this->model = new DBSessionModel($this->db);
38
+        protected function setUp()
39
+        {
40
+            $this->model = new DBSessionModel($this->db);
41 41
             //to prevent old data conflict
42
-			$this->model->truncate();
43
-		}
42
+            $this->model->truncate();
43
+        }
44 44
 
45
-		protected function tearDown()
46
-		{
47
-		}
45
+        protected function tearDown()
46
+        {
47
+        }
48 48
 
49 49
 		
50 50
 		
51
-		public function testUsingSessionConfiguration(){
52
-			//using value in the configuration
53
-			self::$config->set('session_save_path', 'DBSessionModel');
54
-			self::$config->set('session_secret', $this->secret);
55
-			$dbsh = new DBSessionHandler();
56
-			//assign Database instance manually
57
-			$o = &get_instance();
58
-			$o->database = $this->db;
59
-			
60
-			$this->assertTrue($dbsh->open(null, null));
61
-			$this->assertTrue($dbsh->close());
62
-			$this->assertNull($dbsh->read('foo'));
63
-			$this->assertTrue($dbsh->write('foo', '444'));
64
-			$this->assertNotEmpty($dbsh->read('foo'));
65
-			$this->assertEquals($dbsh->read('foo'), '444');
66
-			//do update of existing data
67
-			$this->assertTrue($dbsh->write('foo', '445'));
68
-			$this->assertEquals($dbsh->read('foo'), '445');	
69
-			$this->assertTrue($dbsh->destroy('foo'));
70
-			$this->assertNull($dbsh->read('foo'));
71
-			$this->assertTrue($dbsh->gc(13));
72
-			$encoded = $dbsh->encode('foo');
73
-			$this->assertNotEmpty($encoded);
74
-			$this->assertEquals($dbsh->decode($encoded), 'foo');
75
-		}
76
-		
77
-		public function testWhenDataIsExpired(){
78
-			$dbsh = new DBSessionHandler($this->model);
79
-			$dbsh->setSessionSecret($this->secret);
80
-			
81
-			$this->assertTrue($dbsh->open(null, null));
82
-			$this->assertTrue($dbsh->write('foo', '444'));
83
-			$this->assertNotEmpty($dbsh->read('foo'));
84
-			$this->assertEquals($dbsh->read('foo'), '444');
85
-			//put it in expired
86
-			$this->model->update('foo', array('s_time' => 1234567));
87
-			$this->assertNull($dbsh->read('foo'));
88
-		}
89
-		
90
-		public function testWhenDataAlreadyExistDoUpdate(){
91
-			$dbsh = new DBSessionHandler($this->model);
92
-			$dbsh->setSessionSecret($this->secret);
93
-			
94
-			$this->assertTrue($dbsh->open(null, null));
95
-			$this->assertTrue($dbsh->write('foo', '444'));
96
-			$this->assertNotEmpty($dbsh->read('foo'));
97
-			$this->assertEquals($dbsh->read('foo'), '444');
98
-			//do update of existing data
99
-			$this->assertTrue($dbsh->write('foo', '445'));
100
-			$this->assertEquals($dbsh->read('foo'), '445');	
101
-		}
102
-		
103
-		public function testUsingCustomModelInstance(){
104
-			$dbsh = new DBSessionHandler($this->model);
105
-			$dbsh->setSessionSecret($this->secret);
106
-			
107
-			$this->assertTrue($dbsh->open(null, null));
108
-			$this->assertTrue($dbsh->close());
109
-			$this->assertNull($dbsh->read('foo'));
110
-			$this->assertTrue($dbsh->write('foo', '444'));
111
-			$this->assertNotEmpty($dbsh->read('foo'));
112
-			$this->assertEquals($dbsh->read('foo'), '444');
113
-			//put it in expired
114
-			$this->model->update('foo', array('s_time' => 1234567));
115
-			
116
-			$this->assertNull($dbsh->read('foo'));
117
-			$this->assertTrue($dbsh->write('foo', '444'));
118
-			
119
-			//do update of existing data
120
-			$this->assertTrue($dbsh->write('foo', '445'));
121
-			$this->assertEquals($dbsh->read('foo'), '445');	
122
-			$this->assertTrue($dbsh->destroy('foo'));
123
-			$this->assertNull($dbsh->read('foo'));
124
-			$this->assertTrue($dbsh->gc(13));
125
-			$encoded = $dbsh->encode('foo');
126
-			$this->assertNotEmpty($encoded);
127
-			$this->assertEquals($dbsh->decode($encoded), 'foo');
128
-		}
129
-			
130
-			
131
-		public function testUsingCustomLogInstance(){
132
-			$dbsh = new DBSessionHandler($this->model, new Log());
133
-			$dbsh->setSessionSecret($this->secret);
134
-			
135
-			$this->assertTrue($dbsh->open(null, null));
136
-			$this->assertTrue($dbsh->close());
137
-			$this->assertNull($dbsh->read('foo'));
138
-			$this->assertTrue($dbsh->write('foo', '444'));
139
-			$this->assertNotEmpty($dbsh->read('foo'));
140
-			$this->assertEquals($dbsh->read('foo'), '444');
141
-			//put it in expired
142
-			$this->model->update('foo', array('s_time' => 1234567));
143
-			
144
-			$this->assertNull($dbsh->read('foo'));
145
-			$this->assertTrue($dbsh->write('foo', '444'));
146
-			
147
-			//do update of existing data
148
-			$this->assertTrue($dbsh->write('foo', '445'));
149
-			$this->assertEquals($dbsh->read('foo'), '445');	
150
-			$this->assertTrue($dbsh->destroy('foo'));
151
-			$this->assertNull($dbsh->read('foo'));
152
-			$this->assertTrue($dbsh->gc(13));
153
-			$encoded = $dbsh->encode('foo');
154
-			$this->assertNotEmpty($encoded);
155
-			$this->assertEquals($dbsh->decode($encoded), 'foo');
156
-		}
157
-		
158
-		public function testUsingCustomLoaderInstance(){
159
-			$dbsh = new DBSessionHandler($this->model, null, new Loader());
160
-			$dbsh->setSessionSecret($this->secret);
161
-			
162
-			$this->assertTrue($dbsh->open(null, null));
163
-			$this->assertTrue($dbsh->close());
164
-			$this->assertNull($dbsh->read('foo'));
165
-			$this->assertTrue($dbsh->write('foo', '444'));
166
-			$this->assertNotEmpty($dbsh->read('foo'));
167
-			$this->assertEquals($dbsh->read('foo'), '444');
168
-			//put it in expired
169
-			$this->model->update('foo', array('s_time' => 1234567));
170
-			
171
-			$this->assertNull($dbsh->read('foo'));
172
-			$this->assertTrue($dbsh->write('foo', '444'));
173
-			
174
-			//do update of existing data
175
-			$this->assertTrue($dbsh->write('foo', '445'));
176
-			$this->assertEquals($dbsh->read('foo'), '445');	
177
-			$this->assertTrue($dbsh->destroy('foo'));
178
-			$this->assertNull($dbsh->read('foo'));
179
-			$this->assertTrue($dbsh->gc(13));
180
-			$encoded = $dbsh->encode('foo');
181
-			$this->assertNotEmpty($encoded);
182
-			$this->assertEquals($dbsh->decode($encoded), 'foo');
183
-		}
184
-		
185
-		
186
-		public function testWhenModelInsanceIsNotSet(){
187
-			$dbsh = new DBSessionHandler(null, null, new Loader());
188
-			$dbsh->setSessionSecret($this->secret);
189
-			
190
-			$this->assertTrue($dbsh->open(null, null));
191
-			$this->assertTrue($dbsh->close());
192
-			$this->assertNull($dbsh->read('foo'));
193
-			$this->assertTrue($dbsh->write('foo', '444'));
194
-			$this->assertNotEmpty($dbsh->read('foo'));
195
-			$this->assertEquals($dbsh->read('foo'), '444');
196
-			//put it in expired
197
-			$this->model->update('foo', array('s_time' => 1234567));
198
-			
199
-			$this->assertNull($dbsh->read('foo'));
200
-			$this->assertTrue($dbsh->write('foo', '444'));
201
-			
202
-			//do update of existing data
203
-			$this->assertTrue($dbsh->write('tnh', '445'));
204
-			$this->assertTrue($dbsh->write('foo', '445'));
205
-			$this->assertEquals($dbsh->read('foo'), '445');	
206
-			$this->assertTrue($dbsh->destroy('foo'));
207
-			$this->assertNull($dbsh->read('foo'));
208
-			$this->assertTrue($dbsh->gc(13));
209
-			$encoded = $dbsh->encode('foo');
210
-			$this->assertNotEmpty($encoded);
211
-			$this->assertEquals($dbsh->decode($encoded), 'foo');
212
-		}
213
-		
214
-		public function testWhenModelTableColumnsIsNotSet(){
215
-			//session table is empty
216
-			$this->model->setSessionTableColumns(array());
217
-			$dbsh = new DBSessionHandler($this->model);
218
-			$this->assertTrue($dbsh->open(null, null));
219
-		}
220
-		
221
-		
222
-	}
223 51
\ No newline at end of file
52
+        public function testUsingSessionConfiguration(){
53
+            //using value in the configuration
54
+            self::$config->set('session_save_path', 'DBSessionModel');
55
+            self::$config->set('session_secret', $this->secret);
56
+            $dbsh = new DBSessionHandler();
57
+            //assign Database instance manually
58
+            $o = &get_instance();
59
+            $o->database = $this->db;
60
+			
61
+            $this->assertTrue($dbsh->open(null, null));
62
+            $this->assertTrue($dbsh->close());
63
+            $this->assertNull($dbsh->read('foo'));
64
+            $this->assertTrue($dbsh->write('foo', '444'));
65
+            $this->assertNotEmpty($dbsh->read('foo'));
66
+            $this->assertEquals($dbsh->read('foo'), '444');
67
+            //do update of existing data
68
+            $this->assertTrue($dbsh->write('foo', '445'));
69
+            $this->assertEquals($dbsh->read('foo'), '445');	
70
+            $this->assertTrue($dbsh->destroy('foo'));
71
+            $this->assertNull($dbsh->read('foo'));
72
+            $this->assertTrue($dbsh->gc(13));
73
+            $encoded = $dbsh->encode('foo');
74
+            $this->assertNotEmpty($encoded);
75
+            $this->assertEquals($dbsh->decode($encoded), 'foo');
76
+        }
77
+		
78
+        public function testWhenDataIsExpired(){
79
+            $dbsh = new DBSessionHandler($this->model);
80
+            $dbsh->setSessionSecret($this->secret);
81
+			
82
+            $this->assertTrue($dbsh->open(null, null));
83
+            $this->assertTrue($dbsh->write('foo', '444'));
84
+            $this->assertNotEmpty($dbsh->read('foo'));
85
+            $this->assertEquals($dbsh->read('foo'), '444');
86
+            //put it in expired
87
+            $this->model->update('foo', array('s_time' => 1234567));
88
+            $this->assertNull($dbsh->read('foo'));
89
+        }
90
+		
91
+        public function testWhenDataAlreadyExistDoUpdate(){
92
+            $dbsh = new DBSessionHandler($this->model);
93
+            $dbsh->setSessionSecret($this->secret);
94
+			
95
+            $this->assertTrue($dbsh->open(null, null));
96
+            $this->assertTrue($dbsh->write('foo', '444'));
97
+            $this->assertNotEmpty($dbsh->read('foo'));
98
+            $this->assertEquals($dbsh->read('foo'), '444');
99
+            //do update of existing data
100
+            $this->assertTrue($dbsh->write('foo', '445'));
101
+            $this->assertEquals($dbsh->read('foo'), '445');	
102
+        }
103
+		
104
+        public function testUsingCustomModelInstance(){
105
+            $dbsh = new DBSessionHandler($this->model);
106
+            $dbsh->setSessionSecret($this->secret);
107
+			
108
+            $this->assertTrue($dbsh->open(null, null));
109
+            $this->assertTrue($dbsh->close());
110
+            $this->assertNull($dbsh->read('foo'));
111
+            $this->assertTrue($dbsh->write('foo', '444'));
112
+            $this->assertNotEmpty($dbsh->read('foo'));
113
+            $this->assertEquals($dbsh->read('foo'), '444');
114
+            //put it in expired
115
+            $this->model->update('foo', array('s_time' => 1234567));
116
+			
117
+            $this->assertNull($dbsh->read('foo'));
118
+            $this->assertTrue($dbsh->write('foo', '444'));
119
+			
120
+            //do update of existing data
121
+            $this->assertTrue($dbsh->write('foo', '445'));
122
+            $this->assertEquals($dbsh->read('foo'), '445');	
123
+            $this->assertTrue($dbsh->destroy('foo'));
124
+            $this->assertNull($dbsh->read('foo'));
125
+            $this->assertTrue($dbsh->gc(13));
126
+            $encoded = $dbsh->encode('foo');
127
+            $this->assertNotEmpty($encoded);
128
+            $this->assertEquals($dbsh->decode($encoded), 'foo');
129
+        }
130
+			
131
+			
132
+        public function testUsingCustomLogInstance(){
133
+            $dbsh = new DBSessionHandler($this->model, new Log());
134
+            $dbsh->setSessionSecret($this->secret);
135
+			
136
+            $this->assertTrue($dbsh->open(null, null));
137
+            $this->assertTrue($dbsh->close());
138
+            $this->assertNull($dbsh->read('foo'));
139
+            $this->assertTrue($dbsh->write('foo', '444'));
140
+            $this->assertNotEmpty($dbsh->read('foo'));
141
+            $this->assertEquals($dbsh->read('foo'), '444');
142
+            //put it in expired
143
+            $this->model->update('foo', array('s_time' => 1234567));
144
+			
145
+            $this->assertNull($dbsh->read('foo'));
146
+            $this->assertTrue($dbsh->write('foo', '444'));
147
+			
148
+            //do update of existing data
149
+            $this->assertTrue($dbsh->write('foo', '445'));
150
+            $this->assertEquals($dbsh->read('foo'), '445');	
151
+            $this->assertTrue($dbsh->destroy('foo'));
152
+            $this->assertNull($dbsh->read('foo'));
153
+            $this->assertTrue($dbsh->gc(13));
154
+            $encoded = $dbsh->encode('foo');
155
+            $this->assertNotEmpty($encoded);
156
+            $this->assertEquals($dbsh->decode($encoded), 'foo');
157
+        }
158
+		
159
+        public function testUsingCustomLoaderInstance(){
160
+            $dbsh = new DBSessionHandler($this->model, null, new Loader());
161
+            $dbsh->setSessionSecret($this->secret);
162
+			
163
+            $this->assertTrue($dbsh->open(null, null));
164
+            $this->assertTrue($dbsh->close());
165
+            $this->assertNull($dbsh->read('foo'));
166
+            $this->assertTrue($dbsh->write('foo', '444'));
167
+            $this->assertNotEmpty($dbsh->read('foo'));
168
+            $this->assertEquals($dbsh->read('foo'), '444');
169
+            //put it in expired
170
+            $this->model->update('foo', array('s_time' => 1234567));
171
+			
172
+            $this->assertNull($dbsh->read('foo'));
173
+            $this->assertTrue($dbsh->write('foo', '444'));
174
+			
175
+            //do update of existing data
176
+            $this->assertTrue($dbsh->write('foo', '445'));
177
+            $this->assertEquals($dbsh->read('foo'), '445');	
178
+            $this->assertTrue($dbsh->destroy('foo'));
179
+            $this->assertNull($dbsh->read('foo'));
180
+            $this->assertTrue($dbsh->gc(13));
181
+            $encoded = $dbsh->encode('foo');
182
+            $this->assertNotEmpty($encoded);
183
+            $this->assertEquals($dbsh->decode($encoded), 'foo');
184
+        }
185
+		
186
+		
187
+        public function testWhenModelInsanceIsNotSet(){
188
+            $dbsh = new DBSessionHandler(null, null, new Loader());
189
+            $dbsh->setSessionSecret($this->secret);
190
+			
191
+            $this->assertTrue($dbsh->open(null, null));
192
+            $this->assertTrue($dbsh->close());
193
+            $this->assertNull($dbsh->read('foo'));
194
+            $this->assertTrue($dbsh->write('foo', '444'));
195
+            $this->assertNotEmpty($dbsh->read('foo'));
196
+            $this->assertEquals($dbsh->read('foo'), '444');
197
+            //put it in expired
198
+            $this->model->update('foo', array('s_time' => 1234567));
199
+			
200
+            $this->assertNull($dbsh->read('foo'));
201
+            $this->assertTrue($dbsh->write('foo', '444'));
202
+			
203
+            //do update of existing data
204
+            $this->assertTrue($dbsh->write('tnh', '445'));
205
+            $this->assertTrue($dbsh->write('foo', '445'));
206
+            $this->assertEquals($dbsh->read('foo'), '445');	
207
+            $this->assertTrue($dbsh->destroy('foo'));
208
+            $this->assertNull($dbsh->read('foo'));
209
+            $this->assertTrue($dbsh->gc(13));
210
+            $encoded = $dbsh->encode('foo');
211
+            $this->assertNotEmpty($encoded);
212
+            $this->assertEquals($dbsh->decode($encoded), 'foo');
213
+        }
214
+		
215
+        public function testWhenModelTableColumnsIsNotSet(){
216
+            //session table is empty
217
+            $this->model->setSessionTableColumns(array());
218
+            $dbsh = new DBSessionHandler($this->model);
219
+            $this->assertTrue($dbsh->open(null, null));
220
+        }
221
+		
222
+		
223
+    }
224 224
\ No newline at end of file
Please login to merge, or discard this patch.
core/classes/Log.php 1 patch
Indentation   +266 added lines, -266 removed lines patch added patch discarded remove patch
@@ -1,297 +1,297 @@
 block discarded – undo
1 1
 <?php
2
-	defined('ROOT_PATH') || exit('Access denied');
3
-	/**
4
-	 * TNH Framework
5
-	 *
6
-	 * A simple PHP framework using HMVC architecture
7
-	 *
8
-	 * This content is released under the GNU GPL License (GPL)
9
-	 *
10
-	 * Copyright (C) 2017 Tony NGUEREZA
11
-	 *
12
-	 * This program is free software; you can redistribute it and/or
13
-	 * modify it under the terms of the GNU General Public License
14
-	 * as published by the Free Software Foundation; either version 3
15
-	 * of the License, or (at your option) any later version.
16
-	 *
17
-	 * This program is distributed in the hope that it will be useful,
18
-	 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
-	 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
-	 * GNU General Public License for more details.
21
-	 *
22
-	 * You should have received a copy of the GNU General Public License
23
-	 * along with this program; if not, write to the Free Software
24
-	 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25
-	*/
2
+    defined('ROOT_PATH') || exit('Access denied');
3
+    /**
4
+     * TNH Framework
5
+     *
6
+     * A simple PHP framework using HMVC architecture
7
+     *
8
+     * This content is released under the GNU GPL License (GPL)
9
+     *
10
+     * Copyright (C) 2017 Tony NGUEREZA
11
+     *
12
+     * This program is free software; you can redistribute it and/or
13
+     * modify it under the terms of the GNU General Public License
14
+     * as published by the Free Software Foundation; either version 3
15
+     * of the License, or (at your option) any later version.
16
+     *
17
+     * This program is distributed in the hope that it will be useful,
18
+     * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
+     * GNU General Public License for more details.
21
+     *
22
+     * You should have received a copy of the GNU General Public License
23
+     * along with this program; if not, write to the Free Software
24
+     * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25
+     */
26 26
 
27
-	class Log{
27
+    class Log{
28 28
 		
29
-		/**
30
-		 * The defined constante for Log level
31
-		 */
32
-		const NONE = 99999999;
33
-		const FATAL = 500;
34
-		const ERROR = 400;
35
-		const WARNING = 300;
36
-		const INFO = 200;
37
-		const DEBUG = 100;
38
-		const ALL = -99999999;
29
+        /**
30
+         * The defined constante for Log level
31
+         */
32
+        const NONE = 99999999;
33
+        const FATAL = 500;
34
+        const ERROR = 400;
35
+        const WARNING = 300;
36
+        const INFO = 200;
37
+        const DEBUG = 100;
38
+        const ALL = -99999999;
39 39
 
40
-		/**
41
-		 * The logger name
42
-		 * @var string
43
-		 */
44
-		private $logger = 'ROOT_LOGGER';
40
+        /**
41
+         * The logger name
42
+         * @var string
43
+         */
44
+        private $logger = 'ROOT_LOGGER';
45 45
 		
46
-		/**
47
-		 * List of valid log level to be checked for the configuration
48
-		 * @var array
49
-		 */
50
-		private static $validConfigLevel = array('off', 'none', 'fatal', 'error', 'warning', 'warn', 'info', 'debug', 'all');
46
+        /**
47
+         * List of valid log level to be checked for the configuration
48
+         * @var array
49
+         */
50
+        private static $validConfigLevel = array('off', 'none', 'fatal', 'error', 'warning', 'warn', 'info', 'debug', 'all');
51 51
 
52
-		/**
53
-		 * Create new Log instance
54
-		 */
55
-		public function __construct(){
56
-		}
52
+        /**
53
+         * Create new Log instance
54
+         */
55
+        public function __construct(){
56
+        }
57 57
 
58
-		/**
59
-		 * Set the logger to identify each message in the log
60
-		 * @param string $logger the logger name
61
-		 */
62
-		public  function setLogger($logger){
63
-			$this->logger = $logger;
64
-		}
58
+        /**
59
+         * Set the logger to identify each message in the log
60
+         * @param string $logger the logger name
61
+         */
62
+        public  function setLogger($logger){
63
+            $this->logger = $logger;
64
+        }
65 65
 
66
-		/**
67
-		 * Save the fatal message in the log
68
-		 * @see Log::writeLog for more detail
69
-		 * @param  string $message the log message to save
70
-		 */
71
-		public function fatal($message){
72
-			$this->writeLog($message, self::FATAL);
73
-		} 
66
+        /**
67
+         * Save the fatal message in the log
68
+         * @see Log::writeLog for more detail
69
+         * @param  string $message the log message to save
70
+         */
71
+        public function fatal($message){
72
+            $this->writeLog($message, self::FATAL);
73
+        } 
74 74
 		
75
-		/**
76
-		 * Save the error message in the log
77
-		 * @see Log::writeLog for more detail
78
-		 * @param  string $message the log message to save
79
-		 */
80
-		public function error($message){
81
-			$this->writeLog($message, self::ERROR);
82
-		} 
75
+        /**
76
+         * Save the error message in the log
77
+         * @see Log::writeLog for more detail
78
+         * @param  string $message the log message to save
79
+         */
80
+        public function error($message){
81
+            $this->writeLog($message, self::ERROR);
82
+        } 
83 83
 
84
-		/**
85
-		 * Save the warning message in the log
86
-		 * @see Log::writeLog for more detail
87
-		 * @param  string $message the log message to save
88
-		 */
89
-		public function warning($message){
90
-			$this->writeLog($message, self::WARNING);
91
-		} 
84
+        /**
85
+         * Save the warning message in the log
86
+         * @see Log::writeLog for more detail
87
+         * @param  string $message the log message to save
88
+         */
89
+        public function warning($message){
90
+            $this->writeLog($message, self::WARNING);
91
+        } 
92 92
 		
93
-		/**
94
-		 * Save the info message in the log
95
-		 * @see Log::writeLog for more detail
96
-		 * @param  string $message the log message to save
97
-		 */
98
-		public function info($message){
99
-			$this->writeLog($message, self::INFO);
100
-		} 
93
+        /**
94
+         * Save the info message in the log
95
+         * @see Log::writeLog for more detail
96
+         * @param  string $message the log message to save
97
+         */
98
+        public function info($message){
99
+            $this->writeLog($message, self::INFO);
100
+        } 
101 101
 		
102
-		/**
103
-		 * Save the debug message in the log
104
-		 * @see Log::writeLog for more detail
105
-		 * @param  string $message the log message to save
106
-		 */
107
-		public function debug($message){
108
-			$this->writeLog($message, self::DEBUG);
109
-		} 
102
+        /**
103
+         * Save the debug message in the log
104
+         * @see Log::writeLog for more detail
105
+         * @param  string $message the log message to save
106
+         */
107
+        public function debug($message){
108
+            $this->writeLog($message, self::DEBUG);
109
+        } 
110 110
 		
111 111
 		
112
-		/**
113
-		 * Save the log message
114
-		 * @param  string $message the log message to be saved
115
-		 * @param  integer|string $level   the log level in integer or string format, if is string will convert into integer
116
-		 * to allow check the log level threshold.
117
-		 */
118
-		public function writeLog($message, $level = self::INFO){
119
-			$configLogLevel = get_config('log_level');
120
-			if(! $configLogLevel){
121
-				//so means no need log just stop here
122
-				return;
123
-			}
124
-			//check config log level
125
-			if(! self::isValidConfigLevel($configLogLevel)){
126
-				//NOTE: here need put the show_error() "logging" to false to prevent loop
127
-				show_error('Invalid config log level [' . $configLogLevel . '], the value must be one of the following: ' . implode(', ', array_map('strtoupper', self::$validConfigLevel)), $title = 'Log Config Error', $logging = false);	
128
-			}
112
+        /**
113
+         * Save the log message
114
+         * @param  string $message the log message to be saved
115
+         * @param  integer|string $level   the log level in integer or string format, if is string will convert into integer
116
+         * to allow check the log level threshold.
117
+         */
118
+        public function writeLog($message, $level = self::INFO){
119
+            $configLogLevel = get_config('log_level');
120
+            if(! $configLogLevel){
121
+                //so means no need log just stop here
122
+                return;
123
+            }
124
+            //check config log level
125
+            if(! self::isValidConfigLevel($configLogLevel)){
126
+                //NOTE: here need put the show_error() "logging" to false to prevent loop
127
+                show_error('Invalid config log level [' . $configLogLevel . '], the value must be one of the following: ' . implode(', ', array_map('strtoupper', self::$validConfigLevel)), $title = 'Log Config Error', $logging = false);	
128
+            }
129 129
 			
130
-			//check if config log_logger_name and current log can save log data
131
-			if(! $this->canSaveLogDataForLogger()){
132
-				return;
133
-			}
130
+            //check if config log_logger_name and current log can save log data
131
+            if(! $this->canSaveLogDataForLogger()){
132
+                return;
133
+            }
134 134
 			
135
-			//if $level is not an integer
136
-			if(! is_numeric($level)){
137
-				$level = self::getLevelValue($level);
138
-			}
135
+            //if $level is not an integer
136
+            if(! is_numeric($level)){
137
+                $level = self::getLevelValue($level);
138
+            }
139 139
 			
140
-			//check if can logging regarding the log level config
141
-			$configLevel = self::getLevelValue($configLogLevel);
142
-			if($configLevel > $level){
143
-				//can't log
144
-				return;
145
-			}
146
-			//check log file and directory
147
-			$path = $this->checkAndSetLogFileDirectory();
148
-			//save the log data
149
-			$this->saveLogData($path, $level, $message);
150
-		}	
140
+            //check if can logging regarding the log level config
141
+            $configLevel = self::getLevelValue($configLogLevel);
142
+            if($configLevel > $level){
143
+                //can't log
144
+                return;
145
+            }
146
+            //check log file and directory
147
+            $path = $this->checkAndSetLogFileDirectory();
148
+            //save the log data
149
+            $this->saveLogData($path, $level, $message);
150
+        }	
151 151
 
152
-		/**
153
-		 * Save the log data into file
154
-		 * @param  string $path    the path of the log file
155
-		 * @param  integer|string $level   the log level in integer or string format, if is string will convert into integer
156
-		 * @param  string $message the log message to save
157
-		 * @return void
158
-		 */
159
-		protected function saveLogData($path, $level, $message){
160
-			//may be at this time helper user_agent not yet included
161
-			require_once CORE_FUNCTIONS_PATH . 'function_user_agent.php';
152
+        /**
153
+         * Save the log data into file
154
+         * @param  string $path    the path of the log file
155
+         * @param  integer|string $level   the log level in integer or string format, if is string will convert into integer
156
+         * @param  string $message the log message to save
157
+         * @return void
158
+         */
159
+        protected function saveLogData($path, $level, $message){
160
+            //may be at this time helper user_agent not yet included
161
+            require_once CORE_FUNCTIONS_PATH . 'function_user_agent.php';
162 162
 			
163
-			///////////////////// date //////////////
164
-			$timestampWithMicro = microtime(true);
165
-			$microtime = sprintf('%06d', ($timestampWithMicro - floor($timestampWithMicro)) * 1000000);
166
-			$dateTime = new DateTime(date('Y-m-d H:i:s.' . $microtime, $timestampWithMicro));
167
-			$logDate = $dateTime->format('Y-m-d H:i:s.u'); 
168
-			//ip
169
-			$ip = get_ip();
163
+            ///////////////////// date //////////////
164
+            $timestampWithMicro = microtime(true);
165
+            $microtime = sprintf('%06d', ($timestampWithMicro - floor($timestampWithMicro)) * 1000000);
166
+            $dateTime = new DateTime(date('Y-m-d H:i:s.' . $microtime, $timestampWithMicro));
167
+            $logDate = $dateTime->format('Y-m-d H:i:s.u'); 
168
+            //ip
169
+            $ip = get_ip();
170 170
 			
171
-			//if $level is not an integer
172
-			if(! is_numeric($level)){
173
-				$level = self::getLevelValue($level);
174
-			}
171
+            //if $level is not an integer
172
+            if(! is_numeric($level)){
173
+                $level = self::getLevelValue($level);
174
+            }
175 175
 
176
-			//level name
177
-			$levelName = self::getLevelName($level);
176
+            //level name
177
+            $levelName = self::getLevelName($level);
178 178
 			
179
-			//debug info
180
-			$dtrace = debug_backtrace();
181
-			$fileInfo = $dtrace[0]['file'] == __FILE__ ? $dtrace[1] : $dtrace[0];
179
+            //debug info
180
+            $dtrace = debug_backtrace();
181
+            $fileInfo = $dtrace[0]['file'] == __FILE__ ? $dtrace[1] : $dtrace[0];
182 182
 			
183
-			$str = $logDate . ' [' . str_pad($levelName, 7 /*warning len*/) . '] ' . ' [' . str_pad($ip, 15) . '] ' . $this->logger . ' : ' . $message . ' ' . '[' . $fileInfo['file'] . '::' . $fileInfo['line'] . ']' . "\n";
184
-			$fp = fopen($path, 'a+');
185
-			if(is_resource($fp)){
186
-				flock($fp, LOCK_EX); // exclusive lock, will get released when the file is closed
187
-				fwrite($fp, $str);
188
-				fclose($fp);
189
-			}
190
-		}	
183
+            $str = $logDate . ' [' . str_pad($levelName, 7 /*warning len*/) . '] ' . ' [' . str_pad($ip, 15) . '] ' . $this->logger . ' : ' . $message . ' ' . '[' . $fileInfo['file'] . '::' . $fileInfo['line'] . ']' . "\n";
184
+            $fp = fopen($path, 'a+');
185
+            if(is_resource($fp)){
186
+                flock($fp, LOCK_EX); // exclusive lock, will get released when the file is closed
187
+                fwrite($fp, $str);
188
+                fclose($fp);
189
+            }
190
+        }	
191 191
 
192
-		/**
193
-		 * Check if the current logger can save log data regarding the configuration
194
-		 * of logger filter
195
-		 * @return boolean
196
-		 */
197
-		protected function canSaveLogDataForLogger(){
198
-			if(! empty($this->logger)){
199
-				$configLoggersName = get_config('log_logger_name', array());
200
-				if (!empty($configLoggersName)) {
201
-					//for best comparaison put all string to lowercase
202
-					$configLoggersName = array_map('strtolower', $configLoggersName);
203
-					if(! in_array(strtolower($this->logger), $configLoggersName)){
204
-						return false;
205
-					}
206
-				}
207
-			}
208
-			return true;
209
-		}
192
+        /**
193
+         * Check if the current logger can save log data regarding the configuration
194
+         * of logger filter
195
+         * @return boolean
196
+         */
197
+        protected function canSaveLogDataForLogger(){
198
+            if(! empty($this->logger)){
199
+                $configLoggersName = get_config('log_logger_name', array());
200
+                if (!empty($configLoggersName)) {
201
+                    //for best comparaison put all string to lowercase
202
+                    $configLoggersName = array_map('strtolower', $configLoggersName);
203
+                    if(! in_array(strtolower($this->logger), $configLoggersName)){
204
+                        return false;
205
+                    }
206
+                }
207
+            }
208
+            return true;
209
+        }
210 210
 
211
-		/**
212
-		 * Check the file and directory 
213
-		 * @return string the log file path
214
-		 */
215
-		protected function checkAndSetLogFileDirectory(){
216
-			$logSavePath = get_config('log_save_path');
217
-			if(! $logSavePath){
218
-				$logSavePath = LOGS_PATH;
219
-			}
211
+        /**
212
+         * Check the file and directory 
213
+         * @return string the log file path
214
+         */
215
+        protected function checkAndSetLogFileDirectory(){
216
+            $logSavePath = get_config('log_save_path');
217
+            if(! $logSavePath){
218
+                $logSavePath = LOGS_PATH;
219
+            }
220 220
 			
221
-			if(! is_dir($logSavePath) || !is_writable($logSavePath)){
222
-				//NOTE: here need put the show_error() "logging" to false to prevent loop
223
-				show_error('Error : the log dir does not exists or is not writable', $title = 'Log directory error', $logging = false);
224
-			}
221
+            if(! is_dir($logSavePath) || !is_writable($logSavePath)){
222
+                //NOTE: here need put the show_error() "logging" to false to prevent loop
223
+                show_error('Error : the log dir does not exists or is not writable', $title = 'Log directory error', $logging = false);
224
+            }
225 225
 			
226
-			$path = $logSavePath . 'logs-' . date('Y-m-d') . '.log';
227
-			if(! file_exists($path)){
228
-				touch($path);
229
-			}
230
-			return $path;
231
-		}
226
+            $path = $logSavePath . 'logs-' . date('Y-m-d') . '.log';
227
+            if(! file_exists($path)){
228
+                touch($path);
229
+            }
230
+            return $path;
231
+        }
232 232
 		
233
-		/**
234
-		 * Check if the given log level is valid
235
-		 *
236
-		 * @param  string  $level the log level
237
-		 *
238
-		 * @return boolean        true if the given log level is valid, false if not
239
-		 */
240
-		protected static function isValidConfigLevel($level){
241
-			$level = strtolower($level);
242
-			return in_array($level, self::$validConfigLevel);
243
-		}
233
+        /**
234
+         * Check if the given log level is valid
235
+         *
236
+         * @param  string  $level the log level
237
+         *
238
+         * @return boolean        true if the given log level is valid, false if not
239
+         */
240
+        protected static function isValidConfigLevel($level){
241
+            $level = strtolower($level);
242
+            return in_array($level, self::$validConfigLevel);
243
+        }
244 244
 
245
-		/**
246
-		 * Get the log level number for the given level string
247
-		 * @param  string $level the log level in string format
248
-		 * 
249
-		 * @return int        the log level in integer format using the predefined constants
250
-		 */
251
-		protected static function getLevelValue($level){
252
-			$level = strtolower($level);
253
-			$levelMaps = array(
254
-				'fatal'   => self::FATAL,
255
-				'error'   => self::ERROR,
256
-				'warning' => self::WARNING,
257
-				'warn'    => self::WARNING,
258
-				'info'    => self::INFO,
259
-				'debug'   => self::DEBUG,
260
-				'all'     => self::ALL
261
-			);
262
-			//the default value is NONE, so means no need test for NONE
263
-			$value = self::NONE;
264
-			foreach ($levelMaps as $k => $v) {
265
-				if($level == $k){
266
-					$value = $v;
267
-					break;
268
-				}
269
-			}
270
-			return $value;
271
-		}
245
+        /**
246
+         * Get the log level number for the given level string
247
+         * @param  string $level the log level in string format
248
+         * 
249
+         * @return int        the log level in integer format using the predefined constants
250
+         */
251
+        protected static function getLevelValue($level){
252
+            $level = strtolower($level);
253
+            $levelMaps = array(
254
+                'fatal'   => self::FATAL,
255
+                'error'   => self::ERROR,
256
+                'warning' => self::WARNING,
257
+                'warn'    => self::WARNING,
258
+                'info'    => self::INFO,
259
+                'debug'   => self::DEBUG,
260
+                'all'     => self::ALL
261
+            );
262
+            //the default value is NONE, so means no need test for NONE
263
+            $value = self::NONE;
264
+            foreach ($levelMaps as $k => $v) {
265
+                if($level == $k){
266
+                    $value = $v;
267
+                    break;
268
+                }
269
+            }
270
+            return $value;
271
+        }
272 272
 
273
-		/**
274
-		 * Get the log level string for the given log level integer
275
-		 * @param  integer $level the log level in integer format
276
-		 * @return string        the log level in string format
277
-		 */
278
-		protected static function getLevelName($level){
279
-			$levelMaps = array(
280
-				self::FATAL   => 'FATAL',
281
-				self::ERROR   => 'ERROR',
282
-				self::WARNING => 'WARNING',
283
-				self::INFO    => 'INFO',
284
-				self::DEBUG   => 'DEBUG'
285
-			);
286
-			$value = '';
287
-			foreach ($levelMaps as $k => $v) {
288
-				if($level == $k){
289
-					$value = $v;
290
-					break;
291
-				}
292
-			}
293
-			//no need for ALL
294
-			return $value;
295
-		}
273
+        /**
274
+         * Get the log level string for the given log level integer
275
+         * @param  integer $level the log level in integer format
276
+         * @return string        the log level in string format
277
+         */
278
+        protected static function getLevelName($level){
279
+            $levelMaps = array(
280
+                self::FATAL   => 'FATAL',
281
+                self::ERROR   => 'ERROR',
282
+                self::WARNING => 'WARNING',
283
+                self::INFO    => 'INFO',
284
+                self::DEBUG   => 'DEBUG'
285
+            );
286
+            $value = '';
287
+            foreach ($levelMaps as $k => $v) {
288
+                if($level == $k){
289
+                    $value = $v;
290
+                    break;
291
+                }
292
+            }
293
+            //no need for ALL
294
+            return $value;
295
+        }
296 296
 
297
-	}
297
+    }
Please login to merge, or discard this patch.
core/classes/database/DatabaseQueryBuilder.php 1 patch
Indentation   +391 added lines, -391 removed lines patch added patch discarded remove patch
@@ -1,108 +1,108 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
     defined('ROOT_PATH') || exit('Access denied');
3
-  /**
4
-   * TNH Framework
5
-   *
6
-   * A simple PHP framework using HMVC architecture
7
-   *
8
-   * This content is released under the GNU GPL License (GPL)
9
-   *
10
-   * Copyright (C) 2017 Tony NGUEREZA
11
-   *
12
-   * This program is free software; you can redistribute it and/or
13
-   * modify it under the terms of the GNU General Public License
14
-   * as published by the Free Software Foundation; either version 3
15
-   * of the License, or (at your option) any later version.
16
-   *
17
-   * This program is distributed in the hope that it will be useful,
18
-   * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
-   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
-   * GNU General Public License for more details.
21
-   *
22
-   * You should have received a copy of the GNU General Public License
23
-   * along with this program; if not, write to the Free Software
24
-   * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25
-  */
26
-  class DatabaseQueryBuilder{
27
-  	/**
28
-  	 * The SQL SELECT statment
29
-  	 * @var string
30
-  	*/
31
-  	private $select              = '*';
3
+    /**
4
+     * TNH Framework
5
+     *
6
+     * A simple PHP framework using HMVC architecture
7
+     *
8
+     * This content is released under the GNU GPL License (GPL)
9
+     *
10
+     * Copyright (C) 2017 Tony NGUEREZA
11
+     *
12
+     * This program is free software; you can redistribute it and/or
13
+     * modify it under the terms of the GNU General Public License
14
+     * as published by the Free Software Foundation; either version 3
15
+     * of the License, or (at your option) any later version.
16
+     *
17
+     * This program is distributed in the hope that it will be useful,
18
+     * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
+     * GNU General Public License for more details.
21
+     *
22
+     * You should have received a copy of the GNU General Public License
23
+     * along with this program; if not, write to the Free Software
24
+     * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25
+     */
26
+    class DatabaseQueryBuilder{
27
+        /**
28
+         * The SQL SELECT statment
29
+         * @var string
30
+         */
31
+        private $select              = '*';
32 32
   	
33
-  	/**
34
-  	 * The SQL FROM statment
35
-  	 * @var string
36
-  	*/
37
-      private $from              = null;
33
+        /**
34
+         * The SQL FROM statment
35
+         * @var string
36
+         */
37
+        private $from              = null;
38 38
   	
39
-  	/**
40
-  	 * The SQL WHERE statment
41
-  	 * @var string
42
-  	*/
43
-      private $where               = null;
39
+        /**
40
+         * The SQL WHERE statment
41
+         * @var string
42
+         */
43
+        private $where               = null;
44 44
   	
45
-  	/**
46
-  	 * The SQL LIMIT statment
47
-  	 * @var string
48
-  	*/
49
-      private $limit               = null;
45
+        /**
46
+         * The SQL LIMIT statment
47
+         * @var string
48
+         */
49
+        private $limit               = null;
50 50
   	
51
-  	/**
52
-  	 * The SQL JOIN statment
53
-  	 * @var string
54
-  	*/
55
-      private $join                = null;
51
+        /**
52
+         * The SQL JOIN statment
53
+         * @var string
54
+         */
55
+        private $join                = null;
56 56
   	
57
-  	/**
58
-  	 * The SQL ORDER BY statment
59
-  	 * @var string
60
-  	*/
61
-      private $orderBy             = null;
57
+        /**
58
+         * The SQL ORDER BY statment
59
+         * @var string
60
+         */
61
+        private $orderBy             = null;
62 62
   	
63
-  	/**
64
-  	 * The SQL GROUP BY statment
65
-  	 * @var string
66
-  	*/
67
-      private $groupBy             = null;
63
+        /**
64
+         * The SQL GROUP BY statment
65
+         * @var string
66
+         */
67
+        private $groupBy             = null;
68 68
   	
69
-  	/**
70
-  	 * The SQL HAVING statment
71
-  	 * @var string
72
-  	*/
73
-      private $having              = null;
69
+        /**
70
+         * The SQL HAVING statment
71
+         * @var string
72
+         */
73
+        private $having              = null;
74 74
   	
75
-  	/**
76
-  	 * The full SQL query statment after build for each command
77
-  	 * @var string
78
-  	*/
79
-      private $query               = null;
75
+        /**
76
+         * The full SQL query statment after build for each command
77
+         * @var string
78
+         */
79
+        private $query               = null;
80 80
   	
81
-  	/**
82
-  	 * The list of SQL valid operators
83
-  	 * @var array
84
-  	*/
81
+        /**
82
+         * The list of SQL valid operators
83
+         * @var array
84
+         */
85 85
     private $operatorList        = array('=','!=','<','>','<=','>=','<>');
86 86
   	
87 87
 	
88
-	/**
89
-	 * The prefix used in each database table
90
-	 * @var string
91
-	*/
88
+    /**
89
+     * The prefix used in each database table
90
+     * @var string
91
+     */
92 92
     private $prefix              = null;
93 93
     
94 94
 
95 95
     /**
96
-  	 * The PDO instance
97
-  	 * @var object
98
-  	*/
96
+     * The PDO instance
97
+     * @var object
98
+     */
99 99
     private $pdo                 = null;
100 100
 	
101
-  	/**
102
-  	 * The database driver name used
103
-  	 * @var string
104
-  	*/
105
-  	private $driver              = null;
101
+        /**
102
+         * The database driver name used
103
+         * @var string
104
+         */
105
+        private $driver              = null;
106 106
   	
107 107
 	
108 108
     /**
@@ -111,7 +111,7 @@  discard block
 block discarded – undo
111 111
      */
112 112
     public function __construct(PDO $pdo = null){
113 113
         if (is_object($pdo)){
114
-          $this->setPdo($pdo);
114
+            $this->setPdo($pdo);
115 115
         }
116 116
     }
117 117
 
@@ -121,16 +121,16 @@  discard block
 block discarded – undo
121 121
      * @return object        the current DatabaseQueryBuilder instance
122 122
      */
123 123
     public function from($table){
124
-	  if (is_array($table)){
124
+        if (is_array($table)){
125 125
         $froms = '';
126 126
         foreach($table as $key){
127
-          $froms .= $this->getPrefix() . $key . ', ';
127
+            $froms .= $this->getPrefix() . $key . ', ';
128 128
         }
129 129
         $this->from = rtrim($froms, ', ');
130
-      } else {
130
+        } else {
131 131
         $this->from = $this->getPrefix() . $table;
132
-      }
133
-      return $this;
132
+        }
133
+        return $this;
134 134
     }
135 135
 
136 136
     /**
@@ -139,9 +139,9 @@  discard block
 block discarded – undo
139 139
      * @return object        the current DatabaseQueryBuilder instance
140 140
      */
141 141
     public function select($fields){
142
-      $select = (is_array($fields) ? implode(', ', $fields) : $fields);
143
-      $this->select = (($this->select == '*' || empty($this->select)) ? $select : $this->select . ', ' . $select);
144
-      return $this;
142
+        $select = (is_array($fields) ? implode(', ', $fields) : $fields);
143
+        $this->select = (($this->select == '*' || empty($this->select)) ? $select : $this->select . ', ' . $select);
144
+        return $this;
145 145
     }
146 146
 
147 147
     /**
@@ -150,19 +150,19 @@  discard block
 block discarded – undo
150 150
      * @return object        the current DatabaseQueryBuilder instance
151 151
      */
152 152
     public function distinct($field){
153
-      $distinct = ' DISTINCT ' . $field;
154
-      $this->select = (($this->select == '*' || empty($this->select)) ? $distinct : $this->select . ', ' . $distinct);
155
-      return $this;
153
+        $distinct = ' DISTINCT ' . $field;
154
+        $this->select = (($this->select == '*' || empty($this->select)) ? $distinct : $this->select . ', ' . $distinct);
155
+        return $this;
156 156
     }
157 157
 
158
-     /**
159
-     * Set the SQL function COUNT in SELECT statment
160
-     * @param  string $field the field name
161
-     * @param  string $name  if is not null represent the alias used for this field in the result
162
-     * @return object        the current DatabaseQueryBuilder instance
163
-     */
158
+        /**
159
+         * Set the SQL function COUNT in SELECT statment
160
+         * @param  string $field the field name
161
+         * @param  string $name  if is not null represent the alias used for this field in the result
162
+         * @return object        the current DatabaseQueryBuilder instance
163
+         */
164 164
     public function count($field = '*', $name = null){
165
-      return $this->select_min_max_sum_count_avg('COUNT', $field, $name);
165
+        return $this->select_min_max_sum_count_avg('COUNT', $field, $name);
166 166
     }
167 167
     
168 168
     /**
@@ -172,7 +172,7 @@  discard block
 block discarded – undo
172 172
      * @return object        the current DatabaseQueryBuilder instance
173 173
      */
174 174
     public function min($field, $name = null){
175
-      return $this->select_min_max_sum_count_avg('MIN', $field, $name);
175
+        return $this->select_min_max_sum_count_avg('MIN', $field, $name);
176 176
     }
177 177
 
178 178
     /**
@@ -182,7 +182,7 @@  discard block
 block discarded – undo
182 182
      * @return object        the current DatabaseQueryBuilder instance
183 183
      */
184 184
     public function max($field, $name = null){
185
-      return $this->select_min_max_sum_count_avg('MAX', $field, $name);
185
+        return $this->select_min_max_sum_count_avg('MAX', $field, $name);
186 186
     }
187 187
 
188 188
     /**
@@ -192,7 +192,7 @@  discard block
 block discarded – undo
192 192
      * @return object        the current DatabaseQueryBuilder instance
193 193
      */
194 194
     public function sum($field, $name = null){
195
-      return $this->select_min_max_sum_count_avg('SUM', $field, $name);
195
+        return $this->select_min_max_sum_count_avg('SUM', $field, $name);
196 196
     }
197 197
 
198 198
     /**
@@ -202,7 +202,7 @@  discard block
 block discarded – undo
202 202
      * @return object        the current DatabaseQueryBuilder instance
203 203
      */
204 204
     public function avg($field, $name = null){
205
-      return $this->select_min_max_sum_count_avg('AVG', $field, $name);
205
+        return $this->select_min_max_sum_count_avg('AVG', $field, $name);
206 206
     }
207 207
 
208 208
 
@@ -216,20 +216,20 @@  discard block
 block discarded – undo
216 216
      * @return object        the current DatabaseQueryBuilder instance
217 217
      */
218 218
     public function join($table, $field1 = null, $op = null, $field2 = null, $type = ''){
219
-      $on = $field1;
220
-      $table = $this->getPrefix() . $table;
221
-      if (! is_null($op)){
219
+        $on = $field1;
220
+        $table = $this->getPrefix() . $table;
221
+        if (! is_null($op)){
222 222
         $on = (! in_array($op, $this->operatorList) 
223
-													? ($this->getPrefix() . $field1 . ' = ' . $this->getPrefix() . $op) 
224
-													: ($this->getPrefix() . $field1 . ' ' . $op . ' ' . $this->getPrefix() . $field2));
225
-      }
226
-      if (empty($this->join)){
223
+                                                    ? ($this->getPrefix() . $field1 . ' = ' . $this->getPrefix() . $op) 
224
+                                                    : ($this->getPrefix() . $field1 . ' ' . $op . ' ' . $this->getPrefix() . $field2));
225
+        }
226
+        if (empty($this->join)){
227 227
         $this->join = ' ' . $type . 'JOIN' . ' ' . $table . ' ON ' . $on;
228
-      }
229
-      else{
228
+        }
229
+        else{
230 230
         $this->join = $this->join . ' ' . $type . 'JOIN' . ' ' . $table . ' ON ' . $on;
231
-      }
232
-      return $this;
231
+        }
232
+        return $this;
233 233
     }
234 234
 
235 235
     /**
@@ -238,7 +238,7 @@  discard block
 block discarded – undo
238 238
      * @return object        the current DatabaseQueryBuilder instance
239 239
      */
240 240
     public function innerJoin($table, $field1, $op = null, $field2 = ''){
241
-      return $this->join($table, $field1, $op, $field2, 'INNER ');
241
+        return $this->join($table, $field1, $op, $field2, 'INNER ');
242 242
     }
243 243
 
244 244
     /**
@@ -247,16 +247,16 @@  discard block
 block discarded – undo
247 247
      * @return object        the current DatabaseQueryBuilder instance
248 248
      */
249 249
     public function leftJoin($table, $field1, $op = null, $field2 = ''){
250
-      return $this->join($table, $field1, $op, $field2, 'LEFT ');
251
-	}
250
+        return $this->join($table, $field1, $op, $field2, 'LEFT ');
251
+    }
252 252
 
253
-	/**
253
+    /**
254 254
      * Set the SQL RIGHT JOIN statment
255 255
      * @see  DatabaseQueryBuilder::join()
256 256
      * @return object        the current DatabaseQueryBuilder instance
257 257
      */
258 258
     public function rightJoin($table, $field1, $op = null, $field2 = ''){
259
-      return $this->join($table, $field1, $op, $field2, 'RIGHT ');
259
+        return $this->join($table, $field1, $op, $field2, 'RIGHT ');
260 260
     }
261 261
 
262 262
     /**
@@ -265,7 +265,7 @@  discard block
 block discarded – undo
265 265
      * @return object        the current DatabaseQueryBuilder instance
266 266
      */
267 267
     public function fullOuterJoin($table, $field1, $op = null, $field2 = ''){
268
-    	return $this->join($table, $field1, $op, $field2, 'FULL OUTER ');
268
+        return $this->join($table, $field1, $op, $field2, 'FULL OUTER ');
269 269
     }
270 270
 
271 271
     /**
@@ -274,7 +274,7 @@  discard block
 block discarded – undo
274 274
      * @return object        the current DatabaseQueryBuilder instance
275 275
      */
276 276
     public function leftOuterJoin($table, $field1, $op = null, $field2 = ''){
277
-      return $this->join($table, $field1, $op, $field2, 'LEFT OUTER ');
277
+        return $this->join($table, $field1, $op, $field2, 'LEFT OUTER ');
278 278
     }
279 279
 
280 280
     /**
@@ -283,7 +283,7 @@  discard block
 block discarded – undo
283 283
      * @return object        the current DatabaseQueryBuilder instance
284 284
      */
285 285
     public function rightOuterJoin($table, $field1, $op = null, $field2 = ''){
286
-      return $this->join($table, $field1, $op, $field2, 'RIGHT OUTER ');
286
+        return $this->join($table, $field1, $op, $field2, 'RIGHT OUTER ');
287 287
     }
288 288
 
289 289
     /**
@@ -293,14 +293,14 @@  discard block
 block discarded – undo
293 293
      * @return object        the current DatabaseQueryBuilder instance
294 294
      */
295 295
     public function whereIsNull($field, $andOr = 'AND'){
296
-      if (is_array($field)){
296
+        if (is_array($field)){
297 297
         foreach($field as $f){
298
-        	$this->whereIsNull($f, $andOr);
298
+            $this->whereIsNull($f, $andOr);
299 299
         }
300
-      } else {
301
-          $this->setWhereStr($field.' IS NULL ', $andOr);
302
-      }
303
-      return $this;
300
+        } else {
301
+            $this->setWhereStr($field.' IS NULL ', $andOr);
302
+        }
303
+        return $this;
304 304
     }
305 305
 
306 306
     /**
@@ -310,14 +310,14 @@  discard block
 block discarded – undo
310 310
      * @return object        the current DatabaseQueryBuilder instance
311 311
      */
312 312
     public function whereIsNotNull($field, $andOr = 'AND'){
313
-      if (is_array($field)){
313
+        if (is_array($field)){
314 314
         foreach($field as $f){
315
-          $this->whereIsNotNull($f, $andOr);
315
+            $this->whereIsNotNull($f, $andOr);
316
+        }
317
+        } else {
318
+            $this->setWhereStr($field.' IS NOT NULL ', $andOr);
316 319
         }
317
-      } else {
318
-          $this->setWhereStr($field.' IS NOT NULL ', $andOr);
319
-      }
320
-      return $this;
320
+        return $this;
321 321
     }
322 322
     
323 323
     /**
@@ -331,19 +331,19 @@  discard block
 block discarded – undo
331 331
      * @return object        the current DatabaseQueryBuilder instance
332 332
      */
333 333
     public function where($where, $op = null, $val = null, $type = '', $andOr = 'AND', $escape = true){
334
-      $whereStr = '';
335
-      if (is_array($where)){
334
+        $whereStr = '';
335
+        if (is_array($where)){
336 336
         $whereStr = $this->getWhereStrIfIsArray($where, $type, $andOr, $escape);
337
-      }
338
-      else{
337
+        }
338
+        else{
339 339
         if (is_array($op)){
340
-          $whereStr = $this->getWhereStrIfOperatorIsArray($where, $op, $type, $escape);
340
+            $whereStr = $this->getWhereStrIfOperatorIsArray($where, $op, $type, $escape);
341 341
         } else {
342
-          $whereStr = $this->getWhereStrForOperator($where, $op, $val, $type, $escape);
342
+            $whereStr = $this->getWhereStrForOperator($where, $op, $val, $type, $escape);
343
+        }
343 344
         }
344
-      }
345
-      $this->setWhereStr($whereStr, $andOr);
346
-      return $this;
345
+        $this->setWhereStr($whereStr, $andOr);
346
+        return $this;
347 347
     }
348 348
 
349 349
     /**
@@ -352,7 +352,7 @@  discard block
 block discarded – undo
352 352
      * @return object        the current DatabaseQueryBuilder instance
353 353
      */
354 354
     public function orWhere($where, $op = null, $val = null, $escape = true){
355
-      return $this->where($where, $op, $val, '', 'OR', $escape);
355
+        return $this->where($where, $op, $val, '', 'OR', $escape);
356 356
     }
357 357
 
358 358
 
@@ -362,7 +362,7 @@  discard block
 block discarded – undo
362 362
      * @return object        the current DatabaseQueryBuilder instance
363 363
      */
364 364
     public function notWhere($where, $op = null, $val = null, $escape = true){
365
-      return $this->where($where, $op, $val, 'NOT ', 'AND', $escape);
365
+        return $this->where($where, $op, $val, 'NOT ', 'AND', $escape);
366 366
     }
367 367
 
368 368
     /**
@@ -371,7 +371,7 @@  discard block
 block discarded – undo
371 371
      * @return object        the current DatabaseQueryBuilder instance
372 372
      */
373 373
     public function orNotWhere($where, $op = null, $val = null, $escape = true){
374
-    	return $this->where($where, $op, $val, 'NOT ', 'OR', $escape);
374
+        return $this->where($where, $op, $val, 'NOT ', 'OR', $escape);
375 375
     }
376 376
 
377 377
     /**
@@ -381,16 +381,16 @@  discard block
 block discarded – undo
381 381
      * @return object        the current DatabaseQueryBuilder instance
382 382
      */
383 383
     public function groupStart($type = '', $andOr = ' AND'){
384
-      if (empty($this->where)){
384
+        if (empty($this->where)){
385 385
         $this->where = $type . ' (';
386
-      } else {
387
-          if (substr(trim($this->where), -1) == '('){
386
+        } else {
387
+            if (substr(trim($this->where), -1) == '('){
388 388
             $this->where .= $type . ' (';
389
-          } else {
390
-          	$this->where .= $andOr . ' ' . $type . ' (';
391
-          }
392
-      }
393
-      return $this;
389
+            } else {
390
+                $this->where .= $andOr . ' ' . $type . ' (';
391
+            }
392
+        }
393
+        return $this;
394 394
     }
395 395
 
396 396
     /**
@@ -399,7 +399,7 @@  discard block
 block discarded – undo
399 399
      * @return object        the current DatabaseQueryBuilder instance
400 400
      */
401 401
     public function notGroupStart(){
402
-      return $this->groupStart('NOT');
402
+        return $this->groupStart('NOT');
403 403
     }
404 404
 
405 405
     /**
@@ -408,16 +408,16 @@  discard block
 block discarded – undo
408 408
      * @return object        the current DatabaseQueryBuilder instance
409 409
      */
410 410
     public function orGroupStart(){
411
-      return $this->groupStart('', ' OR');
411
+        return $this->groupStart('', ' OR');
412 412
     }
413 413
 
414
-     /**
415
-     * Set the opened parenthesis for the complex SQL query using OR for separator and NOT for type
416
-     * @see  DatabaseQueryBuilder::groupStart()
417
-     * @return object        the current DatabaseQueryBuilder instance
418
-     */
414
+        /**
415
+         * Set the opened parenthesis for the complex SQL query using OR for separator and NOT for type
416
+         * @see  DatabaseQueryBuilder::groupStart()
417
+         * @return object        the current DatabaseQueryBuilder instance
418
+         */
419 419
     public function orNotGroupStart(){
420
-      return $this->groupStart('NOT', ' OR');
420
+        return $this->groupStart('NOT', ' OR');
421 421
     }
422 422
 
423 423
     /**
@@ -425,8 +425,8 @@  discard block
 block discarded – undo
425 425
      * @return object        the current DatabaseQueryBuilder instance
426 426
      */
427 427
     public function groupEnd(){
428
-      $this->where .= ')';
429
-      return $this;
428
+        $this->where .= ')';
429
+        return $this;
430 430
     }
431 431
 
432 432
     /**
@@ -439,17 +439,17 @@  discard block
 block discarded – undo
439 439
      * @return object        the current DatabaseQueryBuilder instance
440 440
      */
441 441
     public function in($field, array $keys, $type = '', $andOr = 'AND', $escape = true){
442
-      $_keys = array();
443
-      foreach ($keys as $k => $v){
442
+        $_keys = array();
443
+        foreach ($keys as $k => $v){
444 444
         if (is_null($v)){
445
-          $v = '';
445
+            $v = '';
446 446
         }
447 447
         $_keys[] = (is_numeric($v) ? $v : $this->escape($v, $escape));
448
-      }
449
-      $keys = implode(', ', $_keys);
450
-      $whereStr = $field . ' ' . $type . ' IN (' . $keys . ')';
451
-      $this->setWhereStr($whereStr, $andOr);
452
-      return $this;
448
+        }
449
+        $keys = implode(', ', $_keys);
450
+        $whereStr = $field . ' ' . $type . ' IN (' . $keys . ')';
451
+        $this->setWhereStr($whereStr, $andOr);
452
+        return $this;
453 453
     }
454 454
 
455 455
     /**
@@ -458,7 +458,7 @@  discard block
 block discarded – undo
458 458
      * @return object        the current DatabaseQueryBuilder instance
459 459
      */
460 460
     public function notIn($field, array $keys, $escape = true){
461
-      return $this->in($field, $keys, 'NOT ', 'AND', $escape);
461
+        return $this->in($field, $keys, 'NOT ', 'AND', $escape);
462 462
     }
463 463
 
464 464
     /**
@@ -467,7 +467,7 @@  discard block
 block discarded – undo
467 467
      * @return object        the current DatabaseQueryBuilder instance
468 468
      */
469 469
     public function orIn($field, array $keys, $escape = true){
470
-      return $this->in($field, $keys, '', 'OR', $escape);
470
+        return $this->in($field, $keys, '', 'OR', $escape);
471 471
     }
472 472
 
473 473
     /**
@@ -476,7 +476,7 @@  discard block
 block discarded – undo
476 476
      * @return object        the current DatabaseQueryBuilder instance
477 477
      */
478 478
     public function orNotIn($field, array $keys, $escape = true){
479
-      return $this->in($field, $keys, 'NOT ', 'OR', $escape);
479
+        return $this->in($field, $keys, 'NOT ', 'OR', $escape);
480 480
     }
481 481
 
482 482
     /**
@@ -490,15 +490,15 @@  discard block
 block discarded – undo
490 490
      * @return object        the current DatabaseQueryBuilder instance
491 491
      */
492 492
     public function between($field, $value1, $value2, $type = '', $andOr = 'AND', $escape = true){
493
-      if (is_null($value1)){
493
+        if (is_null($value1)){
494 494
         $value1 = '';
495
-      }
496
-      if (is_null($value2)){
495
+        }
496
+        if (is_null($value2)){
497 497
         $value2 = '';
498
-      }
499
-      $whereStr = $field . ' ' . $type . ' BETWEEN ' . $this->escape($value1, $escape) . ' AND ' . $this->escape($value2, $escape);
500
-      $this->setWhereStr($whereStr, $andOr);
501
-      return $this;
498
+        }
499
+        $whereStr = $field . ' ' . $type . ' BETWEEN ' . $this->escape($value1, $escape) . ' AND ' . $this->escape($value2, $escape);
500
+        $this->setWhereStr($whereStr, $andOr);
501
+        return $this;
502 502
     }
503 503
 
504 504
     /**
@@ -507,7 +507,7 @@  discard block
 block discarded – undo
507 507
      * @return object        the current DatabaseQueryBuilder instance
508 508
      */
509 509
     public function notBetween($field, $value1, $value2, $escape = true){
510
-      return $this->between($field, $value1, $value2, 'NOT ', 'AND', $escape);
510
+        return $this->between($field, $value1, $value2, 'NOT ', 'AND', $escape);
511 511
     }
512 512
 
513 513
     /**
@@ -516,7 +516,7 @@  discard block
 block discarded – undo
516 516
      * @return object        the current DatabaseQueryBuilder instance
517 517
      */
518 518
     public function orBetween($field, $value1, $value2, $escape = true){
519
-      return $this->between($field, $value1, $value2, '', 'OR', $escape);
519
+        return $this->between($field, $value1, $value2, '', 'OR', $escape);
520 520
     }
521 521
 
522 522
     /**
@@ -525,7 +525,7 @@  discard block
 block discarded – undo
525 525
      * @return object        the current DatabaseQueryBuilder instance
526 526
      */
527 527
     public function orNotBetween($field, $value1, $value2, $escape = true){
528
-      return $this->between($field, $value1, $value2, 'NOT ', 'OR', $escape);
528
+        return $this->between($field, $value1, $value2, 'NOT ', 'OR', $escape);
529 529
     }
530 530
 
531 531
     /**
@@ -538,11 +538,11 @@  discard block
 block discarded – undo
538 538
      * @return object        the current DatabaseQueryBuilder instance
539 539
      */
540 540
     public function like($field, $data, $type = '', $andOr = 'AND', $escape = true){
541
-      if (empty($data)){
541
+        if (empty($data)){
542 542
         $data = '';
543
-      }
544
-      $this->setWhereStr($field . ' ' . $type . ' LIKE ' . ($this->escape($data, $escape)), $andOr);
545
-      return $this;
543
+        }
544
+        $this->setWhereStr($field . ' ' . $type . ' LIKE ' . ($this->escape($data, $escape)), $andOr);
545
+        return $this;
546 546
     }
547 547
 
548 548
     /**
@@ -551,7 +551,7 @@  discard block
 block discarded – undo
551 551
      * @return object        the current DatabaseQueryBuilder instance
552 552
      */
553 553
     public function orLike($field, $data, $escape = true){
554
-      return $this->like($field, $data, '', 'OR', $escape);
554
+        return $this->like($field, $data, '', 'OR', $escape);
555 555
     }
556 556
 
557 557
     /**
@@ -560,7 +560,7 @@  discard block
 block discarded – undo
560 560
      * @return object        the current DatabaseQueryBuilder instance
561 561
      */
562 562
     public function notLike($field, $data, $escape = true){
563
-      return $this->like($field, $data, 'NOT ', 'AND', $escape);
563
+        return $this->like($field, $data, 'NOT ', 'AND', $escape);
564 564
     }
565 565
 
566 566
     /**
@@ -569,7 +569,7 @@  discard block
 block discarded – undo
569 569
      * @return object        the current DatabaseQueryBuilder instance
570 570
      */
571 571
     public function orNotLike($field, $data, $escape = true){
572
-      return $this->like($field, $data, 'NOT ', 'OR', $escape);
572
+        return $this->like($field, $data, 'NOT ', 'OR', $escape);
573 573
     }
574 574
 
575 575
     /**
@@ -580,16 +580,16 @@  discard block
 block discarded – undo
580 580
      * @return object        the current DatabaseQueryBuilder instance
581 581
      */
582 582
     public function limit($limit, $limitEnd = null){
583
-      if (empty($limit)){
583
+        if (empty($limit)){
584 584
         $limit = 0;
585
-      }
586
-      if (! is_null($limitEnd)){
585
+        }
586
+        if (! is_null($limitEnd)){
587 587
         $this->limit = $limit . ', ' . $limitEnd;
588
-      }
589
-      else{
588
+        }
589
+        else{
590 590
         $this->limit = $limit;
591
-      }
592
-      return $this;
591
+        }
592
+        return $this;
593 593
     }
594 594
 
595 595
     /**
@@ -599,15 +599,15 @@  discard block
 block discarded – undo
599 599
      * @return object        the current DatabaseQueryBuilder instance
600 600
      */
601 601
     public function orderBy($orderBy, $orderDir = ' ASC'){
602
-      if (stristr($orderBy, ' ') || $orderBy == 'rand()'){
602
+        if (stristr($orderBy, ' ') || $orderBy == 'rand()'){
603 603
         $this->orderBy = empty($this->orderBy) ? $orderBy : $this->orderBy . ', ' . $orderBy;
604
-      }
605
-      else{
604
+        }
605
+        else{
606 606
         $this->orderBy = empty($this->orderBy) 
607
-						? ($orderBy . ' ' . strtoupper($orderDir)) 
608
-						: $this->orderBy . ', ' . $orderBy . ' ' . strtoupper($orderDir);
609
-      }
610
-      return $this;
607
+                        ? ($orderBy . ' ' . strtoupper($orderDir)) 
608
+                        : $this->orderBy . ', ' . $orderBy . ' ' . strtoupper($orderDir);
609
+        }
610
+        return $this;
611 611
     }
612 612
 
613 613
     /**
@@ -616,13 +616,13 @@  discard block
 block discarded – undo
616 616
      * @return object        the current DatabaseQueryBuilder instance
617 617
      */
618 618
     public function groupBy($field){
619
-      if (is_array($field)){
619
+        if (is_array($field)){
620 620
         $this->groupBy = implode(', ', $field);
621
-      }
622
-      else{
621
+        }
622
+        else{
623 623
         $this->groupBy = $field;
624
-      }
625
-      return $this;
624
+        }
625
+        return $this;
626 626
     }
627 627
 
628 628
     /**
@@ -634,22 +634,22 @@  discard block
 block discarded – undo
634 634
      * @return object        the current DatabaseQueryBuilder instance
635 635
      */
636 636
     public function having($field, $op = null, $val = null, $escape = true){
637
-      if (is_array($op)){
637
+        if (is_array($op)){
638 638
         $this->having = $this->getHavingStrIfOperatorIsArray($field, $op, $escape);
639
-      }
640
-      else if (! in_array($op, $this->operatorList)){
639
+        }
640
+        else if (! in_array($op, $this->operatorList)){
641 641
         if (is_null($op)){
642
-          $op = '';
642
+            $op = '';
643 643
         }
644 644
         $this->having = $field . ' > ' . ($this->escape($op, $escape));
645
-      }
646
-      else{
645
+        }
646
+        else{
647 647
         if (is_null($val)){
648
-          $val = '';
648
+            $val = '';
649 649
         }
650 650
         $this->having = $field . ' ' . $op . ' ' . ($this->escape($val, $escape));
651
-      }
652
-      return $this;
651
+        }
652
+        return $this;
653 653
     }
654 654
 
655 655
     /**
@@ -659,12 +659,12 @@  discard block
 block discarded – undo
659 659
      * @return object  the current DatabaseQueryBuilder instance        
660 660
      */
661 661
     public function insert($data = array(), $escape = true){
662
-      $columns = array_keys($data);
663
-      $column = implode(', ', $columns);
664
-      $val = implode(', ', ($escape ? array_map(array($this, 'escape'), $data) : $data));
662
+        $columns = array_keys($data);
663
+        $column = implode(', ', $columns);
664
+        $val = implode(', ', ($escape ? array_map(array($this, 'escape'), $data) : $data));
665 665
 
666
-      $this->query = 'INSERT INTO ' . $this->from . ' (' . $column . ') VALUES (' . $val . ')';
667
-      return $this;
666
+        $this->query = 'INSERT INTO ' . $this->from . ' (' . $column . ') VALUES (' . $val . ')';
667
+        return $this;
668 668
     }
669 669
 
670 670
     /**
@@ -674,25 +674,25 @@  discard block
 block discarded – undo
674 674
      * @return object  the current DatabaseQueryBuilder instance 
675 675
      */
676 676
     public function update($data = array(), $escape = true){
677
-      $query = 'UPDATE ' . $this->from . ' SET ';
678
-      $values = array();
679
-      foreach ($data as $column => $val){
677
+        $query = 'UPDATE ' . $this->from . ' SET ';
678
+        $values = array();
679
+        foreach ($data as $column => $val){
680 680
         $values[] = $column . ' = ' . ($this->escape($val, $escape));
681
-      }
682
-      $query .= implode(', ', $values);
683
-      if (! empty($this->where)){
681
+        }
682
+        $query .= implode(', ', $values);
683
+        if (! empty($this->where)){
684 684
         $query .= ' WHERE ' . $this->where;
685
-      }
685
+        }
686 686
 
687
-      if (! empty($this->orderBy)){
687
+        if (! empty($this->orderBy)){
688 688
         $query .= ' ORDER BY ' . $this->orderBy;
689
-      }
689
+        }
690 690
 
691
-      if (! empty($this->limit)){
691
+        if (! empty($this->limit)){
692 692
         $query .= ' LIMIT ' . $this->limit;
693
-      }
694
-      $this->query = $query;
695
-      return $this;
693
+        }
694
+        $this->query = $query;
695
+        return $this;
696 696
     }
697 697
 
698 698
     /**
@@ -700,25 +700,25 @@  discard block
 block discarded – undo
700 700
      * @return object  the current DatabaseQueryBuilder instance 
701 701
      */
702 702
     public function delete(){
703
-    	$query = 'DELETE FROM ' . $this->from;
704
-      $isTruncate = $query;
705
-    	if (! empty($this->where)){
706
-  		  $query .= ' WHERE ' . $this->where;
707
-    	}
703
+        $query = 'DELETE FROM ' . $this->from;
704
+        $isTruncate = $query;
705
+        if (! empty($this->where)){
706
+            $query .= ' WHERE ' . $this->where;
707
+        }
708 708
 
709
-    	if (! empty($this->orderBy)){
710
-    	  $query .= ' ORDER BY ' . $this->orderBy;
711
-      }
709
+        if (! empty($this->orderBy)){
710
+            $query .= ' ORDER BY ' . $this->orderBy;
711
+        }
712 712
 
713
-    	if (! empty($this->limit)){
714
-    		$query .= ' LIMIT ' . $this->limit;
715
-      }
713
+        if (! empty($this->limit)){
714
+            $query .= ' LIMIT ' . $this->limit;
715
+        }
716 716
 
717
-  		if ($isTruncate == $query && $this->driver != 'sqlite'){  
718
-      	$query = 'TRUNCATE TABLE ' . $this->from;
719
-  		}
720
-	   $this->query = $query;
721
-	   return $this;
717
+            if ($isTruncate == $query && $this->driver != 'sqlite'){  
718
+            $query = 'TRUNCATE TABLE ' . $this->from;
719
+            }
720
+        $this->query = $query;
721
+        return $this;
722 722
     }
723 723
 
724 724
     /**
@@ -728,11 +728,11 @@  discard block
 block discarded – undo
728 728
      * @return mixed       the data after escaped or the same data if not
729 729
      */
730 730
     public function escape($data, $escaped = true){
731
-      $data = trim($data);
732
-      if($escaped){
731
+        $data = trim($data);
732
+        if($escaped){
733 733
         return $this->pdo->quote($data);
734
-      }
735
-      return $data;  
734
+        }
735
+        return $data;  
736 736
     }
737 737
 
738 738
 
@@ -741,126 +741,126 @@  discard block
 block discarded – undo
741 741
      * @return string
742 742
      */
743 743
     public function getQuery(){
744
-  	  //INSERT, UPDATE, DELETE already set it, if is the SELECT we need set it now
745
-  	  if(empty($this->query)){
746
-  		  $query = 'SELECT ' . $this->select . ' FROM ' . $this->from;
747
-  		  if (! empty($this->join)){
748
-          $query .= $this->join;
749
-  		  }
744
+        //INSERT, UPDATE, DELETE already set it, if is the SELECT we need set it now
745
+        if(empty($this->query)){
746
+            $query = 'SELECT ' . $this->select . ' FROM ' . $this->from;
747
+            if (! empty($this->join)){
748
+            $query .= $this->join;
749
+            }
750 750
   		  
751
-  		  if (! empty($this->where)){
752
-          $query .= ' WHERE ' . $this->where;
753
-  		  }
751
+            if (! empty($this->where)){
752
+            $query .= ' WHERE ' . $this->where;
753
+            }
754 754
 
755
-  		  if (! empty($this->groupBy)){
756
-          $query .= ' GROUP BY ' . $this->groupBy;
757
-  		  }
755
+            if (! empty($this->groupBy)){
756
+            $query .= ' GROUP BY ' . $this->groupBy;
757
+            }
758 758
 
759
-  		  if (! empty($this->having)){
760
-          $query .= ' HAVING ' . $this->having;
761
-  		  }
759
+            if (! empty($this->having)){
760
+            $query .= ' HAVING ' . $this->having;
761
+            }
762 762
 
763
-  		  if (! empty($this->orderBy)){
764
-  			  $query .= ' ORDER BY ' . $this->orderBy;
765
-  		  }
763
+            if (! empty($this->orderBy)){
764
+                $query .= ' ORDER BY ' . $this->orderBy;
765
+            }
766 766
 
767
-  		  if (! empty($this->limit)){
768
-          $query .= ' LIMIT ' . $this->limit;
769
-  		  }
770
-  		  $this->query = $query;
771
-  	  }
772
-      return $this->query;
767
+            if (! empty($this->limit)){
768
+            $query .= ' LIMIT ' . $this->limit;
769
+            }
770
+            $this->query = $query;
771
+        }
772
+        return $this->query;
773 773
     }
774 774
 
775 775
 	
776
-	 /**
777
-     * Return the PDO instance
778
-     * @return object
779
-     */
776
+        /**
777
+         * Return the PDO instance
778
+         * @return object
779
+         */
780 780
     public function getPdo(){
781
-      return $this->pdo;
781
+        return $this->pdo;
782 782
     }
783 783
 
784 784
     /**
785 785
      * Set the PDO instance
786 786
      * @param PDO $pdo the pdo object
787
-	   * @return object DatabaseQueryBuilder
787
+     * @return object DatabaseQueryBuilder
788 788
      */
789 789
     public function setPdo(PDO $pdo = null){
790
-      $this->pdo = $pdo;
791
-      return $this;
790
+        $this->pdo = $pdo;
791
+        return $this;
792 792
     }
793 793
 	
794
-   /**
795
-   * Return the database table prefix
796
-   * @return string
797
-   */
794
+    /**
795
+     * Return the database table prefix
796
+     * @return string
797
+     */
798 798
     public function getPrefix(){
799
-      return $this->prefix;
799
+        return $this->prefix;
800 800
     }
801 801
 
802 802
     /**
803 803
      * Set the database table prefix
804 804
      * @param string $prefix the new prefix
805
-	   * @return object DatabaseQueryBuilder
805
+     * @return object DatabaseQueryBuilder
806 806
      */
807 807
     public function setPrefix($prefix){
808
-      $this->prefix = $prefix;
809
-      return $this;
808
+        $this->prefix = $prefix;
809
+        return $this;
810 810
     }
811 811
 	
812
-	   /**
813
-     * Return the database driver
814
-     * @return string
815
-     */
812
+        /**
813
+         * Return the database driver
814
+         * @return string
815
+         */
816 816
     public function getDriver(){
817
-      return $this->driver;
817
+        return $this->driver;
818 818
     }
819 819
 
820 820
     /**
821 821
      * Set the database driver
822 822
      * @param string $driver the new driver
823
-	   * @return object DatabaseQueryBuilder
823
+     * @return object DatabaseQueryBuilder
824 824
      */
825 825
     public function setDriver($driver){
826
-      $this->driver = $driver;
827
-      return $this;
826
+        $this->driver = $driver;
827
+        return $this;
828 828
     }
829 829
 	
830
-	   /**
831
-     * Reset the DatabaseQueryBuilder class attributs to the initial values before each query.
832
-	   * @return object  the current DatabaseQueryBuilder instance 
833
-     */
830
+        /**
831
+         * Reset the DatabaseQueryBuilder class attributs to the initial values before each query.
832
+         * @return object  the current DatabaseQueryBuilder instance 
833
+         */
834 834
     public function reset(){
835
-      $this->select   = '*';
836
-      $this->from     = null;
837
-      $this->where    = null;
838
-      $this->limit    = null;
839
-      $this->orderBy  = null;
840
-      $this->groupBy  = null;
841
-      $this->having   = null;
842
-      $this->join     = null;
843
-      $this->query    = null;
844
-      return $this;
845
-    }
846
-
847
-	   /**
848
-     * Get the SQL HAVING clause when operator argument is an array
849
-     * @see DatabaseQueryBuilder::having
850
-     *
851
-     * @return string
852
-     */
835
+        $this->select   = '*';
836
+        $this->from     = null;
837
+        $this->where    = null;
838
+        $this->limit    = null;
839
+        $this->orderBy  = null;
840
+        $this->groupBy  = null;
841
+        $this->having   = null;
842
+        $this->join     = null;
843
+        $this->query    = null;
844
+        return $this;
845
+    }
846
+
847
+        /**
848
+         * Get the SQL HAVING clause when operator argument is an array
849
+         * @see DatabaseQueryBuilder::having
850
+         *
851
+         * @return string
852
+         */
853 853
     protected function getHavingStrIfOperatorIsArray($field, $op = null, $escape = true){
854 854
         $x = explode('?', $field);
855 855
         $w = '';
856 856
         foreach($x as $k => $v){
857
-  	      if (!empty($v)){
857
+            if (!empty($v)){
858 858
             if (! isset($op[$k])){
859
-              $op[$k] = '';
859
+                $op[$k] = '';
860
+            }
861
+                $w .= $v . (isset($op[$k]) ? $this->escape($op[$k], $escape) : '');
862
+            }
860 863
             }
861
-  	      	$w .= $v . (isset($op[$k]) ? $this->escape($op[$k], $escape) : '');
862
-  	      }
863
-      	}
864 864
         return $w;
865 865
     }
866 866
 
@@ -872,35 +872,35 @@  discard block
 block discarded – undo
872 872
      * @return string
873 873
      */
874 874
     protected function getWhereStrIfIsArray(array $where, $type = '', $andOr = 'AND', $escape = true){
875
-      $_where = array();
876
-      foreach ($where as $column => $data){
875
+        $_where = array();
876
+        foreach ($where as $column => $data){
877 877
         if (is_null($data)){
878
-          $data = '';
878
+            $data = '';
879 879
         }
880 880
         $_where[] = $type . $column . ' = ' . ($this->escape($data, $escape));
881
-      }
882
-      $where = implode(' '.$andOr.' ', $_where);
883
-      return $where;
881
+        }
882
+        $where = implode(' '.$andOr.' ', $_where);
883
+        return $where;
884 884
     }
885 885
 
886
-     /**
887
-     * Get the SQL WHERE clause when operator argument is an array
888
-     * @see DatabaseQueryBuilder::where
889
-     *
890
-     * @return string
891
-     */
886
+        /**
887
+         * Get the SQL WHERE clause when operator argument is an array
888
+         * @see DatabaseQueryBuilder::where
889
+         *
890
+         * @return string
891
+         */
892 892
     protected function getWhereStrIfOperatorIsArray($where, array $op, $type = '', $escape = true){
893
-     $x = explode('?', $where);
894
-     $w = '';
895
-      foreach($x as $k => $v){
893
+        $x = explode('?', $where);
894
+        $w = '';
895
+        foreach($x as $k => $v){
896 896
         if (! empty($v)){
897 897
             if (isset($op[$k]) && is_null($op[$k])){
898
-              $op[$k] = '';
898
+                $op[$k] = '';
899 899
             }
900 900
             $w .= $type . $v . (isset($op[$k]) ? ($this->escape($op[$k], $escape)) : '');
901 901
         }
902
-      }
903
-      return $w;
902
+        }
903
+        return $w;
904 904
     }
905 905
 
906 906
     /**
@@ -910,53 +910,53 @@  discard block
 block discarded – undo
910 910
      * @return string
911 911
      */
912 912
     protected function getWhereStrForOperator($where, $op = null, $val = null, $type = '', $escape = true){
913
-       $w = '';
914
-       if (! in_array((string)$op, $this->operatorList)){
915
-          if (is_null($op)){
913
+        $w = '';
914
+        if (! in_array((string)$op, $this->operatorList)){
915
+            if (is_null($op)){
916 916
             $op = '';
917
-          }
918
-          $w = $type . $where . ' = ' . ($this->escape($op, $escape));
917
+            }
918
+            $w = $type . $where . ' = ' . ($this->escape($op, $escape));
919 919
         } else {
920
-          if (is_null($val)){
920
+            if (is_null($val)){
921 921
             $val = '';
922
-          }
923
-          $w = $type . $where . $op . ($this->escape($val, $escape));
922
+            }
923
+            $w = $type . $where . $op . ($this->escape($val, $escape));
924 924
         }
925 925
         return $w;
926
-      }
927
-
928
-      /**
929
-       * Set the $this->where property 
930
-       * @param string $whereStr the WHERE clause string
931
-       * @param  string  $andOr the separator type used 'AND', 'OR', etc.
932
-       */
933
-      protected function setWhereStr($whereStr, $andOr = 'AND'){
926
+        }
927
+
928
+        /**
929
+         * Set the $this->where property 
930
+         * @param string $whereStr the WHERE clause string
931
+         * @param  string  $andOr the separator type used 'AND', 'OR', etc.
932
+         */
933
+        protected function setWhereStr($whereStr, $andOr = 'AND'){
934 934
         if (empty($this->where)){
935
-          $this->where = $whereStr;
935
+            $this->where = $whereStr;
936 936
         } else {
937
-          if (substr(trim($this->where), -1) == '('){
937
+            if (substr(trim($this->where), -1) == '('){
938 938
             $this->where = $this->where . ' ' . $whereStr;
939
-          } else {
939
+            } else {
940 940
             $this->where = $this->where . ' '.$andOr.' ' . $whereStr;
941
-          }
941
+            }
942
+        }
942 943
         }
943
-      }
944 944
 
945 945
 
946
-	 /**
947
-     * Set the SQL SELECT for function MIN, MAX, SUM, AVG, COUNT, AVG
948
-     * @param  string $clause the clause type like MIN, MAX, etc.
949
-     * @see  DatabaseQueryBuilder::min
950
-     * @see  DatabaseQueryBuilder::max
951
-     * @see  DatabaseQueryBuilder::sum
952
-     * @see  DatabaseQueryBuilder::count
953
-     * @see  DatabaseQueryBuilder::avg
954
-     * @return object
955
-     */
946
+        /**
947
+         * Set the SQL SELECT for function MIN, MAX, SUM, AVG, COUNT, AVG
948
+         * @param  string $clause the clause type like MIN, MAX, etc.
949
+         * @see  DatabaseQueryBuilder::min
950
+         * @see  DatabaseQueryBuilder::max
951
+         * @see  DatabaseQueryBuilder::sum
952
+         * @see  DatabaseQueryBuilder::count
953
+         * @see  DatabaseQueryBuilder::avg
954
+         * @return object
955
+         */
956 956
     protected function select_min_max_sum_count_avg($clause, $field, $name = null){
957
-      $clause = strtoupper($clause);
958
-      $func = $clause . '(' . $field . ')' . (!is_null($name) ? ' AS ' . $name : '');
959
-      $this->select = ($this->select == '*' ? $func : $this->select . ', ' . $func);
960
-      return $this;
957
+        $clause = strtoupper($clause);
958
+        $func = $clause . '(' . $field . ')' . (!is_null($name) ? ' AS ' . $name : '');
959
+        $this->select = ($this->select == '*' ? $func : $this->select . ', ' . $func);
960
+        return $this;
961 961
     }
962 962
 }
Please login to merge, or discard this patch.
core/classes/Controller.php 1 patch
Indentation   +126 added lines, -126 removed lines patch added patch discarded remove patch
@@ -1,146 +1,146 @@
 block discarded – undo
1 1
 <?php
2
-	defined('ROOT_PATH') || exit('Access denied');
3
-	/**
4
-	 * TNH Framework
5
-	 *
6
-	 * A simple PHP framework using HMVC architecture
7
-	 *
8
-	 * This content is released under the GNU GPL License (GPL)
9
-	 *
10
-	 * Copyright (C) 2017 Tony NGUEREZA
11
-	 *
12
-	 * This program is free software; you can redistribute it and/or
13
-	 * modify it under the terms of the GNU General Public License
14
-	 * as published by the Free Software Foundation; either version 3
15
-	 * of the License, or (at your option) any later version.
16
-	 *
17
-	 * This program is distributed in the hope that it will be useful,
18
-	 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
-	 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
-	 * GNU General Public License for more details.
21
-	 *
22
-	 * You should have received a copy of the GNU General Public License
23
-	 * along with this program; if not, write to the Free Software
24
-	 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25
-	*/
2
+    defined('ROOT_PATH') || exit('Access denied');
3
+    /**
4
+     * TNH Framework
5
+     *
6
+     * A simple PHP framework using HMVC architecture
7
+     *
8
+     * This content is released under the GNU GPL License (GPL)
9
+     *
10
+     * Copyright (C) 2017 Tony NGUEREZA
11
+     *
12
+     * This program is free software; you can redistribute it and/or
13
+     * modify it under the terms of the GNU General Public License
14
+     * as published by the Free Software Foundation; either version 3
15
+     * of the License, or (at your option) any later version.
16
+     *
17
+     * This program is distributed in the hope that it will be useful,
18
+     * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
+     * GNU General Public License for more details.
21
+     *
22
+     * You should have received a copy of the GNU General Public License
23
+     * along with this program; if not, write to the Free Software
24
+     * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25
+     */
26 26
 
27
-	class Controller{
27
+    class Controller{
28 28
 		
29
-		/**
30
-		 * The name of the module if this controller belong to an module
31
-		 * @var string
32
-		 */
33
-		public $moduleName = null;
29
+        /**
30
+         * The name of the module if this controller belong to an module
31
+         * @var string
32
+         */
33
+        public $moduleName = null;
34 34
 
35
-		/**
36
-		 * The singleton of the super object
37
-		 * @var Controller
38
-		 */
39
-		private static $instance;
35
+        /**
36
+         * The singleton of the super object
37
+         * @var Controller
38
+         */
39
+        private static $instance;
40 40
 
41
-		/**
42
-		 * The logger instance
43
-		 * @var Log
44
-		 */
45
-		protected $logger;
41
+        /**
42
+         * The logger instance
43
+         * @var Log
44
+         */
45
+        protected $logger;
46 46
 
47
-		/**
48
-		 * Class constructor
49
-		 * @param object $logger the Log instance to use if is null will create one
50
-		 */
51
-		public function __construct(Log $logger = null){
52
-			//setting the Log instance
53
-			$this->setLoggerFromParamOrCreateNewInstance($logger);
47
+        /**
48
+         * Class constructor
49
+         * @param object $logger the Log instance to use if is null will create one
50
+         */
51
+        public function __construct(Log $logger = null){
52
+            //setting the Log instance
53
+            $this->setLoggerFromParamOrCreateNewInstance($logger);
54 54
 			
55
-			//instance of the super object
56
-			self::$instance = & $this;
55
+            //instance of the super object
56
+            self::$instance = & $this;
57 57
 
58
-			//Load the resources loaded during the application bootstrap
59
-			$this->logger->debug('Adding the loaded classes to the super instance');
60
-			foreach (class_loaded() as $var => $class){
61
-				$this->$var =& class_loader($class);
62
-			}
58
+            //Load the resources loaded during the application bootstrap
59
+            $this->logger->debug('Adding the loaded classes to the super instance');
60
+            foreach (class_loaded() as $var => $class){
61
+                $this->$var =& class_loader($class);
62
+            }
63 63
 			
64
-			//set module using the router
65
-			$this->setModuleNameFromRouter();
64
+            //set module using the router
65
+            $this->setModuleNameFromRouter();
66 66
 
67
-			//load the required resources
68
-			$this->loadRequiredResources();
67
+            //load the required resources
68
+            $this->loadRequiredResources();
69 69
 			
70
-			//set the cache using the configuration
71
-			$this->setCacheFromParamOrConfig(null);
70
+            //set the cache using the configuration
71
+            $this->setCacheFromParamOrConfig(null);
72 72
 			
73
-			//set application session configuration
74
-			$this->logger->debug('Setting PHP application session handler');
75
-			set_session_config();
73
+            //set application session configuration
74
+            $this->logger->debug('Setting PHP application session handler');
75
+            set_session_config();
76 76
 
77
-			//dispatch the loaded instance of super controller event
78
-			$this->eventdispatcher->dispatch('SUPER_CONTROLLER_CREATED');
79
-		}
77
+            //dispatch the loaded instance of super controller event
78
+            $this->eventdispatcher->dispatch('SUPER_CONTROLLER_CREATED');
79
+        }
80 80
 
81 81
 
82
-		/**
83
-		 * This is a very useful method it's used to get the super object instance
84
-		 * @return Controller the super object instance
85
-		 */
86
-		public static function &get_instance(){
87
-			return self::$instance;
88
-		}
82
+        /**
83
+         * This is a very useful method it's used to get the super object instance
84
+         * @return Controller the super object instance
85
+         */
86
+        public static function &get_instance(){
87
+            return self::$instance;
88
+        }
89 89
 
90
-		/**
91
-		 * This method is used to set the module name
92
-		 */
93
-		protected function setModuleNameFromRouter(){
94
-			//set the module using the router instance
95
-			if(isset($this->router) && $this->router->getModule()){
96
-				$this->moduleName = $this->router->getModule();
97
-			}
98
-		}
90
+        /**
91
+         * This method is used to set the module name
92
+         */
93
+        protected function setModuleNameFromRouter(){
94
+            //set the module using the router instance
95
+            if(isset($this->router) && $this->router->getModule()){
96
+                $this->moduleName = $this->router->getModule();
97
+            }
98
+        }
99 99
 
100
-		/**
101
-		 * Set the cache using the argument otherwise will use the configuration
102
-		 * @param CacheInterface $cache the implementation of CacheInterface if null will use the configured
103
-		 */
104
-		protected function setCacheFromParamOrConfig(CacheInterface $cache = null){
105
-			$this->logger->debug('Setting the cache handler instance');
106
-			//set cache handler instance
107
-			if(get_config('cache_enable', false)){
108
-				if ($cache !== null){
109
-					$this->cache = $cache;
110
-				} else if (isset($this->{strtolower(get_config('cache_handler'))})){
111
-					$this->cache = $this->{strtolower(get_config('cache_handler'))};
112
-					unset($this->{strtolower(get_config('cache_handler'))});
113
-				} 
114
-			}
115
-		}
100
+        /**
101
+         * Set the cache using the argument otherwise will use the configuration
102
+         * @param CacheInterface $cache the implementation of CacheInterface if null will use the configured
103
+         */
104
+        protected function setCacheFromParamOrConfig(CacheInterface $cache = null){
105
+            $this->logger->debug('Setting the cache handler instance');
106
+            //set cache handler instance
107
+            if(get_config('cache_enable', false)){
108
+                if ($cache !== null){
109
+                    $this->cache = $cache;
110
+                } else if (isset($this->{strtolower(get_config('cache_handler'))})){
111
+                    $this->cache = $this->{strtolower(get_config('cache_handler'))};
112
+                    unset($this->{strtolower(get_config('cache_handler'))});
113
+                } 
114
+            }
115
+        }
116 116
 
117
-		/**
118
-		 * Set the Log instance using argument or create new instance
119
-		 * @param object $logger the Log instance if not null
120
-		 */
121
-		protected function setLoggerFromParamOrCreateNewInstance(Log $logger = null){
122
-			if($logger !== null){
123
-	          $this->logger = $logger;
124
-	        }
125
-	        else{
126
-	            $this->logger =& class_loader('Log', 'classes');
127
-				$this->logger->setLogger('MainController');
128
-	        }
129
-		}
117
+        /**
118
+         * Set the Log instance using argument or create new instance
119
+         * @param object $logger the Log instance if not null
120
+         */
121
+        protected function setLoggerFromParamOrCreateNewInstance(Log $logger = null){
122
+            if($logger !== null){
123
+                $this->logger = $logger;
124
+            }
125
+            else{
126
+                $this->logger =& class_loader('Log', 'classes');
127
+                $this->logger->setLogger('MainController');
128
+            }
129
+        }
130 130
 
131
-		/**
132
-		 * This method is used to load the required resources for framework to work
133
-		 * @return void 
134
-		 */
135
-		private function loadRequiredResources(){
136
-			$this->logger->debug('Loading the required classes into super instance');
137
-			$this->eventdispatcher =& class_loader('EventDispatcher', 'classes');
138
-			$this->loader =& class_loader('Loader', 'classes');
139
-			$this->lang =& class_loader('Lang', 'classes');
140
-			$this->request =& class_loader('Request', 'classes');
141
-			//dispatch the request instance created event
142
-			$this->eventdispatcher->dispatch('REQUEST_CREATED');
143
-			$this->response =& class_loader('Response', 'classes', 'classes');
144
-		}
131
+        /**
132
+         * This method is used to load the required resources for framework to work
133
+         * @return void 
134
+         */
135
+        private function loadRequiredResources(){
136
+            $this->logger->debug('Loading the required classes into super instance');
137
+            $this->eventdispatcher =& class_loader('EventDispatcher', 'classes');
138
+            $this->loader =& class_loader('Loader', 'classes');
139
+            $this->lang =& class_loader('Lang', 'classes');
140
+            $this->request =& class_loader('Request', 'classes');
141
+            //dispatch the request instance created event
142
+            $this->eventdispatcher->dispatch('REQUEST_CREATED');
143
+            $this->response =& class_loader('Response', 'classes', 'classes');
144
+        }
145 145
 
146
-	}
146
+    }
Please login to merge, or discard this patch.
config/config.php 1 patch
Indentation   +273 added lines, -273 removed lines patch added patch discarded remove patch
@@ -1,337 +1,337 @@
 block discarded – undo
1 1
 <?php
2
-	defined('ROOT_PATH') || exit('Access denied');
3
-	/**
4
-	 * TNH Framework
5
-	 *
6
-	 * A simple PHP framework created using the concept of codeigniter with bootstrap twitter
7
-	 *
8
-	 * This content is released under the GNU GPL License (GPL)
9
-	 *
10
-	 * Copyright (C) 2017 Tony NGUEREZA
11
-	 *
12
-	 * This program is free software; you can redistribute it and/or
13
-	 * modify it under the terms of the GNU General Public License
14
-	 * as published by the Free Software Foundation; either version 3
15
-	 * of the License, or (at your option) any later version.
16
-	 *
17
-	 * This program is distributed in the hope that it will be useful,
18
-	 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
-	 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
-	 * GNU General Public License for more details.
21
-	 *
22
-	 * You should have received a copy of the GNU General Public License
23
-	 * along with this program; if not, write to the Free Software
24
-	 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25
-	*/
2
+    defined('ROOT_PATH') || exit('Access denied');
3
+    /**
4
+     * TNH Framework
5
+     *
6
+     * A simple PHP framework created using the concept of codeigniter with bootstrap twitter
7
+     *
8
+     * This content is released under the GNU GPL License (GPL)
9
+     *
10
+     * Copyright (C) 2017 Tony NGUEREZA
11
+     *
12
+     * This program is free software; you can redistribute it and/or
13
+     * modify it under the terms of the GNU General Public License
14
+     * as published by the Free Software Foundation; either version 3
15
+     * of the License, or (at your option) any later version.
16
+     *
17
+     * This program is distributed in the hope that it will be useful,
18
+     * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
+     * GNU General Public License for more details.
21
+     *
22
+     * You should have received a copy of the GNU General Public License
23
+     * along with this program; if not, write to the Free Software
24
+     * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25
+     */
26 26
 	
27
-	/**
28
-	* This file contains the main configuration of your application
29
-	* web address, front controller, error logging, session parameters, CSRF, Cache, 
30
-	* Whitelist IP access, etc.
31
-	*/
27
+    /**
28
+     * This file contains the main configuration of your application
29
+     * web address, front controller, error logging, session parameters, CSRF, Cache, 
30
+     * Whitelist IP access, etc.
31
+     */
32 32
 	
33
-	/*+---------------------------------------------------------------+
33
+    /*+---------------------------------------------------------------+
34 34
 	* Basic configuration section
35 35
 	+------------------------------------------------------------------+
36 36
 	*/
37 37
 	
38
-	/**
39
-	* The web address of your application.
40
-	*
41
-	* The address of your application or website terminated by a slash.
42
-	* You can use a domain name or IP address, for example:
43
-	*
44
-	* $config['base_url'] = 'http://www.mysite.com';
45
-	* or
46
-	* $config['base_url'] = 'http://198.15.25.12';
47
-	*
48
-	* If this value is empty, we try to determine it automatically by using 
49
-	* the server variables "SERVER_ADDR" or "SCRIPT_NAME",
50
-	* we recommend that you specify this value for a server in production this may reduce the performance of your application.
51
-	*/
52
-	$config['base_url'] = '';
38
+    /**
39
+     * The web address of your application.
40
+     *
41
+     * The address of your application or website terminated by a slash.
42
+     * You can use a domain name or IP address, for example:
43
+     *
44
+     * $config['base_url'] = 'http://www.mysite.com';
45
+     * or
46
+     * $config['base_url'] = 'http://198.15.25.12';
47
+     *
48
+     * If this value is empty, we try to determine it automatically by using 
49
+     * the server variables "SERVER_ADDR" or "SCRIPT_NAME",
50
+     * we recommend that you specify this value for a server in production this may reduce the performance of your application.
51
+     */
52
+    $config['base_url'] = '';
53 53
 	
54
-	/**
55
-	* The front controller
56
-	*
57
-	* This represents the name of the file called by the application during the loading 
58
-	* process generally the file "index.php". 
59
-	* If your webserver supports the url rewrite module, then you can leave this value empty. 
60
-	* You will find a sample file to hide this file in the url inside the root folder of your 
61
-	* application "htaccess.txt" for the apache web server just rename it to ".htaccess"
62
-	* 
63
-	* Without the rewrite module url enabled, leave this value to "index.php", in this case your urls look like:
64
-	*
65
-	* http://www.yoursite.com/index.php/controller/method
66
-	* 
67
-	* otherwise if the module is available and activated you can put this value empty and your urls look like:
68
-	*
69
-	* http://www.yoursite.com/controller/method
70
-	*
71
-	*/
72
-	$config['front_controller'] = 'index.php';
54
+    /**
55
+     * The front controller
56
+     *
57
+     * This represents the name of the file called by the application during the loading 
58
+     * process generally the file "index.php". 
59
+     * If your webserver supports the url rewrite module, then you can leave this value empty. 
60
+     * You will find a sample file to hide this file in the url inside the root folder of your 
61
+     * application "htaccess.txt" for the apache web server just rename it to ".htaccess"
62
+     * 
63
+     * Without the rewrite module url enabled, leave this value to "index.php", in this case your urls look like:
64
+     *
65
+     * http://www.yoursite.com/index.php/controller/method
66
+     * 
67
+     * otherwise if the module is available and activated you can put this value empty and your urls look like:
68
+     *
69
+     * http://www.yoursite.com/controller/method
70
+     *
71
+     */
72
+    $config['front_controller'] = 'index.php';
73 73
 	
74
-	/**
75
-	 *  Url suffix
76
-	 */
77
-	$config['url_suffix'] = '';
74
+    /**
75
+     *  Url suffix
76
+     */
77
+    $config['url_suffix'] = '';
78 78
 	
79
-	/**
80
-	 *  site charset
81
-	 */
82
-	$config['charset'] = 'UTF-8';
79
+    /**
80
+     *  site charset
81
+     */
82
+    $config['charset'] = 'UTF-8';
83 83
 	
84
-	/**
85
-	* Compress the output before send to browser
86
-	*
87
-	* Enables Gzip output compression for faster page loads.  When enabled,
88
-	* the Response class will test whether your server supports Gzip.
89
-	* Even if it does, however, not all browsers support compression
90
-	* so enable only if you are reasonably sure your visitors can handle it.
91
-	*
92
-	* This is only used if "zlib.output_compression" is turned off in your php configuration.
93
-	* Please do not use it together with httpd-level output compression.
94
-	*
95
-	* IMPORTANT NOTE:  If you are getting a blank page when compression is enabled it
96
-	* means you are prematurely outputting something to your browser. It could
97
-	* even be a line of whitespace at the end of one of your scripts. For
98
-	* compression to work, nothing can be sent before the output buffer is called
99
-	* by the Response class.  Do not 'echo' any values with compression enabled.
100
-	*/
101
-	$config['compress_output'] = false;
84
+    /**
85
+     * Compress the output before send to browser
86
+     *
87
+     * Enables Gzip output compression for faster page loads.  When enabled,
88
+     * the Response class will test whether your server supports Gzip.
89
+     * Even if it does, however, not all browsers support compression
90
+     * so enable only if you are reasonably sure your visitors can handle it.
91
+     *
92
+     * This is only used if "zlib.output_compression" is turned off in your php configuration.
93
+     * Please do not use it together with httpd-level output compression.
94
+     *
95
+     * IMPORTANT NOTE:  If you are getting a blank page when compression is enabled it
96
+     * means you are prematurely outputting something to your browser. It could
97
+     * even be a line of whitespace at the end of one of your scripts. For
98
+     * compression to work, nothing can be sent before the output buffer is called
99
+     * by the Response class.  Do not 'echo' any values with compression enabled.
100
+     */
101
+    $config['compress_output'] = false;
102 102
 
103
-	/*+---------------------------------------------------------------+
103
+    /*+---------------------------------------------------------------+
104 104
 	* Language configuration section
105 105
 	+------------------------------------------------------------------+
106 106
 	*/
107
-	/**
108
-	 * list of available supported language
109
-	 * array(
110
-	 * 		'lang_key' => 'human readable'
111
-	 * )
112
-	 */
113
-	$config['languages'] = array('en' => 'english');
107
+    /**
108
+     * list of available supported language
109
+     * array(
110
+     * 		'lang_key' => 'human readable'
111
+     * )
112
+     */
113
+    $config['languages'] = array('en' => 'english');
114 114
 
115
-	/**
116
-	 * the default language to use if can not find the client language
117
-	 * need match with the array key of the supported languages
118
-	 */
119
-	$config['default_language'] = 'en'; //en = english, fr = french
115
+    /**
116
+     * the default language to use if can not find the client language
117
+     * need match with the array key of the supported languages
118
+     */
119
+    $config['default_language'] = 'en'; //en = english, fr = french
120 120
 
121
-	/**
122
-	 * the name of cookie used to store the client language
123
-	 */
124
-	$config['language_cookie_name'] = 'cookie_lang';
121
+    /**
122
+     * the name of cookie used to store the client language
123
+     */
124
+    $config['language_cookie_name'] = 'cookie_lang';
125 125
 
126 126
 
127
-	/*+---------------------------------------------------------------+
127
+    /*+---------------------------------------------------------------+
128 128
 	* Logs configuration section
129 129
 	+------------------------------------------------------------------+
130 130
 	*/
131 131
 	
132
-	/** 
133
-	* The log level
134
-	*
135
-	* The valid level are: OFF, NONE, FATAL, ERROR, WARNING, WARN, INFO, DEBUG, ALL
136
-	*
137
-	* 'OFF' or 'NONE' = do not save log
138
-	* 'FATAL' = enable log for fatal level and above (FATAL)
139
-	* 'ERROR' = enable log for error level and above (ERROR, FATAL)
140
-	* 'WARNING' or WARN = enable log for warning level and above (WARNING, ERROR, FATAL)
141
-	* 'INFO' = enable log for info level and above (INFO, WARNING, ERROR, FATAL)
142
-	* 'DEBUG' = enable log for debug level and above (DEBUG, INFO, WARNING, ERROR, FATAL)
143
-	* 'ALL' = enable log for all level
144
-	*
145
-	* The default value is NONE if the config value is: null, '', 0, false
146
-	* 
147
-	* Note: in production environment it's recommand to set the log level to 'WARNING' if not in small
148
-	* of time the log file size will increase very fast and will cost the application performance
149
-	* and also the filesystem usage of your server.
150
-	*/
151
-	$config['log_level'] = 'NONE';
132
+    /** 
133
+     * The log level
134
+     *
135
+     * The valid level are: OFF, NONE, FATAL, ERROR, WARNING, WARN, INFO, DEBUG, ALL
136
+     *
137
+     * 'OFF' or 'NONE' = do not save log
138
+     * 'FATAL' = enable log for fatal level and above (FATAL)
139
+     * 'ERROR' = enable log for error level and above (ERROR, FATAL)
140
+     * 'WARNING' or WARN = enable log for warning level and above (WARNING, ERROR, FATAL)
141
+     * 'INFO' = enable log for info level and above (INFO, WARNING, ERROR, FATAL)
142
+     * 'DEBUG' = enable log for debug level and above (DEBUG, INFO, WARNING, ERROR, FATAL)
143
+     * 'ALL' = enable log for all level
144
+     *
145
+     * The default value is NONE if the config value is: null, '', 0, false
146
+     * 
147
+     * Note: in production environment it's recommand to set the log level to 'WARNING' if not in small
148
+     * of time the log file size will increase very fast and will cost the application performance
149
+     * and also the filesystem usage of your server.
150
+     */
151
+    $config['log_level'] = 'NONE';
152 152
 
153 153
 
154
-	/**
155
-	* The path to log directory
156
-	* 
157
-	* The path that the log data will be saved ending with de "/" or "\", leave empty if you
158
-	* want use the default configuration
159
-	* warning : if set, this directory must exist and will be writable and owned by the web server
160
-	* else the default value will be used i.e the constant LOG_PATH
161
-	* for security raison this directory must be outside of the document root of your
162
-	* website.
163
-	*/	
164
-	$config['log_save_path'] = '';
154
+    /**
155
+     * The path to log directory
156
+     * 
157
+     * The path that the log data will be saved ending with de "/" or "\", leave empty if you
158
+     * want use the default configuration
159
+     * warning : if set, this directory must exist and will be writable and owned by the web server
160
+     * else the default value will be used i.e the constant LOG_PATH
161
+     * for security raison this directory must be outside of the document root of your
162
+     * website.
163
+     */	
164
+    $config['log_save_path'] = '';
165 165
 	
166
-	/**
167
-	* The logger name to use for the log
168
-	* 
169
-	* If this config is set so means only log message with this or these logger(s) will be saved
170
-	*
171
-	* Example:
172
-	* $config['log_logger_name'] = array('MY_LOGGER1', 'MY_LOGGER2'); //only log message with MY_LOGGER1 or MY_LOGGER2 will be saved in file.
173
-	*/	
174
-	$config['log_logger_name'] = array();
166
+    /**
167
+     * The logger name to use for the log
168
+     * 
169
+     * If this config is set so means only log message with this or these logger(s) will be saved
170
+     *
171
+     * Example:
172
+     * $config['log_logger_name'] = array('MY_LOGGER1', 'MY_LOGGER2'); //only log message with MY_LOGGER1 or MY_LOGGER2 will be saved in file.
173
+     */	
174
+    $config['log_logger_name'] = array();
175 175
 	
176 176
 	
177
-	/*+---------------------------------------------------------------+
177
+    /*+---------------------------------------------------------------+
178 178
 	* Session configuration section
179 179
 	+------------------------------------------------------------------+
180 180
 	*/
181 181
 	
182
-	/**
183
-	* The session name 
184
-	*
185
-	* By default is PHPSESSID. this must be alpha-numerical characters
186
-	*/
187
-	$config['session_name'] = 'PHPSESSID';
182
+    /**
183
+     * The session name 
184
+     *
185
+     * By default is PHPSESSID. this must be alpha-numerical characters
186
+     */
187
+    $config['session_name'] = 'PHPSESSID';
188 188
 	
189
-	/**
190
-	* Session save path
191
-	*
192
-	* The path that the session data will be saved, leave empty if you
193
-	* want use the default configuration in the php.ini
194
-	* warning : if set, this directory must exist and will be writable and owned by the web server
195
-	* for security raison this directory must be outside of the document root of your
196
-	* website.
197
-	* Note: if the session handler is "database" the session_save_path is the model name to use
198
-	*/
199
-	$config['session_save_path'] = '';
189
+    /**
190
+     * Session save path
191
+     *
192
+     * The path that the session data will be saved, leave empty if you
193
+     * want use the default configuration in the php.ini
194
+     * warning : if set, this directory must exist and will be writable and owned by the web server
195
+     * for security raison this directory must be outside of the document root of your
196
+     * website.
197
+     * Note: if the session handler is "database" the session_save_path is the model name to use
198
+     */
199
+    $config['session_save_path'] = '';
200 200
 
201
-	/**
202
-	* Session handler
203
-	*
204
-	* The session handler that we will use to manage the session.
205
-	* currently the possible values are "files", "database".
206
-	*/
207
-	$config['session_handler'] = 'files';
201
+    /**
202
+     * Session handler
203
+     *
204
+     * The session handler that we will use to manage the session.
205
+     * currently the possible values are "files", "database".
206
+     */
207
+    $config['session_handler'] = 'files';
208 208
 	
209
-	/**
210
-	* Session secret
211
-	*
212
-	* This is used to hash the session data if the config "session_handler" is set to "database"
213
-	* warning : do not change this value until you already set
214
-	* for security raison use the very complicated value include $%)@^&^\''\'\'
215
-	* NOTE: this value is an base64 so you need use the tool that generate it, like
216
-	*  PHP function base64_encode()
217
-	*/
218
-	$config['session_secret'] = '';
209
+    /**
210
+     * Session secret
211
+     *
212
+     * This is used to hash the session data if the config "session_handler" is set to "database"
213
+     * warning : do not change this value until you already set
214
+     * for security raison use the very complicated value include $%)@^&^\''\'\'
215
+     * NOTE: this value is an base64 so you need use the tool that generate it, like
216
+     *  PHP function base64_encode()
217
+     */
218
+    $config['session_secret'] = '';
219 219
 
220
-	/**
221
-	 * number of second that consider the session already expire
222
-	 */
223
-	$config['session_inactivity_time'] = 600; //in second
220
+    /**
221
+     * number of second that consider the session already expire
222
+     */
223
+    $config['session_inactivity_time'] = 600; //in second
224 224
 
225
-	/**
226
-	* Session cookie lifetime
227
-	*
228
-	* The cookie lifetime that the session will be dropped in seconds, leave 0 if you want
229
-	* the cookie expire after the browser is closed
230
-	*/
231
-	$config['session_cookie_lifetime'] = 0;
225
+    /**
226
+     * Session cookie lifetime
227
+     *
228
+     * The cookie lifetime that the session will be dropped in seconds, leave 0 if you want
229
+     * the cookie expire after the browser is closed
230
+     */
231
+    $config['session_cookie_lifetime'] = 0;
232 232
 	
233
-	/**
234
-	* Session cookie path
235
-	*
236
-	* The path to your website that the cookie is available "/" means all path is available
237
-	* example : /mysubdirectory => available in http://www.mysite.com/mysubdirectory
238
-	*/
239
-	$config['session_cookie_path'] = '/';
233
+    /**
234
+     * Session cookie path
235
+     *
236
+     * The path to your website that the cookie is available "/" means all path is available
237
+     * example : /mysubdirectory => available in http://www.mysite.com/mysubdirectory
238
+     */
239
+    $config['session_cookie_path'] = '/';
240 240
 	
241
-	/** 
242
-	* Session cookie domain
243
-	*
244
-	* The domain of your website that the cookie is available if you want the cookie is available
245
-	* in all your subdomain use this dot before the domain name for example ".mysite.com".
246
-	* leave empty if you want use the default configuration
247
-	*/
248
-	$config['session_cookie_domain'] = '';
241
+    /** 
242
+     * Session cookie domain
243
+     *
244
+     * The domain of your website that the cookie is available if you want the cookie is available
245
+     * in all your subdomain use this dot before the domain name for example ".mysite.com".
246
+     * leave empty if you want use the default configuration
247
+     */
248
+    $config['session_cookie_domain'] = '';
249 249
 	
250
-	/**
251
-	* Session cookie secure
252
-	* 
253
-	* If your website use SSL i.e https, you set "true" for this configuration, so the cookie
254
-	* is available only if the website use the secure connection else set this value to "false"
255
-	*/
256
-	$config['session_cookie_secure'] = false;
250
+    /**
251
+     * Session cookie secure
252
+     * 
253
+     * If your website use SSL i.e https, you set "true" for this configuration, so the cookie
254
+     * is available only if the website use the secure connection else set this value to "false"
255
+     */
256
+    $config['session_cookie_secure'] = false;
257 257
 	
258 258
 
259
-	/*+---------------------------------------------------------------+
259
+    /*+---------------------------------------------------------------+
260 260
 	* CSRF configuration section
261 261
 	+------------------------------------------------------------------+
262 262
 	*/
263 263
 	
264
-	/**
265
-	 * CSRF status
266
-	 *
267
-	 * if you would to use the CSRF (that we recommand you), set this key to true
268
-	 */
269
-	$config['csrf_enable'] = false;
264
+    /**
265
+     * CSRF status
266
+     *
267
+     * if you would to use the CSRF (that we recommand you), set this key to true
268
+     */
269
+    $config['csrf_enable'] = false;
270 270
 
271
-	/**
272
-	 * CSRF key
273
-	 *
274
-	 * the key used to store the csrf data
275
-	 */
276
-	$config['csrf_key'] = 'csrf_key';
271
+    /**
272
+     * CSRF key
273
+     *
274
+     * the key used to store the csrf data
275
+     */
276
+    $config['csrf_key'] = 'csrf_key';
277 277
 
278
-	/**
279
-	 * CSRF expire
280
-	 *
281
-	 * expire time in seconds of the CSRF data
282
-	 */
283
-	$config['csrf_expire'] = 120;
278
+    /**
279
+     * CSRF expire
280
+     *
281
+     * expire time in seconds of the CSRF data
282
+     */
283
+    $config['csrf_expire'] = 120;
284 284
 	
285 285
 	
286
-	/*+---------------------------------------------------------------+
286
+    /*+---------------------------------------------------------------+
287 287
 	* Cache configuration section
288 288
 	+------------------------------------------------------------------+
289 289
 	*/
290 290
 	
291
-	/**
292
-	 * Cache status
293
-	 *
294
-	 * If you would to use the cache functionnality set this value to true
295
-	 */
296
-	$config['cache_enable'] = false;
291
+    /**
292
+     * Cache status
293
+     *
294
+     * If you would to use the cache functionnality set this value to true
295
+     */
296
+    $config['cache_enable'] = false;
297 297
 	
298
-	/**
299
-	 * Cache Time To Live
300
-	 *
301
-	 * expire time in seconds of the cache data
302
-	 */
303
-	$config['cache_ttl'] = 120; //in second
298
+    /**
299
+     * Cache Time To Live
300
+     *
301
+     * expire time in seconds of the cache data
302
+     */
303
+    $config['cache_ttl'] = 120; //in second
304 304
 
305
-	/**
306
-	* Cache handler class
307
-	*
308
-	* The cache handler class inside (CORE_CLASSES_CACHE_PATH, LIBRARY_PATH) directories that implements 
309
-	* the interface "CacheInterface" that we will use to manage the cache.
310
-	* currently the possible values are "FileCache", "ApcCache".
311
-	*/
312
-	$config['cache_handler'] = 'FileCache';
305
+    /**
306
+     * Cache handler class
307
+     *
308
+     * The cache handler class inside (CORE_CLASSES_CACHE_PATH, LIBRARY_PATH) directories that implements 
309
+     * the interface "CacheInterface" that we will use to manage the cache.
310
+     * currently the possible values are "FileCache", "ApcCache".
311
+     */
312
+    $config['cache_handler'] = 'FileCache';
313 313
 	
314 314
 	
315
-	/*+---------------------------------------------------------------+
315
+    /*+---------------------------------------------------------------+
316 316
 	* White list IP access configuration section
317 317
 	+------------------------------------------------------------------+
318 318
 	*/
319 319
 	
320
-	/**
321
-	 * White list ip status
322
-	 *
323
-	 * if you would to use the white list ip access, set this key to true
324
-	 */
325
-	$config['white_list_ip_enable'] = false;
320
+    /**
321
+     * White list ip status
322
+     *
323
+     * if you would to use the white list ip access, set this key to true
324
+     */
325
+    $config['white_list_ip_enable'] = false;
326 326
 	
327
-	/**
328
-	 * White listed ip addresses
329
-	 *
330
-	 * add the allowed ip address list to access this application.
331
-	 * You can use the wildcard address
332
-	 * @example: '18.90.09.*', '10.*.*.*', '*'
333
-	 * 
334
-	 */
335
-	$config['white_list_ip_addresses'] = array('127.0.0.1', '::1');
327
+    /**
328
+     * White listed ip addresses
329
+     *
330
+     * add the allowed ip address list to access this application.
331
+     * You can use the wildcard address
332
+     * @example: '18.90.09.*', '10.*.*.*', '*'
333
+     * 
334
+     */
335
+    $config['white_list_ip_addresses'] = array('127.0.0.1', '::1');
336 336
 
337
-	
338 337
\ No newline at end of file
338
+    
339 339
\ No newline at end of file
Please login to merge, or discard this patch.
index.php 1 patch
Indentation   +235 added lines, -235 removed lines patch added patch discarded remove patch
@@ -1,267 +1,267 @@
 block discarded – undo
1 1
 <?php
2
-	/**
3
-	 * TNH Framework
4
-	 *
5
-	 * A simple PHP framework using HMVC architecture
6
-	 *
7
-	 * This content is released under the GNU GPL License (GPL)
8
-	 *
9
-	 * Copyright (C) 2017 Tony NGUEREZA
10
-	 *
11
-	 * This program is free software; you can redistribute it and/or
12
-	 * modify it under the terms of the GNU General Public License
13
-	 * as published by the Free Software Foundation; either version 3
14
-	 * of the License, or (at your option) any later version.
15
-	 *
16
-	 * This program is distributed in the hope that it will be useful,
17
-	 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
-	 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19
-	 * GNU General Public License for more details.
20
-	 *
21
-	 * You should have received a copy of the GNU General Public License
22
-	 * along with this program; if not, write to the Free Software
23
-	 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
24
-	*/
2
+    /**
3
+     * TNH Framework
4
+     *
5
+     * A simple PHP framework using HMVC architecture
6
+     *
7
+     * This content is released under the GNU GPL License (GPL)
8
+     *
9
+     * Copyright (C) 2017 Tony NGUEREZA
10
+     *
11
+     * This program is free software; you can redistribute it and/or
12
+     * modify it under the terms of the GNU General Public License
13
+     * as published by the Free Software Foundation; either version 3
14
+     * of the License, or (at your option) any later version.
15
+     *
16
+     * This program is distributed in the hope that it will be useful,
17
+     * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19
+     * GNU General Public License for more details.
20
+     *
21
+     * You should have received a copy of the GNU General Public License
22
+     * along with this program; if not, write to the Free Software
23
+     * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
24
+     */
25 25
 
26
-	/**
27
-	* the directory separator, under windows it is \ and unix, linux /
28
-	*/
29
-	define('DS', DIRECTORY_SEPARATOR);
26
+    /**
27
+     * the directory separator, under windows it is \ and unix, linux /
28
+     */
29
+    define('DS', DIRECTORY_SEPARATOR);
30 30
 
31
-	/**
32
-	* The root directory of the application.
33
-	*
34
-	* you can place this directory outside of your web directory, for example "/home/your_app", etc.
35
-	*/
36
-	define('ROOT_PATH', dirname(realpath(__FILE__)) . DS);
31
+    /**
32
+     * The root directory of the application.
33
+     *
34
+     * you can place this directory outside of your web directory, for example "/home/your_app", etc.
35
+     */
36
+    define('ROOT_PATH', dirname(realpath(__FILE__)) . DS);
37 37
 
38
-	/**
39
-	* The path to the directory.
40
-	*
41
-	* That contains your static files (javascript, css, images, etc.)
42
-	* Note: the path must be relative to the file index.php (the front-end controller).
43
-	*/
44
-	define('ASSETS_PATH', 'assets/');
38
+    /**
39
+     * The path to the directory.
40
+     *
41
+     * That contains your static files (javascript, css, images, etc.)
42
+     * Note: the path must be relative to the file index.php (the front-end controller).
43
+     */
44
+    define('ASSETS_PATH', 'assets/');
45 45
 
46
-	/**
47
-	* The path to the directory of your cache files.
48
-	*
49
-	* This feature is available currently for database and views.
50
-	*/
51
-	define('CACHE_PATH', ROOT_PATH . 'cache' . DS);
46
+    /**
47
+     * The path to the directory of your cache files.
48
+     *
49
+     * This feature is available currently for database and views.
50
+     */
51
+    define('CACHE_PATH', ROOT_PATH . 'cache' . DS);
52 52
 
53
-	/**
54
-	* The path to the application directory. 
55
-	*
56
-	* It contains your most often used files that is to say which contains your files of the application, 
57
-	* in MVC architecture (controllers, models, views).
58
-	*/
59
-	define('APPS_PATH', ROOT_PATH . 'classes' . DS);
53
+    /**
54
+     * The path to the application directory. 
55
+     *
56
+     * It contains your most often used files that is to say which contains your files of the application, 
57
+     * in MVC architecture (controllers, models, views).
58
+     */
59
+    define('APPS_PATH', ROOT_PATH . 'classes' . DS);
60 60
 
61
-	/**
62
-	* The path to the controller directory of your application.
63
-	*
64
-	* If you already know the MVC architecture you know what a controller means; 
65
-	* it is he who makes the business logic of your application in general.
66
-	*/
67
-	define('APPS_CONTROLLER_PATH', APPS_PATH . 'controllers' . DS);
61
+    /**
62
+     * The path to the controller directory of your application.
63
+     *
64
+     * If you already know the MVC architecture you know what a controller means; 
65
+     * it is he who makes the business logic of your application in general.
66
+     */
67
+    define('APPS_CONTROLLER_PATH', APPS_PATH . 'controllers' . DS);
68 68
 
69
-	/**
70
-	* The path to the directory of your model classes of your application. 
71
-	*
72
-	* If you already know the MVC architecture you know what a model means; 
73
-	* it's the one who interacts with the database, in one word persistent data from your application.
74
-	*/
75
-	define('APPS_MODEL_PATH', APPS_PATH . 'models' . DS);
69
+    /**
70
+     * The path to the directory of your model classes of your application. 
71
+     *
72
+     * If you already know the MVC architecture you know what a model means; 
73
+     * it's the one who interacts with the database, in one word persistent data from your application.
74
+     */
75
+    define('APPS_MODEL_PATH', APPS_PATH . 'models' . DS);
76 76
 
77
-	/**
78
-	* The path to the directory of your views.
79
-	*
80
-	* If you already know the MVC architecture you know what a view means, 
81
-	* a view is just a user interface (html page, form, etc.) that is to say 
82
-	* everything displayed in the browser interface, etc.
83
-	*/
84
-	define('APPS_VIEWS_PATH', APPS_PATH . 'views' . DS);
77
+    /**
78
+     * The path to the directory of your views.
79
+     *
80
+     * If you already know the MVC architecture you know what a view means, 
81
+     * a view is just a user interface (html page, form, etc.) that is to say 
82
+     * everything displayed in the browser interface, etc.
83
+     */
84
+    define('APPS_VIEWS_PATH', APPS_PATH . 'views' . DS);
85 85
 
86
-	/**
87
-	* The path to the configuration directory.
88
-	*
89
-	* That contains most of the configuration files for your 
90
-	* application (database, class loading file, functions, etc.)
91
-	*/
92
-	define('CONFIG_PATH', ROOT_PATH . 'config' . DS);
86
+    /**
87
+     * The path to the configuration directory.
88
+     *
89
+     * That contains most of the configuration files for your 
90
+     * application (database, class loading file, functions, etc.)
91
+     */
92
+    define('CONFIG_PATH', ROOT_PATH . 'config' . DS);
93 93
 
94
-	/** 
95
-	* The core directory
96
-	*
97
-	* It is recommended to put this folder out of the web directory of your server and 
98
-	* you should not change its content because in case of update you could lose the modified files.
99
-	*/
100
-	define('CORE_PATH', ROOT_PATH . 'core' . DS);
94
+    /** 
95
+     * The core directory
96
+     *
97
+     * It is recommended to put this folder out of the web directory of your server and 
98
+     * you should not change its content because in case of update you could lose the modified files.
99
+     */
100
+    define('CORE_PATH', ROOT_PATH . 'core' . DS);
101 101
 	
102
-	/**
103
-	* The path to the directory of core classes that used by the system.
104
-	*
105
-	* It contains PHP classes that are used by the framework internally.
106
-	*/
107
-	define('CORE_CLASSES_PATH', CORE_PATH . 'classes' . DS);
102
+    /**
103
+     * The path to the directory of core classes that used by the system.
104
+     *
105
+     * It contains PHP classes that are used by the framework internally.
106
+     */
107
+    define('CORE_CLASSES_PATH', CORE_PATH . 'classes' . DS);
108 108
 	
109
-	/**
110
-	* The path to the directory of core classes for the cache used by the system.
111
-	*
112
-	* It contains PHP classes for the cache drivers.
113
-	*/
114
-	define('CORE_CLASSES_CACHE_PATH', CORE_CLASSES_PATH . 'cache' . DS);
109
+    /**
110
+     * The path to the directory of core classes for the cache used by the system.
111
+     *
112
+     * It contains PHP classes for the cache drivers.
113
+     */
114
+    define('CORE_CLASSES_CACHE_PATH', CORE_CLASSES_PATH . 'cache' . DS);
115 115
 	
116 116
     /**
117
-	* The path to the directory of core classes for the database used by the system.
118
-	*
119
-	* It contains PHP classes for the database library, drivers, etc.
120
-	*/
121
-	define('CORE_CLASSES_DATABASE_PATH', CORE_CLASSES_PATH . 'database' . DS);
117
+     * The path to the directory of core classes for the database used by the system.
118
+     *
119
+     * It contains PHP classes for the database library, drivers, etc.
120
+     */
121
+    define('CORE_CLASSES_DATABASE_PATH', CORE_CLASSES_PATH . 'database' . DS);
122 122
     
123
-	/**
124
-	* The path to the directory of core classes for the model used by the system.
125
-	*
126
-	* It contains PHP classes for the models.
127
-	*/
128
-	define('CORE_CLASSES_MODEL_PATH', CORE_CLASSES_PATH . 'model' . DS);
123
+    /**
124
+     * The path to the directory of core classes for the model used by the system.
125
+     *
126
+     * It contains PHP classes for the models.
127
+     */
128
+    define('CORE_CLASSES_MODEL_PATH', CORE_CLASSES_PATH . 'model' . DS);
129 129
 
130
-	/**
131
-	* The path to the directory of functions or helper systems.
132
-	*
133
-	* It contains PHP functions that perform a particular task: character string processing, URL, etc.
134
-	*/
135
-	define('CORE_FUNCTIONS_PATH', CORE_PATH . 'functions' . DS);
130
+    /**
131
+     * The path to the directory of functions or helper systems.
132
+     *
133
+     * It contains PHP functions that perform a particular task: character string processing, URL, etc.
134
+     */
135
+    define('CORE_FUNCTIONS_PATH', CORE_PATH . 'functions' . DS);
136 136
 
137
-	/**
138
-	* The path to the core directory of languages files. 
139
-	*
140
-	*/
141
-	define('CORE_LANG_PATH', CORE_PATH . 'lang' . DS);
137
+    /**
138
+     * The path to the core directory of languages files. 
139
+     *
140
+     */
141
+    define('CORE_LANG_PATH', CORE_PATH . 'lang' . DS);
142 142
 
143
-	/**
144
-	* The path to the system library directory.
145
-	*
146
-	* Which contains the libraries most often used in your web application, as for the 
147
-	* core directory it is advisable to put it out of the root directory of your application.
148
-	*/
149
-	define('CORE_LIBRARY_PATH', CORE_PATH . 'libraries' . DS);
143
+    /**
144
+     * The path to the system library directory.
145
+     *
146
+     * Which contains the libraries most often used in your web application, as for the 
147
+     * core directory it is advisable to put it out of the root directory of your application.
148
+     */
149
+    define('CORE_LIBRARY_PATH', CORE_PATH . 'libraries' . DS);
150 150
 
151
-	/**
152
-	* The path to the system view directory.
153
-	*
154
-	* That contains the views used for the system, such as error messages, and so on.
155
-	*/
156
-	define('CORE_VIEWS_PATH', CORE_PATH . 'views' . DS);
151
+    /**
152
+     * The path to the system view directory.
153
+     *
154
+     * That contains the views used for the system, such as error messages, and so on.
155
+     */
156
+    define('CORE_VIEWS_PATH', CORE_PATH . 'views' . DS);
157 157
 	
158
-	/**
159
-	* The path to the directory of your PHP personal functions or helper.
160
-	*
161
-	* It contains your PHP functions that perform a particular task: utilities, etc.
162
-	* Note: Do not put your personal functions or helpers in the system functions directory, 
163
-	* because if you update the system you may lose them.
164
-	*/
165
-	define('FUNCTIONS_PATH', ROOT_PATH . 'functions' . DS);
158
+    /**
159
+     * The path to the directory of your PHP personal functions or helper.
160
+     *
161
+     * It contains your PHP functions that perform a particular task: utilities, etc.
162
+     * Note: Do not put your personal functions or helpers in the system functions directory, 
163
+     * because if you update the system you may lose them.
164
+     */
165
+    define('FUNCTIONS_PATH', ROOT_PATH . 'functions' . DS);
166 166
 
167
-	/**
168
-	* The path to the app directory of personal language. 
169
-	*
170
-	* This feature is not yet available. 
171
-	* You can help us do this if you are nice or wish to see the developed framework.
172
-	*/
173
-	define('APP_LANG_PATH', ROOT_PATH . 'lang' . DS);
167
+    /**
168
+     * The path to the app directory of personal language. 
169
+     *
170
+     * This feature is not yet available. 
171
+     * You can help us do this if you are nice or wish to see the developed framework.
172
+     */
173
+    define('APP_LANG_PATH', ROOT_PATH . 'lang' . DS);
174 174
 
175
-	/**
176
-	* The path to the directory of your personal libraries
177
-	*
178
-	* It contains your PHP classes, package, etc.
179
-	* Note: you should not put your personal libraries in the system library directory, 
180
-	* because it is recalled in case of updating the system you might have surprises.
181
-	*/
182
-	define('LIBRARY_PATH', ROOT_PATH . 'libraries' . DS);
175
+    /**
176
+     * The path to the directory of your personal libraries
177
+     *
178
+     * It contains your PHP classes, package, etc.
179
+     * Note: you should not put your personal libraries in the system library directory, 
180
+     * because it is recalled in case of updating the system you might have surprises.
181
+     */
182
+    define('LIBRARY_PATH', ROOT_PATH . 'libraries' . DS);
183 183
 
184
-	/**
185
-	* The path to the directory that contains the log files.
186
-	*
187
-	* Note: This directory must be available in writing and if possible must have as owner the user who launches your web server, 
188
-	* under unix or linux most often with the apache web server it is "www-data" or "httpd" even "nobody" for more
189
-	* details see the documentation of your web server.
190
-	* Example for Unix or linux with apache web server:
191
-	* # chmod -R 700 /path/to/your/logs/directory/
192
-	* # chown -R www-data:www-data /path/to/your/logs/directory/
193
-	*/
194
-	define('LOGS_PATH', ROOT_PATH . 'logs' . DS);
184
+    /**
185
+     * The path to the directory that contains the log files.
186
+     *
187
+     * Note: This directory must be available in writing and if possible must have as owner the user who launches your web server, 
188
+     * under unix or linux most often with the apache web server it is "www-data" or "httpd" even "nobody" for more
189
+     * details see the documentation of your web server.
190
+     * Example for Unix or linux with apache web server:
191
+     * # chmod -R 700 /path/to/your/logs/directory/
192
+     * # chown -R www-data:www-data /path/to/your/logs/directory/
193
+     */
194
+    define('LOGS_PATH', ROOT_PATH . 'logs' . DS);
195 195
 
196
-	/**
197
-	* The path to the modules directory. 
198
-	*
199
-	* It contains your modules used files (config, controllers, libraries, etc.) that is to say which contains your files of the modules, 
200
-	* in HMVC architecture (hierichical, controllers, models, views).
201
-	*/
202
-	define('MODULE_PATH', ROOT_PATH . 'modules' . DS);
196
+    /**
197
+     * The path to the modules directory. 
198
+     *
199
+     * It contains your modules used files (config, controllers, libraries, etc.) that is to say which contains your files of the modules, 
200
+     * in HMVC architecture (hierichical, controllers, models, views).
201
+     */
202
+    define('MODULE_PATH', ROOT_PATH . 'modules' . DS);
203 203
 
204
-	/**
205
-	* The path to the directory of sources external to your application.
206
-	*
207
-	* If you have already used "composer" you know what that means.
208
-	*/
209
-	define('VENDOR_PATH', ROOT_PATH . 'vendor' . DS);
204
+    /**
205
+     * The path to the directory of sources external to your application.
206
+     *
207
+     * If you have already used "composer" you know what that means.
208
+     */
209
+    define('VENDOR_PATH', ROOT_PATH . 'vendor' . DS);
210 210
 
211
-	/**
212
-	* The front controller of your application.
213
-	*
214
-	* "index.php" it is through this file that all the requests come, there is a possibility to hidden it in the url of 
215
-	* your application by using the rewrite module URL of your web server .
216
-	* For example, under apache web server, there is a configuration example file that is located at the root 
217
-	* of your framework folder : "htaccess.txt" rename it to ".htaccess".
218
-	*/
219
-	define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));
211
+    /**
212
+     * The front controller of your application.
213
+     *
214
+     * "index.php" it is through this file that all the requests come, there is a possibility to hidden it in the url of 
215
+     * your application by using the rewrite module URL of your web server .
216
+     * For example, under apache web server, there is a configuration example file that is located at the root 
217
+     * of your framework folder : "htaccess.txt" rename it to ".htaccess".
218
+     */
219
+    define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME));
220 220
 	
221
-	/**
222
-	 * Check if user run the application under CLI
223
-	 */
224
-	define('IS_CLI', stripos('cli', php_sapi_name()) !== false);
221
+    /**
222
+     * Check if user run the application under CLI
223
+     */
224
+    define('IS_CLI', stripos('cli', php_sapi_name()) !== false);
225 225
 
226
-	/**
227
-	* The environment of your application (production, test, development). 
228
-	*
229
-	* if your application is still in development you use the value "development" 
230
-	* so you will have the display of the error messages, etc. 
231
-	* Once you finish the development of your application that is to put it online 
232
-	* you change this value to "production" or "testing", in this case there will be deactivation of error messages, 
233
-	* the loading of the system, will be fast.
234
-	*/
235
-	define('ENVIRONMENT', 'development');
226
+    /**
227
+     * The environment of your application (production, test, development). 
228
+     *
229
+     * if your application is still in development you use the value "development" 
230
+     * so you will have the display of the error messages, etc. 
231
+     * Once you finish the development of your application that is to put it online 
232
+     * you change this value to "production" or "testing", in this case there will be deactivation of error messages, 
233
+     * the loading of the system, will be fast.
234
+     */
235
+    define('ENVIRONMENT', 'development');
236 236
 
237
-	/* ---------------------------------------------------------------------------------- */
238
-	///////////////////////////////////////////////////////////////////////////////////////
239
-	/******************** DO NOT CHANGE THE LINES BELOW *********************************/
240
-	/////////////////////////////////////////////////////////////////////////////////////
237
+    /* ---------------------------------------------------------------------------------- */
238
+    ///////////////////////////////////////////////////////////////////////////////////////
239
+    /******************** DO NOT CHANGE THE LINES BELOW *********************************/
240
+    /////////////////////////////////////////////////////////////////////////////////////
241 241
 
242
-	switch (ENVIRONMENT) {
243
-		case 'development':
244
-			error_reporting(-1);
245
-			ini_set('display_errors', 1);
246
-		break;
247
-		case 'testing':
248
-		case 'production':
249
-			ini_set('display_errors', 0);
250
-			if (version_compare(PHP_VERSION, '5.3', '>=')) {
251
-				error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE & ~E_USER_DEPRECATED);
252
-			}
253
-			else{
254
-				error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE);
255
-			}
256
-		break;
257
-		default:
258
-			header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);
259
-			echo 'The application environment is not set correctly.';
260
-			exit(1);
261
-	}
242
+    switch (ENVIRONMENT) {
243
+        case 'development':
244
+            error_reporting(-1);
245
+            ini_set('display_errors', 1);
246
+        break;
247
+        case 'testing':
248
+        case 'production':
249
+            ini_set('display_errors', 0);
250
+            if (version_compare(PHP_VERSION, '5.3', '>=')) {
251
+                error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE & ~E_USER_DEPRECATED);
252
+            }
253
+            else{
254
+                error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE);
255
+            }
256
+        break;
257
+        default:
258
+            header('HTTP/1.1 503 Service Unavailable.', TRUE, 503);
259
+            echo 'The application environment is not set correctly.';
260
+            exit(1);
261
+    }
262 262
 	
263
-	/**
264
-	* let's go.
265
-	* Everything is OK now we launch our application.
266
-	*/
267
-	require_once CORE_PATH . 'bootstrap.php';
268 263
\ No newline at end of file
264
+    /**
265
+     * let's go.
266
+     * Everything is OK now we launch our application.
267
+     */
268
+    require_once CORE_PATH . 'bootstrap.php';
269 269
\ No newline at end of file
Please login to merge, or discard this patch.
tests/tnhfw/classes/database/DatabaseTest.php 1 patch
Indentation   +33 added lines, -33 removed lines patch added patch discarded remove patch
@@ -1,52 +1,52 @@
 block discarded – undo
1 1
 <?php 
2 2
 
3
-	use PHPUnit\Framework\TestCase;
3
+    use PHPUnit\Framework\TestCase;
4 4
 
5
-	class DatabaseTest extends TestCase
6
-	{	
5
+    class DatabaseTest extends TestCase
6
+    {	
7 7
 	
8
-		public static function setUpBeforeClass()
9
-		{
8
+        public static function setUpBeforeClass()
9
+        {
10 10
 		
11
-		}
11
+        }
12 12
 		
13
-		public static function tearDownAfterClass()
14
-		{
13
+        public static function tearDownAfterClass()
14
+        {
15 15
 			
16
-		}
16
+        }
17 17
 		
18
-		protected function setUp()
19
-		{
20
-		}
18
+        protected function setUp()
19
+        {
20
+        }
21 21
 
22
-		protected function tearDown()
23
-		{
24
-		}
22
+        protected function tearDown()
23
+        {
24
+        }
25 25
 		
26
-		public function testConnectToDatabaseSuccessfully()
27
-		{
26
+        public function testConnectToDatabaseSuccessfully()
27
+        {
28 28
             $cfg = get_db_config();
29 29
             $db = new Database($cfg, false);
30 30
             $isConnected = $db->connect();
31 31
             $this->assertTrue($isConnected);
32
-		}
32
+        }
33 33
         
34 34
         public function testCannotConnectToDatabase()
35
-		{
36
-             $db = new Database(array(
37
-                                  'driver' => '',
38
-                                  'username' => '',
39
-                                  'password' => '',
40
-                                  'database' => '',
41
-                                  'hostname' => '',
42
-                                  'charset' => '',
43
-                                  'collation' => '',
44
-                                  'prefix' => '',
45
-                                  'port' => ''
35
+        {
36
+                $db = new Database(array(
37
+                                    'driver' => '',
38
+                                    'username' => '',
39
+                                    'password' => '',
40
+                                    'database' => '',
41
+                                    'hostname' => '',
42
+                                    'charset' => '',
43
+                                    'collation' => '',
44
+                                    'prefix' => '',
45
+                                    'port' => ''
46 46
                                 ), 
47 47
                                 false);
48
-             $isConnected = $db->connect();
49
-			$this->assertFalse($isConnected);
50
-		}
48
+                $isConnected = $db->connect();
49
+            $this->assertFalse($isConnected);
50
+        }
51 51
 
52
-	}
53 52
\ No newline at end of file
53
+    }
54 54
\ No newline at end of file
Please login to merge, or discard this patch.
core/classes/database/Database.php 1 patch
Indentation   +356 added lines, -356 removed lines patch added patch discarded remove patch
@@ -1,119 +1,119 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
     defined('ROOT_PATH') || exit('Access denied');
3
-  /**
4
-   * TNH Framework
5
-   *
6
-   * A simple PHP framework using HMVC architecture
7
-   *
8
-   * This content is released under the GNU GPL License (GPL)
9
-   *
10
-   * Copyright (C) 2017 Tony NGUEREZA
11
-   *
12
-   * This program is free software; you can redistribute it and/or
13
-   * modify it under the terms of the GNU General Public License
14
-   * as published by the Free Software Foundation; either version 3
15
-   * of the License, or (at your option) any later version.
16
-   *
17
-   * This program is distributed in the hope that it will be useful,
18
-   * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
-   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
-   * GNU General Public License for more details.
21
-   *
22
-   * You should have received a copy of the GNU General Public License
23
-   * along with this program; if not, write to the Free Software
24
-   * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25
-  */
26
-  class Database{
3
+    /**
4
+     * TNH Framework
5
+     *
6
+     * A simple PHP framework using HMVC architecture
7
+     *
8
+     * This content is released under the GNU GPL License (GPL)
9
+     *
10
+     * Copyright (C) 2017 Tony NGUEREZA
11
+     *
12
+     * This program is free software; you can redistribute it and/or
13
+     * modify it under the terms of the GNU General Public License
14
+     * as published by the Free Software Foundation; either version 3
15
+     * of the License, or (at your option) any later version.
16
+     *
17
+     * This program is distributed in the hope that it will be useful,
18
+     * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
+     * GNU General Public License for more details.
21
+     *
22
+     * You should have received a copy of the GNU General Public License
23
+     * along with this program; if not, write to the Free Software
24
+     * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25
+     */
26
+    class Database{
27 27
 	
28
-  	/**
29
-  	 * The PDO instance
30
-  	 * @var object
31
-  	*/
28
+        /**
29
+         * The PDO instance
30
+         * @var object
31
+         */
32 32
     private $pdo                 = null;
33 33
     
34
-  	/**
35
-  	 * The database name used for the application
36
-  	 * @var string
37
-  	*/
38
-	  private $databaseName        = null;
34
+        /**
35
+         * The database name used for the application
36
+         * @var string
37
+         */
38
+        private $databaseName        = null;
39 39
 	
40
-  	/**
41
-  	 * The number of rows returned by the last query
42
-  	 * @var int
43
-  	*/
40
+        /**
41
+         * The number of rows returned by the last query
42
+         * @var int
43
+         */
44 44
     private $numRows             = 0;
45 45
 	
46
-  	/**
47
-  	 * The last insert id for the primary key column that have auto increment or sequence
48
-  	 * @var mixed
49
-  	*/
46
+        /**
47
+         * The last insert id for the primary key column that have auto increment or sequence
48
+         * @var mixed
49
+         */
50 50
     private $insertId            = null;
51 51
 	
52
-  	/**
53
-  	 * The full SQL query statment after build for each command
54
-  	 * @var string
55
-  	*/
52
+        /**
53
+         * The full SQL query statment after build for each command
54
+         * @var string
55
+         */
56 56
     private $query               = null;
57 57
 	
58
-  	/**
59
-  	 * The result returned for the last query
60
-  	 * @var mixed
61
-  	*/
58
+        /**
59
+         * The result returned for the last query
60
+         * @var mixed
61
+         */
62 62
     private $result              = array();
63 63
 	
64
-  	/**
65
-  	 * The cache default time to live in second. 0 means no need to use the cache feature
66
-  	 * @var int
67
-  	*/
68
-  	private $cacheTtl             = 0;
64
+        /**
65
+         * The cache default time to live in second. 0 means no need to use the cache feature
66
+         * @var int
67
+         */
68
+        private $cacheTtl             = 0;
69 69
 	
70
-  	/**
71
-  	 * The cache current time to live. 0 means no need to use the cache feature
72
-  	 * @var int
73
-  	*/
70
+        /**
71
+         * The cache current time to live. 0 means no need to use the cache feature
72
+         * @var int
73
+         */
74 74
     private $temporaryCacheTtl   = 0;
75 75
 	
76
-  	/**
77
-  	 * The number of executed query for the current request
78
-  	 * @var int
79
-  	*/
76
+        /**
77
+         * The number of executed query for the current request
78
+         * @var int
79
+         */
80 80
     private $queryCount          = 0;
81 81
 	
82
-  	/**
83
-  	 * The default data to be used in the statments query INSERT, UPDATE
84
-  	 * @var array
85
-  	*/
82
+        /**
83
+         * The default data to be used in the statments query INSERT, UPDATE
84
+         * @var array
85
+         */
86 86
     private $data                = array();
87 87
 	
88
-  	/**
89
-  	 * The database configuration
90
-  	 * @var array
91
-  	*/
88
+        /**
89
+         * The database configuration
90
+         * @var array
91
+         */
92 92
     private $config              = array();
93 93
 	
94
-  	/**
95
-  	 * The logger instance
96
-  	 * @var object
97
-  	 */
94
+        /**
95
+         * The logger instance
96
+         * @var object
97
+         */
98 98
     private $logger              = null;
99 99
 
100 100
     /**
101
-    * The cache instance
102
-    * @var object
103
-    */
101
+     * The cache instance
102
+     * @var object
103
+     */
104 104
     private $cacheInstance       = null;
105 105
 
106 106
     
107
-  	/**
108
-    * The DatabaseQueryBuilder instance
109
-    * @var object
110
-    */
107
+        /**
108
+         * The DatabaseQueryBuilder instance
109
+         * @var object
110
+         */
111 111
     private $queryBuilder        = null;
112 112
     
113 113
     /**
114
-    * The DatabaseQueryRunner instance
115
-    * @var object
116
-    */
114
+     * The DatabaseQueryRunner instance
115
+     * @var object
116
+     */
117 117
     private $queryRunner         = null;
118 118
 
119 119
 
@@ -126,7 +126,7 @@  discard block
 block discarded – undo
126 126
         //Set Log instance to use
127 127
         $this->setLoggerFromParamOrCreate(null);
128 128
 		
129
-    		//Set DatabaseQueryBuilder instance to use
129
+            //Set DatabaseQueryBuilder instance to use
130 130
         $this->setDependencyInstanceFromParamOrCreate('queryBuilder', null, 'DatabaseQueryBuilder', 'classes/database');
131 131
        
132 132
         //Set DatabaseQueryRunner instance to use
@@ -144,8 +144,8 @@  discard block
 block discarded – undo
144 144
      * @return bool 
145 145
      */
146 146
     public function connect(){
147
-      $config = $this->getDatabaseConfiguration();
148
-      if (! empty($config)){
147
+        $config = $this->getDatabaseConfiguration();
148
+        if (! empty($config)){
149 149
         try{
150 150
             $this->pdo = new PDO($this->getDsnValueFromConfig(), $config['username'], $config['password']);
151 151
             $this->pdo->exec("SET NAMES '" . $config['charset'] . "' COLLATE '" . $config['collation'] . "'");
@@ -156,14 +156,14 @@  discard block
 block discarded – undo
156 156
             $this->updateQueryBuilderAndRunnerProperties();
157 157
 
158 158
             return is_object($this->pdo);
159
-          }
160
-          catch (PDOException $e){
159
+            }
160
+            catch (PDOException $e){
161 161
             $this->logger->fatal($e->getMessage());
162 162
             show_error('Cannot connect to Database.');
163 163
             return false;
164
-          }
165
-      }
166
-      return false;
164
+            }
165
+        }
166
+        return false;
167 167
     }
168 168
 
169 169
 
@@ -172,7 +172,7 @@  discard block
 block discarded – undo
172 172
      * @return int
173 173
      */
174 174
     public function numRows(){
175
-      return $this->numRows;
175
+        return $this->numRows;
176 176
     }
177 177
 
178 178
     /**
@@ -180,7 +180,7 @@  discard block
 block discarded – undo
180 180
      * @return mixed
181 181
      */
182 182
     public function insertId(){
183
-      return $this->insertId;
183
+        return $this->insertId;
184 184
     }
185 185
 
186 186
 
@@ -191,13 +191,13 @@  discard block
 block discarded – undo
191 191
      * @return mixed       the query SQL string or the record result
192 192
      */
193 193
     public function get($returnSQLQueryOrResultType = false){
194
-      $this->queryBuilder->limit(1);
195
-      $query = $this->getAll(true);
196
-      if ($returnSQLQueryOrResultType === true){
194
+        $this->queryBuilder->limit(1);
195
+        $query = $this->getAll(true);
196
+        if ($returnSQLQueryOrResultType === true){
197 197
         return $query;
198
-      } else {
198
+        } else {
199 199
         return $this->query($query, false, $returnSQLQueryOrResultType == 'array');
200
-      }
200
+        }
201 201
     }
202 202
 
203 203
     /**
@@ -207,11 +207,11 @@  discard block
 block discarded – undo
207 207
      * @return mixed       the query SQL string or the record result
208 208
      */
209 209
     public function getAll($returnSQLQueryOrResultType = false){
210
-	   $query = $this->queryBuilder->getQuery();
211
-	   if ($returnSQLQueryOrResultType === true){
212
-      	return $query;
213
-      }
214
-      return $this->query($query, true, $returnSQLQueryOrResultType == 'array');
210
+        $query = $this->queryBuilder->getQuery();
211
+        if ($returnSQLQueryOrResultType === true){
212
+            return $query;
213
+        }
214
+        return $this->query($query, true, $returnSQLQueryOrResultType == 'array');
215 215
     }
216 216
 
217 217
     /**
@@ -221,19 +221,19 @@  discard block
 block discarded – undo
221 221
      * @return mixed          the insert id of the new record or null
222 222
      */
223 223
     public function insert($data = array(), $escape = true){
224
-      if (empty($data) && ! empty($this->data)){
224
+        if (empty($data) && ! empty($this->data)){
225 225
         //as when using $this->setData() may be the data already escaped
226 226
         $escape = false;
227 227
         $data = $this->data;
228
-      }
229
-      $query = $this->queryBuilder->insert($data, $escape)->getQuery();
230
-      $result = $this->query($query);
231
-      if ($result){
228
+        }
229
+        $query = $this->queryBuilder->insert($data, $escape)->getQuery();
230
+        $result = $this->query($query);
231
+        if ($result){
232 232
         $this->insertId = $this->pdo->lastInsertId();
233
-		    //if the table doesn't have the auto increment field or sequence, the value of 0 will be returned 
233
+            //if the table doesn't have the auto increment field or sequence, the value of 0 will be returned 
234 234
         return ! ($this->insertId) ? true : $this->insertId;
235
-      }
236
-      return false;
235
+        }
236
+        return false;
237 237
     }
238 238
 
239 239
     /**
@@ -243,13 +243,13 @@  discard block
 block discarded – undo
243 243
      * @return mixed          the update status
244 244
      */
245 245
     public function update($data = array(), $escape = true){
246
-      if (empty($data) && ! empty($this->data)){
246
+        if (empty($data) && ! empty($this->data)){
247 247
         //as when using $this->setData() may be the data already escaped
248 248
         $escape = false;
249 249
         $data = $this->data;
250
-      }
251
-      $query = $this->queryBuilder->update($data, $escape)->getQuery();
252
-      return $this->query($query);
250
+        }
251
+        $query = $this->queryBuilder->update($data, $escape)->getQuery();
252
+        return $this->query($query);
253 253
     }
254 254
 
255 255
     /**
@@ -257,8 +257,8 @@  discard block
 block discarded – undo
257 257
      * @return mixed the delete status
258 258
      */
259 259
     public function delete(){
260
-		  $query = $this->queryBuilder->delete()->getQuery();
261
-    	return $this->query($query);
260
+            $query = $this->queryBuilder->delete()->getQuery();
261
+        return $this->query($query);
262 262
     }
263 263
 
264 264
     /**
@@ -267,17 +267,17 @@  discard block
 block discarded – undo
267 267
      * @return object        the current Database instance
268 268
      */
269 269
     public function setCache($ttl = 0){
270
-      $this->cacheTtl = $ttl;
271
-      $this->temporaryCacheTtl = $ttl;
272
-      return $this;
270
+        $this->cacheTtl = $ttl;
271
+        $this->temporaryCacheTtl = $ttl;
272
+        return $this;
273 273
     }
274 274
 	
275
-	/**
276
-	 * Enabled cache temporary for the current query not globally	
277
-	 * @param  integer $ttl the cache time to live in second
278
-	 * @return object        the current Database instance
279
-	 */
280
-  	public function cached($ttl = 0){
275
+    /**
276
+     * Enabled cache temporary for the current query not globally	
277
+     * @param  integer $ttl the cache time to live in second
278
+     * @return object        the current Database instance
279
+     */
280
+        public function cached($ttl = 0){
281 281
         $this->temporaryCacheTtl = $ttl;
282 282
         return $this;
283 283
     }
@@ -290,11 +290,11 @@  discard block
 block discarded – undo
290 290
      * need escaped
291 291
      */
292 292
     public function escape($data, $escaped = true){
293
-      $data = trim($data);
294
-      if($escaped){
293
+        $data = trim($data);
294
+        if($escaped){
295 295
         return $this->pdo->quote($data);
296
-      }
297
-      return $data; 
296
+        }
297
+        return $data; 
298 298
     }
299 299
 
300 300
     /**
@@ -302,7 +302,7 @@  discard block
 block discarded – undo
302 302
      * @return int
303 303
      */
304 304
     public function queryCount(){
305
-      return $this->queryCount;
305
+        return $this->queryCount;
306 306
     }
307 307
 
308 308
     /**
@@ -310,7 +310,7 @@  discard block
 block discarded – undo
310 310
      * @return string
311 311
      */
312 312
     public function getQuery(){
313
-      return $this->query;
313
+        return $this->query;
314 314
     }
315 315
 
316 316
     /**
@@ -318,7 +318,7 @@  discard block
 block discarded – undo
318 318
      * @return string
319 319
      */
320 320
     public function getDatabaseName(){
321
-      return $this->databaseName;
321
+        return $this->databaseName;
322 322
     }
323 323
 
324 324
     /**
@@ -326,17 +326,17 @@  discard block
 block discarded – undo
326 326
      * @return object
327 327
      */
328 328
     public function getPdo(){
329
-      return $this->pdo;
329
+        return $this->pdo;
330 330
     }
331 331
 
332 332
     /**
333 333
      * Set the PDO instance
334 334
      * @param object $pdo the pdo object
335
-	 * @return object Database
335
+     * @return object Database
336 336
      */
337 337
     public function setPdo(PDO $pdo){
338
-      $this->pdo = $pdo;
339
-      return $this;
338
+        $this->pdo = $pdo;
339
+        return $this;
340 340
     }
341 341
 
342 342
 
@@ -345,44 +345,44 @@  discard block
 block discarded – undo
345 345
      * @return Log
346 346
      */
347 347
     public function getLogger(){
348
-      return $this->logger;
348
+        return $this->logger;
349 349
     }
350 350
 
351 351
     /**
352 352
      * Set the log instance
353 353
      * @param Log $logger the log object
354
-	 * @return object Database
354
+     * @return object Database
355 355
      */
356 356
     public function setLogger($logger){
357
-      $this->logger = $logger;
358
-      return $this;
357
+        $this->logger = $logger;
358
+        return $this;
359 359
     }
360 360
 
361
-     /**
362
-     * Return the cache instance
363
-     * @return CacheInterface
364
-     */
361
+        /**
362
+         * Return the cache instance
363
+         * @return CacheInterface
364
+         */
365 365
     public function getCacheInstance(){
366
-      return $this->cacheInstance;
366
+        return $this->cacheInstance;
367 367
     }
368 368
 
369 369
     /**
370 370
      * Set the cache instance
371 371
      * @param CacheInterface $cache the cache object
372
-	 * @return object Database
372
+     * @return object Database
373 373
      */
374 374
     public function setCacheInstance($cache){
375
-      $this->cacheInstance = $cache;
376
-      return $this;
375
+        $this->cacheInstance = $cache;
376
+        return $this;
377 377
     }
378 378
 	
379 379
 	
380
-	   /**
381
-     * Return the DatabaseQueryBuilder instance
382
-     * @return object DatabaseQueryBuilder
383
-     */
380
+        /**
381
+         * Return the DatabaseQueryBuilder instance
382
+         * @return object DatabaseQueryBuilder
383
+         */
384 384
     public function getQueryBuilder(){
385
-      return $this->queryBuilder;
385
+        return $this->queryBuilder;
386 386
     }
387 387
 
388 388
     /**
@@ -390,8 +390,8 @@  discard block
 block discarded – undo
390 390
      * @param object DatabaseQueryBuilder $queryBuilder the DatabaseQueryBuilder object
391 391
      */
392 392
     public function setQueryBuilder(DatabaseQueryBuilder $queryBuilder){
393
-      $this->queryBuilder = $queryBuilder;
394
-      return $this;
393
+        $this->queryBuilder = $queryBuilder;
394
+        return $this;
395 395
     }
396 396
     
397 397
     /**
@@ -399,7 +399,7 @@  discard block
 block discarded – undo
399 399
      * @return object DatabaseQueryRunner
400 400
      */
401 401
     public function getQueryRunner(){
402
-      return $this->queryRunner;
402
+        return $this->queryRunner;
403 403
     }
404 404
 
405 405
     /**
@@ -407,8 +407,8 @@  discard block
 block discarded – undo
407 407
      * @param object DatabaseQueryRunner $queryRunner the DatabaseQueryRunner object
408 408
      */
409 409
     public function setQueryRunner(DatabaseQueryRunner $queryRunner){
410
-      $this->queryRunner = $queryRunner;
411
-      return $this;
410
+        $this->queryRunner = $queryRunner;
411
+        return $this;
412 412
     }
413 413
 
414 414
     /**
@@ -416,7 +416,7 @@  discard block
 block discarded – undo
416 416
      * @return array
417 417
      */
418 418
     public function getData(){
419
-      return $this->data;
419
+        return $this->data;
420 420
     }
421 421
 
422 422
     /**
@@ -427,62 +427,62 @@  discard block
 block discarded – undo
427 427
      * @return object        the current Database instance
428 428
      */
429 429
     public function setData($key, $value = null, $escape = true){
430
-  	  if (is_array($key)){
431
-    		foreach($key as $k => $v){
432
-    			$this->setData($k, $v, $escape);
433
-    		}	
434
-  	  } else {
430
+        if (is_array($key)){
431
+            foreach($key as $k => $v){
432
+                $this->setData($k, $v, $escape);
433
+            }	
434
+        } else {
435 435
         $this->data[$key] = $this->escape($value, $escape);
436
-  	  }
437
-      return $this;
436
+        }
437
+        return $this;
438 438
     }
439 439
 
440
-     /**
441
-     * Execute an SQL query
442
-     * @param  string  $query the query SQL string
443
-     * @param  boolean $returnAsList  indicate whether to return all record or just one row 
444
-     * @param  boolean $returnAsArray return the result as array or not
445
-     * @return mixed         the query result
446
-     */
440
+        /**
441
+         * Execute an SQL query
442
+         * @param  string  $query the query SQL string
443
+         * @param  boolean $returnAsList  indicate whether to return all record or just one row 
444
+         * @param  boolean $returnAsArray return the result as array or not
445
+         * @return mixed         the query result
446
+         */
447 447
     public function query($query, $returnAsList = true, $returnAsArray = false){
448
-      $this->reset();
449
-      $this->query = preg_replace('/\s\s+|\t\t+/', ' ', trim($query));
450
-      //If is the SELECT query
451
-      $isSqlSELECTQuery = stristr($this->query, 'SELECT');
448
+        $this->reset();
449
+        $this->query = preg_replace('/\s\s+|\t\t+/', ' ', trim($query));
450
+        //If is the SELECT query
451
+        $isSqlSELECTQuery = stristr($this->query, 'SELECT');
452 452
 
453
-      //cache expire time
454
-      $cacheExpire = $this->temporaryCacheTtl;
453
+        //cache expire time
454
+        $cacheExpire = $this->temporaryCacheTtl;
455 455
       
456
-      //return to the initial cache time
457
-      $this->temporaryCacheTtl = $this->cacheTtl;
456
+        //return to the initial cache time
457
+        $this->temporaryCacheTtl = $this->cacheTtl;
458 458
       
459
-      //config for cache
460
-      $cacheEnable = get_config('cache_enable');
459
+        //config for cache
460
+        $cacheEnable = get_config('cache_enable');
461 461
       
462
-      //the database cache content
463
-      $cacheContent = null;
462
+        //the database cache content
463
+        $cacheContent = null;
464 464
 
465
-      //if can use cache feature for this query
466
-      $dbCacheStatus = $cacheEnable && $cacheExpire > 0;
465
+        //if can use cache feature for this query
466
+        $dbCacheStatus = $cacheEnable && $cacheExpire > 0;
467 467
     
468
-      if ($dbCacheStatus && $isSqlSELECTQuery){
469
-          $this->logger->info('The cache is enabled for this query, try to get result from cache'); 
470
-          $cacheContent = $this->getCacheContentForQuery($query, $returnAsList, $returnAsArray);  
471
-      }
468
+        if ($dbCacheStatus && $isSqlSELECTQuery){
469
+            $this->logger->info('The cache is enabled for this query, try to get result from cache'); 
470
+            $cacheContent = $this->getCacheContentForQuery($query, $returnAsList, $returnAsArray);  
471
+        }
472 472
       
473
-      if (!$cacheContent){
474
-  	   	//count the number of query execution to server
473
+        if (!$cacheContent){
474
+                //count the number of query execution to server
475 475
         $this->queryCount++;
476 476
         
477 477
         $queryResult = $this->queryRunner->setQuery($query)
478
-                                          ->setReturnType($returnAsList)
479
-                                          ->setReturnAsArray($returnAsArray)
480
-                                          ->execute();
478
+                                            ->setReturnType($returnAsList)
479
+                                            ->setReturnAsArray($returnAsArray)
480
+                                            ->execute();
481 481
 
482 482
         if (!is_object($queryResult)){
483
-          $this->result = false;
484
-          $this->numRows = 0;
485
-          return $this->result;
483
+            $this->result = false;
484
+            $this->numRows = 0;
485
+            return $this->result;
486 486
         }
487 487
         $this->result  = $queryResult->getResult();
488 488
         $this->numRows = $queryResult->getNumRows();
@@ -490,72 +490,72 @@  discard block
 block discarded – undo
490 490
             $key = $this->getCacheKeyForQuery($this->query, $returnAsList, $returnAsArray);
491 491
             $this->setCacheContentForQuery($this->query, $key, $this->result, $cacheExpire);
492 492
         }
493
-      } else if ($isSqlSELECTQuery){
494
-          $this->logger->info('The result for query [' .$this->query. '] already cached use it');
495
-          $this->result = $cacheContent;
496
-          $this->numRows = count($this->result);
497
-      }
498
-      return $this->result;
499
-    }
500
-
501
-   /**
502
-    * Setting the database configuration using the configuration file and additional configuration from param
503
-    * @param array $overwriteConfig the additional configuration to overwrite with the existing one
504
-    * @param boolean $useConfigFile whether to use database configuration file
505
-    * @param boolean $autoConnect whether to connect to database after set the configuration
506
-	  * @return object Database
507
-    */
493
+        } else if ($isSqlSELECTQuery){
494
+            $this->logger->info('The result for query [' .$this->query. '] already cached use it');
495
+            $this->result = $cacheContent;
496
+            $this->numRows = count($this->result);
497
+        }
498
+        return $this->result;
499
+    }
500
+
501
+    /**
502
+     * Setting the database configuration using the configuration file and additional configuration from param
503
+     * @param array $overwriteConfig the additional configuration to overwrite with the existing one
504
+     * @param boolean $useConfigFile whether to use database configuration file
505
+     * @param boolean $autoConnect whether to connect to database after set the configuration
506
+     * @return object Database
507
+     */
508 508
     public function setDatabaseConfiguration(array $overwriteConfig = array(), $useConfigFile = true, $autoConnect = false){
509
-      $db = array();
510
-      if ($useConfigFile && file_exists(CONFIG_PATH . 'database.php')){
511
-          //here don't use require_once because somewhere user can create database instance directly
512
-          require CONFIG_PATH . 'database.php';
513
-      }
509
+        $db = array();
510
+        if ($useConfigFile && file_exists(CONFIG_PATH . 'database.php')){
511
+            //here don't use require_once because somewhere user can create database instance directly
512
+            require CONFIG_PATH . 'database.php';
513
+        }
514 514
       
515
-      //merge with the parameter  
516
-      $db = array_merge($db, $overwriteConfig);
515
+        //merge with the parameter  
516
+        $db = array_merge($db, $overwriteConfig);
517 517
       
518
-      //get the default configuration
519
-      $config = $this->getDatabaseDefaultConfiguration();
518
+        //get the default configuration
519
+        $config = $this->getDatabaseDefaultConfiguration();
520 520
 		  
521
-    	$config = array_merge($config, $db);
522
-    	//determine the port using the hostname like localhost:3307
523
-      //hostname will be "localhost", and port "3307"
524
-      $p = explode(':', $config['hostname']);
525
-  	  if (count($p) >= 2){
526
-  		  $config['hostname'] = $p[0];
527
-  		  $config['port'] = $p[1];
528
-  		}
521
+        $config = array_merge($config, $db);
522
+        //determine the port using the hostname like localhost:3307
523
+        //hostname will be "localhost", and port "3307"
524
+        $p = explode(':', $config['hostname']);
525
+        if (count($p) >= 2){
526
+            $config['hostname'] = $p[0];
527
+            $config['port'] = $p[1];
528
+            }
529 529
 		
530
-		 $this->databaseName = $config['database'];
531
-		 $this->config = $config;
532
-		 $this->logger->info(
533
-								'The database configuration are listed below: ' 
534
-								. stringfy_vars(array_merge(
535
-															$this->config, 
536
-															array('password' => string_hidden($this->config['password']))
537
-												))
538
-							);
539
-  	  if($autoConnect){
540
-    		 //Now connect to the database
541
-    		 $this->connect();
542
-  		}
543
-		 return $this;
544
-    }
545
-
546
-    /**
547
-   * Return the database configuration
548
-   * @return array
549
-   */
530
+            $this->databaseName = $config['database'];
531
+            $this->config = $config;
532
+            $this->logger->info(
533
+                                'The database configuration are listed below: ' 
534
+                                . stringfy_vars(array_merge(
535
+                                                            $this->config, 
536
+                                                            array('password' => string_hidden($this->config['password']))
537
+                                                ))
538
+                            );
539
+        if($autoConnect){
540
+                //Now connect to the database
541
+                $this->connect();
542
+            }
543
+            return $this;
544
+    }
545
+
546
+    /**
547
+     * Return the database configuration
548
+     * @return array
549
+     */
550 550
     public  function getDatabaseConfiguration(){
551
-      return $this->config;
551
+        return $this->config;
552 552
     }
553 553
 
554 554
     /**
555 555
      * Close the connexion
556 556
      */
557 557
     public function close(){
558
-      $this->pdo = null;
558
+        $this->pdo = null;
559 559
     }
560 560
 
561 561
     /**
@@ -563,16 +563,16 @@  discard block
 block discarded – undo
563 563
      * @return array
564 564
      */
565 565
     protected function getDatabaseDefaultConfiguration(){
566
-      return array(
567
-              'driver' => '',
568
-              'username' => '',
569
-              'password' => '',
570
-              'database' => '',
571
-              'hostname' => 'localhost',
572
-              'charset' => 'utf8',
573
-              'collation' => 'utf8_general_ci',
574
-              'prefix' => '',
575
-              'port' => ''
566
+        return array(
567
+                'driver' => '',
568
+                'username' => '',
569
+                'password' => '',
570
+                'database' => '',
571
+                'hostname' => 'localhost',
572
+                'charset' => 'utf8',
573
+                'collation' => 'utf8_general_ci',
574
+                'prefix' => '',
575
+                'port' => ''
576 576
             );
577 577
     }
578 578
 
@@ -581,18 +581,18 @@  discard block
 block discarded – undo
581 581
      * @return void
582 582
      */
583 583
     protected function updateQueryBuilderAndRunnerProperties(){
584
-       //update queryBuilder with some properties needed
585
-     if (is_object($this->queryBuilder)){
584
+        //update queryBuilder with some properties needed
585
+        if (is_object($this->queryBuilder)){
586 586
         $this->queryBuilder->setDriver($this->config['driver'])
587
-                           ->setPrefix($this->config['prefix'])
588
-                           ->setPdo($this->pdo);
589
-     }
587
+                            ->setPrefix($this->config['prefix'])
588
+                            ->setPdo($this->pdo);
589
+        }
590 590
 
591
-      //update queryRunner with some properties needed
592
-     if (is_object($this->queryRunner)){
591
+        //update queryRunner with some properties needed
592
+        if (is_object($this->queryRunner)){
593 593
         $this->queryRunner->setDriver($this->config['driver'])
594
-                          ->setPdo($this->pdo);
595
-     }
594
+                            ->setPdo($this->pdo);
595
+        }
596 596
     }
597 597
 	
598 598
 
@@ -601,21 +601,21 @@  discard block
 block discarded – undo
601 601
      * @return string|null the DSN string or null if can not find it
602 602
      */
603 603
     protected function getDsnValueFromConfig(){
604
-      $dsn = null;
605
-      $config = $this->getDatabaseConfiguration();
606
-      if (! empty($config)){
604
+        $dsn = null;
605
+        $config = $this->getDatabaseConfiguration();
606
+        if (! empty($config)){
607 607
         $driver = $config['driver'];
608 608
         $driverDsnMap = array(
609
-                              'mysql'  => $this->getDsnValueForDriver('mysql'),
610
-                              'pgsql'  => $this->getDsnValueForDriver('pgsql'),
611
-                              'sqlite' => $this->getDsnValueForDriver('sqlite'),
612
-                              'oracle' => $this->getDsnValueForDriver('oracle')
613
-                              );
609
+                                'mysql'  => $this->getDsnValueForDriver('mysql'),
610
+                                'pgsql'  => $this->getDsnValueForDriver('pgsql'),
611
+                                'sqlite' => $this->getDsnValueForDriver('sqlite'),
612
+                                'oracle' => $this->getDsnValueForDriver('oracle')
613
+                                );
614 614
         if (isset($driverDsnMap[$driver])){
615
-          $dsn = $driverDsnMap[$driver];
615
+            $dsn = $driverDsnMap[$driver];
616 616
         }
617
-      }    
618
-      return $dsn;
617
+        }    
618
+        return $dsn;
619 619
     }
620 620
 
621 621
     /**
@@ -624,32 +624,32 @@  discard block
 block discarded – undo
624 624
      * @return string|null         the dsn name
625 625
      */
626 626
     protected function getDsnValueForDriver($driver){
627
-      $dsn = '';
628
-      $config = $this->getDatabaseConfiguration();
629
-      if (empty($config)){
627
+        $dsn = '';
628
+        $config = $this->getDatabaseConfiguration();
629
+        if (empty($config)){
630 630
         return null;
631
-      }
632
-      switch ($driver) {
631
+        }
632
+        switch ($driver) {
633 633
         case 'mysql':
634 634
         case 'pgsql':
635 635
           $port = '';
636
-          if (! empty($config['port'])) {
636
+            if (! empty($config['port'])) {
637 637
             $port = 'port=' . $config['port'] . ';';
638
-          }
639
-          $dsn = $driver . ':host=' . $config['hostname'] . ';' . $port . 'dbname=' . $config['database'];
640
-          break;
638
+            }
639
+            $dsn = $driver . ':host=' . $config['hostname'] . ';' . $port . 'dbname=' . $config['database'];
640
+            break;
641 641
         case 'sqlite':
642 642
           $dsn = 'sqlite:' . $config['database'];
643
-          break;
644
-          case 'oracle':
643
+            break;
644
+            case 'oracle':
645 645
           $port = '';
646
-          if (! empty($config['port'])) {
646
+            if (! empty($config['port'])) {
647 647
             $port = ':' . $config['port'];
648
-          }
649
-          $dsn =  'oci:dbname=' . $config['hostname'] . $port . '/' . $config['database'];
650
-          break;
651
-      }
652
-      return $dsn;
648
+            }
649
+            $dsn =  'oci:dbname=' . $config['hostname'] . $port . '/' . $config['database'];
650
+            break;
651
+        }
652
+        return $dsn;
653 653
     }
654 654
 
655 655
     /**
@@ -661,11 +661,11 @@  discard block
 block discarded – undo
661 661
     protected function getCacheContentForQuery($query, $returnAsList, $returnAsArray){
662 662
         $cacheKey = $this->getCacheKeyForQuery($query, $returnAsList, $returnAsArray);
663 663
         if (! is_object($this->cacheInstance)){
664
-    			//can not call method with reference in argument
665
-    			//like $this->setCacheInstance(& get_instance()->cache);
666
-    			//use temporary variable
667
-    			$instance = & get_instance()->cache;
668
-    			$this->cacheInstance = $instance;
664
+                //can not call method with reference in argument
665
+                //like $this->setCacheInstance(& get_instance()->cache);
666
+                //use temporary variable
667
+                $instance = & get_instance()->cache;
668
+                $this->cacheInstance = $instance;
669 669
         }
670 670
         return $this->cacheInstance->get($cacheKey);
671 671
     }
@@ -677,80 +677,80 @@  discard block
 block discarded – undo
677 677
      * @param mixed $result the query result to save
678 678
      * @param int $expire the cache TTL
679 679
      */
680
-     protected function setCacheContentForQuery($query, $key, $result, $expire){
680
+        protected function setCacheContentForQuery($query, $key, $result, $expire){
681 681
         $this->logger->info('Save the result for query [' .$query. '] into cache for future use');
682 682
         if (! is_object($this->cacheInstance)){
683
-  				//can not call method with reference in argument
684
-  				//like $this->setCacheInstance(& get_instance()->cache);
685
-  				//use temporary variable
686
-  				$instance = & get_instance()->cache;
687
-  				$this->cacheInstance = $instance;
688
-  			}
683
+                    //can not call method with reference in argument
684
+                    //like $this->setCacheInstance(& get_instance()->cache);
685
+                    //use temporary variable
686
+                    $instance = & get_instance()->cache;
687
+                    $this->cacheInstance = $instance;
688
+                }
689 689
         $this->cacheInstance->set($key, $result, $expire);
690
-     }
690
+        }
691 691
 
692 692
     
693
-	 /**
694
-     * Return the cache key for the given query
695
-     * @see Database::query
696
-     * 
697
-     *  @return string
698
-     */
693
+        /**
694
+         * Return the cache key for the given query
695
+         * @see Database::query
696
+         * 
697
+         *  @return string
698
+         */
699 699
     protected function getCacheKeyForQuery($query, $returnAsList, $returnAsArray){
700
-      return md5($query . $returnAsList . $returnAsArray);
701
-    }
702
-
703
-     /**
704
-     * Set the dependencies instance using argument or create new instance if is null
705
-     * @param string $name this class property name.
706
-     * @param object $instance the instance. If is not null will use it
707
-     * otherwise will create new instance.
708
-     * @param string $loadClassName the name of class to load using class_loader function.
709
-     * @param string $loadClassPath the path of class to load using class_loader function.
710
-     *
711
-     * @return object this current instance
712
-     */
700
+        return md5($query . $returnAsList . $returnAsArray);
701
+    }
702
+
703
+        /**
704
+         * Set the dependencies instance using argument or create new instance if is null
705
+         * @param string $name this class property name.
706
+         * @param object $instance the instance. If is not null will use it
707
+         * otherwise will create new instance.
708
+         * @param string $loadClassName the name of class to load using class_loader function.
709
+         * @param string $loadClassPath the path of class to load using class_loader function.
710
+         *
711
+         * @return object this current instance
712
+         */
713 713
     protected function setDependencyInstanceFromParamOrCreate($name, $instance = null, $loadClassName = null, $loadClassePath = 'classes'){
714
-      if ($instance !== null){
714
+        if ($instance !== null){
715 715
         $this->{$name} = $instance;
716 716
         return $this;
717
-      }
718
-      $this->{$name} =& class_loader($loadClassName, $loadClassePath);
719
-      return $this;
717
+        }
718
+        $this->{$name} =& class_loader($loadClassName, $loadClassePath);
719
+        return $this;
720 720
     }
721 721
     
722
-	   /**
723
-     * Set the Log instance using argument or create new instance
724
-     * @param object $logger the Log instance if not null
725
-     *
726
-     * @return object this current instance
727
-     */
722
+        /**
723
+         * Set the Log instance using argument or create new instance
724
+         * @param object $logger the Log instance if not null
725
+         *
726
+         * @return object this current instance
727
+         */
728 728
     protected function setLoggerFromParamOrCreate(Log $logger = null){
729
-      $this->setDependencyInstanceFromParamOrCreate('logger', $logger, 'Log', 'classes');
730
-      if ($logger === null){
729
+        $this->setDependencyInstanceFromParamOrCreate('logger', $logger, 'Log', 'classes');
730
+        if ($logger === null){
731 731
         $this->logger->setLogger('Library::Database');
732
-      }
733
-      return $this;
732
+        }
733
+        return $this;
734 734
     }
735 735
 	
736 736
     /**
737 737
      * Reset the database class attributs to the initail values before each query.
738 738
      */
739 739
     private function reset(){
740
-	   //query builder reset
741
-      $this->queryBuilder->reset();
742
-      $this->numRows  = 0;
743
-      $this->insertId = null;
744
-      $this->query    = null;
745
-      $this->result   = array();
746
-      $this->data     = array();
740
+        //query builder reset
741
+        $this->queryBuilder->reset();
742
+        $this->numRows  = 0;
743
+        $this->insertId = null;
744
+        $this->query    = null;
745
+        $this->result   = array();
746
+        $this->data     = array();
747 747
     }
748 748
 
749 749
     /**
750 750
      * The class destructor
751 751
      */
752 752
     public function __destruct(){
753
-      $this->pdo = null;
753
+        $this->pdo = null;
754 754
     }
755 755
 
756 756
 }
Please login to merge, or discard this patch.
core/bootstrap.php 1 patch
Indentation   +167 added lines, -167 removed lines patch added patch discarded remove patch
@@ -1,197 +1,197 @@
 block discarded – undo
1 1
 <?php
2
-	defined('ROOT_PATH') || exit('Access denied');
3
-	/**
4
-	 * TNH Framework
5
-	 *
6
-	 * A simple PHP framework using HMVC architecture
7
-	 *
8
-	 * This content is released under the GNU GPL License (GPL)
9
-	 *
10
-	 * Copyright (C) 2017 Tony NGUEREZA
11
-	 *
12
-	 * This program is free software; you can redistribute it and/or
13
-	 * modify it under the terms of the GNU General Public License
14
-	 * as published by the Free Software Foundation; either version 3
15
-	 * of the License, or (at your option) any later version.
16
-	 *
17
-	 * This program is distributed in the hope that it will be useful,
18
-	 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
-	 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
-	 * GNU General Public License for more details.
21
-	 *
22
-	 * You should have received a copy of the GNU General Public License
23
-	 * along with this program; if not, write to the Free Software
24
-	 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25
-	*/
2
+    defined('ROOT_PATH') || exit('Access denied');
3
+    /**
4
+     * TNH Framework
5
+     *
6
+     * A simple PHP framework using HMVC architecture
7
+     *
8
+     * This content is released under the GNU GPL License (GPL)
9
+     *
10
+     * Copyright (C) 2017 Tony NGUEREZA
11
+     *
12
+     * This program is free software; you can redistribute it and/or
13
+     * modify it under the terms of the GNU General Public License
14
+     * as published by the Free Software Foundation; either version 3
15
+     * of the License, or (at your option) any later version.
16
+     *
17
+     * This program is distributed in the hope that it will be useful,
18
+     * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
+     * GNU General Public License for more details.
21
+     *
22
+     * You should have received a copy of the GNU General Public License
23
+     * along with this program; if not, write to the Free Software
24
+     * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25
+     */
26 26
 
27
-	/**
28
-	 *  @file bootstrap.php
29
-	 *  
30
-	 *  Contains the loading process: loading of constants, common functions, libraries 
31
-	 *  configurations, etc
32
-	 *  verification of the environment and the routing of the request.
33
-	 *  
34
-	 *  @package	core	
35
-	 *  @author	Tony NGUEREZA
36
-	 *  @copyright	Copyright (c) 2017
37
-	 *  @license	https://opensource.org/licenses/gpl-3.0.html GNU GPL License (GPL)
38
-	 *  @link	http://www.iacademy.cf
39
-	 *  @version 1.0.0
40
-	 *  @filesource
41
-	 */
27
+    /**
28
+     *  @file bootstrap.php
29
+     *  
30
+     *  Contains the loading process: loading of constants, common functions, libraries 
31
+     *  configurations, etc
32
+     *  verification of the environment and the routing of the request.
33
+     *  
34
+     *  @package	core	
35
+     *  @author	Tony NGUEREZA
36
+     *  @copyright	Copyright (c) 2017
37
+     *  @license	https://opensource.org/licenses/gpl-3.0.html GNU GPL License (GPL)
38
+     *  @link	http://www.iacademy.cf
39
+     *  @version 1.0.0
40
+     *  @filesource
41
+     */
42 42
 	
43
-	//if the application is running in CLI mode $_SESSION global variable is not available
44
-	if(IS_CLI){
45
-		$_SESSION = array();
46
-	}
43
+    //if the application is running in CLI mode $_SESSION global variable is not available
44
+    if(IS_CLI){
45
+        $_SESSION = array();
46
+    }
47 47
 		
48
-	/**
49
-	*  inclusion of global constants of the environment that contain : name of the framework,
50
-	*  version, release date, version of PHP required, etc.
51
-	*/
52
-	require_once CORE_PATH . 'constants.php';	
48
+    /**
49
+     *  inclusion of global constants of the environment that contain : name of the framework,
50
+     *  version, release date, version of PHP required, etc.
51
+     */
52
+    require_once CORE_PATH . 'constants.php';	
53 53
 	
54
-	/**
55
-	 *  include file containing commons functions used in the framework such: show_error, 
56
-	 *  php_exception_handler, php_error_handler, get_instance, etc.
57
-	 */
58
-	require_once CORE_PATH . 'common.php';
54
+    /**
55
+     *  include file containing commons functions used in the framework such: show_error, 
56
+     *  php_exception_handler, php_error_handler, get_instance, etc.
57
+     */
58
+    require_once CORE_PATH . 'common.php';
59 59
 
60
-	/**
61
-	 * The Benchmark class
62
-	 */
63
-	$BENCHMARK =& class_loader('Benchmark');
60
+    /**
61
+     * The Benchmark class
62
+     */
63
+    $BENCHMARK =& class_loader('Benchmark');
64 64
 	
65
-	$BENCHMARK->mark('APP_EXECUTION_START');
65
+    $BENCHMARK->mark('APP_EXECUTION_START');
66 66
 	
67
-	/**
68
-    * instance of the Log class
69
-    */
67
+    /**
68
+     * instance of the Log class
69
+     */
70 70
     $LOGGER =& class_loader('Log', 'classes');
71 71
 
72 72
     $LOGGER->setLogger('ApplicationBootstrap');
73 73
 
74 74
     $LOGGER->debug('Checking PHP version ...');	
75 75
 	
76
-	/**
77
-	* Verification of the PHP environment: minimum and maximum version
78
-	*/
79
-	if (version_compare(phpversion(), TNH_REQUIRED_PHP_MIN_VERSION, '<')){
80
-		show_error('Your PHP Version [' . phpversion() . '] is less than [' . TNH_REQUIRED_PHP_MIN_VERSION . '], please install a new version or update your PHP to the latest.', 'PHP Error environment');	
81
-	}
82
-	else if(version_compare(phpversion(), TNH_REQUIRED_PHP_MAX_VERSION, '>')){
83
-		show_error('Your PHP Version [' . phpversion() . '] is greather than [' . TNH_REQUIRED_PHP_MAX_VERSION . '] please install a PHP version that is compatible.', 'PHP Error environment');	
84
-	}
85
-	$LOGGER->info('PHP version [' . phpversion() . '] is OK [REQUIRED MINIMUM: ' . TNH_REQUIRED_PHP_MIN_VERSION . ', REQUIRED MAXIMUM: ' . TNH_REQUIRED_PHP_MAX_VERSION . '], application can work without any issue');
76
+    /**
77
+     * Verification of the PHP environment: minimum and maximum version
78
+     */
79
+    if (version_compare(phpversion(), TNH_REQUIRED_PHP_MIN_VERSION, '<')){
80
+        show_error('Your PHP Version [' . phpversion() . '] is less than [' . TNH_REQUIRED_PHP_MIN_VERSION . '], please install a new version or update your PHP to the latest.', 'PHP Error environment');	
81
+    }
82
+    else if(version_compare(phpversion(), TNH_REQUIRED_PHP_MAX_VERSION, '>')){
83
+        show_error('Your PHP Version [' . phpversion() . '] is greather than [' . TNH_REQUIRED_PHP_MAX_VERSION . '] please install a PHP version that is compatible.', 'PHP Error environment');	
84
+    }
85
+    $LOGGER->info('PHP version [' . phpversion() . '] is OK [REQUIRED MINIMUM: ' . TNH_REQUIRED_PHP_MIN_VERSION . ', REQUIRED MAXIMUM: ' . TNH_REQUIRED_PHP_MAX_VERSION . '], application can work without any issue');
86 86
 
87
-	/**
88
-	* Setting of the PHP error message handling function
89
-	*/
90
-	set_error_handler('php_error_handler');
87
+    /**
88
+     * Setting of the PHP error message handling function
89
+     */
90
+    set_error_handler('php_error_handler');
91 91
 
92
-	/**
93
-	* Setting of the PHP error exception handling function
94
-	*/
95
-	set_exception_handler('php_exception_handler');
92
+    /**
93
+     * Setting of the PHP error exception handling function
94
+     */
95
+    set_exception_handler('php_exception_handler');
96 96
 
97
-	/**
98
-	 * Setting of the PHP shutdown handling function
99
-	 */
100
-	register_shutdown_function('php_shudown_handler');
97
+    /**
98
+     * Setting of the PHP shutdown handling function
99
+     */
100
+    register_shutdown_function('php_shudown_handler');
101 101
 	
102
-	//if user have some composer packages
103
-	$LOGGER->debug('Check for composer autoload');
104
-	if(file_exists(VENDOR_PATH . 'autoload.php')){
105
-		$LOGGER->info('The composer autoload file exists include it');
106
-		require_once VENDOR_PATH . 'autoload.php';
107
-	}
108
-	else{
109
-		$LOGGER->info('The composer autoload file does not exist skipping');
110
-	}
102
+    //if user have some composer packages
103
+    $LOGGER->debug('Check for composer autoload');
104
+    if(file_exists(VENDOR_PATH . 'autoload.php')){
105
+        $LOGGER->info('The composer autoload file exists include it');
106
+        require_once VENDOR_PATH . 'autoload.php';
107
+    }
108
+    else{
109
+        $LOGGER->info('The composer autoload file does not exist skipping');
110
+    }
111 111
 	
112
-	$LOGGER->debug('Begin to load the required resources');
112
+    $LOGGER->debug('Begin to load the required resources');
113 113
 
114
-	/**
115
-	 * Load the EventInfo class file
116
-	 */
117
-	require_once CORE_CLASSES_PATH . 'EventInfo.php';
114
+    /**
115
+     * Load the EventInfo class file
116
+     */
117
+    require_once CORE_CLASSES_PATH . 'EventInfo.php';
118 118
 
119 119
 
120
-	$BENCHMARK->mark('CONFIG_INIT_START');
121
-	/**
122
-	* Load configurations and using the 
123
-	* static method "init()" to initialize the Config class .
124
-	*/
125
-	$CONFIG =& class_loader('Config', 'classes');	
126
-	$CONFIG->init();
127
-	$BENCHMARK->mark('CONFIG_INIT_END');
120
+    $BENCHMARK->mark('CONFIG_INIT_START');
121
+    /**
122
+     * Load configurations and using the 
123
+     * static method "init()" to initialize the Config class .
124
+     */
125
+    $CONFIG =& class_loader('Config', 'classes');	
126
+    $CONFIG->init();
127
+    $BENCHMARK->mark('CONFIG_INIT_END');
128 128
 
129
-	$BENCHMARK->mark('MODULE_INIT_START');
130
-	/**
131
-	* Load modules and using the 
132
-	* static method "init()" to initialize the Module class.
133
-	*/
134
-	$MODULE =& class_loader('Module', 'classes');
135
-	$MODULE->init();
136
-	$BENCHMARK->mark('MODULE_INIT_END');
129
+    $BENCHMARK->mark('MODULE_INIT_START');
130
+    /**
131
+     * Load modules and using the 
132
+     * static method "init()" to initialize the Module class.
133
+     */
134
+    $MODULE =& class_loader('Module', 'classes');
135
+    $MODULE->init();
136
+    $BENCHMARK->mark('MODULE_INIT_END');
137 137
 
138
-	$LOGGER->debug('Loading Base Controller ...');
139
-	/**
140
-	 * Include of the file containing the Base Controller class 
141
-	 */
142
-	require_once CORE_CLASSES_PATH . 'Controller.php';
143
-	$LOGGER->info('Base Controller loaded successfully');
138
+    $LOGGER->debug('Loading Base Controller ...');
139
+    /**
140
+     * Include of the file containing the Base Controller class 
141
+     */
142
+    require_once CORE_CLASSES_PATH . 'Controller.php';
143
+    $LOGGER->info('Base Controller loaded successfully');
144 144
 
145
-	/**
146
-	* Register controllers autoload function
147
-	*/
148
-	 spl_autoload_register('autoload_controller');
145
+    /**
146
+     * Register controllers autoload function
147
+     */
148
+        spl_autoload_register('autoload_controller');
149 149
 
150
-	/**
151
-	* Loading Security class
152
-	*/
153
-	$SECURITY =& class_loader('Security', 'classes');
154
-	$SECURITY->checkWhiteListIpAccess();
150
+    /**
151
+     * Loading Security class
152
+     */
153
+    $SECURITY =& class_loader('Security', 'classes');
154
+    $SECURITY->checkWhiteListIpAccess();
155 155
 	
156
-	/**
157
-	* Loading Url class
158
-	*/
159
-	$URL =& class_loader('Url', 'classes');
156
+    /**
157
+     * Loading Url class
158
+     */
159
+    $URL =& class_loader('Url', 'classes');
160 160
 	
161
-	if(get_config('cache_enable', false)){
162
-		/**
163
-		 * Load Cache interface file
164
-		 */
165
-		require_once CORE_CLASSES_CACHE_PATH . 'CacheInterface.php';
166
-		$cacheHandler = get_config('cache_handler');
167
-		if(! $cacheHandler){
168
-			show_error('The cache feature is enabled in the configuration but the cache handler class is not set.');
169
-		}
170
-		$CACHE = null;
171
-		//first check if the cache handler is the system driver
172
-		if(file_exists(CORE_CLASSES_CACHE_PATH . $cacheHandler . '.php')){
173
-			$CACHE =& class_loader($cacheHandler, 'classes/cache');
174
-		}
175
-		else{
176
-			//it's not a system driver use user library
177
-			$CACHE =& class_loader($cacheHandler);
178
-		}
179
-		//check if the page already cached
180
-		if(! empty($_SERVER['REQUEST_METHOD']) && strtolower($_SERVER['REQUEST_METHOD']) == 'get'){
181
-			$RESPONSE = & class_loader('Response', 'classes');
182
-			if($RESPONSE->renderFinalPageFromCache($CACHE)){
183
-				return;
184
-			}
185
-		}
186
-	}
161
+    if(get_config('cache_enable', false)){
162
+        /**
163
+         * Load Cache interface file
164
+         */
165
+        require_once CORE_CLASSES_CACHE_PATH . 'CacheInterface.php';
166
+        $cacheHandler = get_config('cache_handler');
167
+        if(! $cacheHandler){
168
+            show_error('The cache feature is enabled in the configuration but the cache handler class is not set.');
169
+        }
170
+        $CACHE = null;
171
+        //first check if the cache handler is the system driver
172
+        if(file_exists(CORE_CLASSES_CACHE_PATH . $cacheHandler . '.php')){
173
+            $CACHE =& class_loader($cacheHandler, 'classes/cache');
174
+        }
175
+        else{
176
+            //it's not a system driver use user library
177
+            $CACHE =& class_loader($cacheHandler);
178
+        }
179
+        //check if the page already cached
180
+        if(! empty($_SERVER['REQUEST_METHOD']) && strtolower($_SERVER['REQUEST_METHOD']) == 'get'){
181
+            $RESPONSE = & class_loader('Response', 'classes');
182
+            if($RESPONSE->renderFinalPageFromCache($CACHE)){
183
+                return;
184
+            }
185
+        }
186
+    }
187 187
 	
188
-	//load model class
189
-	require_once CORE_CLASSES_MODEL_PATH . 'Model.php';
188
+    //load model class
189
+    require_once CORE_CLASSES_MODEL_PATH . 'Model.php';
190 190
 	
191
-	$LOGGER->info('Everything is OK load Router library and dispatch the request to the corresponding controller');
192
-	/**
193
-	* Routing
194
-	* instantiation of the "Router" class and request processing.
195
-	*/
196
-	$ROUTER = & class_loader('Router', 'classes');
197
-	$ROUTER->processRequest();
191
+    $LOGGER->info('Everything is OK load Router library and dispatch the request to the corresponding controller');
192
+    /**
193
+     * Routing
194
+     * instantiation of the "Router" class and request processing.
195
+     */
196
+    $ROUTER = & class_loader('Router', 'classes');
197
+    $ROUTER->processRequest();
Please login to merge, or discard this patch.