function &fs_get_db_conn($force_new = false, $clear = false) { static $fsdb; if ($clear) { unset($fsdb); } else { if (!isset($fsdb) || $force_new) { fs_load_config(); global $fs_config; require_once FS_ABS_PATH . "/lib/ezsql/shared/ez_sql_core.php"; require_once FS_ABS_PATH . "/lib/ezsql/mysql/ez_sql_mysql.php"; $fsdb = fs_create_db_conn($fs_config['DB_USER'], $fs_config['DB_PASS'], $fs_config['DB_NAME'], $fs_config['DB_HOST']); } } return $fsdb; }
<!-- if the javascript for this page was not already loaded, load it now --> <script type="text/javascript"> //<![CDATA[ if (typeof(testDBConnection) != "function") { FS.loadJavaScript("<?php echo fs_js_url('js/page-database.js.php'); ?> "); } //]]> </script> <?php fs_load_config(); ?> <div> <table> <tr> <td> <?php fs_output_database_table(); ?> </td> <td style="vertical-align:top"> <?php fs_output_database_help(); ?> </td> </tr>
function fs_sendDBConfig(&$response) { fs_load_config(); global $fs_config; $response['fields']['config_source'] = fs_get_config_source_desc(); $response['fields']['text_database_host'] = $fs_config['DB_HOST']; $response['fields']['text_database_name'] = $fs_config['DB_NAME']; $response['fields']['text_database_user'] = $fs_config['DB_USER']; $response['fields']['text_database_pass'] = ''; // don't send password, its too risky. $response['fields']['text_database_prefix'] = $fs_config['DB_PREFIX']; // clear the fields $response['fields']['advanced_feedback'] = ''; $response['fields']['new_db_feedback'] = ''; // hide the buttons $response['styles']['install_tables_id']['display'] = 'none'; $response['styles']['use_database_id']['display'] = 'none'; $response['styles']['create_db_id']['display'] = 'none'; }
function fs_test_db_connection($host, $username, $password, $db_name, $table_prefix) { if (!fs_is_admin()) { return fs_get_db_response("access_denied", "Access denied : fs_test_db_connection"); } require_once FS_ABS_PATH . "/lib/ezsql/shared/ez_sql_core.php"; require_once FS_ABS_PATH . "/lib/ezsql/mysql/ez_sql_mysql.php"; $conn = new fs_ezSQL_mysql($username, $password, $db_name, $host); $conn->hide_errors(); if (!$conn->connect($username, $password, $host, false)) { return fs_get_db_response('db_connect_error', $conn->last_error); } if (($mysql_version = $conn->get_var("select version()")) === false) { return fs_get_db_response('db_access_error', $conn->last_error); } if ($conn->query("use `{$db_name}`") === false) { return fs_get_db_response('db_missing', $db_name); } if ($conn->query("show tables") === false) { return fs_get_db_response('db_access_error', $conn->last_error); } $version_table = $table_prefix . 'firestats_version'; $sql = "SHOW TABLES LIKE '{$version_table}'"; $results = $conn->query($sql); if ($results === FALSE) { return fs_get_db_response('db_access_error', $conn->last_error); } if ($results == 0) { return fs_get_db_response('tables_missing'); } fs_load_config(); if (!fs_same_config($host, $username, $password, $db_name, $table_prefix)) { return fs_get_db_response('other_db_detected'); } return fs_get_db_response('db_installed'); }