Beispiel #1
0
	</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) {
                        }
                    }
                }
Beispiel #2
0
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";
}