function fs_create_db_conn($user, $pass, $dbname, $dbhost) { $conn = new fs_ezSQL_mysql($user, $pass, $dbname, $dbhost); $conn->hide_errors(); $conn->connect(); return $conn; }
function fs_create_new_database($host, $admin_user, $admin_pass, $user, $pass, $dbname, $table_prefix) { if (!fs_is_admin()) { return fs_get_db_response("access_denied", "Access denied : fs_create_new_database"); } require_once dirname(__FILE__) . "/ezsql/mysql/ez_sql_mysql.php"; require_once dirname(__FILE__) . "/ezsql/shared/ez_sql_core.php"; require_once dirname(__FILE__) . "/db-setup.php"; if ($user == '' || $pass == '') { $user = $admin_user; $pass = $admin_pass; } $conn = new fs_ezSQL_mysql($admin_user, $admin_pass, $dbname, $host); $conn->hide_errors(); if (!fs_config_writeable()) { return fs_get_db_response('read_only_config'); } if (!$conn->connect($admin_user, $admin_pass, $host, false)) { return fs_get_db_response('db_connect_error', $conn->last_error); } $db = $conn->query("SHOW DATABASES LIKE '{$dbname}'"); if ($db === false) { return fs_get_db_response('db_access_error', $conn->last_error); } $existed = $db == 1; if ($conn->query("CREATE DATABASE IF NOT EXISTS `{$dbname}`") === false) { return fs_get_db_response('db_create_error', $conn->last_error); } if ($conn->query("GRANT SELECT, INSERT, UPDATE, \n\t\t\t\t\t\t\tDELETE, CREATE, ALTER, INDEX, \n\t\t\t\t\t\t\tDROP, CREATE TEMPORARY TABLES \n\t\t\t\t\t\t\tON `{$dbname}`.*\n\t\t\t\t\t\t\tTO `{$user}` IDENTIFIED BY '{$pass}';") === false) { $last_error = $conn->last_error; if (!$existed) { $conn->query("DROP DATABASE `{$dbname}`"); } return fs_get_db_response('user_create_error', $last_error); } ob_start(); $install_res = fs_install_into($user, $pass, $dbname, $host); $output = ob_get_clean(); if (!$install_res) { $last_error = $conn->last_error; if (!$existed) { $conn->query("DROP DATABASE `{$dbname}`"); } return fs_get_db_response('tables_create_error', $last_error . ($output ? ', Output: ' . $output : '')); } $r = fs_save_config_file($host, $user, $pass, $dbname, $table_prefix); if ($r != '') { if (!$existed) { $conn->query("DROP DATABASE `{$dbname}`"); } return fs_get_db_response('config_save_error', $conn->last_error); } $conn->disconnect(); return fs_get_db_response('db_created', $conn->last_error); }