예제 #1
0
파일: db-common.php 프로젝트: alx/blogsfera
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;
}
예제 #2
0
<!-- 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>
예제 #3
0
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';
}
예제 #4
0
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');
}