Passed
Push — 1.0.0-dev ( 4efac2...b68981 )
by nguereza
02:49
created
core/classes/database/DatabaseQueryRunner.php 3 patches
Indentation   +166 added lines, -166 removed lines patch added patch discarded remove patch
@@ -1,90 +1,90 @@  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 DatabaseQueryRunner{
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 DatabaseQueryRunner{
27 27
       
28 28
     /**
29
-	* The logger instance
30
-	* @var object
31
-	*/
29
+     * The logger instance
30
+     * @var object
31
+     */
32 32
     private $logger            = null;
33 33
     
34
-  	/**
35
-  	 * The last query result
36
-  	 * @var object
37
-  	*/
38
-  	private $queryResult       = null;
34
+        /**
35
+         * The last query result
36
+         * @var object
37
+         */
38
+        private $queryResult       = null;
39 39
   	
40
-  	/**
41
-    * The benchmark instance
42
-    * @var object
43
-    */
40
+        /**
41
+         * The benchmark instance
42
+         * @var object
43
+         */
44 44
     private $benchmarkInstance = null;
45 45
     
46 46
     /**
47
-	 * The SQL query statment to execute
48
-	 * @var string
49
-	*/
47
+     * The SQL query statment to execute
48
+     * @var string
49
+     */
50 50
     private $query             = null;
51 51
     
52 52
     /**
53
-	 * Indicate if we need return result as list (boolean) 
53
+     * Indicate if we need return result as list (boolean) 
54 54
      * or the data used to replace the placeholder (array)
55
-	 * @var array|boolean
56
-	 */
57
-     private $all               = true;
55
+     * @var array|boolean
56
+     */
57
+        private $all               = true;
58 58
      
59 59
      
60
-     /**
61
-	   * Indicate if we need return result as array or not
62
-     * @var boolean
63
-	   */
64
-     private $returnAsArray     = true;
60
+        /**
61
+         * Indicate if we need return result as array or not
62
+         * @var boolean
63
+         */
64
+        private $returnAsArray     = true;
65 65
      
66
-     /**
67
-     * The last PDOStatment instance
68
-     * @var object
69
-     */
70
-     private $pdoStatment       = null;
66
+        /**
67
+         * The last PDOStatment instance
68
+         * @var object
69
+         */
70
+        private $pdoStatment       = null;
71 71
      
72
-     /**
73
-  	 * The error returned for the last query
74
-  	 * @var string
75
-  	 */
76
-     private $error             = null;
72
+        /**
73
+         * The error returned for the last query
74
+         * @var string
75
+         */
76
+        private $error             = null;
77 77
 	
78 78
     /**
79 79
      * The PDO instance
80 80
      * @var object
81
-    */
81
+     */
82 82
     private $pdo                = null;
83 83
   
84 84
     /**
85 85
      * The database driver name used
86 86
      * @var string
87
-    */
87
+     */
88 88
     private $driver             = null;
89 89
 
90 90
 
@@ -98,7 +98,7 @@  discard block
 block discarded – undo
98 98
      */
99 99
     public function __construct(PDO $pdo = null, $query = null, $returnAsList = true, $returnAsArray = false){
100 100
         if (is_object($pdo)){
101
-          $this->pdo = $pdo;
101
+            $this->pdo = $pdo;
102 102
         }
103 103
         $this->query = $query;
104 104
         $this->returnAsList = $returnAsList;
@@ -116,16 +116,16 @@  discard block
 block discarded – undo
116 116
         //reset instance
117 117
         $this->reset();
118 118
        
119
-       //for database query execution time
119
+        //for database query execution time
120 120
         $benchmarkMarkerKey = $this->getBenchmarkKey();
121 121
         if (! is_object($this->benchmarkInstance)){
122
-          $this->benchmarkInstance = & class_loader('Benchmark');
122
+            $this->benchmarkInstance = & class_loader('Benchmark');
123 123
         }
124 124
         
125 125
         $this->logger->info(
126
-                          'Execute SQL query [' . $this->query . '], return type: ' 
127
-                          . ($this->returnAsArray ? 'ARRAY' : 'OBJECT') .', return as list: ' 
128
-                          . ($this->returnAsList ? 'YES':'NO')
126
+                            'Execute SQL query [' . $this->query . '], return type: ' 
127
+                            . ($this->returnAsArray ? 'ARRAY' : 'OBJECT') .', return as list: ' 
128
+                            . ($this->returnAsList ? 'YES':'NO')
129 129
                         );
130 130
 
131 131
         $this->benchmarkInstance->mark('DATABASE_QUERY_START(' . $benchmarkMarkerKey . ')');                
@@ -136,101 +136,101 @@  discard block
 block discarded – undo
136 136
         $responseTime = $this->benchmarkInstance->elapsedTime(
137 137
                                                                 'DATABASE_QUERY_START(' . $benchmarkMarkerKey . ')', 
138 138
                                                                 'DATABASE_QUERY_END(' . $benchmarkMarkerKey . ')'
139
-                                                              );
140
-		    //TODO use the configuration value for the high response time currently is 1 second
139
+                                                                );
140
+            //TODO use the configuration value for the high response time currently is 1 second
141 141
         if ($responseTime >= 1 ){
142 142
             $this->logger->warning(
143 143
                                     'High response time while processing database query [' . $this->query . ']. 
144 144
                                      The response time is [' .$responseTime. '] sec.'
145
-                                  );
145
+                                    );
146 146
         }
147 147
 		
148 148
         if ($this->pdoStatment !== false){
149
-          $isSqlSELECTQuery = stristr($this->query, 'SELECT') !== false;
150
-          if($isSqlSELECTQuery){
151
-              $this->setResultForSelect();              
152
-          }
153
-          else{
154
-              $this->setResultForNonSelect();
155
-          }
156
-          return $this->queryResult;
149
+            $isSqlSELECTQuery = stristr($this->query, 'SELECT') !== false;
150
+            if($isSqlSELECTQuery){
151
+                $this->setResultForSelect();              
152
+            }
153
+            else{
154
+                $this->setResultForNonSelect();
155
+            }
156
+            return $this->queryResult;
157 157
         }
158 158
         $this->setQueryRunnerError();
159 159
     }
160 160
 	
161
-   /**
162
-   * Return the result for SELECT query
163
-   * @see DatabaseQueryRunner::execute
164
-   */
161
+    /**
162
+     * Return the result for SELECT query
163
+     * @see DatabaseQueryRunner::execute
164
+     */
165 165
     protected function setResultForSelect(){
166
-      //if need return all result like list of record
167
-      $result = null;
168
-      $numRows = 0;
169
-      $fetchMode = PDO::FETCH_OBJ;
170
-      if($this->returnAsArray){
166
+        //if need return all result like list of record
167
+        $result = null;
168
+        $numRows = 0;
169
+        $fetchMode = PDO::FETCH_OBJ;
170
+        if($this->returnAsArray){
171 171
         $fetchMode = PDO::FETCH_ASSOC;
172
-      }
173
-      if ($this->returnAsList){
174
-          $result = $this->pdoStatment->fetchAll($fetchMode);
175
-      }
176
-      else{
177
-          $result = $this->pdoStatment->fetch($fetchMode);
178
-      }
179
-      //Sqlite and pgsql always return 0 when using rowCount()
180
-      if (in_array($this->driver, array('sqlite', 'pgsql'))){
172
+        }
173
+        if ($this->returnAsList){
174
+            $result = $this->pdoStatment->fetchAll($fetchMode);
175
+        }
176
+        else{
177
+            $result = $this->pdoStatment->fetch($fetchMode);
178
+        }
179
+        //Sqlite and pgsql always return 0 when using rowCount()
180
+        if (in_array($this->driver, array('sqlite', 'pgsql'))){
181 181
         $numRows = count($result);  
182
-      }
183
-      else{
182
+        }
183
+        else{
184 184
         $numRows = $this->pdoStatment->rowCount(); 
185
-      }
186
-      if(! is_object($this->queryResult)){
187
-          $this->queryResult = & class_loader('DatabaseQueryResult', 'classes/database');
188
-      }
189
-      $this->queryResult->setResult($result);
190
-      $this->queryResult->setNumRows($numRows);
185
+        }
186
+        if(! is_object($this->queryResult)){
187
+            $this->queryResult = & class_loader('DatabaseQueryResult', 'classes/database');
188
+        }
189
+        $this->queryResult->setResult($result);
190
+        $this->queryResult->setNumRows($numRows);
191 191
     }
192 192
 
193 193
     /**
194
-   * Return the result for non SELECT query
195
-   * @see DatabaseQueryRunner::execute
196
-   */
194
+     * Return the result for non SELECT query
195
+     * @see DatabaseQueryRunner::execute
196
+     */
197 197
     protected function setResultForNonSelect(){
198
-      //Sqlite and pgsql always return 0 when using rowCount()
199
-      $result = false;
200
-      $numRows = 0;
201
-      if (in_array($this->driver, array('sqlite', 'pgsql'))){
198
+        //Sqlite and pgsql always return 0 when using rowCount()
199
+        $result = false;
200
+        $numRows = 0;
201
+        if (in_array($this->driver, array('sqlite', 'pgsql'))){
202 202
         $result = true; //to test the result for the query like UPDATE, INSERT, DELETE
203 203
         $numRows = 1; //TODO use the correct method to get the exact affected row
204
-      }
205
-      else{
206
-          //to test the result for the query like UPDATE, INSERT, DELETE
207
-          $result  = $this->pdoStatment->rowCount() >= 0; 
208
-          $numRows = $this->pdoStatment->rowCount(); 
209
-      }
210
-      if(! is_object($this->queryResult)){
211
-          $this->queryResult = & class_loader('DatabaseQueryResult', 'classes/database');
212
-      }
213
-      $this->queryResult->setResult($result);
214
-      $this->queryResult->setNumRows($numRows);
204
+        }
205
+        else{
206
+            //to test the result for the query like UPDATE, INSERT, DELETE
207
+            $result  = $this->pdoStatment->rowCount() >= 0; 
208
+            $numRows = $this->pdoStatment->rowCount(); 
209
+        }
210
+        if(! is_object($this->queryResult)){
211
+            $this->queryResult = & class_loader('DatabaseQueryResult', 'classes/database');
212
+        }
213
+        $this->queryResult->setResult($result);
214
+        $this->queryResult->setNumRows($numRows);
215 215
     }
216 216
 
217 217
 
218
-	/**
218
+    /**
219 219
      * Return the benchmark instance
220 220
      * @return Benchmark
221 221
      */
222 222
     public function getBenchmark(){
223
-      return $this->benchmarkInstance;
223
+        return $this->benchmarkInstance;
224 224
     }
225 225
 
226 226
     /**
227 227
      * Set the benchmark instance
228 228
      * @param Benchmark $benchmark the benchmark object
229
-	 * @return object DatabaseQueryRunner
229
+     * @return object DatabaseQueryRunner
230 230
      */
231 231
     public function setBenchmark($benchmark){
232
-      $this->benchmarkInstance = $benchmark;
233
-      return $this;
232
+        $this->benchmarkInstance = $benchmark;
233
+        return $this;
234 234
     }
235 235
     
236 236
     /**
@@ -239,18 +239,18 @@  discard block
 block discarded – undo
239 239
      * @return object DatabaseQueryResult
240 240
      */
241 241
     public function getQueryResult(){
242
-      return $this->queryResult;
242
+        return $this->queryResult;
243 243
     }
244 244
 
245 245
     /**
246 246
      * Set the database query result instance
247 247
      * @param object $queryResult the query result
248 248
      *
249
-	 * @return object DatabaseQueryRunner
249
+     * @return object DatabaseQueryRunner
250 250
      */
251 251
     public function setQueryResult(DatabaseQueryResult $queryResult){
252
-      $this->queryResult = $queryResult;
253
-      return $this;
252
+        $this->queryResult = $queryResult;
253
+        return $this;
254 254
     }
255 255
     
256 256
     /**
@@ -258,17 +258,17 @@  discard block
 block discarded – undo
258 258
      * @return Log
259 259
      */
260 260
     public function getLogger(){
261
-      return $this->logger;
261
+        return $this->logger;
262 262
     }
263 263
 
264 264
     /**
265 265
      * Set the log instance
266 266
      * @param Log $logger the log object
267
-	 * @return object DatabaseQueryRunner
267
+     * @return object DatabaseQueryRunner
268 268
      */
269 269
     public function setLogger($logger){
270
-      $this->logger = $logger;
271
-      return $this;
270
+        $this->logger = $logger;
271
+        return $this;
272 272
     }
273 273
     
274 274
     /**
@@ -276,7 +276,7 @@  discard block
 block discarded – undo
276 276
      * @return string
277 277
      */
278 278
     public function getQuery(){
279
-      return $this->query;
279
+        return $this->query;
280 280
     }
281 281
     
282 282
     /**
@@ -285,8 +285,8 @@  discard block
 block discarded – undo
285 285
      * @return object DatabaseQueryRunner
286 286
      */
287 287
     public function setQuery($query){
288
-       $this->query = $query;
289
-       return $this;
288
+        $this->query = $query;
289
+        return $this;
290 290
     }
291 291
     
292 292
     /**
@@ -295,8 +295,8 @@  discard block
 block discarded – undo
295 295
      * @return object DatabaseQueryRunner
296 296
      */
297 297
     public function setReturnType($returnType){
298
-       $this->returnAsList = $returnType;
299
-       return $this;
298
+        $this->returnAsList = $returnType;
299
+        return $this;
300 300
     }
301 301
     
302 302
     /**
@@ -305,8 +305,8 @@  discard block
 block discarded – undo
305 305
      * @return object DatabaseQueryRunner
306 306
      */
307 307
     public function setReturnAsArray($status = true){
308
-       $this->returnAsArray = $status;
309
-       return $this;
308
+        $this->returnAsArray = $status;
309
+        return $this;
310 310
     }
311 311
     
312 312
     /**
@@ -314,7 +314,7 @@  discard block
 block discarded – undo
314 314
      * @return string
315 315
      */
316 316
     public function getQueryError(){
317
-      return $this->error;
317
+        return $this->error;
318 318
     }
319 319
 
320 320
     /**
@@ -322,7 +322,7 @@  discard block
 block discarded – undo
322 322
      * @return object
323 323
      */
324 324
     public function getPdo(){
325
-      return $this->pdo;
325
+        return $this->pdo;
326 326
     }
327 327
 
328 328
     /**
@@ -331,16 +331,16 @@  discard block
 block discarded – undo
331 331
      * @return object DatabaseQueryRunner
332 332
      */
333 333
     public function setPdo(PDO $pdo = null){
334
-      $this->pdo = $pdo;
335
-      return $this;
334
+        $this->pdo = $pdo;
335
+        return $this;
336 336
     }
337 337
   
338
-     /**
339
-     * Return the database driver
340
-     * @return string
341
-     */
338
+        /**
339
+         * Return the database driver
340
+         * @return string
341
+         */
342 342
     public function getDriver(){
343
-      return $this->driver;
343
+        return $this->driver;
344 344
     }
345 345
 
346 346
     /**
@@ -349,8 +349,8 @@  discard block
 block discarded – undo
349 349
      * @return object DatabaseQueryRunner
350 350
      */
351 351
     public function setDriver($driver){
352
-      $this->driver = $driver;
353
-      return $this;
352
+        $this->driver = $driver;
353
+        return $this;
354 354
     }
355 355
     
356 356
     /**
@@ -359,18 +359,18 @@  discard block
 block discarded – undo
359 359
      *  @return string
360 360
      */
361 361
     protected function getBenchmarkKey(){
362
-      return md5($this->query . $this->returnAsList . $this->returnAsArray);
362
+        return md5($this->query . $this->returnAsList . $this->returnAsArray);
363 363
     }
364 364
     
365 365
     /**
366 366
      * Set error for database query execution
367 367
      */
368 368
     protected function setQueryRunnerError(){
369
-      $error = $this->pdo->errorInfo();
370
-      $this->error = isset($error[2]) ? $error[2] : '';
371
-      $this->logger->error('The database query execution got an error: ' . stringfy_vars($error));
372
-	  //show error message
373
-      show_error('Query: "' . $this->query . '" Error: ' . $this->error, 'Database Error');
369
+        $error = $this->pdo->errorInfo();
370
+        $this->error = isset($error[2]) ? $error[2] : '';
371
+        $this->logger->error('The database query execution got an error: ' . stringfy_vars($error));
372
+        //show error message
373
+        show_error('Query: "' . $this->query . '" Error: ' . $this->error, 'Database Error');
374 374
     }
375 375
     
376 376
     /**
@@ -378,19 +378,19 @@  discard block
 block discarded – undo
378 378
      * @param object $logger the Log instance if not null
379 379
      */
380 380
     protected function setLoggerFromParamOrCreateNewInstance(Log $logger = null){
381
-      if ($logger !== null){
381
+        if ($logger !== null){
382 382
         $this->logger = $logger;
383
-      }
384
-      else{
385
-          $this->logger =& class_loader('Log', 'classes');
386
-          $this->logger->setLogger('Library::DatabaseQueryRunner');
387
-      }
383
+        }
384
+        else{
385
+            $this->logger =& class_loader('Log', 'classes');
386
+            $this->logger->setLogger('Library::DatabaseQueryRunner');
387
+        }
388 388
     }
389 389
     
390 390
     
391 391
     /**
392
-    * Reset the instance before run each query
393
-    */
392
+     * Reset the instance before run each query
393
+     */
394 394
     private function reset(){
395 395
         $this->error = null;
396 396
         $this->pdoStatment = null;
Please login to merge, or discard this patch.
Spacing   +54 added lines, -54 removed lines patch added patch discarded remove patch
@@ -23,19 +23,19 @@  discard block
 block discarded – undo
23 23
    * along with this program; if not, write to the Free Software
24 24
    * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25 25
   */
26
-  class DatabaseQueryRunner{
26
+  class DatabaseQueryRunner {
27 27
       
28 28
     /**
29 29
 	* The logger instance
30 30
 	* @var object
31 31
 	*/
32
-    private $logger            = null;
32
+    private $logger = null;
33 33
     
34 34
   	/**
35 35
   	 * The last query result
36 36
   	 * @var object
37 37
   	*/
38
-  	private $queryResult       = null;
38
+  	private $queryResult = null;
39 39
   	
40 40
   	/**
41 41
     * The benchmark instance
@@ -47,45 +47,45 @@  discard block
 block discarded – undo
47 47
 	 * The SQL query statment to execute
48 48
 	 * @var string
49 49
 	*/
50
-    private $query             = null;
50
+    private $query = null;
51 51
     
52 52
     /**
53 53
 	 * Indicate if we need return result as list (boolean) 
54 54
      * or the data used to replace the placeholder (array)
55 55
 	 * @var array|boolean
56 56
 	 */
57
-     private $all               = true;
57
+     private $all = true;
58 58
      
59 59
      
60 60
      /**
61 61
 	   * Indicate if we need return result as array or not
62 62
      * @var boolean
63 63
 	   */
64
-     private $returnAsArray     = true;
64
+     private $returnAsArray = true;
65 65
      
66 66
      /**
67 67
      * The last PDOStatment instance
68 68
      * @var object
69 69
      */
70
-     private $pdoStatment       = null;
70
+     private $pdoStatment = null;
71 71
      
72 72
      /**
73 73
   	 * The error returned for the last query
74 74
   	 * @var string
75 75
   	 */
76
-     private $error             = null;
76
+     private $error = null;
77 77
 	
78 78
     /**
79 79
      * The PDO instance
80 80
      * @var object
81 81
     */
82
-    private $pdo                = null;
82
+    private $pdo = null;
83 83
   
84 84
     /**
85 85
      * The database driver name used
86 86
      * @var string
87 87
     */
88
-    private $driver             = null;
88
+    private $driver = null;
89 89
 
90 90
 
91 91
 	
@@ -96,8 +96,8 @@  discard block
 block discarded – undo
96 96
      * @param boolean $returnAsList if need return as list or just one row
97 97
      * @param boolean $returnAsArray whether to return the result as array or not
98 98
      */
99
-    public function __construct(PDO $pdo = null, $query = null, $returnAsList = true, $returnAsArray = false){
100
-        if (is_object($pdo)){
99
+    public function __construct(PDO $pdo = null, $query = null, $returnAsList = true, $returnAsArray = false) {
100
+        if (is_object($pdo)) {
101 101
           $this->pdo = $pdo;
102 102
         }
103 103
         $this->query = $query;
@@ -112,20 +112,20 @@  discard block
 block discarded – undo
112 112
      * 
113 113
      * @return object|void
114 114
      */
115
-    public function execute(){
115
+    public function execute() {
116 116
         //reset instance
117 117
         $this->reset();
118 118
        
119 119
        //for database query execution time
120 120
         $benchmarkMarkerKey = $this->getBenchmarkKey();
121
-        if (! is_object($this->benchmarkInstance)){
121
+        if (!is_object($this->benchmarkInstance)) {
122 122
           $this->benchmarkInstance = & class_loader('Benchmark');
123 123
         }
124 124
         
125 125
         $this->logger->info(
126 126
                           'Execute SQL query [' . $this->query . '], return type: ' 
127
-                          . ($this->returnAsArray ? 'ARRAY' : 'OBJECT') .', return as list: ' 
128
-                          . ($this->returnAsList ? 'YES':'NO')
127
+                          . ($this->returnAsArray ? 'ARRAY' : 'OBJECT') . ', return as list: ' 
128
+                          . ($this->returnAsList ? 'YES' : 'NO')
129 129
                         );
130 130
 
131 131
         $this->benchmarkInstance->mark('DATABASE_QUERY_START(' . $benchmarkMarkerKey . ')');                
@@ -138,19 +138,19 @@  discard block
 block discarded – undo
138 138
                                                                 'DATABASE_QUERY_END(' . $benchmarkMarkerKey . ')'
139 139
                                                               );
140 140
 		    //TODO use the configuration value for the high response time currently is 1 second
141
-        if ($responseTime >= 1 ){
141
+        if ($responseTime >= 1) {
142 142
             $this->logger->warning(
143 143
                                     'High response time while processing database query [' . $this->query . ']. 
144
-                                     The response time is [' .$responseTime. '] sec.'
144
+                                     The response time is [' .$responseTime . '] sec.'
145 145
                                   );
146 146
         }
147 147
 		
148
-        if ($this->pdoStatment !== false){
148
+        if ($this->pdoStatment !== false) {
149 149
           $isSqlSELECTQuery = stristr($this->query, 'SELECT') !== false;
150
-          if($isSqlSELECTQuery){
150
+          if ($isSqlSELECTQuery) {
151 151
               $this->setResultForSelect();              
152 152
           }
153
-          else{
153
+          else {
154 154
               $this->setResultForNonSelect();
155 155
           }
156 156
           return $this->queryResult;
@@ -162,28 +162,28 @@  discard block
 block discarded – undo
162 162
    * Return the result for SELECT query
163 163
    * @see DatabaseQueryRunner::execute
164 164
    */
165
-    protected function setResultForSelect(){
165
+    protected function setResultForSelect() {
166 166
       //if need return all result like list of record
167 167
       $result = null;
168 168
       $numRows = 0;
169 169
       $fetchMode = PDO::FETCH_OBJ;
170
-      if($this->returnAsArray){
170
+      if ($this->returnAsArray) {
171 171
         $fetchMode = PDO::FETCH_ASSOC;
172 172
       }
173
-      if ($this->returnAsList){
173
+      if ($this->returnAsList) {
174 174
           $result = $this->pdoStatment->fetchAll($fetchMode);
175 175
       }
176
-      else{
176
+      else {
177 177
           $result = $this->pdoStatment->fetch($fetchMode);
178 178
       }
179 179
       //Sqlite and pgsql always return 0 when using rowCount()
180
-      if (in_array($this->driver, array('sqlite', 'pgsql'))){
180
+      if (in_array($this->driver, array('sqlite', 'pgsql'))) {
181 181
         $numRows = count($result);  
182 182
       }
183
-      else{
183
+      else {
184 184
         $numRows = $this->pdoStatment->rowCount(); 
185 185
       }
186
-      if(! is_object($this->queryResult)){
186
+      if (!is_object($this->queryResult)) {
187 187
           $this->queryResult = & class_loader('DatabaseQueryResult', 'classes/database');
188 188
       }
189 189
       $this->queryResult->setResult($result);
@@ -194,20 +194,20 @@  discard block
 block discarded – undo
194 194
    * Return the result for non SELECT query
195 195
    * @see DatabaseQueryRunner::execute
196 196
    */
197
-    protected function setResultForNonSelect(){
197
+    protected function setResultForNonSelect() {
198 198
       //Sqlite and pgsql always return 0 when using rowCount()
199 199
       $result = false;
200 200
       $numRows = 0;
201
-      if (in_array($this->driver, array('sqlite', 'pgsql'))){
201
+      if (in_array($this->driver, array('sqlite', 'pgsql'))) {
202 202
         $result = true; //to test the result for the query like UPDATE, INSERT, DELETE
203 203
         $numRows = 1; //TODO use the correct method to get the exact affected row
204 204
       }
205
-      else{
205
+      else {
206 206
           //to test the result for the query like UPDATE, INSERT, DELETE
207 207
           $result  = $this->pdoStatment->rowCount() >= 0; 
208 208
           $numRows = $this->pdoStatment->rowCount(); 
209 209
       }
210
-      if(! is_object($this->queryResult)){
210
+      if (!is_object($this->queryResult)) {
211 211
           $this->queryResult = & class_loader('DatabaseQueryResult', 'classes/database');
212 212
       }
213 213
       $this->queryResult->setResult($result);
@@ -219,7 +219,7 @@  discard block
 block discarded – undo
219 219
      * Return the benchmark instance
220 220
      * @return Benchmark
221 221
      */
222
-    public function getBenchmark(){
222
+    public function getBenchmark() {
223 223
       return $this->benchmarkInstance;
224 224
     }
225 225
 
@@ -228,7 +228,7 @@  discard block
 block discarded – undo
228 228
      * @param Benchmark $benchmark the benchmark object
229 229
 	 * @return object DatabaseQueryRunner
230 230
      */
231
-    public function setBenchmark($benchmark){
231
+    public function setBenchmark($benchmark) {
232 232
       $this->benchmarkInstance = $benchmark;
233 233
       return $this;
234 234
     }
@@ -238,7 +238,7 @@  discard block
 block discarded – undo
238 238
      *
239 239
      * @return object DatabaseQueryResult
240 240
      */
241
-    public function getQueryResult(){
241
+    public function getQueryResult() {
242 242
       return $this->queryResult;
243 243
     }
244 244
 
@@ -248,7 +248,7 @@  discard block
 block discarded – undo
248 248
      *
249 249
 	 * @return object DatabaseQueryRunner
250 250
      */
251
-    public function setQueryResult(DatabaseQueryResult $queryResult){
251
+    public function setQueryResult(DatabaseQueryResult $queryResult) {
252 252
       $this->queryResult = $queryResult;
253 253
       return $this;
254 254
     }
@@ -257,7 +257,7 @@  discard block
 block discarded – undo
257 257
      * Return the Log instance
258 258
      * @return Log
259 259
      */
260
-    public function getLogger(){
260
+    public function getLogger() {
261 261
       return $this->logger;
262 262
     }
263 263
 
@@ -266,7 +266,7 @@  discard block
 block discarded – undo
266 266
      * @param Log $logger the log object
267 267
 	 * @return object DatabaseQueryRunner
268 268
      */
269
-    public function setLogger($logger){
269
+    public function setLogger($logger) {
270 270
       $this->logger = $logger;
271 271
       return $this;
272 272
     }
@@ -275,7 +275,7 @@  discard block
 block discarded – undo
275 275
      * Return the current query SQL string
276 276
      * @return string
277 277
      */
278
-    public function getQuery(){
278
+    public function getQuery() {
279 279
       return $this->query;
280 280
     }
281 281
     
@@ -284,7 +284,7 @@  discard block
 block discarded – undo
284 284
      * @param string $query the SQL query to set
285 285
      * @return object DatabaseQueryRunner
286 286
      */
287
-    public function setQuery($query){
287
+    public function setQuery($query) {
288 288
        $this->query = $query;
289 289
        return $this;
290 290
     }
@@ -294,7 +294,7 @@  discard block
 block discarded – undo
294 294
      * @param boolean $returnType
295 295
      * @return object DatabaseQueryRunner
296 296
      */
297
-    public function setReturnType($returnType){
297
+    public function setReturnType($returnType) {
298 298
        $this->returnAsList = $returnType;
299 299
        return $this;
300 300
     }
@@ -304,7 +304,7 @@  discard block
 block discarded – undo
304 304
      * @param boolean $status the status if true will return as array
305 305
      * @return object DatabaseQueryRunner
306 306
      */
307
-    public function setReturnAsArray($status = true){
307
+    public function setReturnAsArray($status = true) {
308 308
        $this->returnAsArray = $status;
309 309
        return $this;
310 310
     }
@@ -313,7 +313,7 @@  discard block
 block discarded – undo
313 313
      * Return the error for last query execution
314 314
      * @return string
315 315
      */
316
-    public function getQueryError(){
316
+    public function getQueryError() {
317 317
       return $this->error;
318 318
     }
319 319
 
@@ -321,7 +321,7 @@  discard block
 block discarded – undo
321 321
      * Return the PDO instance
322 322
      * @return object
323 323
      */
324
-    public function getPdo(){
324
+    public function getPdo() {
325 325
       return $this->pdo;
326 326
     }
327 327
 
@@ -330,7 +330,7 @@  discard block
 block discarded – undo
330 330
      * @param PDO $pdo the pdo object
331 331
      * @return object DatabaseQueryRunner
332 332
      */
333
-    public function setPdo(PDO $pdo = null){
333
+    public function setPdo(PDO $pdo = null) {
334 334
       $this->pdo = $pdo;
335 335
       return $this;
336 336
     }
@@ -339,7 +339,7 @@  discard block
 block discarded – undo
339 339
      * Return the database driver
340 340
      * @return string
341 341
      */
342
-    public function getDriver(){
342
+    public function getDriver() {
343 343
       return $this->driver;
344 344
     }
345 345
 
@@ -348,7 +348,7 @@  discard block
 block discarded – undo
348 348
      * @param string $driver the new driver
349 349
      * @return object DatabaseQueryRunner
350 350
      */
351
-    public function setDriver($driver){
351
+    public function setDriver($driver) {
352 352
       $this->driver = $driver;
353 353
       return $this;
354 354
     }
@@ -358,14 +358,14 @@  discard block
 block discarded – undo
358 358
      * 
359 359
      *  @return string
360 360
      */
361
-    protected function getBenchmarkKey(){
361
+    protected function getBenchmarkKey() {
362 362
       return md5($this->query . $this->returnAsList . $this->returnAsArray);
363 363
     }
364 364
     
365 365
     /**
366 366
      * Set error for database query execution
367 367
      */
368
-    protected function setQueryRunnerError(){
368
+    protected function setQueryRunnerError() {
369 369
       $error = $this->pdo->errorInfo();
370 370
       $this->error = isset($error[2]) ? $error[2] : '';
371 371
       $this->logger->error('The database query execution got an error: ' . stringfy_vars($error));
@@ -377,12 +377,12 @@  discard block
 block discarded – undo
377 377
      * Set the Log instance using argument or create new instance
378 378
      * @param object $logger the Log instance if not null
379 379
      */
380
-    protected function setLoggerFromParamOrCreateNewInstance(Log $logger = null){
381
-      if ($logger !== null){
380
+    protected function setLoggerFromParamOrCreateNewInstance(Log $logger = null) {
381
+      if ($logger !== null) {
382 382
         $this->logger = $logger;
383 383
       }
384
-      else{
385
-          $this->logger =& class_loader('Log', 'classes');
384
+      else {
385
+          $this->logger = & class_loader('Log', 'classes');
386 386
           $this->logger->setLogger('Library::DatabaseQueryRunner');
387 387
       }
388 388
     }
@@ -391,7 +391,7 @@  discard block
 block discarded – undo
391 391
     /**
392 392
     * Reset the instance before run each query
393 393
     */
394
-    private function reset(){
394
+    private function reset() {
395 395
         $this->error = null;
396 396
         $this->pdoStatment = null;
397 397
     }
Please login to merge, or discard this patch.
Braces   +5 added lines, -10 removed lines patch added patch discarded remove patch
@@ -149,8 +149,7 @@  discard block
 block discarded – undo
149 149
           $isSqlSELECTQuery = stristr($this->query, 'SELECT') !== false;
150 150
           if($isSqlSELECTQuery){
151 151
               $this->setResultForSelect();              
152
-          }
153
-          else{
152
+          } else{
154 153
               $this->setResultForNonSelect();
155 154
           }
156 155
           return $this->queryResult;
@@ -172,15 +171,13 @@  discard block
 block discarded – undo
172 171
       }
173 172
       if ($this->returnAsList){
174 173
           $result = $this->pdoStatment->fetchAll($fetchMode);
175
-      }
176
-      else{
174
+      } else{
177 175
           $result = $this->pdoStatment->fetch($fetchMode);
178 176
       }
179 177
       //Sqlite and pgsql always return 0 when using rowCount()
180 178
       if (in_array($this->driver, array('sqlite', 'pgsql'))){
181 179
         $numRows = count($result);  
182
-      }
183
-      else{
180
+      } else{
184 181
         $numRows = $this->pdoStatment->rowCount(); 
185 182
       }
186 183
       if(! is_object($this->queryResult)){
@@ -201,8 +198,7 @@  discard block
 block discarded – undo
201 198
       if (in_array($this->driver, array('sqlite', 'pgsql'))){
202 199
         $result = true; //to test the result for the query like UPDATE, INSERT, DELETE
203 200
         $numRows = 1; //TODO use the correct method to get the exact affected row
204
-      }
205
-      else{
201
+      } else{
206 202
           //to test the result for the query like UPDATE, INSERT, DELETE
207 203
           $result  = $this->pdoStatment->rowCount() >= 0; 
208 204
           $numRows = $this->pdoStatment->rowCount(); 
@@ -380,8 +376,7 @@  discard block
 block discarded – undo
380 376
     protected function setLoggerFromParamOrCreateNewInstance(Log $logger = null){
381 377
       if ($logger !== null){
382 378
         $this->logger = $logger;
383
-      }
384
-      else{
379
+      } else{
385 380
           $this->logger =& class_loader('Log', 'classes');
386 381
           $this->logger->setLogger('Library::DatabaseQueryRunner');
387 382
       }
Please login to merge, or discard this patch.
core/classes/database/Database.php 3 patches
Indentation   +325 added lines, -325 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
 
@@ -125,8 +125,8 @@  discard block
 block discarded – undo
125 125
         //Set Log instance to use
126 126
         $this->setLoggerFromParamOrCreateNewInstance(null);
127 127
 		
128
-    		//Set DatabaseQueryBuilder instance to use
129
-    		$this->setQueryBuilderFromParamOrCreateNewInstance(null);
128
+            //Set DatabaseQueryBuilder instance to use
129
+            $this->setQueryBuilderFromParamOrCreateNewInstance(null);
130 130
 
131 131
         //Set DatabaseQueryRunner instance to use
132 132
         $this->setQueryRunnerFromParamOrCreateNewInstance(null);
@@ -143,22 +143,22 @@  discard block
 block discarded – undo
143 143
      * @return bool 
144 144
      */
145 145
     public function connect(){
146
-      $config = $this->getDatabaseConfiguration();
147
-      if (! empty($config)){
146
+        $config = $this->getDatabaseConfiguration();
147
+        if (! empty($config)){
148 148
         try{
149 149
             $this->pdo = new PDO($this->getDsnFromDriver(), $config['username'], $config['password']);
150 150
             $this->pdo->exec("SET NAMES '" . $config['charset'] . "' COLLATE '" . $config['collation'] . "'");
151 151
             $this->pdo->exec("SET CHARACTER SET '" . $config['charset'] . "'");
152 152
             $this->pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
153 153
             return true;
154
-          }
155
-          catch (PDOException $e){
154
+            }
155
+            catch (PDOException $e){
156 156
             $this->logger->fatal($e->getMessage());
157 157
             show_error('Cannot connect to Database.');
158 158
             return false;
159
-          }
160
-      }
161
-      return false;
159
+            }
160
+        }
161
+        return false;
162 162
     }
163 163
 
164 164
 
@@ -167,7 +167,7 @@  discard block
 block discarded – undo
167 167
      * @return int
168 168
      */
169 169
     public function numRows(){
170
-      return $this->numRows;
170
+        return $this->numRows;
171 171
     }
172 172
 
173 173
     /**
@@ -175,7 +175,7 @@  discard block
 block discarded – undo
175 175
      * @return mixed
176 176
      */
177 177
     public function insertId(){
178
-      return $this->insertId;
178
+        return $this->insertId;
179 179
     }
180 180
 
181 181
 
@@ -186,13 +186,13 @@  discard block
 block discarded – undo
186 186
      * @return mixed       the query SQL string or the record result
187 187
      */
188 188
     public function get($returnSQLQueryOrResultType = false){
189
-      $this->getQueryBuilder()->limit(1);
190
-      $query = $this->getAll(true);
191
-      if ($returnSQLQueryOrResultType === true){
189
+        $this->getQueryBuilder()->limit(1);
190
+        $query = $this->getAll(true);
191
+        if ($returnSQLQueryOrResultType === true){
192 192
         return $query;
193
-      } else {
193
+        } else {
194 194
         return $this->query($query, false, $returnSQLQueryOrResultType == 'array');
195
-      }
195
+        }
196 196
     }
197 197
 
198 198
     /**
@@ -202,11 +202,11 @@  discard block
 block discarded – undo
202 202
      * @return mixed       the query SQL string or the record result
203 203
      */
204 204
     public function getAll($returnSQLQueryOrResultType = false){
205
-	   $query = $this->getQueryBuilder()->getQuery();
206
-	   if ($returnSQLQueryOrResultType === true){
207
-      	return $query;
208
-      }
209
-      return $this->query($query, true, $returnSQLQueryOrResultType == 'array');
205
+        $query = $this->getQueryBuilder()->getQuery();
206
+        if ($returnSQLQueryOrResultType === true){
207
+            return $query;
208
+        }
209
+        return $this->query($query, true, $returnSQLQueryOrResultType == 'array');
210 210
     }
211 211
 
212 212
     /**
@@ -216,19 +216,19 @@  discard block
 block discarded – undo
216 216
      * @return mixed          the insert id of the new record or null
217 217
      */
218 218
     public function insert($data = array(), $escape = true){
219
-      if (empty($data) && $this->getData()){
219
+        if (empty($data) && $this->getData()){
220 220
         //as when using $this->setData() may be the data already escaped
221 221
         $escape = false;
222 222
         $data = $this->getData();
223
-      }
224
-      $query = $this->getQueryBuilder()->insert($data, $escape)->getQuery();
225
-      $result = $this->query($query);
226
-      if ($result){
223
+        }
224
+        $query = $this->getQueryBuilder()->insert($data, $escape)->getQuery();
225
+        $result = $this->query($query);
226
+        if ($result){
227 227
         $this->insertId = $this->pdo->lastInsertId();
228
-		    //if the table doesn't have the auto increment field or sequence, the value of 0 will be returned 
228
+            //if the table doesn't have the auto increment field or sequence, the value of 0 will be returned 
229 229
         return ! $this->insertId() ? true : $this->insertId();
230
-      }
231
-      return false;
230
+        }
231
+        return false;
232 232
     }
233 233
 
234 234
     /**
@@ -238,13 +238,13 @@  discard block
 block discarded – undo
238 238
      * @return mixed          the update status
239 239
      */
240 240
     public function update($data = array(), $escape = true){
241
-      if (empty($data) && $this->getData()){
241
+        if (empty($data) && $this->getData()){
242 242
         //as when using $this->setData() may be the data already escaped
243 243
         $escape = false;
244 244
         $data = $this->getData();
245
-      }
246
-      $query = $this->getQueryBuilder()->update($data, $escape)->getQuery();
247
-      return $this->query($query);
245
+        }
246
+        $query = $this->getQueryBuilder()->update($data, $escape)->getQuery();
247
+        return $this->query($query);
248 248
     }
249 249
 
250 250
     /**
@@ -252,8 +252,8 @@  discard block
 block discarded – undo
252 252
      * @return mixed the delete status
253 253
      */
254 254
     public function delete(){
255
-		$query = $this->getQueryBuilder()->delete()->getQuery();
256
-    	return $this->query($query);
255
+        $query = $this->getQueryBuilder()->delete()->getQuery();
256
+        return $this->query($query);
257 257
     }
258 258
 
259 259
     /**
@@ -262,21 +262,21 @@  discard block
 block discarded – undo
262 262
      * @return object        the current Database instance
263 263
      */
264 264
     public function setCache($ttl = 0){
265
-      if ($ttl > 0){
265
+        if ($ttl > 0){
266 266
         $this->cacheTtl = $ttl;
267 267
         $this->temporaryCacheTtl = $ttl;
268
-      }
269
-      return $this;
268
+        }
269
+        return $this;
270 270
     }
271 271
 	
272
-	/**
273
-	 * Enabled cache temporary for the current query not globally	
274
-	 * @param  integer $ttl the cache time to live in second
275
-	 * @return object        the current Database instance
276
-	 */
277
-  	public function cached($ttl = 0){
272
+    /**
273
+     * Enabled cache temporary for the current query not globally	
274
+     * @param  integer $ttl the cache time to live in second
275
+     * @return object        the current Database instance
276
+     */
277
+        public function cached($ttl = 0){
278 278
         if ($ttl > 0){
279
-          $this->temporaryCacheTtl = $ttl;
279
+            $this->temporaryCacheTtl = $ttl;
280 280
         }
281 281
         return $this;
282 282
     }
@@ -288,7 +288,7 @@  discard block
 block discarded – undo
288 288
      * @return mixed       the data after escaped or the same data if not
289 289
      */
290 290
     public function escape($data, $escaped = true){
291
-      return $escaped ? 
291
+        return $escaped ? 
292 292
                       $this->pdo->quote(trim($data)) 
293 293
                       : $data; 
294 294
     }
@@ -298,7 +298,7 @@  discard block
 block discarded – undo
298 298
      * @return int
299 299
      */
300 300
     public function queryCount(){
301
-      return $this->queryCount;
301
+        return $this->queryCount;
302 302
     }
303 303
 
304 304
     /**
@@ -306,7 +306,7 @@  discard block
 block discarded – undo
306 306
      * @return string
307 307
      */
308 308
     public function getQuery(){
309
-      return $this->query;
309
+        return $this->query;
310 310
     }
311 311
 
312 312
     /**
@@ -314,7 +314,7 @@  discard block
 block discarded – undo
314 314
      * @return string
315 315
      */
316 316
     public function getDatabaseName(){
317
-      return $this->databaseName;
317
+        return $this->databaseName;
318 318
     }
319 319
 
320 320
     /**
@@ -322,17 +322,17 @@  discard block
 block discarded – undo
322 322
      * @return object
323 323
      */
324 324
     public function getPdo(){
325
-      return $this->pdo;
325
+        return $this->pdo;
326 326
     }
327 327
 
328 328
     /**
329 329
      * Set the PDO instance
330 330
      * @param object $pdo the pdo object
331
-	 * @return object Database
331
+     * @return object Database
332 332
      */
333 333
     public function setPdo(PDO $pdo){
334
-      $this->pdo = $pdo;
335
-      return $this;
334
+        $this->pdo = $pdo;
335
+        return $this;
336 336
     }
337 337
 
338 338
 
@@ -341,44 +341,44 @@  discard block
 block discarded – undo
341 341
      * @return Log
342 342
      */
343 343
     public function getLogger(){
344
-      return $this->logger;
344
+        return $this->logger;
345 345
     }
346 346
 
347 347
     /**
348 348
      * Set the log instance
349 349
      * @param Log $logger the log object
350
-	 * @return object Database
350
+     * @return object Database
351 351
      */
352 352
     public function setLogger($logger){
353
-      $this->logger = $logger;
354
-      return $this;
353
+        $this->logger = $logger;
354
+        return $this;
355 355
     }
356 356
 
357
-     /**
358
-     * Return the cache instance
359
-     * @return CacheInterface
360
-     */
357
+        /**
358
+         * Return the cache instance
359
+         * @return CacheInterface
360
+         */
361 361
     public function getCacheInstance(){
362
-      return $this->cacheInstance;
362
+        return $this->cacheInstance;
363 363
     }
364 364
 
365 365
     /**
366 366
      * Set the cache instance
367 367
      * @param CacheInterface $cache the cache object
368
-	 * @return object Database
368
+     * @return object Database
369 369
      */
370 370
     public function setCacheInstance($cache){
371
-      $this->cacheInstance = $cache;
372
-      return $this;
371
+        $this->cacheInstance = $cache;
372
+        return $this;
373 373
     }
374 374
 	
375 375
 	
376
-	   /**
377
-     * Return the DatabaseQueryBuilder instance
378
-     * @return object DatabaseQueryBuilder
379
-     */
376
+        /**
377
+         * Return the DatabaseQueryBuilder instance
378
+         * @return object DatabaseQueryBuilder
379
+         */
380 380
     public function getQueryBuilder(){
381
-      return $this->queryBuilder;
381
+        return $this->queryBuilder;
382 382
     }
383 383
 
384 384
     /**
@@ -386,8 +386,8 @@  discard block
 block discarded – undo
386 386
      * @param object DatabaseQueryBuilder $queryBuilder the DatabaseQueryBuilder object
387 387
      */
388 388
     public function setQueryBuilder(DatabaseQueryBuilder $queryBuilder){
389
-      $this->queryBuilder = $queryBuilder;
390
-      return $this;
389
+        $this->queryBuilder = $queryBuilder;
390
+        return $this;
391 391
     }
392 392
     
393 393
     /**
@@ -395,7 +395,7 @@  discard block
 block discarded – undo
395 395
      * @return object DatabaseQueryRunner
396 396
      */
397 397
     public function getQueryRunner(){
398
-      return $this->queryRunner;
398
+        return $this->queryRunner;
399 399
     }
400 400
 
401 401
     /**
@@ -403,8 +403,8 @@  discard block
 block discarded – undo
403 403
      * @param object DatabaseQueryRunner $queryRunner the DatabaseQueryRunner object
404 404
      */
405 405
     public function setQueryRunner(DatabaseQueryRunner $queryRunner){
406
-      $this->queryRunner = $queryRunner;
407
-      return $this;
406
+        $this->queryRunner = $queryRunner;
407
+        return $this;
408 408
     }
409 409
 
410 410
     /**
@@ -412,7 +412,7 @@  discard block
 block discarded – undo
412 412
      * @return array
413 413
      */
414 414
     public function getData(){
415
-      return $this->data;
415
+        return $this->data;
416 416
     }
417 417
 
418 418
     /**
@@ -423,51 +423,51 @@  discard block
 block discarded – undo
423 423
      * @return object        the current Database instance
424 424
      */
425 425
     public function setData($key, $value = null, $escape = true){
426
-  	  if(is_array($key)){
427
-    		foreach($key as $k => $v){
428
-    			$this->setData($k, $v, $escape);
429
-    		}	
430
-  	  } else {
426
+        if(is_array($key)){
427
+            foreach($key as $k => $v){
428
+                $this->setData($k, $v, $escape);
429
+            }	
430
+        } else {
431 431
         $this->data[$key] = $this->escape($value, $escape);
432
-  	  }
433
-      return $this;
432
+        }
433
+        return $this;
434 434
     }
435 435
 
436
-     /**
437
-     * Execute an SQL query
438
-     * @param  string  $query the query SQL string
439
-     * @param  boolean $returnAsList  indicate whether to return all record or just one row 
440
-     * @param  boolean $returnAsArray return the result as array or not
441
-     * @return mixed         the query result
442
-     */
436
+        /**
437
+         * Execute an SQL query
438
+         * @param  string  $query the query SQL string
439
+         * @param  boolean $returnAsList  indicate whether to return all record or just one row 
440
+         * @param  boolean $returnAsArray return the result as array or not
441
+         * @return mixed         the query result
442
+         */
443 443
     public function query($query, $returnAsList = true, $returnAsArray = false){
444
-      $this->reset();
445
-      $this->query = preg_replace('/\s\s+|\t\t+/', ' ', trim($query));
446
-      //If is the SELECT query
447
-      $isSqlSELECTQuery = stristr($this->query, 'SELECT') !== false;
444
+        $this->reset();
445
+        $this->query = preg_replace('/\s\s+|\t\t+/', ' ', trim($query));
446
+        //If is the SELECT query
447
+        $isSqlSELECTQuery = stristr($this->query, 'SELECT') !== false;
448 448
 
449
-      //cache expire time
450
-      $cacheExpire = $this->temporaryCacheTtl;
449
+        //cache expire time
450
+        $cacheExpire = $this->temporaryCacheTtl;
451 451
       
452
-      //return to the initial cache time
453
-      $this->temporaryCacheTtl = $this->cacheTtl;
452
+        //return to the initial cache time
453
+        $this->temporaryCacheTtl = $this->cacheTtl;
454 454
       
455
-      //config for cache
456
-      $cacheEnable = get_config('cache_enable');
455
+        //config for cache
456
+        $cacheEnable = get_config('cache_enable');
457 457
       
458
-      //the database cache content
459
-      $cacheContent = null;
458
+        //the database cache content
459
+        $cacheContent = null;
460 460
 
461
-      //if can use cache feature for this query
462
-      $dbCacheStatus = $cacheEnable && $cacheExpire > 0;
461
+        //if can use cache feature for this query
462
+        $dbCacheStatus = $cacheEnable && $cacheExpire > 0;
463 463
     
464
-      if ($dbCacheStatus && $isSqlSELECTQuery){
465
-          $this->logger->info('The cache is enabled for this query, try to get result from cache'); 
466
-          $cacheContent = $this->getCacheContentForQuery($query, $returnAsList, $returnAsArray);  
467
-      }
464
+        if ($dbCacheStatus && $isSqlSELECTQuery){
465
+            $this->logger->info('The cache is enabled for this query, try to get result from cache'); 
466
+            $cacheContent = $this->getCacheContentForQuery($query, $returnAsList, $returnAsArray);  
467
+        }
468 468
       
469
-      if ( !$cacheContent){
470
-  	   	//count the number of query execution to server
469
+        if ( !$cacheContent){
470
+                //count the number of query execution to server
471 471
         $this->queryCount++;
472 472
         
473 473
         $this->queryRunner->setQuery($query);
@@ -484,35 +484,35 @@  discard block
 block discarded – undo
484 484
                                             $this->getCacheKeyForQuery($this->query, $returnAsList, $returnAsArray), 
485 485
                                             $this->result, 
486 486
                                             $cacheExpire
487
-                                          );
487
+                                            );
488 488
             if (! $this->result){
489
-              $this->logger->info('No result where found for the query [' . $query . ']');
489
+                $this->logger->info('No result where found for the query [' . $query . ']');
490 490
             }
491
-          }
491
+            }
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);
492 497
         }
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;
498
+        return $this->result;
499 499
     }
500 500
 	
501 501
 	
502
-	 /**
503
-	 * Return the database configuration
504
-	 * @return array
505
-	 */
506
-  	public  function getDatabaseConfiguration(){
507
-  	  return $this->config;
508
-  	}
509
-
510
-   /**
511
-    * Setting the database configuration using the configuration file and additional configuration from param
512
-    * @param array $overwriteConfig the additional configuration to overwrite with the existing one
513
-    * @param boolean $useConfigFile whether to use database configuration file
514
-	  * @return object Database
515
-    */
502
+        /**
503
+         * Return the database configuration
504
+         * @return array
505
+         */
506
+        public  function getDatabaseConfiguration(){
507
+        return $this->config;
508
+        }
509
+
510
+    /**
511
+     * Setting the database configuration using the configuration file and additional configuration from param
512
+     * @param array $overwriteConfig the additional configuration to overwrite with the existing one
513
+     * @param boolean $useConfigFile whether to use database configuration file
514
+     * @return object Database
515
+     */
516 516
     public function setDatabaseConfiguration(array $overwriteConfig = array(), $useConfigFile = true){
517 517
         $db = array();
518 518
         if ($useConfigFile && file_exists(CONFIG_PATH . 'database.php')){
@@ -525,50 +525,50 @@  discard block
 block discarded – undo
525 525
         
526 526
         //default configuration
527 527
         $config = array(
528
-          'driver' => 'mysql',
529
-          'username' => 'root',
530
-          'password' => '',
531
-          'database' => '',
532
-          'hostname' => 'localhost',
533
-          'charset' => 'utf8',
534
-          'collation' => 'utf8_general_ci',
535
-          'prefix' => '',
536
-          'port' => ''
528
+            'driver' => 'mysql',
529
+            'username' => 'root',
530
+            'password' => '',
531
+            'database' => '',
532
+            'hostname' => 'localhost',
533
+            'charset' => 'utf8',
534
+            'collation' => 'utf8_general_ci',
535
+            'prefix' => '',
536
+            'port' => ''
537 537
         );
538 538
 		
539
-    	$config = array_merge($config, $db);
540
-    	//determine the port using the hostname like localhost:3307
541
-      //hostname will be "localhost", and port "3307"
542
-      $p = explode(':', $config['hostname']);
543
-  	  if (count($p) >= 2){
544
-  		  $config['hostname'] = $p[0];
545
-  		  $config['port'] = $p[1];
546
-  		}
539
+        $config = array_merge($config, $db);
540
+        //determine the port using the hostname like localhost:3307
541
+        //hostname will be "localhost", and port "3307"
542
+        $p = explode(':', $config['hostname']);
543
+        if (count($p) >= 2){
544
+            $config['hostname'] = $p[0];
545
+            $config['port'] = $p[1];
546
+            }
547 547
 		
548
-		 $this->databaseName = $config['database'];
549
-		 $this->config = $config;
550
-		 $this->logger->info(
551
-								'The database configuration are listed below: ' 
552
-								. stringfy_vars(array_merge(
553
-															$this->config, 
554
-															array('password' => string_hidden($this->config['password']))
555
-												))
556
-							);
548
+            $this->databaseName = $config['database'];
549
+            $this->config = $config;
550
+            $this->logger->info(
551
+                                'The database configuration are listed below: ' 
552
+                                . stringfy_vars(array_merge(
553
+                                                            $this->config, 
554
+                                                            array('password' => string_hidden($this->config['password']))
555
+                                                ))
556
+                            );
557 557
 	  
558
-		 //Now connect to the database
559
-		 $this->connect();
558
+            //Now connect to the database
559
+            $this->connect();
560 560
 		 
561
-     //do update of QueryRunner and Builder
562
-     $this->updateQueryBuilderAndRunnerProperties();
561
+        //do update of QueryRunner and Builder
562
+        $this->updateQueryBuilderAndRunnerProperties();
563 563
 
564
-		 return $this;
564
+            return $this;
565 565
     }
566 566
 
567 567
     /**
568 568
      * Close the connexion
569 569
      */
570 570
     public function close(){
571
-      $this->pdo = null;
571
+        $this->pdo = null;
572 572
     }
573 573
 
574 574
     /**
@@ -576,18 +576,18 @@  discard block
 block discarded – undo
576 576
      * @return void
577 577
      */
578 578
     protected function updateQueryBuilderAndRunnerProperties(){
579
-       //update queryBuilder with some properties needed
580
-     if(is_object($this->queryBuilder)){
579
+        //update queryBuilder with some properties needed
580
+        if(is_object($this->queryBuilder)){
581 581
         $this->queryBuilder->setDriver($this->config['driver']);
582 582
         $this->queryBuilder->setPrefix($this->config['prefix']);
583 583
         $this->queryBuilder->setPdo($this->pdo);
584
-     }
584
+        }
585 585
 
586
-      //update queryRunner with some properties needed
587
-     if(is_object($this->queryRunner)){
586
+        //update queryRunner with some properties needed
587
+        if(is_object($this->queryRunner)){
588 588
         $this->queryRunner->setDriver($this->config['driver']);
589 589
         $this->queryRunner->setPdo($this->pdo);
590
-     }
590
+        }
591 591
     }
592 592
 	
593 593
 
@@ -596,24 +596,24 @@  discard block
 block discarded – undo
596 596
      * @return string the DSN string
597 597
      */
598 598
     protected function getDsnFromDriver(){
599
-      $config = $this->getDatabaseConfiguration();
600
-      if (! empty($config)){
599
+        $config = $this->getDatabaseConfiguration();
600
+        if (! empty($config)){
601 601
         $driver = $config['driver'];
602 602
         $driverDsnMap = array(
603
-                              'mysql' => 'mysql:host=' . $config['hostname'] . ';' 
604
-                                          . (($config['port']) != '' ? 'port=' . $config['port'] . ';' : '') 
605
-                                          . 'dbname=' . $config['database'],
606
-                              'pgsql' => 'pgsql:host=' . $config['hostname'] . ';' 
607
-                                          . (($config['port']) != '' ? 'port=' . $config['port'] . ';' : '')
608
-                                          . 'dbname=' . $config['database'],
609
-                              'sqlite' => 'sqlite:' . $config['database'],
610
-                              'oracle' => 'oci:dbname=' . $config['hostname'] 
603
+                                'mysql' => 'mysql:host=' . $config['hostname'] . ';' 
604
+                                            . (($config['port']) != '' ? 'port=' . $config['port'] . ';' : '') 
605
+                                            . 'dbname=' . $config['database'],
606
+                                'pgsql' => 'pgsql:host=' . $config['hostname'] . ';' 
607
+                                            . (($config['port']) != '' ? 'port=' . $config['port'] . ';' : '')
608
+                                            . 'dbname=' . $config['database'],
609
+                                'sqlite' => 'sqlite:' . $config['database'],
610
+                                'oracle' => 'oci:dbname=' . $config['hostname'] 
611 611
                                             . (($config['port']) != '' ? ':' . $config['port'] : '')
612 612
                                             . '/' . $config['database']
613
-                              );
613
+                                );
614 614
         return isset($driverDsnMap[$driver]) ? $driverDsnMap[$driver] : '';
615
-      }                   
616
-      return null;
615
+        }                   
616
+        return null;
617 617
     }
618 618
 
619 619
     /**
@@ -625,11 +625,11 @@  discard block
 block discarded – undo
625 625
     protected function getCacheContentForQuery($query, $returnAsList, $returnAsArray){
626 626
         $cacheKey = $this->getCacheKeyForQuery($query, $returnAsList, $returnAsArray);
627 627
         if (! is_object($this->cacheInstance)){
628
-    			//can not call method with reference in argument
629
-    			//like $this->setCacheInstance(& get_instance()->cache);
630
-    			//use temporary variable
631
-    			$instance = & get_instance()->cache;
632
-    			$this->cacheInstance = $instance;
628
+                //can not call method with reference in argument
629
+                //like $this->setCacheInstance(& get_instance()->cache);
630
+                //use temporary variable
631
+                $instance = & get_instance()->cache;
632
+                $this->cacheInstance = $instance;
633 633
         }
634 634
         return $this->cacheInstance->get($cacheKey);
635 635
     }
@@ -641,87 +641,87 @@  discard block
 block discarded – undo
641 641
      * @param mixed $result the query result to save
642 642
      * @param int $expire the cache TTL
643 643
      */
644
-     protected function setCacheContentForQuery($query, $key, $result, $expire){
644
+        protected function setCacheContentForQuery($query, $key, $result, $expire){
645 645
         $this->logger->info('Save the result for query [' .$query. '] into cache for future use');
646 646
         if (! is_object($this->cacheInstance)){
647
-  				//can not call method with reference in argument
648
-  				//like $this->setCacheInstance(& get_instance()->cache);
649
-  				//use temporary variable
650
-  				$instance = & get_instance()->cache;
651
-  				$this->cacheInstance = $instance;
652
-  			}
647
+                    //can not call method with reference in argument
648
+                    //like $this->setCacheInstance(& get_instance()->cache);
649
+                    //use temporary variable
650
+                    $instance = & get_instance()->cache;
651
+                    $this->cacheInstance = $instance;
652
+                }
653 653
         $this->cacheInstance->set($key, $result, $expire);
654
-     }
654
+        }
655 655
 
656 656
     
657
-	 /**
658
-     * Return the cache key for the given query
659
-     * @see Database::query
660
-     * 
661
-     *  @return string
662
-     */
657
+        /**
658
+         * Return the cache key for the given query
659
+         * @see Database::query
660
+         * 
661
+         *  @return string
662
+         */
663 663
     protected function getCacheKeyForQuery($query, $returnAsList, $returnAsArray){
664
-      return md5($query . $returnAsList . $returnAsArray);
664
+        return md5($query . $returnAsList . $returnAsArray);
665 665
     }
666 666
     
667
-	   /**
668
-     * Set the Log instance using argument or create new instance
669
-     * @param object $logger the Log instance if not null
670
-     */
667
+        /**
668
+         * Set the Log instance using argument or create new instance
669
+         * @param object $logger the Log instance if not null
670
+         */
671 671
     protected function setLoggerFromParamOrCreateNewInstance(Log $logger = null){
672
-      if ($logger !== null){
672
+        if ($logger !== null){
673 673
         $this->logger = $logger;
674
-      }
675
-      else{
676
-          $this->logger =& class_loader('Log', 'classes');
677
-          $this->logger->setLogger('Library::Database');
678
-      }
674
+        }
675
+        else{
676
+            $this->logger =& class_loader('Log', 'classes');
677
+            $this->logger->setLogger('Library::Database');
678
+        }
679 679
     }
680 680
 	
681
-   /**
682
-   * Set the DatabaseQueryBuilder instance using argument or create new instance
683
-   * @param object $queryBuilder the DatabaseQueryBuilder instance if not null
684
-   */
685
-	protected function setQueryBuilderFromParamOrCreateNewInstance(DatabaseQueryBuilder $queryBuilder = null){
686
-	  if ($queryBuilder !== null){
681
+    /**
682
+     * Set the DatabaseQueryBuilder instance using argument or create new instance
683
+     * @param object $queryBuilder the DatabaseQueryBuilder instance if not null
684
+     */
685
+    protected function setQueryBuilderFromParamOrCreateNewInstance(DatabaseQueryBuilder $queryBuilder = null){
686
+        if ($queryBuilder !== null){
687 687
         $this->queryBuilder = $queryBuilder;
688
-	  }
689
-	  else{
690
-		  $this->queryBuilder =& class_loader('DatabaseQueryBuilder', 'classes/database');
691
-	  }
692
-	}
693
-
694
-  /**
695
-   * Set the DatabaseQueryRunner instance using argument or create new instance
696
-   * @param object $queryRunner the DatabaseQueryRunner instance if not null
697
-   */
698
-  protected function setQueryRunnerFromParamOrCreateNewInstance(DatabaseQueryRunner $queryRunner = null){
688
+        }
689
+        else{
690
+            $this->queryBuilder =& class_loader('DatabaseQueryBuilder', 'classes/database');
691
+        }
692
+    }
693
+
694
+    /**
695
+     * Set the DatabaseQueryRunner instance using argument or create new instance
696
+     * @param object $queryRunner the DatabaseQueryRunner instance if not null
697
+     */
698
+    protected function setQueryRunnerFromParamOrCreateNewInstance(DatabaseQueryRunner $queryRunner = null){
699 699
     if ($queryRunner !== null){
700 700
         $this->queryRunner = $queryRunner;
701 701
     }
702 702
     else{
703
-      $this->queryRunner =& class_loader('DatabaseQueryRunner', 'classes/database');
703
+        $this->queryRunner =& class_loader('DatabaseQueryRunner', 'classes/database');
704
+    }
704 705
     }
705
-  }
706 706
 
707 707
     /**
708 708
      * Reset the database class attributs to the initail values before each query.
709 709
      */
710 710
     private function reset(){
711
-	   //query builder reset
712
-      $this->getQueryBuilder()->reset();
713
-      $this->numRows  = 0;
714
-      $this->insertId = null;
715
-      $this->query    = null;
716
-      $this->result   = array();
717
-      $this->data     = array();
711
+        //query builder reset
712
+        $this->getQueryBuilder()->reset();
713
+        $this->numRows  = 0;
714
+        $this->insertId = null;
715
+        $this->query    = null;
716
+        $this->result   = array();
717
+        $this->data     = array();
718 718
     }
719 719
 
720 720
     /**
721 721
      * The class destructor
722 722
      */
723 723
     public function __destruct(){
724
-      $this->pdo = null;
724
+        $this->pdo = null;
725 725
     }
726 726
 
727 727
 }
Please login to merge, or discard this patch.
Spacing   +94 added lines, -94 removed lines patch added patch discarded remove patch
@@ -23,105 +23,105 @@  discard block
 block discarded – undo
23 23
    * along with this program; if not, write to the Free Software
24 24
    * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25 25
   */
26
-  class Database{
26
+  class Database {
27 27
 	
28 28
   	/**
29 29
   	 * The PDO instance
30 30
   	 * @var object
31 31
   	*/
32
-    private $pdo                 = null;
32
+    private $pdo = null;
33 33
     
34 34
   	/**
35 35
   	 * The database name used for the application
36 36
   	 * @var string
37 37
   	*/
38
-	  private $databaseName        = null;
38
+	  private $databaseName = null;
39 39
 	
40 40
   	/**
41 41
   	 * The number of rows returned by the last query
42 42
   	 * @var int
43 43
   	*/
44
-    private $numRows             = 0;
44
+    private $numRows = 0;
45 45
 	
46 46
   	/**
47 47
   	 * The last insert id for the primary key column that have auto increment or sequence
48 48
   	 * @var mixed
49 49
   	*/
50
-    private $insertId            = null;
50
+    private $insertId = null;
51 51
 	
52 52
   	/**
53 53
   	 * The full SQL query statment after build for each command
54 54
   	 * @var string
55 55
   	*/
56
-    private $query               = null;
56
+    private $query = null;
57 57
 	
58 58
   	/**
59 59
   	 * The result returned for the last query
60 60
   	 * @var mixed
61 61
   	*/
62
-    private $result              = array();
62
+    private $result = array();
63 63
 	
64 64
   	/**
65 65
   	 * The cache default time to live in second. 0 means no need to use the cache feature
66 66
   	 * @var int
67 67
   	*/
68
-  	private $cacheTtl             = 0;
68
+  	private $cacheTtl = 0;
69 69
 	
70 70
   	/**
71 71
   	 * The cache current time to live. 0 means no need to use the cache feature
72 72
   	 * @var int
73 73
   	*/
74
-    private $temporaryCacheTtl   = 0;
74
+    private $temporaryCacheTtl = 0;
75 75
 	
76 76
   	/**
77 77
   	 * The number of executed query for the current request
78 78
   	 * @var int
79 79
   	*/
80
-    private $queryCount          = 0;
80
+    private $queryCount = 0;
81 81
 	
82 82
   	/**
83 83
   	 * The default data to be used in the statments query INSERT, UPDATE
84 84
   	 * @var array
85 85
   	*/
86
-    private $data                = array();
86
+    private $data = array();
87 87
 	
88 88
   	/**
89 89
   	 * The database configuration
90 90
   	 * @var array
91 91
   	*/
92
-    private $config              = array();
92
+    private $config = array();
93 93
 	
94 94
   	/**
95 95
   	 * The logger instance
96 96
   	 * @var object
97 97
   	 */
98
-    private $logger              = null;
98
+    private $logger = null;
99 99
 
100 100
     /**
101 101
     * The cache instance
102 102
     * @var object
103 103
     */
104
-    private $cacheInstance       = null;
104
+    private $cacheInstance = null;
105 105
 
106 106
     
107 107
   	/**
108 108
     * The DatabaseQueryBuilder instance
109 109
     * @var object
110 110
     */
111
-    private $queryBuilder        = null;
111
+    private $queryBuilder = null;
112 112
     
113 113
     /**
114 114
     * The DatabaseQueryRunner instance
115 115
     * @var object
116 116
     */
117
-    private $queryRunner         = null;
117
+    private $queryRunner = null;
118 118
 
119 119
 
120 120
     /**
121 121
      * Construct new database
122 122
      * @param array $overwriteConfig the config to overwrite with the config set in database.php
123 123
      */
124
-    public function __construct($overwriteConfig = array()){
124
+    public function __construct($overwriteConfig = array()) {
125 125
         //Set Log instance to use
126 126
         $this->setLoggerFromParamOrCreateNewInstance(null);
127 127
 		
@@ -142,17 +142,17 @@  discard block
 block discarded – undo
142 142
      * This is used to connect to database
143 143
      * @return bool 
144 144
      */
145
-    public function connect(){
145
+    public function connect() {
146 146
       $config = $this->getDatabaseConfiguration();
147
-      if (! empty($config)){
148
-        try{
147
+      if (!empty($config)) {
148
+        try {
149 149
             $this->pdo = new PDO($this->getDsnFromDriver(), $config['username'], $config['password']);
150 150
             $this->pdo->exec("SET NAMES '" . $config['charset'] . "' COLLATE '" . $config['collation'] . "'");
151 151
             $this->pdo->exec("SET CHARACTER SET '" . $config['charset'] . "'");
152 152
             $this->pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
153 153
             return true;
154 154
           }
155
-          catch (PDOException $e){
155
+          catch (PDOException $e) {
156 156
             $this->logger->fatal($e->getMessage());
157 157
             show_error('Cannot connect to Database.');
158 158
             return false;
@@ -166,7 +166,7 @@  discard block
 block discarded – undo
166 166
      * Return the number of rows returned by the current query
167 167
      * @return int
168 168
      */
169
-    public function numRows(){
169
+    public function numRows() {
170 170
       return $this->numRows;
171 171
     }
172 172
 
@@ -174,7 +174,7 @@  discard block
 block discarded – undo
174 174
      * Return the last insert id value
175 175
      * @return mixed
176 176
      */
177
-    public function insertId(){
177
+    public function insertId() {
178 178
       return $this->insertId;
179 179
     }
180 180
 
@@ -185,10 +185,10 @@  discard block
 block discarded – undo
185 185
      * If is string will determine the result type "array" or "object"
186 186
      * @return mixed       the query SQL string or the record result
187 187
      */
188
-    public function get($returnSQLQueryOrResultType = false){
188
+    public function get($returnSQLQueryOrResultType = false) {
189 189
       $this->getQueryBuilder()->limit(1);
190 190
       $query = $this->getAll(true);
191
-      if ($returnSQLQueryOrResultType === true){
191
+      if ($returnSQLQueryOrResultType === true) {
192 192
         return $query;
193 193
       } else {
194 194
         return $this->query($query, false, $returnSQLQueryOrResultType == 'array');
@@ -201,9 +201,9 @@  discard block
 block discarded – undo
201 201
      * If is string will determine the result type "array" or "object"
202 202
      * @return mixed       the query SQL string or the record result
203 203
      */
204
-    public function getAll($returnSQLQueryOrResultType = false){
204
+    public function getAll($returnSQLQueryOrResultType = false) {
205 205
 	   $query = $this->getQueryBuilder()->getQuery();
206
-	   if ($returnSQLQueryOrResultType === true){
206
+	   if ($returnSQLQueryOrResultType === true) {
207 207
       	return $query;
208 208
       }
209 209
       return $this->query($query, true, $returnSQLQueryOrResultType == 'array');
@@ -215,18 +215,18 @@  discard block
 block discarded – undo
215 215
      * @param  boolean $escape  whether to escape or not the values
216 216
      * @return mixed          the insert id of the new record or null
217 217
      */
218
-    public function insert($data = array(), $escape = true){
219
-      if (empty($data) && $this->getData()){
218
+    public function insert($data = array(), $escape = true) {
219
+      if (empty($data) && $this->getData()) {
220 220
         //as when using $this->setData() may be the data already escaped
221 221
         $escape = false;
222 222
         $data = $this->getData();
223 223
       }
224 224
       $query = $this->getQueryBuilder()->insert($data, $escape)->getQuery();
225 225
       $result = $this->query($query);
226
-      if ($result){
226
+      if ($result) {
227 227
         $this->insertId = $this->pdo->lastInsertId();
228 228
 		    //if the table doesn't have the auto increment field or sequence, the value of 0 will be returned 
229
-        return ! $this->insertId() ? true : $this->insertId();
229
+        return !$this->insertId() ? true : $this->insertId();
230 230
       }
231 231
       return false;
232 232
     }
@@ -237,8 +237,8 @@  discard block
 block discarded – undo
237 237
      * @param  boolean $escape  whether to escape or not the values
238 238
      * @return mixed          the update status
239 239
      */
240
-    public function update($data = array(), $escape = true){
241
-      if (empty($data) && $this->getData()){
240
+    public function update($data = array(), $escape = true) {
241
+      if (empty($data) && $this->getData()) {
242 242
         //as when using $this->setData() may be the data already escaped
243 243
         $escape = false;
244 244
         $data = $this->getData();
@@ -251,7 +251,7 @@  discard block
 block discarded – undo
251 251
      * Delete the record in database
252 252
      * @return mixed the delete status
253 253
      */
254
-    public function delete(){
254
+    public function delete() {
255 255
 		$query = $this->getQueryBuilder()->delete()->getQuery();
256 256
     	return $this->query($query);
257 257
     }
@@ -261,8 +261,8 @@  discard block
 block discarded – undo
261 261
      * @param integer $ttl the cache time to live in second
262 262
      * @return object        the current Database instance
263 263
      */
264
-    public function setCache($ttl = 0){
265
-      if ($ttl > 0){
264
+    public function setCache($ttl = 0) {
265
+      if ($ttl > 0) {
266 266
         $this->cacheTtl = $ttl;
267 267
         $this->temporaryCacheTtl = $ttl;
268 268
       }
@@ -274,8 +274,8 @@  discard block
 block discarded – undo
274 274
 	 * @param  integer $ttl the cache time to live in second
275 275
 	 * @return object        the current Database instance
276 276
 	 */
277
-  	public function cached($ttl = 0){
278
-        if ($ttl > 0){
277
+  	public function cached($ttl = 0) {
278
+        if ($ttl > 0) {
279 279
           $this->temporaryCacheTtl = $ttl;
280 280
         }
281 281
         return $this;
@@ -287,7 +287,7 @@  discard block
 block discarded – undo
287 287
      * @param boolean $escaped whether we can do escape of not 
288 288
      * @return mixed       the data after escaped or the same data if not
289 289
      */
290
-    public function escape($data, $escaped = true){
290
+    public function escape($data, $escaped = true) {
291 291
       return $escaped ? 
292 292
                       $this->pdo->quote(trim($data)) 
293 293
                       : $data; 
@@ -297,7 +297,7 @@  discard block
 block discarded – undo
297 297
      * Return the number query executed count for the current request
298 298
      * @return int
299 299
      */
300
-    public function queryCount(){
300
+    public function queryCount() {
301 301
       return $this->queryCount;
302 302
     }
303 303
 
@@ -305,7 +305,7 @@  discard block
 block discarded – undo
305 305
      * Return the current query SQL string
306 306
      * @return string
307 307
      */
308
-    public function getQuery(){
308
+    public function getQuery() {
309 309
       return $this->query;
310 310
     }
311 311
 
@@ -313,7 +313,7 @@  discard block
 block discarded – undo
313 313
      * Return the application database name
314 314
      * @return string
315 315
      */
316
-    public function getDatabaseName(){
316
+    public function getDatabaseName() {
317 317
       return $this->databaseName;
318 318
     }
319 319
 
@@ -321,7 +321,7 @@  discard block
 block discarded – undo
321 321
      * Return the PDO instance
322 322
      * @return object
323 323
      */
324
-    public function getPdo(){
324
+    public function getPdo() {
325 325
       return $this->pdo;
326 326
     }
327 327
 
@@ -330,7 +330,7 @@  discard block
 block discarded – undo
330 330
      * @param object $pdo the pdo object
331 331
 	 * @return object Database
332 332
      */
333
-    public function setPdo(PDO $pdo){
333
+    public function setPdo(PDO $pdo) {
334 334
       $this->pdo = $pdo;
335 335
       return $this;
336 336
     }
@@ -340,7 +340,7 @@  discard block
 block discarded – undo
340 340
      * Return the Log instance
341 341
      * @return Log
342 342
      */
343
-    public function getLogger(){
343
+    public function getLogger() {
344 344
       return $this->logger;
345 345
     }
346 346
 
@@ -349,7 +349,7 @@  discard block
 block discarded – undo
349 349
      * @param Log $logger the log object
350 350
 	 * @return object Database
351 351
      */
352
-    public function setLogger($logger){
352
+    public function setLogger($logger) {
353 353
       $this->logger = $logger;
354 354
       return $this;
355 355
     }
@@ -358,7 +358,7 @@  discard block
 block discarded – undo
358 358
      * Return the cache instance
359 359
      * @return CacheInterface
360 360
      */
361
-    public function getCacheInstance(){
361
+    public function getCacheInstance() {
362 362
       return $this->cacheInstance;
363 363
     }
364 364
 
@@ -367,7 +367,7 @@  discard block
 block discarded – undo
367 367
      * @param CacheInterface $cache the cache object
368 368
 	 * @return object Database
369 369
      */
370
-    public function setCacheInstance($cache){
370
+    public function setCacheInstance($cache) {
371 371
       $this->cacheInstance = $cache;
372 372
       return $this;
373 373
     }
@@ -377,7 +377,7 @@  discard block
 block discarded – undo
377 377
      * Return the DatabaseQueryBuilder instance
378 378
      * @return object DatabaseQueryBuilder
379 379
      */
380
-    public function getQueryBuilder(){
380
+    public function getQueryBuilder() {
381 381
       return $this->queryBuilder;
382 382
     }
383 383
 
@@ -385,7 +385,7 @@  discard block
 block discarded – undo
385 385
      * Set the DatabaseQueryBuilder instance
386 386
      * @param object DatabaseQueryBuilder $queryBuilder the DatabaseQueryBuilder object
387 387
      */
388
-    public function setQueryBuilder(DatabaseQueryBuilder $queryBuilder){
388
+    public function setQueryBuilder(DatabaseQueryBuilder $queryBuilder) {
389 389
       $this->queryBuilder = $queryBuilder;
390 390
       return $this;
391 391
     }
@@ -394,7 +394,7 @@  discard block
 block discarded – undo
394 394
      * Return the DatabaseQueryRunner instance
395 395
      * @return object DatabaseQueryRunner
396 396
      */
397
-    public function getQueryRunner(){
397
+    public function getQueryRunner() {
398 398
       return $this->queryRunner;
399 399
     }
400 400
 
@@ -402,7 +402,7 @@  discard block
 block discarded – undo
402 402
      * Set the DatabaseQueryRunner instance
403 403
      * @param object DatabaseQueryRunner $queryRunner the DatabaseQueryRunner object
404 404
      */
405
-    public function setQueryRunner(DatabaseQueryRunner $queryRunner){
405
+    public function setQueryRunner(DatabaseQueryRunner $queryRunner) {
406 406
       $this->queryRunner = $queryRunner;
407 407
       return $this;
408 408
     }
@@ -411,7 +411,7 @@  discard block
 block discarded – undo
411 411
      * Return the data to be used for insert, update, etc.
412 412
      * @return array
413 413
      */
414
-    public function getData(){
414
+    public function getData() {
415 415
       return $this->data;
416 416
     }
417 417
 
@@ -422,9 +422,9 @@  discard block
 block discarded – undo
422 422
      * @param boolean $escape whether to escape or not the $value
423 423
      * @return object        the current Database instance
424 424
      */
425
-    public function setData($key, $value = null, $escape = true){
426
-  	  if(is_array($key)){
427
-    		foreach($key as $k => $v){
425
+    public function setData($key, $value = null, $escape = true) {
426
+  	  if (is_array($key)) {
427
+    		foreach ($key as $k => $v) {
428 428
     			$this->setData($k, $v, $escape);
429 429
     		}	
430 430
   	  } else {
@@ -440,7 +440,7 @@  discard block
 block discarded – undo
440 440
      * @param  boolean $returnAsArray return the result as array or not
441 441
      * @return mixed         the query result
442 442
      */
443
-    public function query($query, $returnAsList = true, $returnAsArray = false){
443
+    public function query($query, $returnAsList = true, $returnAsArray = false) {
444 444
       $this->reset();
445 445
       $this->query = preg_replace('/\s\s+|\t\t+/', ' ', trim($query));
446 446
       //If is the SELECT query
@@ -461,12 +461,12 @@  discard block
 block discarded – undo
461 461
       //if can use cache feature for this query
462 462
       $dbCacheStatus = $cacheEnable && $cacheExpire > 0;
463 463
     
464
-      if ($dbCacheStatus && $isSqlSELECTQuery){
464
+      if ($dbCacheStatus && $isSqlSELECTQuery) {
465 465
           $this->logger->info('The cache is enabled for this query, try to get result from cache'); 
466 466
           $cacheContent = $this->getCacheContentForQuery($query, $returnAsList, $returnAsArray);  
467 467
       }
468 468
       
469
-      if ( !$cacheContent){
469
+      if (!$cacheContent) {
470 470
   	   	//count the number of query execution to server
471 471
         $this->queryCount++;
472 472
         
@@ -475,23 +475,23 @@  discard block
 block discarded – undo
475 475
         $this->queryRunner->setReturnAsArray($returnAsArray);
476 476
         
477 477
         $queryResult = $this->queryRunner->execute();
478
-        if (is_object($queryResult)){
478
+        if (is_object($queryResult)) {
479 479
             $this->result  = $queryResult->getResult();
480 480
             $this->numRows = $queryResult->getNumRows();
481
-            if ($isSqlSELECTQuery && $dbCacheStatus){
481
+            if ($isSqlSELECTQuery && $dbCacheStatus) {
482 482
                 $this->setCacheContentForQuery(
483 483
                                             $this->query, 
484 484
                                             $this->getCacheKeyForQuery($this->query, $returnAsList, $returnAsArray), 
485 485
                                             $this->result, 
486 486
                                             $cacheExpire
487 487
                                           );
488
-            if (! $this->result){
488
+            if (!$this->result) {
489 489
               $this->logger->info('No result where found for the query [' . $query . ']');
490 490
             }
491 491
           }
492 492
         }
493
-      } else if ($isSqlSELECTQuery){
494
-          $this->logger->info('The result for query [' .$this->query. '] already cached use it');
493
+      } else if ($isSqlSELECTQuery) {
494
+          $this->logger->info('The result for query [' . $this->query . '] already cached use it');
495 495
           $this->result = $cacheContent;
496 496
           $this->numRows = count($this->result);
497 497
       }
@@ -503,7 +503,7 @@  discard block
 block discarded – undo
503 503
 	 * Return the database configuration
504 504
 	 * @return array
505 505
 	 */
506
-  	public  function getDatabaseConfiguration(){
506
+  	public  function getDatabaseConfiguration() {
507 507
   	  return $this->config;
508 508
   	}
509 509
 
@@ -513,9 +513,9 @@  discard block
 block discarded – undo
513 513
     * @param boolean $useConfigFile whether to use database configuration file
514 514
 	  * @return object Database
515 515
     */
516
-    public function setDatabaseConfiguration(array $overwriteConfig = array(), $useConfigFile = true){
516
+    public function setDatabaseConfiguration(array $overwriteConfig = array(), $useConfigFile = true) {
517 517
         $db = array();
518
-        if ($useConfigFile && file_exists(CONFIG_PATH . 'database.php')){
518
+        if ($useConfigFile && file_exists(CONFIG_PATH . 'database.php')) {
519 519
             //here don't use require_once because somewhere user can create database instance directly
520 520
             require CONFIG_PATH . 'database.php';
521 521
         }
@@ -540,7 +540,7 @@  discard block
 block discarded – undo
540 540
     	//determine the port using the hostname like localhost:3307
541 541
       //hostname will be "localhost", and port "3307"
542 542
       $p = explode(':', $config['hostname']);
543
-  	  if (count($p) >= 2){
543
+  	  if (count($p) >= 2) {
544 544
   		  $config['hostname'] = $p[0];
545 545
   		  $config['port'] = $p[1];
546 546
   		}
@@ -567,7 +567,7 @@  discard block
 block discarded – undo
567 567
     /**
568 568
      * Close the connexion
569 569
      */
570
-    public function close(){
570
+    public function close() {
571 571
       $this->pdo = null;
572 572
     }
573 573
 
@@ -575,16 +575,16 @@  discard block
 block discarded – undo
575 575
      * Update the DatabaseQueryBuilder and DatabaseQueryRunner properties
576 576
      * @return void
577 577
      */
578
-    protected function updateQueryBuilderAndRunnerProperties(){
578
+    protected function updateQueryBuilderAndRunnerProperties() {
579 579
        //update queryBuilder with some properties needed
580
-     if(is_object($this->queryBuilder)){
580
+     if (is_object($this->queryBuilder)) {
581 581
         $this->queryBuilder->setDriver($this->config['driver']);
582 582
         $this->queryBuilder->setPrefix($this->config['prefix']);
583 583
         $this->queryBuilder->setPdo($this->pdo);
584 584
      }
585 585
 
586 586
       //update queryRunner with some properties needed
587
-     if(is_object($this->queryRunner)){
587
+     if (is_object($this->queryRunner)) {
588 588
         $this->queryRunner->setDriver($this->config['driver']);
589 589
         $this->queryRunner->setPdo($this->pdo);
590 590
      }
@@ -595,9 +595,9 @@  discard block
 block discarded – undo
595 595
      * This method is used to get the PDO DSN string using the configured driver
596 596
      * @return string the DSN string
597 597
      */
598
-    protected function getDsnFromDriver(){
598
+    protected function getDsnFromDriver() {
599 599
       $config = $this->getDatabaseConfiguration();
600
-      if (! empty($config)){
600
+      if (!empty($config)) {
601 601
         $driver = $config['driver'];
602 602
         $driverDsnMap = array(
603 603
                               'mysql' => 'mysql:host=' . $config['hostname'] . ';' 
@@ -622,9 +622,9 @@  discard block
 block discarded – undo
622 622
      *      
623 623
      * @return mixed
624 624
      */
625
-    protected function getCacheContentForQuery($query, $returnAsList, $returnAsArray){
625
+    protected function getCacheContentForQuery($query, $returnAsList, $returnAsArray) {
626 626
         $cacheKey = $this->getCacheKeyForQuery($query, $returnAsList, $returnAsArray);
627
-        if (! is_object($this->cacheInstance)){
627
+        if (!is_object($this->cacheInstance)) {
628 628
     			//can not call method with reference in argument
629 629
     			//like $this->setCacheInstance(& get_instance()->cache);
630 630
     			//use temporary variable
@@ -641,9 +641,9 @@  discard block
 block discarded – undo
641 641
      * @param mixed $result the query result to save
642 642
      * @param int $expire the cache TTL
643 643
      */
644
-     protected function setCacheContentForQuery($query, $key, $result, $expire){
645
-        $this->logger->info('Save the result for query [' .$query. '] into cache for future use');
646
-        if (! is_object($this->cacheInstance)){
644
+     protected function setCacheContentForQuery($query, $key, $result, $expire) {
645
+        $this->logger->info('Save the result for query [' . $query . '] into cache for future use');
646
+        if (!is_object($this->cacheInstance)) {
647 647
   				//can not call method with reference in argument
648 648
   				//like $this->setCacheInstance(& get_instance()->cache);
649 649
   				//use temporary variable
@@ -660,7 +660,7 @@  discard block
 block discarded – undo
660 660
      * 
661 661
      *  @return string
662 662
      */
663
-    protected function getCacheKeyForQuery($query, $returnAsList, $returnAsArray){
663
+    protected function getCacheKeyForQuery($query, $returnAsList, $returnAsArray) {
664 664
       return md5($query . $returnAsList . $returnAsArray);
665 665
     }
666 666
     
@@ -668,12 +668,12 @@  discard block
 block discarded – undo
668 668
      * Set the Log instance using argument or create new instance
669 669
      * @param object $logger the Log instance if not null
670 670
      */
671
-    protected function setLoggerFromParamOrCreateNewInstance(Log $logger = null){
672
-      if ($logger !== null){
671
+    protected function setLoggerFromParamOrCreateNewInstance(Log $logger = null) {
672
+      if ($logger !== null) {
673 673
         $this->logger = $logger;
674 674
       }
675
-      else{
676
-          $this->logger =& class_loader('Log', 'classes');
675
+      else {
676
+          $this->logger = & class_loader('Log', 'classes');
677 677
           $this->logger->setLogger('Library::Database');
678 678
       }
679 679
     }
@@ -682,12 +682,12 @@  discard block
 block discarded – undo
682 682
    * Set the DatabaseQueryBuilder instance using argument or create new instance
683 683
    * @param object $queryBuilder the DatabaseQueryBuilder instance if not null
684 684
    */
685
-	protected function setQueryBuilderFromParamOrCreateNewInstance(DatabaseQueryBuilder $queryBuilder = null){
686
-	  if ($queryBuilder !== null){
685
+	protected function setQueryBuilderFromParamOrCreateNewInstance(DatabaseQueryBuilder $queryBuilder = null) {
686
+	  if ($queryBuilder !== null) {
687 687
         $this->queryBuilder = $queryBuilder;
688 688
 	  }
689
-	  else{
690
-		  $this->queryBuilder =& class_loader('DatabaseQueryBuilder', 'classes/database');
689
+	  else {
690
+		  $this->queryBuilder = & class_loader('DatabaseQueryBuilder', 'classes/database');
691 691
 	  }
692 692
 	}
693 693
 
@@ -695,19 +695,19 @@  discard block
 block discarded – undo
695 695
    * Set the DatabaseQueryRunner instance using argument or create new instance
696 696
    * @param object $queryRunner the DatabaseQueryRunner instance if not null
697 697
    */
698
-  protected function setQueryRunnerFromParamOrCreateNewInstance(DatabaseQueryRunner $queryRunner = null){
699
-    if ($queryRunner !== null){
698
+  protected function setQueryRunnerFromParamOrCreateNewInstance(DatabaseQueryRunner $queryRunner = null) {
699
+    if ($queryRunner !== null) {
700 700
         $this->queryRunner = $queryRunner;
701 701
     }
702
-    else{
703
-      $this->queryRunner =& class_loader('DatabaseQueryRunner', 'classes/database');
702
+    else {
703
+      $this->queryRunner = & class_loader('DatabaseQueryRunner', 'classes/database');
704 704
     }
705 705
   }
706 706
 
707 707
     /**
708 708
      * Reset the database class attributs to the initail values before each query.
709 709
      */
710
-    private function reset(){
710
+    private function reset() {
711 711
 	   //query builder reset
712 712
       $this->getQueryBuilder()->reset();
713 713
       $this->numRows  = 0;
@@ -720,7 +720,7 @@  discard block
 block discarded – undo
720 720
     /**
721 721
      * The class destructor
722 722
      */
723
-    public function __destruct(){
723
+    public function __destruct() {
724 724
       $this->pdo = null;
725 725
     }
726 726
 
Please login to merge, or discard this patch.
Braces   +4 added lines, -8 removed lines patch added patch discarded remove patch
@@ -151,8 +151,7 @@  discard block
 block discarded – undo
151 151
             $this->pdo->exec("SET CHARACTER SET '" . $config['charset'] . "'");
152 152
             $this->pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
153 153
             return true;
154
-          }
155
-          catch (PDOException $e){
154
+          } catch (PDOException $e){
156 155
             $this->logger->fatal($e->getMessage());
157 156
             show_error('Cannot connect to Database.');
158 157
             return false;
@@ -671,8 +670,7 @@  discard block
 block discarded – undo
671 670
     protected function setLoggerFromParamOrCreateNewInstance(Log $logger = null){
672 671
       if ($logger !== null){
673 672
         $this->logger = $logger;
674
-      }
675
-      else{
673
+      } else{
676 674
           $this->logger =& class_loader('Log', 'classes');
677 675
           $this->logger->setLogger('Library::Database');
678 676
       }
@@ -685,8 +683,7 @@  discard block
 block discarded – undo
685 683
 	protected function setQueryBuilderFromParamOrCreateNewInstance(DatabaseQueryBuilder $queryBuilder = null){
686 684
 	  if ($queryBuilder !== null){
687 685
         $this->queryBuilder = $queryBuilder;
688
-	  }
689
-	  else{
686
+	  } else{
690 687
 		  $this->queryBuilder =& class_loader('DatabaseQueryBuilder', 'classes/database');
691 688
 	  }
692 689
 	}
@@ -698,8 +695,7 @@  discard block
 block discarded – undo
698 695
   protected function setQueryRunnerFromParamOrCreateNewInstance(DatabaseQueryRunner $queryRunner = null){
699 696
     if ($queryRunner !== null){
700 697
         $this->queryRunner = $queryRunner;
701
-    }
702
-    else{
698
+    } else{
703 699
       $this->queryRunner =& class_loader('DatabaseQueryRunner', 'classes/database');
704 700
     }
705 701
   }
Please login to merge, or discard this patch.
core/classes/Router.php 3 patches
Indentation   +378 added lines, -378 removed lines patch added patch discarded remove patch
@@ -1,393 +1,393 @@  discard block
 block discarded – undo
1 1
 <?php
2
-	defined('ROOT_PATH') or 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') or 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 Router {
27
+    class Router {
28 28
 		
29
-		/**
30
-		* @var array $pattern: The list of URIs to validate against
31
-		*/
32
-		private $pattern = array();
29
+        /**
30
+         * @var array $pattern: The list of URIs to validate against
31
+         */
32
+        private $pattern = array();
33 33
 
34
-		/**
35
-		* @var array $callback: The list of callback to call
36
-		*/
37
-		private $callback = array();
34
+        /**
35
+         * @var array $callback: The list of callback to call
36
+         */
37
+        private $callback = array();
38 38
 
39
-		/**
40
-		* @var string $uriTrim: The char to remove from the URIs
41
-		*/
42
-		protected $uriTrim = '/\^$';
39
+        /**
40
+         * @var string $uriTrim: The char to remove from the URIs
41
+         */
42
+        protected $uriTrim = '/\^$';
43 43
 
44
-		/**
45
-		 * The module name of the current request
46
-		 * @var string
47
-		 */
48
-		protected $module = null;
44
+        /**
45
+         * The module name of the current request
46
+         * @var string
47
+         */
48
+        protected $module = null;
49 49
 		
50
-		/**
51
-		 * The controller name of the current request
52
-		 * @var string
53
-		 */
54
-		protected $controller = null;
50
+        /**
51
+         * The controller name of the current request
52
+         * @var string
53
+         */
54
+        protected $controller = null;
55 55
 
56
-		/**
57
-		 * The controller path
58
-		 * @var string
59
-		 */
60
-		protected $controllerPath = null;
56
+        /**
57
+         * The controller path
58
+         * @var string
59
+         */
60
+        protected $controllerPath = null;
61 61
 
62
-		/**
63
-		 * The method name. The default value is "index"
64
-		 * @var string
65
-		 */
66
-		protected $method = 'index';
62
+        /**
63
+         * The method name. The default value is "index"
64
+         * @var string
65
+         */
66
+        protected $method = 'index';
67 67
 
68
-		/**
69
-		 * List of argument to pass to the method
70
-		 * @var array
71
-		 */
72
-		protected $args = array();
68
+        /**
69
+         * List of argument to pass to the method
70
+         * @var array
71
+         */
72
+        protected $args = array();
73 73
 
74
-		/**
75
-		 * List of routes configurations
76
-		 * @var array
77
-		 */
78
-		protected $routes = array();
74
+        /**
75
+         * List of routes configurations
76
+         * @var array
77
+         */
78
+        protected $routes = array();
79 79
 
80
-		/**
81
-		 * The segments array for the current request
82
-		 * @var array
83
-		 */
84
-		protected $segments;
80
+        /**
81
+         * The segments array for the current request
82
+         * @var array
83
+         */
84
+        protected $segments;
85 85
 
86
-		/**
87
-		 * The logger instance
88
-		 * @var Log
89
-		 */
90
-		private $logger;
86
+        /**
87
+         * The logger instance
88
+         * @var Log
89
+         */
90
+        private $logger;
91 91
 
92
-		/**
93
-		 * Construct the new Router instance
94
-		 */
95
-		public function __construct(){
96
-			$this->setLoggerFromParamOrCreateNewInstance(null);
92
+        /**
93
+         * Construct the new Router instance
94
+         */
95
+        public function __construct(){
96
+            $this->setLoggerFromParamOrCreateNewInstance(null);
97 97
 			
98
-			//loading routes for module
99
-			$moduleRouteList = array();
100
-			$modulesRoutes = Module::getModulesRoutes();
101
-			if($modulesRoutes && is_array($modulesRoutes)){
102
-				$moduleRouteList = $modulesRoutes;
103
-				unset($modulesRoutes);
104
-			}
105
-			$this->setRouteConfiguration($moduleRouteList);
106
-			$this->logger->info('The routes configuration are listed below: ' . stringfy_vars($this->routes));
98
+            //loading routes for module
99
+            $moduleRouteList = array();
100
+            $modulesRoutes = Module::getModulesRoutes();
101
+            if($modulesRoutes && is_array($modulesRoutes)){
102
+                $moduleRouteList = $modulesRoutes;
103
+                unset($modulesRoutes);
104
+            }
105
+            $this->setRouteConfiguration($moduleRouteList);
106
+            $this->logger->info('The routes configuration are listed below: ' . stringfy_vars($this->routes));
107 107
 
108
-			//Set route parameters
109
-			$this->setRouteParams();
110
-		}
108
+            //Set route parameters
109
+            $this->setRouteParams();
110
+        }
111 111
 
112
-		/**
113
-		* Add the URI and callback to the list of URIs to validate
114
-		*
115
-		* @param string $uri the request URI
116
-		* @param object $callback the callback function
117
-		*/
118
-		public function add($uri, $callback) {
119
-			$uri = trim($uri, $this->uriTrim);
120
-			if(in_array($uri, $this->pattern)){
121
-				$this->logger->warning('The route [' . $uri . '] already added, may be adding again can have route conflict');
122
-			}
123
-			$this->pattern[] = $uri;
124
-			$this->callback[] = $callback;
125
-		}
112
+        /**
113
+         * Add the URI and callback to the list of URIs to validate
114
+         *
115
+         * @param string $uri the request URI
116
+         * @param object $callback the callback function
117
+         */
118
+        public function add($uri, $callback) {
119
+            $uri = trim($uri, $this->uriTrim);
120
+            if(in_array($uri, $this->pattern)){
121
+                $this->logger->warning('The route [' . $uri . '] already added, may be adding again can have route conflict');
122
+            }
123
+            $this->pattern[] = $uri;
124
+            $this->callback[] = $callback;
125
+        }
126 126
 
127
-		/**
128
-		 * Get the module name
129
-		 * @return string
130
-		 */
131
-		public function getModule(){
132
-			return $this->module;
133
-		}
127
+        /**
128
+         * Get the module name
129
+         * @return string
130
+         */
131
+        public function getModule(){
132
+            return $this->module;
133
+        }
134 134
 		
135
-		/**
136
-		 * Get the controller name
137
-		 * @return string
138
-		 */
139
-		public function getController(){
140
-			return $this->controller;
141
-		}
135
+        /**
136
+         * Get the controller name
137
+         * @return string
138
+         */
139
+        public function getController(){
140
+            return $this->controller;
141
+        }
142 142
 
143
-		/**
144
-		 * Get the controller file path
145
-		 * @return string
146
-		 */
147
-		public function getControllerPath(){
148
-			return $this->controllerPath;
149
-		}
143
+        /**
144
+         * Get the controller file path
145
+         * @return string
146
+         */
147
+        public function getControllerPath(){
148
+            return $this->controllerPath;
149
+        }
150 150
 
151
-		/**
152
-		 * Get the controller method
153
-		 * @return string
154
-		 */
155
-		public function getMethod(){
156
-			return $this->method;
157
-		}
151
+        /**
152
+         * Get the controller method
153
+         * @return string
154
+         */
155
+        public function getMethod(){
156
+            return $this->method;
157
+        }
158 158
 
159
-		/**
160
-		 * Get the request arguments
161
-		 * @return array
162
-		 */
163
-		public function getArgs(){
164
-			return $this->args;
165
-		}
159
+        /**
160
+         * Get the request arguments
161
+         * @return array
162
+         */
163
+        public function getArgs(){
164
+            return $this->args;
165
+        }
166 166
 
167
-		/**
168
-		 * Get the URL segments array
169
-		 * @return array
170
-		 */
171
-		public function getSegments(){
172
-			return $this->segments;
173
-		}
167
+        /**
168
+         * Get the URL segments array
169
+         * @return array
170
+         */
171
+        public function getSegments(){
172
+            return $this->segments;
173
+        }
174 174
 
175
-		/**
176
-		 * Routing the request to the correspondant module/controller/method if exists
177
-		 * otherwise send 404 error.
178
-		 */
179
-		public function run() {
180
-			$benchmark =& class_loader('Benchmark');
181
-			$benchmark->mark('ROUTING_PROCESS_START');
182
-			$this->logger->debug('Routing process start ...');
183
-			$segment = $this->segments;
184
-			$baseUrl = get_config('base_url');
185
-			//check if the app is not in DOCUMENT_ROOT
186
-			if(isset($segment[0]) && stripos($baseUrl, $segment[0]) != false){
187
-				array_shift($segment);
188
-				$this->segments = $segment;
189
-			}
190
-			$this->logger->debug('Check if the request URI contains the front controller');
191
-			if(isset($segment[0]) && $segment[0] == SELF){
192
-				$this->logger->info('The request URI contains the front controller');
193
-				array_shift($segment);
194
-				$this->segments = $segment;
195
-			}
196
-			else{
197
-				$this->logger->info('The request URI does not contain the front controller');
198
-			}
199
-			$uri = implode('/', $segment);
200
-			$this->logger->info('The final Request URI is [' . $uri . ']' );
201
-			//generic routes
202
-			$pattern = array(':num', ':alpha', ':alnum', ':any');
203
-			$replace = array('[0-9]+', '[a-zA-Z]+', '[a-zA-Z0-9]+', '.*');
204
-			$this->logger->debug('Begin to loop in the predefined routes configuration to check if the current request match');
205
-			// Cycle through the URIs stored in the array
206
-			foreach ($this->pattern as $index => $uriList) {
207
-				$uriList = str_ireplace($pattern, $replace, $uriList);
208
-				// Check for an existant matching URI
209
-				if (preg_match("#^$uriList$#", $uri, $args)) {
210
-					$this->logger->info('Route found for request URI [' . $uri . '] using the predefined configuration [' . $this->pattern[$index] . '] --> [' . $this->callback[$index] . ']');
211
-					array_shift($args);
212
-					//check if this contains an module
213
-					$moduleControllerMethod = explode('#', $this->callback[$index]);
214
-					if(is_array($moduleControllerMethod) && count($moduleControllerMethod) >= 2){
215
-						$this->logger->info('The current request use the module [' .$moduleControllerMethod[0]. ']');
216
-						$this->module = $moduleControllerMethod[0];
217
-						$moduleControllerMethod = explode('@', $moduleControllerMethod[1]);
218
-					}
219
-					else{
220
-						$this->logger->info('The current request does not use the module');
221
-						$moduleControllerMethod = explode('@', $this->callback[$index]);
222
-					}
223
-					if(is_array($moduleControllerMethod)){
224
-						if(isset($moduleControllerMethod[0])){
225
-							$this->controller = $moduleControllerMethod[0];	
226
-						}
227
-						if(isset($moduleControllerMethod[1])){
228
-							$this->method = $moduleControllerMethod[1];
229
-						}
230
-						$this->args = $args;
231
-					}
232
-					// stop here
233
-					break;
234
-				}
235
-			}
236
-			//first if the controller is not set and the module is set use the module name as the controller
237
-			if(! $this->getController() && $this->getModule()){
238
-				$this->logger->info('After loop in predefined routes configuration, the module name is set but the controller is not set, so we will use module as the controller');
239
-				$this->controller = $this->getModule();
240
-			}
241
-			//if can not determine the module/controller/method via the defined routes configuration we will use
242
-			//the URL like http://domain.com/module/controller/method/arg1/arg2
243
-			if(! $this->getController()){
244
-				$this->logger->info('Cannot determine the routing information using the predefined routes configuration, will use the request URI parameters');
245
-				$nbSegment = count($segment);
246
-				//if segment is null so means no need to perform
247
-				if($nbSegment > 0){
248
-					//get the module list
249
-					$modules = Module::getModuleList();
250
-					//first check if no module
251
-					if(! $modules){
252
-						$this->logger->info('No module was loaded will skip the module checking');
253
-						//the application don't use module
254
-						//controller
255
-						if(isset($segment[0])){
256
-							$this->controller = $segment[0];
257
-							array_shift($segment);
258
-						}
259
-						//method
260
-						if(isset($segment[0])){
261
-							$this->method = $segment[0];
262
-							array_shift($segment);
263
-						}
264
-						//args
265
-						$this->args = $segment;
266
-					}
267
-					else{
268
-						$this->logger->info('The application contains a loaded module will check if the current request is found in the module list');
269
-						if(in_array($segment[0], $modules)){
270
-							$this->logger->info('Found, the current request use the module [' . $segment[0] . ']');
271
-							$this->module = $segment[0];
272
-							array_shift($segment);
273
-							//check if the second arg is the controller from module
274
-							if(isset($segment[0])){
275
-								$this->controller = $segment[0];
276
-								//check if the request use the same module name and controller
277
-								$path = Module::findControllerFullPath(ucfirst($this->getController()), $this->getModule());
278
-								if(! $path){
279
-									$this->logger->info('The controller [' . $this->getController() . '] not found in the module, may be will use the module [' . $this->getModule() . '] as controller');
280
-									$this->controller = $this->getModule();
281
-								}
282
-								else{
283
-									$this->controllerPath = $path;
284
-									array_shift($segment);
285
-								}
286
-							}
287
-							//check for method
288
-							if(isset($segment[0])){
289
-								$this->method = $segment[0];
290
-								array_shift($segment);
291
-							}
292
-							//the remaining is for args
293
-							$this->args = $segment;
294
-						}
295
-						else{
296
-							$this->logger->info('The current request information is not found in the module list');
297
-							//controller
298
-							if(isset($segment[0])){
299
-								$this->controller = $segment[0];
300
-								array_shift($segment);
301
-							}
302
-							//method
303
-							if(isset($segment[0])){
304
-								$this->method = $segment[0];
305
-								array_shift($segment);
306
-							}
307
-							//args
308
-							$this->args = $segment;
309
-						}
310
-					}
311
-				}
312
-			}
313
-			if(! $this->getController() && $this->getModule()){
314
-				$this->logger->info('After using the request URI the module name is set but the controller is not set so we will use module as the controller');
315
-				$this->controller = $this->getModule();
316
-			}
317
-			//did we set the controller, so set the controller path
318
-			if($this->getController() && ! $this->getControllerPath()){
319
-				$this->logger->debug('Setting the file path for the controller [' . $this->getController() . ']');
320
-				//if it is the module controller
321
-				if($this->getModule()){
322
-					$this->controllerPath = Module::findControllerFullPath(ucfirst($this->getController()), $this->getModule());
323
-				}
324
-				else{
325
-					$this->controllerPath = APPS_CONTROLLER_PATH . ucfirst($this->getController()) . '.php';
326
-				}
327
-			}
328
-			$controller = ucfirst($this->getController());
329
-			$this->logger->info('The routing information are: module [' . $this->getModule() . '], controller [' . $controller . '], method [' . $this->getMethod() . '], args [' . stringfy_vars($this->args) . ']');
330
-			$classFilePath = $this->getControllerPath();
331
-			$this->logger->debug('Loading controller [' . $controller . '], the file path is [' . $classFilePath . ']...');
332
-			$benchmark->mark('ROUTING_PROCESS_END');
333
-			$e404 = false;
334
-			if(file_exists($classFilePath)){
335
-				require_once $classFilePath;
336
-				if(! class_exists($controller, false)){
337
-					$e404 = true;
338
-					$this->logger->info('The controller file [' .$classFilePath. '] exists but does not contain the class [' . $controller . ']');
339
-				}
340
-				else{
341
-					$controllerInstance = new $controller();
342
-					$controllerMethod = $this->getMethod();
343
-					if(! method_exists($controllerInstance, $controllerMethod)){
344
-						$e404 = true;
345
-						$this->logger->info('The controller [' . $controller . '] exist but does not contain the method [' . $controllerMethod . ']');
346
-					}
347
-					else{
348
-						$this->logger->info('Routing data is set correctly now GO!');
349
-						call_user_func_array(array($controllerInstance, $controllerMethod), $this->getArgs());
350
-						$obj = & get_instance();
351
-						//render the final page to user
352
-						$this->logger->info('Render the final output to the browser');
353
-						$obj->response->renderFinalPage();
354
-					}
355
-				}
356
-			}
357
-			else{
358
-				$this->logger->info('The controller file path [' . $classFilePath . '] does not exist');
359
-				$e404 = true;
360
-			}
361
-			if($e404){
362
-				$response =& class_loader('Response', 'classes');
363
-				$response->send404();
364
-			}
365
-		}
175
+        /**
176
+         * Routing the request to the correspondant module/controller/method if exists
177
+         * otherwise send 404 error.
178
+         */
179
+        public function run() {
180
+            $benchmark =& class_loader('Benchmark');
181
+            $benchmark->mark('ROUTING_PROCESS_START');
182
+            $this->logger->debug('Routing process start ...');
183
+            $segment = $this->segments;
184
+            $baseUrl = get_config('base_url');
185
+            //check if the app is not in DOCUMENT_ROOT
186
+            if(isset($segment[0]) && stripos($baseUrl, $segment[0]) != false){
187
+                array_shift($segment);
188
+                $this->segments = $segment;
189
+            }
190
+            $this->logger->debug('Check if the request URI contains the front controller');
191
+            if(isset($segment[0]) && $segment[0] == SELF){
192
+                $this->logger->info('The request URI contains the front controller');
193
+                array_shift($segment);
194
+                $this->segments = $segment;
195
+            }
196
+            else{
197
+                $this->logger->info('The request URI does not contain the front controller');
198
+            }
199
+            $uri = implode('/', $segment);
200
+            $this->logger->info('The final Request URI is [' . $uri . ']' );
201
+            //generic routes
202
+            $pattern = array(':num', ':alpha', ':alnum', ':any');
203
+            $replace = array('[0-9]+', '[a-zA-Z]+', '[a-zA-Z0-9]+', '.*');
204
+            $this->logger->debug('Begin to loop in the predefined routes configuration to check if the current request match');
205
+            // Cycle through the URIs stored in the array
206
+            foreach ($this->pattern as $index => $uriList) {
207
+                $uriList = str_ireplace($pattern, $replace, $uriList);
208
+                // Check for an existant matching URI
209
+                if (preg_match("#^$uriList$#", $uri, $args)) {
210
+                    $this->logger->info('Route found for request URI [' . $uri . '] using the predefined configuration [' . $this->pattern[$index] . '] --> [' . $this->callback[$index] . ']');
211
+                    array_shift($args);
212
+                    //check if this contains an module
213
+                    $moduleControllerMethod = explode('#', $this->callback[$index]);
214
+                    if(is_array($moduleControllerMethod) && count($moduleControllerMethod) >= 2){
215
+                        $this->logger->info('The current request use the module [' .$moduleControllerMethod[0]. ']');
216
+                        $this->module = $moduleControllerMethod[0];
217
+                        $moduleControllerMethod = explode('@', $moduleControllerMethod[1]);
218
+                    }
219
+                    else{
220
+                        $this->logger->info('The current request does not use the module');
221
+                        $moduleControllerMethod = explode('@', $this->callback[$index]);
222
+                    }
223
+                    if(is_array($moduleControllerMethod)){
224
+                        if(isset($moduleControllerMethod[0])){
225
+                            $this->controller = $moduleControllerMethod[0];	
226
+                        }
227
+                        if(isset($moduleControllerMethod[1])){
228
+                            $this->method = $moduleControllerMethod[1];
229
+                        }
230
+                        $this->args = $args;
231
+                    }
232
+                    // stop here
233
+                    break;
234
+                }
235
+            }
236
+            //first if the controller is not set and the module is set use the module name as the controller
237
+            if(! $this->getController() && $this->getModule()){
238
+                $this->logger->info('After loop in predefined routes configuration, the module name is set but the controller is not set, so we will use module as the controller');
239
+                $this->controller = $this->getModule();
240
+            }
241
+            //if can not determine the module/controller/method via the defined routes configuration we will use
242
+            //the URL like http://domain.com/module/controller/method/arg1/arg2
243
+            if(! $this->getController()){
244
+                $this->logger->info('Cannot determine the routing information using the predefined routes configuration, will use the request URI parameters');
245
+                $nbSegment = count($segment);
246
+                //if segment is null so means no need to perform
247
+                if($nbSegment > 0){
248
+                    //get the module list
249
+                    $modules = Module::getModuleList();
250
+                    //first check if no module
251
+                    if(! $modules){
252
+                        $this->logger->info('No module was loaded will skip the module checking');
253
+                        //the application don't use module
254
+                        //controller
255
+                        if(isset($segment[0])){
256
+                            $this->controller = $segment[0];
257
+                            array_shift($segment);
258
+                        }
259
+                        //method
260
+                        if(isset($segment[0])){
261
+                            $this->method = $segment[0];
262
+                            array_shift($segment);
263
+                        }
264
+                        //args
265
+                        $this->args = $segment;
266
+                    }
267
+                    else{
268
+                        $this->logger->info('The application contains a loaded module will check if the current request is found in the module list');
269
+                        if(in_array($segment[0], $modules)){
270
+                            $this->logger->info('Found, the current request use the module [' . $segment[0] . ']');
271
+                            $this->module = $segment[0];
272
+                            array_shift($segment);
273
+                            //check if the second arg is the controller from module
274
+                            if(isset($segment[0])){
275
+                                $this->controller = $segment[0];
276
+                                //check if the request use the same module name and controller
277
+                                $path = Module::findControllerFullPath(ucfirst($this->getController()), $this->getModule());
278
+                                if(! $path){
279
+                                    $this->logger->info('The controller [' . $this->getController() . '] not found in the module, may be will use the module [' . $this->getModule() . '] as controller');
280
+                                    $this->controller = $this->getModule();
281
+                                }
282
+                                else{
283
+                                    $this->controllerPath = $path;
284
+                                    array_shift($segment);
285
+                                }
286
+                            }
287
+                            //check for method
288
+                            if(isset($segment[0])){
289
+                                $this->method = $segment[0];
290
+                                array_shift($segment);
291
+                            }
292
+                            //the remaining is for args
293
+                            $this->args = $segment;
294
+                        }
295
+                        else{
296
+                            $this->logger->info('The current request information is not found in the module list');
297
+                            //controller
298
+                            if(isset($segment[0])){
299
+                                $this->controller = $segment[0];
300
+                                array_shift($segment);
301
+                            }
302
+                            //method
303
+                            if(isset($segment[0])){
304
+                                $this->method = $segment[0];
305
+                                array_shift($segment);
306
+                            }
307
+                            //args
308
+                            $this->args = $segment;
309
+                        }
310
+                    }
311
+                }
312
+            }
313
+            if(! $this->getController() && $this->getModule()){
314
+                $this->logger->info('After using the request URI the module name is set but the controller is not set so we will use module as the controller');
315
+                $this->controller = $this->getModule();
316
+            }
317
+            //did we set the controller, so set the controller path
318
+            if($this->getController() && ! $this->getControllerPath()){
319
+                $this->logger->debug('Setting the file path for the controller [' . $this->getController() . ']');
320
+                //if it is the module controller
321
+                if($this->getModule()){
322
+                    $this->controllerPath = Module::findControllerFullPath(ucfirst($this->getController()), $this->getModule());
323
+                }
324
+                else{
325
+                    $this->controllerPath = APPS_CONTROLLER_PATH . ucfirst($this->getController()) . '.php';
326
+                }
327
+            }
328
+            $controller = ucfirst($this->getController());
329
+            $this->logger->info('The routing information are: module [' . $this->getModule() . '], controller [' . $controller . '], method [' . $this->getMethod() . '], args [' . stringfy_vars($this->args) . ']');
330
+            $classFilePath = $this->getControllerPath();
331
+            $this->logger->debug('Loading controller [' . $controller . '], the file path is [' . $classFilePath . ']...');
332
+            $benchmark->mark('ROUTING_PROCESS_END');
333
+            $e404 = false;
334
+            if(file_exists($classFilePath)){
335
+                require_once $classFilePath;
336
+                if(! class_exists($controller, false)){
337
+                    $e404 = true;
338
+                    $this->logger->info('The controller file [' .$classFilePath. '] exists but does not contain the class [' . $controller . ']');
339
+                }
340
+                else{
341
+                    $controllerInstance = new $controller();
342
+                    $controllerMethod = $this->getMethod();
343
+                    if(! method_exists($controllerInstance, $controllerMethod)){
344
+                        $e404 = true;
345
+                        $this->logger->info('The controller [' . $controller . '] exist but does not contain the method [' . $controllerMethod . ']');
346
+                    }
347
+                    else{
348
+                        $this->logger->info('Routing data is set correctly now GO!');
349
+                        call_user_func_array(array($controllerInstance, $controllerMethod), $this->getArgs());
350
+                        $obj = & get_instance();
351
+                        //render the final page to user
352
+                        $this->logger->info('Render the final output to the browser');
353
+                        $obj->response->renderFinalPage();
354
+                    }
355
+                }
356
+            }
357
+            else{
358
+                $this->logger->info('The controller file path [' . $classFilePath . '] does not exist');
359
+                $e404 = true;
360
+            }
361
+            if($e404){
362
+                $response =& class_loader('Response', 'classes');
363
+                $response->send404();
364
+            }
365
+        }
366 366
 
367
-	/**
367
+    /**
368 368
      * Return the Log instance
369 369
      * @return Log
370 370
      */
371 371
     public function getLogger(){
372
-      return $this->logger;
372
+        return $this->logger;
373 373
     }
374 374
 
375 375
     /**
376 376
      * Set the log instance
377 377
      * @param Log $logger the log object
378
-	 * @return object
378
+     * @return object
379 379
      */
380 380
     public function setLogger($logger){
381
-      $this->logger = $logger;
382
-      return $this;
381
+        $this->logger = $logger;
382
+        return $this;
383 383
     }
384 384
 
385 385
     /**
386
-    * Setting the route configuration using the configuration file and additional configuration from param
387
-    * @param array $overwriteConfig the additional configuration to overwrite with the existing one
388
-    * @param boolean $useConfigFile whether to use route configuration file
389
-	* @return object
390
-    */
386
+     * Setting the route configuration using the configuration file and additional configuration from param
387
+     * @param array $overwriteConfig the additional configuration to overwrite with the existing one
388
+     * @param boolean $useConfigFile whether to use route configuration file
389
+     * @return object
390
+     */
391 391
     public function setRouteConfiguration(array $overwriteConfig = array(), $useConfigFile = true){
392 392
         $route = array();
393 393
         if ($useConfigFile && file_exists(CONFIG_PATH . 'routes.php')){
@@ -395,45 +395,45 @@  discard block
 block discarded – undo
395 395
         }
396 396
         $route = array_merge($route, $overwriteConfig);
397 397
         $this->routes = $route;
398
-		return $this;
398
+        return $this;
399 399
     }
400 400
 
401 401
     /**
402 402
      * Set the route paramaters using the configuration
403 403
      */
404 404
     protected function setRouteParams(){
405
-    	//adding route
406
-		foreach($this->routes as $pattern => $callback){
407
-			$this->add($pattern, $callback);
408
-		}
405
+        //adding route
406
+        foreach($this->routes as $pattern => $callback){
407
+            $this->add($pattern, $callback);
408
+        }
409 409
 		
410
-		//here use directly the variable $_SERVER
411
-		$uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
412
-		$this->logger->debug('Check if URL suffix is enabled in the configuration');
413
-		//remove url suffix from the request URI
414
-		$suffix = get_config('url_suffix');
415
-		if ($suffix) {
416
-			$this->logger->info('URL suffix is enabled in the configuration, the value is [' . $suffix . ']' );
417
-			$uri = str_ireplace($suffix, '', $uri);
418
-		} 
419
-		if (strpos($uri, '?') !== false){
420
-			$uri = substr($uri, 0, strpos($uri, '?'));
421
-		}
422
-		$uri = trim($uri, $this->uriTrim);
423
-		$this->segments = explode('/', $uri);
424
-	}
410
+        //here use directly the variable $_SERVER
411
+        $uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
412
+        $this->logger->debug('Check if URL suffix is enabled in the configuration');
413
+        //remove url suffix from the request URI
414
+        $suffix = get_config('url_suffix');
415
+        if ($suffix) {
416
+            $this->logger->info('URL suffix is enabled in the configuration, the value is [' . $suffix . ']' );
417
+            $uri = str_ireplace($suffix, '', $uri);
418
+        } 
419
+        if (strpos($uri, '?') !== false){
420
+            $uri = substr($uri, 0, strpos($uri, '?'));
421
+        }
422
+        $uri = trim($uri, $this->uriTrim);
423
+        $this->segments = explode('/', $uri);
424
+    }
425 425
 
426
-	/**
426
+    /**
427 427
      * Set the Log instance using argument or create new instance
428 428
      * @param object $logger the Log instance if not null
429 429
      */
430 430
     protected function setLoggerFromParamOrCreateNewInstance(Log $logger = null){
431
-      if ($logger !== null){
431
+        if ($logger !== null){
432 432
         $this->logger = $logger;
433
-      }
434
-      else{
435
-          $this->logger =& class_loader('Log', 'classes');
436
-          $this->logger->setLogger('Library::Router');
437
-      }
433
+        }
434
+        else{
435
+            $this->logger =& class_loader('Log', 'classes');
436
+            $this->logger->setLogger('Library::Router');
437
+        }
438 438
     }
439 439
 }
Please login to merge, or discard this patch.
Spacing   +60 added lines, -60 removed lines patch added patch discarded remove patch
@@ -92,13 +92,13 @@  discard block
 block discarded – undo
92 92
 		/**
93 93
 		 * Construct the new Router instance
94 94
 		 */
95
-		public function __construct(){
95
+		public function __construct() {
96 96
 			$this->setLoggerFromParamOrCreateNewInstance(null);
97 97
 			
98 98
 			//loading routes for module
99 99
 			$moduleRouteList = array();
100 100
 			$modulesRoutes = Module::getModulesRoutes();
101
-			if($modulesRoutes && is_array($modulesRoutes)){
101
+			if ($modulesRoutes && is_array($modulesRoutes)) {
102 102
 				$moduleRouteList = $modulesRoutes;
103 103
 				unset($modulesRoutes);
104 104
 			}
@@ -117,7 +117,7 @@  discard block
 block discarded – undo
117 117
 		*/
118 118
 		public function add($uri, $callback) {
119 119
 			$uri = trim($uri, $this->uriTrim);
120
-			if(in_array($uri, $this->pattern)){
120
+			if (in_array($uri, $this->pattern)) {
121 121
 				$this->logger->warning('The route [' . $uri . '] already added, may be adding again can have route conflict');
122 122
 			}
123 123
 			$this->pattern[] = $uri;
@@ -128,7 +128,7 @@  discard block
 block discarded – undo
128 128
 		 * Get the module name
129 129
 		 * @return string
130 130
 		 */
131
-		public function getModule(){
131
+		public function getModule() {
132 132
 			return $this->module;
133 133
 		}
134 134
 		
@@ -136,7 +136,7 @@  discard block
 block discarded – undo
136 136
 		 * Get the controller name
137 137
 		 * @return string
138 138
 		 */
139
-		public function getController(){
139
+		public function getController() {
140 140
 			return $this->controller;
141 141
 		}
142 142
 
@@ -144,7 +144,7 @@  discard block
 block discarded – undo
144 144
 		 * Get the controller file path
145 145
 		 * @return string
146 146
 		 */
147
-		public function getControllerPath(){
147
+		public function getControllerPath() {
148 148
 			return $this->controllerPath;
149 149
 		}
150 150
 
@@ -152,7 +152,7 @@  discard block
 block discarded – undo
152 152
 		 * Get the controller method
153 153
 		 * @return string
154 154
 		 */
155
-		public function getMethod(){
155
+		public function getMethod() {
156 156
 			return $this->method;
157 157
 		}
158 158
 
@@ -160,7 +160,7 @@  discard block
 block discarded – undo
160 160
 		 * Get the request arguments
161 161
 		 * @return array
162 162
 		 */
163
-		public function getArgs(){
163
+		public function getArgs() {
164 164
 			return $this->args;
165 165
 		}
166 166
 
@@ -168,7 +168,7 @@  discard block
 block discarded – undo
168 168
 		 * Get the URL segments array
169 169
 		 * @return array
170 170
 		 */
171
-		public function getSegments(){
171
+		public function getSegments() {
172 172
 			return $this->segments;
173 173
 		}
174 174
 
@@ -177,27 +177,27 @@  discard block
 block discarded – undo
177 177
 		 * otherwise send 404 error.
178 178
 		 */
179 179
 		public function run() {
180
-			$benchmark =& class_loader('Benchmark');
180
+			$benchmark = & class_loader('Benchmark');
181 181
 			$benchmark->mark('ROUTING_PROCESS_START');
182 182
 			$this->logger->debug('Routing process start ...');
183 183
 			$segment = $this->segments;
184 184
 			$baseUrl = get_config('base_url');
185 185
 			//check if the app is not in DOCUMENT_ROOT
186
-			if(isset($segment[0]) && stripos($baseUrl, $segment[0]) != false){
186
+			if (isset($segment[0]) && stripos($baseUrl, $segment[0]) != false) {
187 187
 				array_shift($segment);
188 188
 				$this->segments = $segment;
189 189
 			}
190 190
 			$this->logger->debug('Check if the request URI contains the front controller');
191
-			if(isset($segment[0]) && $segment[0] == SELF){
191
+			if (isset($segment[0]) && $segment[0] == SELF) {
192 192
 				$this->logger->info('The request URI contains the front controller');
193 193
 				array_shift($segment);
194 194
 				$this->segments = $segment;
195 195
 			}
196
-			else{
196
+			else {
197 197
 				$this->logger->info('The request URI does not contain the front controller');
198 198
 			}
199 199
 			$uri = implode('/', $segment);
200
-			$this->logger->info('The final Request URI is [' . $uri . ']' );
200
+			$this->logger->info('The final Request URI is [' . $uri . ']');
201 201
 			//generic routes
202 202
 			$pattern = array(':num', ':alpha', ':alnum', ':any');
203 203
 			$replace = array('[0-9]+', '[a-zA-Z]+', '[a-zA-Z0-9]+', '.*');
@@ -211,20 +211,20 @@  discard block
 block discarded – undo
211 211
 					array_shift($args);
212 212
 					//check if this contains an module
213 213
 					$moduleControllerMethod = explode('#', $this->callback[$index]);
214
-					if(is_array($moduleControllerMethod) && count($moduleControllerMethod) >= 2){
215
-						$this->logger->info('The current request use the module [' .$moduleControllerMethod[0]. ']');
214
+					if (is_array($moduleControllerMethod) && count($moduleControllerMethod) >= 2) {
215
+						$this->logger->info('The current request use the module [' . $moduleControllerMethod[0] . ']');
216 216
 						$this->module = $moduleControllerMethod[0];
217 217
 						$moduleControllerMethod = explode('@', $moduleControllerMethod[1]);
218 218
 					}
219
-					else{
219
+					else {
220 220
 						$this->logger->info('The current request does not use the module');
221 221
 						$moduleControllerMethod = explode('@', $this->callback[$index]);
222 222
 					}
223
-					if(is_array($moduleControllerMethod)){
224
-						if(isset($moduleControllerMethod[0])){
223
+					if (is_array($moduleControllerMethod)) {
224
+						if (isset($moduleControllerMethod[0])) {
225 225
 							$this->controller = $moduleControllerMethod[0];	
226 226
 						}
227
-						if(isset($moduleControllerMethod[1])){
227
+						if (isset($moduleControllerMethod[1])) {
228 228
 							$this->method = $moduleControllerMethod[1];
229 229
 						}
230 230
 						$this->args = $args;
@@ -234,73 +234,73 @@  discard block
 block discarded – undo
234 234
 				}
235 235
 			}
236 236
 			//first if the controller is not set and the module is set use the module name as the controller
237
-			if(! $this->getController() && $this->getModule()){
237
+			if (!$this->getController() && $this->getModule()) {
238 238
 				$this->logger->info('After loop in predefined routes configuration, the module name is set but the controller is not set, so we will use module as the controller');
239 239
 				$this->controller = $this->getModule();
240 240
 			}
241 241
 			//if can not determine the module/controller/method via the defined routes configuration we will use
242 242
 			//the URL like http://domain.com/module/controller/method/arg1/arg2
243
-			if(! $this->getController()){
243
+			if (!$this->getController()) {
244 244
 				$this->logger->info('Cannot determine the routing information using the predefined routes configuration, will use the request URI parameters');
245 245
 				$nbSegment = count($segment);
246 246
 				//if segment is null so means no need to perform
247
-				if($nbSegment > 0){
247
+				if ($nbSegment > 0) {
248 248
 					//get the module list
249 249
 					$modules = Module::getModuleList();
250 250
 					//first check if no module
251
-					if(! $modules){
251
+					if (!$modules) {
252 252
 						$this->logger->info('No module was loaded will skip the module checking');
253 253
 						//the application don't use module
254 254
 						//controller
255
-						if(isset($segment[0])){
255
+						if (isset($segment[0])) {
256 256
 							$this->controller = $segment[0];
257 257
 							array_shift($segment);
258 258
 						}
259 259
 						//method
260
-						if(isset($segment[0])){
260
+						if (isset($segment[0])) {
261 261
 							$this->method = $segment[0];
262 262
 							array_shift($segment);
263 263
 						}
264 264
 						//args
265 265
 						$this->args = $segment;
266 266
 					}
267
-					else{
267
+					else {
268 268
 						$this->logger->info('The application contains a loaded module will check if the current request is found in the module list');
269
-						if(in_array($segment[0], $modules)){
269
+						if (in_array($segment[0], $modules)) {
270 270
 							$this->logger->info('Found, the current request use the module [' . $segment[0] . ']');
271 271
 							$this->module = $segment[0];
272 272
 							array_shift($segment);
273 273
 							//check if the second arg is the controller from module
274
-							if(isset($segment[0])){
274
+							if (isset($segment[0])) {
275 275
 								$this->controller = $segment[0];
276 276
 								//check if the request use the same module name and controller
277 277
 								$path = Module::findControllerFullPath(ucfirst($this->getController()), $this->getModule());
278
-								if(! $path){
278
+								if (!$path) {
279 279
 									$this->logger->info('The controller [' . $this->getController() . '] not found in the module, may be will use the module [' . $this->getModule() . '] as controller');
280 280
 									$this->controller = $this->getModule();
281 281
 								}
282
-								else{
282
+								else {
283 283
 									$this->controllerPath = $path;
284 284
 									array_shift($segment);
285 285
 								}
286 286
 							}
287 287
 							//check for method
288
-							if(isset($segment[0])){
288
+							if (isset($segment[0])) {
289 289
 								$this->method = $segment[0];
290 290
 								array_shift($segment);
291 291
 							}
292 292
 							//the remaining is for args
293 293
 							$this->args = $segment;
294 294
 						}
295
-						else{
295
+						else {
296 296
 							$this->logger->info('The current request information is not found in the module list');
297 297
 							//controller
298
-							if(isset($segment[0])){
298
+							if (isset($segment[0])) {
299 299
 								$this->controller = $segment[0];
300 300
 								array_shift($segment);
301 301
 							}
302 302
 							//method
303
-							if(isset($segment[0])){
303
+							if (isset($segment[0])) {
304 304
 								$this->method = $segment[0];
305 305
 								array_shift($segment);
306 306
 							}
@@ -310,18 +310,18 @@  discard block
 block discarded – undo
310 310
 					}
311 311
 				}
312 312
 			}
313
-			if(! $this->getController() && $this->getModule()){
313
+			if (!$this->getController() && $this->getModule()) {
314 314
 				$this->logger->info('After using the request URI the module name is set but the controller is not set so we will use module as the controller');
315 315
 				$this->controller = $this->getModule();
316 316
 			}
317 317
 			//did we set the controller, so set the controller path
318
-			if($this->getController() && ! $this->getControllerPath()){
318
+			if ($this->getController() && !$this->getControllerPath()) {
319 319
 				$this->logger->debug('Setting the file path for the controller [' . $this->getController() . ']');
320 320
 				//if it is the module controller
321
-				if($this->getModule()){
321
+				if ($this->getModule()) {
322 322
 					$this->controllerPath = Module::findControllerFullPath(ucfirst($this->getController()), $this->getModule());
323 323
 				}
324
-				else{
324
+				else {
325 325
 					$this->controllerPath = APPS_CONTROLLER_PATH . ucfirst($this->getController()) . '.php';
326 326
 				}
327 327
 			}
@@ -331,20 +331,20 @@  discard block
 block discarded – undo
331 331
 			$this->logger->debug('Loading controller [' . $controller . '], the file path is [' . $classFilePath . ']...');
332 332
 			$benchmark->mark('ROUTING_PROCESS_END');
333 333
 			$e404 = false;
334
-			if(file_exists($classFilePath)){
334
+			if (file_exists($classFilePath)) {
335 335
 				require_once $classFilePath;
336
-				if(! class_exists($controller, false)){
336
+				if (!class_exists($controller, false)) {
337 337
 					$e404 = true;
338
-					$this->logger->info('The controller file [' .$classFilePath. '] exists but does not contain the class [' . $controller . ']');
338
+					$this->logger->info('The controller file [' . $classFilePath . '] exists but does not contain the class [' . $controller . ']');
339 339
 				}
340
-				else{
340
+				else {
341 341
 					$controllerInstance = new $controller();
342 342
 					$controllerMethod = $this->getMethod();
343
-					if(! method_exists($controllerInstance, $controllerMethod)){
343
+					if (!method_exists($controllerInstance, $controllerMethod)) {
344 344
 						$e404 = true;
345 345
 						$this->logger->info('The controller [' . $controller . '] exist but does not contain the method [' . $controllerMethod . ']');
346 346
 					}
347
-					else{
347
+					else {
348 348
 						$this->logger->info('Routing data is set correctly now GO!');
349 349
 						call_user_func_array(array($controllerInstance, $controllerMethod), $this->getArgs());
350 350
 						$obj = & get_instance();
@@ -354,12 +354,12 @@  discard block
 block discarded – undo
354 354
 					}
355 355
 				}
356 356
 			}
357
-			else{
357
+			else {
358 358
 				$this->logger->info('The controller file path [' . $classFilePath . '] does not exist');
359 359
 				$e404 = true;
360 360
 			}
361
-			if($e404){
362
-				$response =& class_loader('Response', 'classes');
361
+			if ($e404) {
362
+				$response = & class_loader('Response', 'classes');
363 363
 				$response->send404();
364 364
 			}
365 365
 		}
@@ -368,7 +368,7 @@  discard block
 block discarded – undo
368 368
      * Return the Log instance
369 369
      * @return Log
370 370
      */
371
-    public function getLogger(){
371
+    public function getLogger() {
372 372
       return $this->logger;
373 373
     }
374 374
 
@@ -377,7 +377,7 @@  discard block
 block discarded – undo
377 377
      * @param Log $logger the log object
378 378
 	 * @return object
379 379
      */
380
-    public function setLogger($logger){
380
+    public function setLogger($logger) {
381 381
       $this->logger = $logger;
382 382
       return $this;
383 383
     }
@@ -388,9 +388,9 @@  discard block
 block discarded – undo
388 388
     * @param boolean $useConfigFile whether to use route configuration file
389 389
 	* @return object
390 390
     */
391
-    public function setRouteConfiguration(array $overwriteConfig = array(), $useConfigFile = true){
391
+    public function setRouteConfiguration(array $overwriteConfig = array(), $useConfigFile = true) {
392 392
         $route = array();
393
-        if ($useConfigFile && file_exists(CONFIG_PATH . 'routes.php')){
393
+        if ($useConfigFile && file_exists(CONFIG_PATH . 'routes.php')) {
394 394
             require_once CONFIG_PATH . 'routes.php';
395 395
         }
396 396
         $route = array_merge($route, $overwriteConfig);
@@ -401,9 +401,9 @@  discard block
 block discarded – undo
401 401
     /**
402 402
      * Set the route paramaters using the configuration
403 403
      */
404
-    protected function setRouteParams(){
404
+    protected function setRouteParams() {
405 405
     	//adding route
406
-		foreach($this->routes as $pattern => $callback){
406
+		foreach ($this->routes as $pattern => $callback) {
407 407
 			$this->add($pattern, $callback);
408 408
 		}
409 409
 		
@@ -413,10 +413,10 @@  discard block
 block discarded – undo
413 413
 		//remove url suffix from the request URI
414 414
 		$suffix = get_config('url_suffix');
415 415
 		if ($suffix) {
416
-			$this->logger->info('URL suffix is enabled in the configuration, the value is [' . $suffix . ']' );
416
+			$this->logger->info('URL suffix is enabled in the configuration, the value is [' . $suffix . ']');
417 417
 			$uri = str_ireplace($suffix, '', $uri);
418 418
 		} 
419
-		if (strpos($uri, '?') !== false){
419
+		if (strpos($uri, '?') !== false) {
420 420
 			$uri = substr($uri, 0, strpos($uri, '?'));
421 421
 		}
422 422
 		$uri = trim($uri, $this->uriTrim);
@@ -427,12 +427,12 @@  discard block
 block discarded – undo
427 427
      * Set the Log instance using argument or create new instance
428 428
      * @param object $logger the Log instance if not null
429 429
      */
430
-    protected function setLoggerFromParamOrCreateNewInstance(Log $logger = null){
431
-      if ($logger !== null){
430
+    protected function setLoggerFromParamOrCreateNewInstance(Log $logger = null) {
431
+      if ($logger !== null) {
432 432
         $this->logger = $logger;
433 433
       }
434
-      else{
435
-          $this->logger =& class_loader('Log', 'classes');
434
+      else {
435
+          $this->logger = & class_loader('Log', 'classes');
436 436
           $this->logger->setLogger('Library::Router');
437 437
       }
438 438
     }
Please login to merge, or discard this patch.
Braces   +10 added lines, -20 removed lines patch added patch discarded remove patch
@@ -192,8 +192,7 @@  discard block
 block discarded – undo
192 192
 				$this->logger->info('The request URI contains the front controller');
193 193
 				array_shift($segment);
194 194
 				$this->segments = $segment;
195
-			}
196
-			else{
195
+			} else{
197 196
 				$this->logger->info('The request URI does not contain the front controller');
198 197
 			}
199 198
 			$uri = implode('/', $segment);
@@ -215,8 +214,7 @@  discard block
 block discarded – undo
215 214
 						$this->logger->info('The current request use the module [' .$moduleControllerMethod[0]. ']');
216 215
 						$this->module = $moduleControllerMethod[0];
217 216
 						$moduleControllerMethod = explode('@', $moduleControllerMethod[1]);
218
-					}
219
-					else{
217
+					} else{
220 218
 						$this->logger->info('The current request does not use the module');
221 219
 						$moduleControllerMethod = explode('@', $this->callback[$index]);
222 220
 					}
@@ -263,8 +261,7 @@  discard block
 block discarded – undo
263 261
 						}
264 262
 						//args
265 263
 						$this->args = $segment;
266
-					}
267
-					else{
264
+					} else{
268 265
 						$this->logger->info('The application contains a loaded module will check if the current request is found in the module list');
269 266
 						if(in_array($segment[0], $modules)){
270 267
 							$this->logger->info('Found, the current request use the module [' . $segment[0] . ']');
@@ -278,8 +275,7 @@  discard block
 block discarded – undo
278 275
 								if(! $path){
279 276
 									$this->logger->info('The controller [' . $this->getController() . '] not found in the module, may be will use the module [' . $this->getModule() . '] as controller');
280 277
 									$this->controller = $this->getModule();
281
-								}
282
-								else{
278
+								} else{
283 279
 									$this->controllerPath = $path;
284 280
 									array_shift($segment);
285 281
 								}
@@ -291,8 +287,7 @@  discard block
 block discarded – undo
291 287
 							}
292 288
 							//the remaining is for args
293 289
 							$this->args = $segment;
294
-						}
295
-						else{
290
+						} else{
296 291
 							$this->logger->info('The current request information is not found in the module list');
297 292
 							//controller
298 293
 							if(isset($segment[0])){
@@ -320,8 +315,7 @@  discard block
 block discarded – undo
320 315
 				//if it is the module controller
321 316
 				if($this->getModule()){
322 317
 					$this->controllerPath = Module::findControllerFullPath(ucfirst($this->getController()), $this->getModule());
323
-				}
324
-				else{
318
+				} else{
325 319
 					$this->controllerPath = APPS_CONTROLLER_PATH . ucfirst($this->getController()) . '.php';
326 320
 				}
327 321
 			}
@@ -336,15 +330,13 @@  discard block
 block discarded – undo
336 330
 				if(! class_exists($controller, false)){
337 331
 					$e404 = true;
338 332
 					$this->logger->info('The controller file [' .$classFilePath. '] exists but does not contain the class [' . $controller . ']');
339
-				}
340
-				else{
333
+				} else{
341 334
 					$controllerInstance = new $controller();
342 335
 					$controllerMethod = $this->getMethod();
343 336
 					if(! method_exists($controllerInstance, $controllerMethod)){
344 337
 						$e404 = true;
345 338
 						$this->logger->info('The controller [' . $controller . '] exist but does not contain the method [' . $controllerMethod . ']');
346
-					}
347
-					else{
339
+					} else{
348 340
 						$this->logger->info('Routing data is set correctly now GO!');
349 341
 						call_user_func_array(array($controllerInstance, $controllerMethod), $this->getArgs());
350 342
 						$obj = & get_instance();
@@ -353,8 +345,7 @@  discard block
 block discarded – undo
353 345
 						$obj->response->renderFinalPage();
354 346
 					}
355 347
 				}
356
-			}
357
-			else{
348
+			} else{
358 349
 				$this->logger->info('The controller file path [' . $classFilePath . '] does not exist');
359 350
 				$e404 = true;
360 351
 			}
@@ -430,8 +421,7 @@  discard block
 block discarded – undo
430 421
     protected function setLoggerFromParamOrCreateNewInstance(Log $logger = null){
431 422
       if ($logger !== null){
432 423
         $this->logger = $logger;
433
-      }
434
-      else{
424
+      } else{
435 425
           $this->logger =& class_loader('Log', 'classes');
436 426
           $this->logger->setLogger('Library::Router');
437 427
       }
Please login to merge, or discard this patch.
core/classes/Log.php 3 patches
Indentation   +236 added lines, -236 removed lines patch added patch discarded remove patch
@@ -1,265 +1,265 @@
 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 is set
131
-			if($this->logger){
132
-				$configLoggersName = get_config('log_logger_name', array());
133
-				if (!empty($configLoggersName)) {
134
-					//for best comparaison put all string to lowercase
135
-					$configLoggersName = array_map('strtolower', $configLoggersName);
136
-					if(! in_array(strtolower($this->logger), $configLoggersName)){
137
-						return;
138
-					}
139
-				}
140
-			}
130
+            //check if config log_logger_name is set
131
+            if($this->logger){
132
+                $configLoggersName = get_config('log_logger_name', array());
133
+                if (!empty($configLoggersName)) {
134
+                    //for best comparaison put all string to lowercase
135
+                    $configLoggersName = array_map('strtolower', $configLoggersName);
136
+                    if(! in_array(strtolower($this->logger), $configLoggersName)){
137
+                        return;
138
+                    }
139
+                }
140
+            }
141 141
 			
142
-			//if $level is not an integer
143
-			if(! is_numeric($level)){
144
-				$level = self::getLevelValue($level);
145
-			}
142
+            //if $level is not an integer
143
+            if(! is_numeric($level)){
144
+                $level = self::getLevelValue($level);
145
+            }
146 146
 			
147
-			//check if can logging regarding the log level config
148
-			$configLevel = self::getLevelValue($configLogLevel);
149
-			if($configLevel > $level){
150
-				//can't log
151
-				return;
152
-			}
147
+            //check if can logging regarding the log level config
148
+            $configLevel = self::getLevelValue($configLogLevel);
149
+            if($configLevel > $level){
150
+                //can't log
151
+                return;
152
+            }
153 153
 			
154
-			$logSavePath = get_config('log_save_path');
155
-			if(! $logSavePath){
156
-				$logSavePath = LOGS_PATH;
157
-			}
154
+            $logSavePath = get_config('log_save_path');
155
+            if(! $logSavePath){
156
+                $logSavePath = LOGS_PATH;
157
+            }
158 158
 			
159
-			if(! is_dir($logSavePath) || !is_writable($logSavePath)){
160
-				//NOTE: here need put the show_error() "logging" to false to prevent loop
161
-				show_error('Error : the log dir does not exists or is not writable', $title = 'Log directory error', $logging = false);
162
-			}
159
+            if(! is_dir($logSavePath) || !is_writable($logSavePath)){
160
+                //NOTE: here need put the show_error() "logging" to false to prevent loop
161
+                show_error('Error : the log dir does not exists or is not writable', $title = 'Log directory error', $logging = false);
162
+            }
163 163
 			
164
-			$path = $logSavePath . 'logs-' . date('Y-m-d') . '.log';
165
-			if(! file_exists($path)){
166
-				touch($path);
167
-			}
168
-			//may be at this time helper user_agent not yet included
169
-			require_once CORE_FUNCTIONS_PATH . 'function_user_agent.php';
164
+            $path = $logSavePath . 'logs-' . date('Y-m-d') . '.log';
165
+            if(! file_exists($path)){
166
+                touch($path);
167
+            }
168
+            //may be at this time helper user_agent not yet included
169
+            require_once CORE_FUNCTIONS_PATH . 'function_user_agent.php';
170 170
 			
171
-			///////////////////// date //////////////
172
-			$timestampWithMicro = microtime(true);
173
-			$microtime = sprintf('%06d', ($timestampWithMicro - floor($timestampWithMicro)) * 1000000);
174
-			$dateTime = new DateTime(date('Y-m-d H:i:s.' . $microtime, $timestampWithMicro));
175
-			$logDate = $dateTime->format('Y-m-d H:i:s.u'); 
176
-			//ip
177
-			$ip = get_ip();
178
-			//level name
179
-			$levelName = self::getLevelName($level);
171
+            ///////////////////// date //////////////
172
+            $timestampWithMicro = microtime(true);
173
+            $microtime = sprintf('%06d', ($timestampWithMicro - floor($timestampWithMicro)) * 1000000);
174
+            $dateTime = new DateTime(date('Y-m-d H:i:s.' . $microtime, $timestampWithMicro));
175
+            $logDate = $dateTime->format('Y-m-d H:i:s.u'); 
176
+            //ip
177
+            $ip = get_ip();
178
+            //level name
179
+            $levelName = self::getLevelName($level);
180 180
 			
181
-			//debug info
182
-			$dtrace = debug_backtrace();
183
-			$fileInfo = $dtrace[0]['file'] == __FILE__ ? $dtrace[1] : $dtrace[0];
181
+            //debug info
182
+            $dtrace = debug_backtrace();
183
+            $fileInfo = $dtrace[0]['file'] == __FILE__ ? $dtrace[1] : $dtrace[0];
184 184
 			
185
-			$str = $logDate . ' [' . str_pad($levelName, 7 /*warning len*/) . '] ' . ' [' . str_pad($ip, 15) . '] ' . $this->logger . ' : ' . $message . ' ' . '[' . $fileInfo['file'] . '::' . $fileInfo['line'] . ']' . "\n";
186
-			$fp = fopen($path, 'a+');
187
-			if(is_resource($fp)){
188
-				flock($fp, LOCK_EX); // exclusive lock, will get released when the file is closed
189
-				fwrite($fp, $str);
190
-				fclose($fp);
191
-			}
192
-		}		
185
+            $str = $logDate . ' [' . str_pad($levelName, 7 /*warning len*/) . '] ' . ' [' . str_pad($ip, 15) . '] ' . $this->logger . ' : ' . $message . ' ' . '[' . $fileInfo['file'] . '::' . $fileInfo['line'] . ']' . "\n";
186
+            $fp = fopen($path, 'a+');
187
+            if(is_resource($fp)){
188
+                flock($fp, LOCK_EX); // exclusive lock, will get released when the file is closed
189
+                fwrite($fp, $str);
190
+                fclose($fp);
191
+            }
192
+        }		
193 193
 		
194
-		/**
195
-		 * Check if the given log level is valid
196
-		 *
197
-		 * @param  string  $level the log level
198
-		 *
199
-		 * @return boolean        true if the given log level is valid, false if not
200
-		 */
201
-		private static function isValidConfigLevel($level){
202
-			$level = strtolower($level);
203
-			return in_array($level, self::$validConfigLevel);
204
-		}
194
+        /**
195
+         * Check if the given log level is valid
196
+         *
197
+         * @param  string  $level the log level
198
+         *
199
+         * @return boolean        true if the given log level is valid, false if not
200
+         */
201
+        private static function isValidConfigLevel($level){
202
+            $level = strtolower($level);
203
+            return in_array($level, self::$validConfigLevel);
204
+        }
205 205
 
206
-		/**
207
-		 * Get the log level number for the given level string
208
-		 * @param  string $level the log level in string format
209
-		 * @return int        the log level in integer format using the predefinied constants
210
-		 */
211
-		private static function getLevelValue($level){
212
-			$level = strtolower($level);
213
-			$value = self::NONE;
206
+        /**
207
+         * Get the log level number for the given level string
208
+         * @param  string $level the log level in string format
209
+         * @return int        the log level in integer format using the predefinied constants
210
+         */
211
+        private static function getLevelValue($level){
212
+            $level = strtolower($level);
213
+            $value = self::NONE;
214 214
 			
215
-			//the default value is NONE, so means no need test for NONE
216
-			if($level == 'fatal'){
217
-				$value = self::FATAL;
218
-			}
219
-			else if($level == 'error'){
220
-				$value = self::ERROR;
221
-			}
222
-			else if($level == 'warning' || $level == 'warn'){
223
-				$value = self::WARNING;
224
-			}
225
-			else if($level == 'info'){
226
-				$value = self::INFO;
227
-			}
228
-			else if($level == 'debug'){
229
-				$value = self::DEBUG;
230
-			}
231
-			else if($level == 'all'){
232
-				$value = self::ALL;
233
-			}
234
-			return $value;
235
-		}
215
+            //the default value is NONE, so means no need test for NONE
216
+            if($level == 'fatal'){
217
+                $value = self::FATAL;
218
+            }
219
+            else if($level == 'error'){
220
+                $value = self::ERROR;
221
+            }
222
+            else if($level == 'warning' || $level == 'warn'){
223
+                $value = self::WARNING;
224
+            }
225
+            else if($level == 'info'){
226
+                $value = self::INFO;
227
+            }
228
+            else if($level == 'debug'){
229
+                $value = self::DEBUG;
230
+            }
231
+            else if($level == 'all'){
232
+                $value = self::ALL;
233
+            }
234
+            return $value;
235
+        }
236 236
 
237
-		/**
238
-		 * Get the log level string for the given log level integer
239
-		 * @param  integer $level the log level in integer format
240
-		 * @return string        the log level in string format
241
-		 */
242
-		private static function getLevelName($level){
243
-			$value = '';
237
+        /**
238
+         * Get the log level string for the given log level integer
239
+         * @param  integer $level the log level in integer format
240
+         * @return string        the log level in string format
241
+         */
242
+        private static function getLevelName($level){
243
+            $value = '';
244 244
 			
245
-			//the default value is NONE, so means no need test for NONE
246
-			if($level == self::FATAL){
247
-				$value = 'FATAL';
248
-			}
249
-			else if($level == self::ERROR){
250
-				$value = 'ERROR';
251
-			}
252
-			else if($level == self::WARNING){
253
-				$value = 'WARNING';
254
-			}
255
-			else if($level == self::INFO){
256
-				$value = 'INFO';
257
-			}
258
-			else if($level == self::DEBUG){
259
-				$value = 'DEBUG';
260
-			}
261
-			//no need for ALL
262
-			return $value;
263
-		}
245
+            //the default value is NONE, so means no need test for NONE
246
+            if($level == self::FATAL){
247
+                $value = 'FATAL';
248
+            }
249
+            else if($level == self::ERROR){
250
+                $value = 'ERROR';
251
+            }
252
+            else if($level == self::WARNING){
253
+                $value = 'WARNING';
254
+            }
255
+            else if($level == self::INFO){
256
+                $value = 'INFO';
257
+            }
258
+            else if($level == self::DEBUG){
259
+                $value = 'DEBUG';
260
+            }
261
+            //no need for ALL
262
+            return $value;
263
+        }
264 264
 
265
-	}
265
+    }
Please login to merge, or discard this patch.
Spacing   +33 added lines, -33 removed lines patch added patch discarded remove patch
@@ -24,7 +24,7 @@  discard block
 block discarded – undo
24 24
 	 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25 25
 	*/
26 26
 
27
-	class Log{
27
+	class Log {
28 28
 		
29 29
 		/**
30 30
 		 * The defined constante for Log level
@@ -52,14 +52,14 @@  discard block
 block discarded – undo
52 52
 		/**
53 53
 		 * Create new Log instance
54 54
 		 */
55
-		public function __construct(){
55
+		public function __construct() {
56 56
 		}
57 57
 
58 58
 		/**
59 59
 		 * Set the logger to identify each message in the log
60 60
 		 * @param string $logger the logger name
61 61
 		 */
62
-		public  function setLogger($logger){
62
+		public  function setLogger($logger) {
63 63
 			$this->logger = $logger;
64 64
 		}
65 65
 
@@ -68,7 +68,7 @@  discard block
 block discarded – undo
68 68
 		 * @see Log::writeLog for more detail
69 69
 		 * @param  string $message the log message to save
70 70
 		 */
71
-		public function fatal($message){
71
+		public function fatal($message) {
72 72
 			$this->writeLog($message, self::FATAL);
73 73
 		} 
74 74
 		
@@ -77,7 +77,7 @@  discard block
 block discarded – undo
77 77
 		 * @see Log::writeLog for more detail
78 78
 		 * @param  string $message the log message to save
79 79
 		 */
80
-		public function error($message){
80
+		public function error($message) {
81 81
 			$this->writeLog($message, self::ERROR);
82 82
 		} 
83 83
 
@@ -86,7 +86,7 @@  discard block
 block discarded – undo
86 86
 		 * @see Log::writeLog for more detail
87 87
 		 * @param  string $message the log message to save
88 88
 		 */
89
-		public function warning($message){
89
+		public function warning($message) {
90 90
 			$this->writeLog($message, self::WARNING);
91 91
 		} 
92 92
 		
@@ -95,7 +95,7 @@  discard block
 block discarded – undo
95 95
 		 * @see Log::writeLog for more detail
96 96
 		 * @param  string $message the log message to save
97 97
 		 */
98
-		public function info($message){
98
+		public function info($message) {
99 99
 			$this->writeLog($message, self::INFO);
100 100
 		} 
101 101
 		
@@ -104,7 +104,7 @@  discard block
 block discarded – undo
104 104
 		 * @see Log::writeLog for more detail
105 105
 		 * @param  string $message the log message to save
106 106
 		 */
107
-		public function debug($message){
107
+		public function debug($message) {
108 108
 			$this->writeLog($message, self::DEBUG);
109 109
 		} 
110 110
 		
@@ -115,54 +115,54 @@  discard block
 block discarded – undo
115 115
 		 * @param  integer|string $level   the log level in integer or string format, if is string will convert into integer
116 116
 		 * to allow check the log level threshold.
117 117
 		 */
118
-		public function writeLog($message, $level = self::INFO){
118
+		public function writeLog($message, $level = self::INFO) {
119 119
 			$configLogLevel = get_config('log_level');
120
-			if(! $configLogLevel){
120
+			if (!$configLogLevel) {
121 121
 				//so means no need log just stop here
122 122
 				return;
123 123
 			}
124 124
 			//check config log level
125
-			if(! self::isValidConfigLevel($configLogLevel)){
125
+			if (!self::isValidConfigLevel($configLogLevel)) {
126 126
 				//NOTE: here need put the show_error() "logging" to false to prevent loop
127 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 128
 			}
129 129
 			
130 130
 			//check if config log_logger_name is set
131
-			if($this->logger){
131
+			if ($this->logger) {
132 132
 				$configLoggersName = get_config('log_logger_name', array());
133 133
 				if (!empty($configLoggersName)) {
134 134
 					//for best comparaison put all string to lowercase
135 135
 					$configLoggersName = array_map('strtolower', $configLoggersName);
136
-					if(! in_array(strtolower($this->logger), $configLoggersName)){
136
+					if (!in_array(strtolower($this->logger), $configLoggersName)) {
137 137
 						return;
138 138
 					}
139 139
 				}
140 140
 			}
141 141
 			
142 142
 			//if $level is not an integer
143
-			if(! is_numeric($level)){
143
+			if (!is_numeric($level)) {
144 144
 				$level = self::getLevelValue($level);
145 145
 			}
146 146
 			
147 147
 			//check if can logging regarding the log level config
148 148
 			$configLevel = self::getLevelValue($configLogLevel);
149
-			if($configLevel > $level){
149
+			if ($configLevel > $level) {
150 150
 				//can't log
151 151
 				return;
152 152
 			}
153 153
 			
154 154
 			$logSavePath = get_config('log_save_path');
155
-			if(! $logSavePath){
155
+			if (!$logSavePath) {
156 156
 				$logSavePath = LOGS_PATH;
157 157
 			}
158 158
 			
159
-			if(! is_dir($logSavePath) || !is_writable($logSavePath)){
159
+			if (!is_dir($logSavePath) || !is_writable($logSavePath)) {
160 160
 				//NOTE: here need put the show_error() "logging" to false to prevent loop
161 161
 				show_error('Error : the log dir does not exists or is not writable', $title = 'Log directory error', $logging = false);
162 162
 			}
163 163
 			
164 164
 			$path = $logSavePath . 'logs-' . date('Y-m-d') . '.log';
165
-			if(! file_exists($path)){
165
+			if (!file_exists($path)) {
166 166
 				touch($path);
167 167
 			}
168 168
 			//may be at this time helper user_agent not yet included
@@ -184,7 +184,7 @@  discard block
 block discarded – undo
184 184
 			
185 185
 			$str = $logDate . ' [' . str_pad($levelName, 7 /*warning len*/) . '] ' . ' [' . str_pad($ip, 15) . '] ' . $this->logger . ' : ' . $message . ' ' . '[' . $fileInfo['file'] . '::' . $fileInfo['line'] . ']' . "\n";
186 186
 			$fp = fopen($path, 'a+');
187
-			if(is_resource($fp)){
187
+			if (is_resource($fp)) {
188 188
 				flock($fp, LOCK_EX); // exclusive lock, will get released when the file is closed
189 189
 				fwrite($fp, $str);
190 190
 				fclose($fp);
@@ -198,7 +198,7 @@  discard block
 block discarded – undo
198 198
 		 *
199 199
 		 * @return boolean        true if the given log level is valid, false if not
200 200
 		 */
201
-		private static function isValidConfigLevel($level){
201
+		private static function isValidConfigLevel($level) {
202 202
 			$level = strtolower($level);
203 203
 			return in_array($level, self::$validConfigLevel);
204 204
 		}
@@ -208,27 +208,27 @@  discard block
 block discarded – undo
208 208
 		 * @param  string $level the log level in string format
209 209
 		 * @return int        the log level in integer format using the predefinied constants
210 210
 		 */
211
-		private static function getLevelValue($level){
211
+		private static function getLevelValue($level) {
212 212
 			$level = strtolower($level);
213 213
 			$value = self::NONE;
214 214
 			
215 215
 			//the default value is NONE, so means no need test for NONE
216
-			if($level == 'fatal'){
216
+			if ($level == 'fatal') {
217 217
 				$value = self::FATAL;
218 218
 			}
219
-			else if($level == 'error'){
219
+			else if ($level == 'error') {
220 220
 				$value = self::ERROR;
221 221
 			}
222
-			else if($level == 'warning' || $level == 'warn'){
222
+			else if ($level == 'warning' || $level == 'warn') {
223 223
 				$value = self::WARNING;
224 224
 			}
225
-			else if($level == 'info'){
225
+			else if ($level == 'info') {
226 226
 				$value = self::INFO;
227 227
 			}
228
-			else if($level == 'debug'){
228
+			else if ($level == 'debug') {
229 229
 				$value = self::DEBUG;
230 230
 			}
231
-			else if($level == 'all'){
231
+			else if ($level == 'all') {
232 232
 				$value = self::ALL;
233 233
 			}
234 234
 			return $value;
@@ -239,23 +239,23 @@  discard block
 block discarded – undo
239 239
 		 * @param  integer $level the log level in integer format
240 240
 		 * @return string        the log level in string format
241 241
 		 */
242
-		private static function getLevelName($level){
242
+		private static function getLevelName($level) {
243 243
 			$value = '';
244 244
 			
245 245
 			//the default value is NONE, so means no need test for NONE
246
-			if($level == self::FATAL){
246
+			if ($level == self::FATAL) {
247 247
 				$value = 'FATAL';
248 248
 			}
249
-			else if($level == self::ERROR){
249
+			else if ($level == self::ERROR) {
250 250
 				$value = 'ERROR';
251 251
 			}
252
-			else if($level == self::WARNING){
252
+			else if ($level == self::WARNING) {
253 253
 				$value = 'WARNING';
254 254
 			}
255
-			else if($level == self::INFO){
255
+			else if ($level == self::INFO) {
256 256
 				$value = 'INFO';
257 257
 			}
258
-			else if($level == self::DEBUG){
258
+			else if ($level == self::DEBUG) {
259 259
 				$value = 'DEBUG';
260 260
 			}
261 261
 			//no need for ALL
Please login to merge, or discard this patch.
Braces   +9 added lines, -18 removed lines patch added patch discarded remove patch
@@ -215,20 +215,15 @@  discard block
 block discarded – undo
215 215
 			//the default value is NONE, so means no need test for NONE
216 216
 			if($level == 'fatal'){
217 217
 				$value = self::FATAL;
218
-			}
219
-			else if($level == 'error'){
218
+			} else if($level == 'error'){
220 219
 				$value = self::ERROR;
221
-			}
222
-			else if($level == 'warning' || $level == 'warn'){
220
+			} else if($level == 'warning' || $level == 'warn'){
223 221
 				$value = self::WARNING;
224
-			}
225
-			else if($level == 'info'){
222
+			} else if($level == 'info'){
226 223
 				$value = self::INFO;
227
-			}
228
-			else if($level == 'debug'){
224
+			} else if($level == 'debug'){
229 225
 				$value = self::DEBUG;
230
-			}
231
-			else if($level == 'all'){
226
+			} else if($level == 'all'){
232 227
 				$value = self::ALL;
233 228
 			}
234 229
 			return $value;
@@ -245,17 +240,13 @@  discard block
 block discarded – undo
245 240
 			//the default value is NONE, so means no need test for NONE
246 241
 			if($level == self::FATAL){
247 242
 				$value = 'FATAL';
248
-			}
249
-			else if($level == self::ERROR){
243
+			} else if($level == self::ERROR){
250 244
 				$value = 'ERROR';
251
-			}
252
-			else if($level == self::WARNING){
245
+			} else if($level == self::WARNING){
253 246
 				$value = 'WARNING';
254
-			}
255
-			else if($level == self::INFO){
247
+			} else if($level == self::INFO){
256 248
 				$value = 'INFO';
257
-			}
258
-			else if($level == self::DEBUG){
249
+			} else if($level == self::DEBUG){
259 250
 				$value = 'DEBUG';
260 251
 			}
261 252
 			//no need for ALL
Please login to merge, or discard this patch.
core/libraries/Assets.php 2 patches
Indentation   +154 added lines, -154 removed lines patch added patch discarded remove patch
@@ -1,168 +1,168 @@
 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 Assets.php
29
-	 *    
30
-	 *  This class contains static methods for generating static content links (images, Javascript, CSS, etc.).
31
-	 *  
32
-	 *  @package	core	
33
-	 *  @author	Tony NGUEREZA
34
-	 *  @copyright	Copyright (c) 2017
35
-	 *  @license	https://opensource.org/licenses/gpl-3.0.html GNU GPL License (GPL)
36
-	 *  @link	http://www.iacademy.cf
37
-	 *  @version 1.0.0
38
-	 *  @since 1.0.0
39
-	 *  @filesource
40
-	 */
41
-	class Assets{
27
+    /**
28
+     *  @file Assets.php
29
+     *    
30
+     *  This class contains static methods for generating static content links (images, Javascript, CSS, etc.).
31
+     *  
32
+     *  @package	core	
33
+     *  @author	Tony NGUEREZA
34
+     *  @copyright	Copyright (c) 2017
35
+     *  @license	https://opensource.org/licenses/gpl-3.0.html GNU GPL License (GPL)
36
+     *  @link	http://www.iacademy.cf
37
+     *  @version 1.0.0
38
+     *  @since 1.0.0
39
+     *  @filesource
40
+     */
41
+    class Assets{
42 42
 		
43
-		/**
44
-		 * The logger instance
45
-		 * @var Log
46
-		 */
47
-		private static $logger;
43
+        /**
44
+         * The logger instance
45
+         * @var Log
46
+         */
47
+        private static $logger;
48 48
 
49
-		/**
50
-		 * The signleton of the logger
51
-		 * @return Object the Log instance
52
-		 */
53
-		private static function getLogger(){
54
-			if(self::$logger == null){
55
-				//can't assign reference to static variable
56
-				self::$logger[0] =& class_loader('Log', 'classes');
57
-				self::$logger[0]->setLogger('Library::Assets');
58
-			}
59
-			return self::$logger[0];
60
-		}
49
+        /**
50
+         * The signleton of the logger
51
+         * @return Object the Log instance
52
+         */
53
+        private static function getLogger(){
54
+            if(self::$logger == null){
55
+                //can't assign reference to static variable
56
+                self::$logger[0] =& class_loader('Log', 'classes');
57
+                self::$logger[0]->setLogger('Library::Assets');
58
+            }
59
+            return self::$logger[0];
60
+        }
61 61
 
62 62
 
63
-		/**
64
-		 *  Generate the link of the assets file.
65
-		 *  
66
-		 *  Generates the absolute link of a file inside ASSETS_PATH folder.
67
-		 *  For example :
68
-		 *  	echo Assets::path('foo/bar/css/style.css'); => http://mysite.com/assets/foo/bar/css/style.css
69
-		 *  Note:
70
-		 *  The argument passed to this function must be the relative link to the folder that contains the static contents defined by the constant ASSETS_PATH.
71
-		 *  
72
-		 *  @param string $asset the name of the assets file path with the extension.
73
-		 *  @return string|null the absolute path of the assets file, if it exists otherwise returns null if the file does not exist.
74
-		 */
75
-		public static function path($asset){
76
-			$logger = self::getLogger();	
77
-			$path = ASSETS_PATH . $asset;
63
+        /**
64
+         *  Generate the link of the assets file.
65
+         *  
66
+         *  Generates the absolute link of a file inside ASSETS_PATH folder.
67
+         *  For example :
68
+         *  	echo Assets::path('foo/bar/css/style.css'); => http://mysite.com/assets/foo/bar/css/style.css
69
+         *  Note:
70
+         *  The argument passed to this function must be the relative link to the folder that contains the static contents defined by the constant ASSETS_PATH.
71
+         *  
72
+         *  @param string $asset the name of the assets file path with the extension.
73
+         *  @return string|null the absolute path of the assets file, if it exists otherwise returns null if the file does not exist.
74
+         */
75
+        public static function path($asset){
76
+            $logger = self::getLogger();	
77
+            $path = ASSETS_PATH . $asset;
78 78
 			
79
-			$logger->debug('Including the Assets file [' . $path . ']');
80
-			//Check if the file exists
81
-			if(file_exists($path)){
82
-				$logger->info('Assets file [' . $path . '] included successfully');
83
-				return Url::base_url($path);
84
-			}
85
-			$logger->warning('Assets file [' . $path . '] does not exist');
86
-			return null;
87
-		}
79
+            $logger->debug('Including the Assets file [' . $path . ']');
80
+            //Check if the file exists
81
+            if(file_exists($path)){
82
+                $logger->info('Assets file [' . $path . '] included successfully');
83
+                return Url::base_url($path);
84
+            }
85
+            $logger->warning('Assets file [' . $path . '] does not exist');
86
+            return null;
87
+        }
88 88
 		
89
-		/**
90
-		 *  Generate the link of the css file.
91
-		 *  
92
-		 *  Generates the absolute link of a file containing the CSS style.
93
-		 *  For example :
94
-		 *  	echo Assets::css('mystyle'); => http://mysite.com/assets/css/mystyle.css
95
-		 *  Note:
96
-		 *  The argument passed to this function must be the relative link to the folder that contains the static contents defined by the constant ASSETS_PATH.
97
-		 *  
98
-		 *  @param $path the name of the css file without the extension.
99
-		 *  @return string|null the absolute path of the css file, if it exists otherwise returns null if the file does not exist.
100
-		 */
101
-		public static function css($path){
102
-			$logger = self::getLogger();
103
-			/*
89
+        /**
90
+         *  Generate the link of the css file.
91
+         *  
92
+         *  Generates the absolute link of a file containing the CSS style.
93
+         *  For example :
94
+         *  	echo Assets::css('mystyle'); => http://mysite.com/assets/css/mystyle.css
95
+         *  Note:
96
+         *  The argument passed to this function must be the relative link to the folder that contains the static contents defined by the constant ASSETS_PATH.
97
+         *  
98
+         *  @param $path the name of the css file without the extension.
99
+         *  @return string|null the absolute path of the css file, if it exists otherwise returns null if the file does not exist.
100
+         */
101
+        public static function css($path){
102
+            $logger = self::getLogger();
103
+            /*
104 104
 			* if the file name contains the ".css" extension, replace it with 
105 105
 			* an empty string for better processing.
106 106
 			*/
107
-			$path = str_ireplace('.css', '', $path);
108
-			$path = ASSETS_PATH . 'css/' . $path . '.css';
107
+            $path = str_ireplace('.css', '', $path);
108
+            $path = ASSETS_PATH . 'css/' . $path . '.css';
109 109
 			
110
-			$logger->debug('Including the Assets file [' . $path . '] for CSS');
111
-			//Check if the file exists
112
-			if(file_exists($path)){
113
-				$logger->info('Assets file [' . $path . '] for CSS included successfully');
114
-				return Url::base_url($path);
115
-			}
116
-			$logger->warning('Assets file [' . $path . '] for CSS does not exist');
117
-			return null;
118
-		}
110
+            $logger->debug('Including the Assets file [' . $path . '] for CSS');
111
+            //Check if the file exists
112
+            if(file_exists($path)){
113
+                $logger->info('Assets file [' . $path . '] for CSS included successfully');
114
+                return Url::base_url($path);
115
+            }
116
+            $logger->warning('Assets file [' . $path . '] for CSS does not exist');
117
+            return null;
118
+        }
119 119
 
120
-		/**
121
-		 *  Generate the link of the javascript file.
122
-		 *  
123
-		 *  Generates the absolute link of a file containing the javascript.
124
-		 *  For example :
125
-		 *  	echo Assets::js('myscript'); => http://mysite.com/assets/js/myscript.js
126
-		 *  Note:
127
-		 *  The argument passed to this function must be the relative link to the folder that contains the static contents defined by the constant ASSETS_PATH.
128
-		 *  
129
-		 *  @param $path the name of the javascript file without the extension.
130
-		 *  @return string|null the absolute path of the javascript file, if it exists otherwise returns null if the file does not exist.
131
-		 */
132
-		public static function js($path){
133
-			$logger = self::getLogger();
134
-			$path = str_ireplace('.js', '', $path);
135
-			$path = ASSETS_PATH . 'js/' . $path . '.js';
136
-			$logger->debug('Including the Assets file [' . $path . '] for javascript');
137
-			if(file_exists($path)){
138
-				$logger->info('Assets file [' . $path . '] for Javascript included successfully');
139
-				return Url::base_url($path);
140
-			}
141
-			$logger->warning('Assets file [' . $path . '] for Javascript does not exist');
142
-			return null;
143
-		}
120
+        /**
121
+         *  Generate the link of the javascript file.
122
+         *  
123
+         *  Generates the absolute link of a file containing the javascript.
124
+         *  For example :
125
+         *  	echo Assets::js('myscript'); => http://mysite.com/assets/js/myscript.js
126
+         *  Note:
127
+         *  The argument passed to this function must be the relative link to the folder that contains the static contents defined by the constant ASSETS_PATH.
128
+         *  
129
+         *  @param $path the name of the javascript file without the extension.
130
+         *  @return string|null the absolute path of the javascript file, if it exists otherwise returns null if the file does not exist.
131
+         */
132
+        public static function js($path){
133
+            $logger = self::getLogger();
134
+            $path = str_ireplace('.js', '', $path);
135
+            $path = ASSETS_PATH . 'js/' . $path . '.js';
136
+            $logger->debug('Including the Assets file [' . $path . '] for javascript');
137
+            if(file_exists($path)){
138
+                $logger->info('Assets file [' . $path . '] for Javascript included successfully');
139
+                return Url::base_url($path);
140
+            }
141
+            $logger->warning('Assets file [' . $path . '] for Javascript does not exist');
142
+            return null;
143
+        }
144 144
 
145
-		/**
146
-		 *  Generate the link of the image file.
147
-		 *  
148
-		 *  Generates the absolute link of a file containing the image.
149
-		 *  For example :
150
-		 *  	echo Assets::img('myimage.png'); => http://mysite.com/assets/images/myimage.png
151
-		 *  Note:
152
-		 *  The argument passed to this function must be the relative link to the folder that contains the static contents defined by the constant ASSETS_PATH.
153
-		 *  
154
-		 *  @param $path the name of the image file with the extension.
155
-		 *  @return string|null the absolute path of the image file, if it exists otherwise returns null if the file does not exist.
156
-		 */
157
-		public static function img($path){
158
-			$logger = self::getLogger();
159
-			$path = ASSETS_PATH . 'images/' . $path;
160
-			$logger->debug('Including the Assets file [' . $path . '] for image');
161
-			if(file_exists($path)){
162
-				$logger->info('Assets file [' . $path . '] for image included successfully');
163
-				return Url::base_url($path);
164
-			}
165
-			$logger->warning('Assets file [' . $path . '] for image does not exist');
166
-			return null;
167
-		}
168
-	}
145
+        /**
146
+         *  Generate the link of the image file.
147
+         *  
148
+         *  Generates the absolute link of a file containing the image.
149
+         *  For example :
150
+         *  	echo Assets::img('myimage.png'); => http://mysite.com/assets/images/myimage.png
151
+         *  Note:
152
+         *  The argument passed to this function must be the relative link to the folder that contains the static contents defined by the constant ASSETS_PATH.
153
+         *  
154
+         *  @param $path the name of the image file with the extension.
155
+         *  @return string|null the absolute path of the image file, if it exists otherwise returns null if the file does not exist.
156
+         */
157
+        public static function img($path){
158
+            $logger = self::getLogger();
159
+            $path = ASSETS_PATH . 'images/' . $path;
160
+            $logger->debug('Including the Assets file [' . $path . '] for image');
161
+            if(file_exists($path)){
162
+                $logger->info('Assets file [' . $path . '] for image included successfully');
163
+                return Url::base_url($path);
164
+            }
165
+            $logger->warning('Assets file [' . $path . '] for image does not exist');
166
+            return null;
167
+        }
168
+    }
Please login to merge, or discard this patch.
Spacing   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -38,7 +38,7 @@  discard block
 block discarded – undo
38 38
 	 *  @since 1.0.0
39 39
 	 *  @filesource
40 40
 	 */
41
-	class Assets{
41
+	class Assets {
42 42
 		
43 43
 		/**
44 44
 		 * The logger instance
@@ -50,10 +50,10 @@  discard block
 block discarded – undo
50 50
 		 * The signleton of the logger
51 51
 		 * @return Object the Log instance
52 52
 		 */
53
-		private static function getLogger(){
54
-			if(self::$logger == null){
53
+		private static function getLogger() {
54
+			if (self::$logger == null) {
55 55
 				//can't assign reference to static variable
56
-				self::$logger[0] =& class_loader('Log', 'classes');
56
+				self::$logger[0] = & class_loader('Log', 'classes');
57 57
 				self::$logger[0]->setLogger('Library::Assets');
58 58
 			}
59 59
 			return self::$logger[0];
@@ -72,13 +72,13 @@  discard block
 block discarded – undo
72 72
 		 *  @param string $asset the name of the assets file path with the extension.
73 73
 		 *  @return string|null the absolute path of the assets file, if it exists otherwise returns null if the file does not exist.
74 74
 		 */
75
-		public static function path($asset){
75
+		public static function path($asset) {
76 76
 			$logger = self::getLogger();	
77 77
 			$path = ASSETS_PATH . $asset;
78 78
 			
79 79
 			$logger->debug('Including the Assets file [' . $path . ']');
80 80
 			//Check if the file exists
81
-			if(file_exists($path)){
81
+			if (file_exists($path)) {
82 82
 				$logger->info('Assets file [' . $path . '] included successfully');
83 83
 				return Url::base_url($path);
84 84
 			}
@@ -98,7 +98,7 @@  discard block
 block discarded – undo
98 98
 		 *  @param $path the name of the css file without the extension.
99 99
 		 *  @return string|null the absolute path of the css file, if it exists otherwise returns null if the file does not exist.
100 100
 		 */
101
-		public static function css($path){
101
+		public static function css($path) {
102 102
 			$logger = self::getLogger();
103 103
 			/*
104 104
 			* if the file name contains the ".css" extension, replace it with 
@@ -109,7 +109,7 @@  discard block
 block discarded – undo
109 109
 			
110 110
 			$logger->debug('Including the Assets file [' . $path . '] for CSS');
111 111
 			//Check if the file exists
112
-			if(file_exists($path)){
112
+			if (file_exists($path)) {
113 113
 				$logger->info('Assets file [' . $path . '] for CSS included successfully');
114 114
 				return Url::base_url($path);
115 115
 			}
@@ -129,12 +129,12 @@  discard block
 block discarded – undo
129 129
 		 *  @param $path the name of the javascript file without the extension.
130 130
 		 *  @return string|null the absolute path of the javascript file, if it exists otherwise returns null if the file does not exist.
131 131
 		 */
132
-		public static function js($path){
132
+		public static function js($path) {
133 133
 			$logger = self::getLogger();
134 134
 			$path = str_ireplace('.js', '', $path);
135 135
 			$path = ASSETS_PATH . 'js/' . $path . '.js';
136 136
 			$logger->debug('Including the Assets file [' . $path . '] for javascript');
137
-			if(file_exists($path)){
137
+			if (file_exists($path)) {
138 138
 				$logger->info('Assets file [' . $path . '] for Javascript included successfully');
139 139
 				return Url::base_url($path);
140 140
 			}
@@ -154,11 +154,11 @@  discard block
 block discarded – undo
154 154
 		 *  @param $path the name of the image file with the extension.
155 155
 		 *  @return string|null the absolute path of the image file, if it exists otherwise returns null if the file does not exist.
156 156
 		 */
157
-		public static function img($path){
157
+		public static function img($path) {
158 158
 			$logger = self::getLogger();
159 159
 			$path = ASSETS_PATH . 'images/' . $path;
160 160
 			$logger->debug('Including the Assets file [' . $path . '] for image');
161
-			if(file_exists($path)){
161
+			if (file_exists($path)) {
162 162
 				$logger->info('Assets file [' . $path . '] for image included successfully');
163 163
 				return Url::base_url($path);
164 164
 			}
Please login to merge, or discard this patch.
core/constants.php 1 patch
Indentation   +72 added lines, -72 removed lines patch added patch discarded remove patch
@@ -1,81 +1,81 @@
 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 constants.php
29
-	 *    
30
-	 *  This file contains the declaration of most of the constants used in the system, 
31
-	 *  for example: the version, the name of the framework, etc.
32
-	 *  
33
-	 *  @package	core	
34
-	 *  @author	Tony NGUEREZA
35
-	 *  @copyright	Copyright (c) 2017
36
-	 *  @license	https://opensource.org/licenses/gpl-3.0.html GNU GPL License (GPL)
37
-	 *  @link	http://www.iacademy.cf
38
-	 *  @version 1.0.0
39
-	 *  @filesource
40
-	 */
27
+    /**
28
+     *  @file constants.php
29
+     *    
30
+     *  This file contains the declaration of most of the constants used in the system, 
31
+     *  for example: the version, the name of the framework, etc.
32
+     *  
33
+     *  @package	core	
34
+     *  @author	Tony NGUEREZA
35
+     *  @copyright	Copyright (c) 2017
36
+     *  @license	https://opensource.org/licenses/gpl-3.0.html GNU GPL License (GPL)
37
+     *  @link	http://www.iacademy.cf
38
+     *  @version 1.0.0
39
+     *  @filesource
40
+     */
41 41
 
42
-	/**
43
-	 *  The framework name
44
-	 */
45
-	define('TNH_NAME', 'TNH Framework');
42
+    /**
43
+     *  The framework name
44
+     */
45
+    define('TNH_NAME', 'TNH Framework');
46 46
 
47
-	/**
48
-	 *  The version of the framework in X.Y.Z format (Major, minor and bugs). 
49
-	 *  If there is the presence of the word "dev", it means that 
50
-	 *  it is a version under development.
51
-	 */
52
-	define('TNH_VERSION', '1.0.0-dev');
47
+    /**
48
+     *  The version of the framework in X.Y.Z format (Major, minor and bugs). 
49
+     *  If there is the presence of the word "dev", it means that 
50
+     *  it is a version under development.
51
+     */
52
+    define('TNH_VERSION', '1.0.0-dev');
53 53
 
54
-	/**
55
-	 *  The date of publication or release of the framework
56
-	 */
57
-	define('TNH_RELEASE_DATE', '2017/02/05');
54
+    /**
55
+     *  The date of publication or release of the framework
56
+     */
57
+    define('TNH_RELEASE_DATE', '2017/02/05');
58 58
 
59
-	/**
60
-	 *  The author of the framework, the person who developed the framework.
61
-	 */
62
-	define('TNH_AUTHOR', 'Tony NGUEREZA');
59
+    /**
60
+     *  The author of the framework, the person who developed the framework.
61
+     */
62
+    define('TNH_AUTHOR', 'Tony NGUEREZA');
63 63
 
64
-	/**
65
-	 *  Email address of the author of the framework.
66
-	 */
67
-	define('TNH_AUTHOR_EMAIL', '[email protected]');
64
+    /**
65
+     *  Email address of the author of the framework.
66
+     */
67
+    define('TNH_AUTHOR_EMAIL', '[email protected]');
68 68
 
69
-	/**
70
-	 *  The minimum PHP version required to use the framework. 
71
-	 *  If the version of PHP installed is lower, then the application will not work.
72
-	 *  Note: we use the PHP version_compare function to compare the required version with 
73
-	 *  the version installed on your system.
74
-	 */
75
-	define('TNH_REQUIRED_PHP_MIN_VERSION', '5.4');
69
+    /**
70
+     *  The minimum PHP version required to use the framework. 
71
+     *  If the version of PHP installed is lower, then the application will not work.
72
+     *  Note: we use the PHP version_compare function to compare the required version with 
73
+     *  the version installed on your system.
74
+     */
75
+    define('TNH_REQUIRED_PHP_MIN_VERSION', '5.4');
76 76
 
77
-	/**
78
-	 *  The maximum version of PHP required to use the framework. 
79
-	 *  If the version of PHP installed is higher than the required one, then the application will not work.
80
-	 */
81
-	define('TNH_REQUIRED_PHP_MAX_VERSION', '7.1');
82 77
\ No newline at end of file
78
+    /**
79
+     *  The maximum version of PHP required to use the framework. 
80
+     *  If the version of PHP installed is higher than the required one, then the application will not work.
81
+     */
82
+    define('TNH_REQUIRED_PHP_MAX_VERSION', '7.1');
83 83
\ No newline at end of file
Please login to merge, or discard this patch.