</div> <div id="page4" class="box" style="display: none;"> <h1>Database Setup</h1> <h3>Set up database options.</h3> <div class="boxmain"> Single Sign-On (SSO) Server requires a database.<br /><br /> <div class="formfields"> <div class="formitem"> <div class="formitemtitle">Database Server</div> <select id="db_select" name="db_select"> <?php $login = array(); $replication = array(); $databases = SSO_GetSupportedDatabases(); foreach ($databases as $database => $info) { if ($info["production"] || $allowinsecuredatabases) { require_once "support/csdb/db_" . $database . ".php"; try { $classname = "CSDB_" . $database; $db = new $classname(); if ($db->IsAvailable() !== false) { echo "<option value=\"" . htmlspecialchars($database) . "\">" . htmlspecialchars($db->GetDisplayName()) . (!$info["production"] ? " [NOT for production use]" : "") . "</option>"; $login[$database] = $info["login"]; $replication[$database] = $info["replication"]; } } catch (Exception $e) { } } }
function SSO_DBConnect($full) { global $sso_db, $sso_db_apikeys, $sso_db_fields, $sso_db_users, $sso_db_user_tags, $sso_db_user_sessions, $sso_db_temp_sessions, $sso_db_tags, $sso_db_ipcache; require_once SSO_ROOT_PATH . "/" . SSO_SUPPORT_PATH . "/utf8.php"; // Update legacy database connections (SSO 3.1 and earlier). if (!defined("SSO_DB_TYPE")) { define("SSO_DB_TYPE", "mysql"); $server = explode(":", SSO_MYSQL_SERVER); define("SSO_DB_DSN", "host=" . $server[0] . (count($server) > 1 ? ";port=" . $server[1] : "")); define("SSO_DB_USER", SSO_MYSQL_USER); define("SSO_DB_PASS", SSO_MYSQL_PASS); if (SSO_MYSQL_MASTER_SERVER == "") { define("SSO_DB_MASTER_DSN", ""); } else { $server = explode(":", SSO_MYSQL_MASTER_SERVER); define("SSO_DB_MASTER_DSN", "host=" . $server[0] . (count($server) > 1 ? ";port=" . $server[1] : "")); } define("SSO_DB_MASTER_USER", SSO_MYSQL_MASTER_USER); define("SSO_DB_MASTER_PASS", SSO_MYSQL_MASTER_PASS); define("SSO_DB_NAME", SSO_MYSQL_DB); define("SSO_DB_PREFIX", SSO_MYSQL_PREFIX); } // Connect to the database. require_once SSO_ROOT_PATH . "/" . SSO_SUPPORT_PATH . "/csdb/db.php"; require_once SSO_ROOT_PATH . "/" . SSO_SUPPORT_PATH . "/csdb/db_" . SSO_DB_TYPE . ($full ? "" : "_lite") . ".php"; $dbclassname = "CSDB_" . SSO_DB_TYPE . ($full ? "" : "_lite"); $databases = SSO_GetSupportedDatabases(); $sso_db = new $dbclassname(); $sso_db->Connect(SSO_DB_TYPE . ":" . SSO_DB_DSN, $databases[SSO_DB_TYPE]["login"] ? SSO_DB_USER : false, $databases[SSO_DB_TYPE]["login"] ? SSO_DB_PASS : false); if ($databases[SSO_DB_TYPE]["replication"] && SSO_DB_MASTER_DSN != "") { $sso_db->SetMaster(SSO_DB_TYPE . ":" . SSO_DB_MASTER_DSN, $databases[SSO_DB_TYPE]["login"] ? SSO_DB_MASTER_USER : false, $databases[SSO_DB_TYPE]["login"] ? SSO_DB_MASTER_PASS : false); } $sso_db->Query("USE", SSO_DB_NAME); $sso_db_apikeys = SSO_DB_PREFIX . "apikeys"; $sso_db_fields = SSO_DB_PREFIX . "fields"; $sso_db_users = SSO_DB_PREFIX . "users"; $sso_db_user_tags = SSO_DB_PREFIX . "user_tags"; $sso_db_user_sessions = SSO_DB_PREFIX . "user_sessions"; $sso_db_temp_sessions = SSO_DB_PREFIX . "temp_sessions"; $sso_db_tags = SSO_DB_PREFIX . "tags"; $sso_db_ipcache = SSO_DB_PREFIX . "ipcache"; }