CatPtain commited on
Commit
ae25f47
·
verified ·
1 Parent(s): 5ed2b6d

Upload db.php

Browse files
Files changed (1) hide show
  1. db.php +65 -5
db.php CHANGED
@@ -31,6 +31,7 @@ if (!file_exists($db_dir)) {
31
  class SQLite_DB {
32
  public $pdo;
33
  public $last_error = '';
 
34
  public $insert_id = 0;
35
  public $num_rows = 0;
36
  public $last_query = '';
@@ -68,10 +69,15 @@ class SQLite_DB {
68
  $this->collate = '';
69
  $this->dbname = '/var/www/html/wp-content/database';
70
  $this->set_table_names();
71
- $this->connect();
72
- $this->ready = true;
73
- $this->base_prefix = $this->prefix;
74
- $this->timer_start();
 
 
 
 
 
75
  }
76
 
77
  private function set_table_names() {
@@ -106,7 +112,9 @@ class SQLite_DB {
106
  return true;
107
  } catch (PDOException $e) {
108
  $this->last_error = $e->getMessage();
 
109
  error_log("SQLite connection error: " . $e->getMessage());
 
110
  return false;
111
  }
112
  }
@@ -139,6 +147,7 @@ class SQLite_DB {
139
  return false;
140
  } catch (PDOException $e) {
141
  $this->last_error = $e->getMessage();
 
142
 
143
  if (!$this->suppress_errors) {
144
  if ($this->show_errors) {
@@ -391,7 +400,58 @@ class SQLite_DB {
391
  }
392
 
393
  public function check_connection($allow_bail = true) {
394
- return true;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
395
  }
396
 
397
  public function db_version() {
 
31
  class SQLite_DB {
32
  public $pdo;
33
  public $last_error = '';
34
+ public $error = '';
35
  public $insert_id = 0;
36
  public $num_rows = 0;
37
  public $last_query = '';
 
69
  $this->collate = '';
70
  $this->dbname = '/var/www/html/wp-content/database';
71
  $this->set_table_names();
72
+
73
+ if ($this->connect()) {
74
+ $this->ready = true;
75
+ $this->base_prefix = $this->prefix;
76
+ $this->timer_start();
77
+ } else {
78
+ $this->ready = false;
79
+ // Don't bail here, let WordPress handle the connection error
80
+ }
81
  }
82
 
83
  private function set_table_names() {
 
112
  return true;
113
  } catch (PDOException $e) {
114
  $this->last_error = $e->getMessage();
115
+ $this->error = $e->getMessage();
116
  error_log("SQLite connection error: " . $e->getMessage());
117
+ $this->ready = false;
118
  return false;
119
  }
120
  }
 
147
  return false;
148
  } catch (PDOException $e) {
149
  $this->last_error = $e->getMessage();
150
+ $this->error = $e->getMessage();
151
 
152
  if (!$this->suppress_errors) {
153
  if ($this->show_errors) {
 
400
  }
401
 
402
  public function check_connection($allow_bail = true) {
403
+ if (!$this->pdo) {
404
+ if ($allow_bail) {
405
+ $this->bail('Error establishing a database connection');
406
+ }
407
+ return false;
408
+ }
409
+
410
+ try {
411
+ // Test the connection with a simple query
412
+ $this->pdo->query('SELECT 1');
413
+ return true;
414
+ } catch (PDOException $e) {
415
+ $this->last_error = $e->getMessage();
416
+ $this->error = $e->getMessage();
417
+
418
+ if ($allow_bail) {
419
+ $this->bail('Error establishing a database connection: ' . $e->getMessage());
420
+ }
421
+ return false;
422
+ }
423
+ }
424
+
425
+ public function bail($message, $error_code = '500') {
426
+ if (!$this->show_errors) {
427
+ if (class_exists('WP_Error')) {
428
+ $this->error = new WP_Error('db_connect_fail', $message);
429
+ } else {
430
+ $this->error = $message;
431
+ }
432
+ return false;
433
+ }
434
+
435
+ if (function_exists('wp_die')) {
436
+ wp_die($message);
437
+ } else {
438
+ die($message);
439
+ }
440
+ }
441
+
442
+ public function db_connect($allow_bail = true) {
443
+ $this->ready = false;
444
+
445
+ if ($this->connect()) {
446
+ $this->ready = true;
447
+ return true;
448
+ }
449
+
450
+ if ($allow_bail) {
451
+ $this->bail('Error establishing a database connection');
452
+ }
453
+
454
+ return false;
455
  }
456
 
457
  public function db_version() {