function olc_db_connect_installer($server, $username, $password, $link = 'db_link') { if (!defined('USE_ADODB')) { define('USE_ADODB', false); } if (USE_ADODB === true) { include_once ADMIN_PATH_PREFIX . 'adodb/adodb.inc.php'; /* define('ADODB_FETCH_DEFAULT',0); define('ADODB_FETCH_NUM',1); define('ADODB_FETCH_ASSOC',2); define('ADODB_FETCH_BOTH',3); */ $ADODB_FETCH_MODE = ADODB_FETCH_ASSOC; if (!defined('ADOBD_DB_TYPE')) { define('ADOBD_DB_TYPE', 'mysql'); } ${$link} = NewADOConnection(ADOBD_DB_TYPE); if (${$link}) { if (USE_PCONNECT == TRUE_STRING_S) { ${$link}->PConnect($server, $username, $password, $database); } else { ${$link}->Connect($server, $username, $password, $database); } if (${$link}->IsConnected()) { } else { $error = "Kann keine Verbindung zur Datenbank '" . $database . "' auf Server '" . $server . "' herstellen!"; } } else { $error = "Fehler bei 'NewADOConnection' mit ADOBD_DB_TYPE='" . ADOBD_DB_TYPE . "'"; } if ($error) { die('olc_db_connect_installer -- ' . $error); } } else { global ${$link}, $db_error; $db_error = false; if (!$server) { $db_error = 'No Server selected.'; return false; } ${$link} = @mysql_connect($server, $username, $password) or $db_error = mysql_error(); if (!$db_error) { $mysql_version = trim(mysql_get_server_info()); if (substr($mysql_version, 0, 1) > '4') { require_once DIR_FS_INC . 'olc_db_query.inc.php'; olc_db_query_installer("SET SESSION sql_mode=''"); } } } return ${$link}; }
function olc_db_test_create_db_permission($database) { global $db_error; $db_created = false; $db_error = false; if ($database) { if (!$db_error) { if (!@olc_db_select_db($database)) { $db_created = true; if (!@olc_db_query_installer('create database ' . $database)) { $db_error = true; } } else { $db_error = true; } if (!$db_error) { if (@olc_db_select_db($database)) { if (@olc_db_query_installer('create table temp ( temp_id int(5) )')) { if (@olc_db_query_installer('drop table temp')) { if ($db_created) { if (@olc_db_query_installer('drop database ' . $database)) { } else { $db_error = true; } } } else { $db_error = true; } } else { $db_error = true; } } else { $db_error = true; } } } if ($db_error) { if (USE_ADODB === true) { global ${$link}; $db_error = ${$link}->ErrorMsg(); } else { $db_error = mysql_error(); } return false; } else { return true; } } else { $db_error = 'Keine Datenbank gewählt.'; return false; } }