/** * Create the cache table. * * @return void * @access protected * @since 7/8/08 */ protected function createCacheTable() { $dbc = Services::getService("DatabaseManager"); switch ($dbc->getDatabaseType(IMPORTER_CONNECTION)) { case MYSQL: $dir = dirname(__FILE__) . '/SQL/MySQL'; break; case POSTGRESQL: case ORACLE: $dir = dirname(__FILE__) . '/SQL/PostgreSQL'; break; default: throw new Exception("Database type is not supported."); } SQLUtils::runSQLdir($dir, IMPORTER_CONNECTION); }
} else { // print "<h1>Creating tables and default data set.</h1>"; /********************************************************* * Create the needed database tables *********************************************************/ switch ($dbHandler->getDatabaseType($dbID)) { case MYSQL: SQLUtils::runSQLdir(HARMONI_BASE . "/SQL/MySQL", $dbID); // SQLUtils::runSQLdir(MYDIR."/main/SQL/MySQL", $dbID); break; case POSTGRESQL: SQLUtils::runSQLdir(HARMONI_BASE . "/SQL/PostgreSQL", $dbID); // SQLUtils::runSQLdir(MYDIR."/main/SQL/PostgreSQL", $dbID); break; case ORACLE: SQLUtils::runSQLdir(HARMONI_BASE . "/SQL/PostgreSQL", $dbID); // SQLUtils::runSQLdir(MYDIR."/main/SQL/PostgreSQL", $dbID); break; default: throw new Exception("Database schemas are not defined for specified database type."); } /********************************************************* * Script for setting up the Authorization Hierarchy *********************************************************/ $hierarchyManager = Services::getService("HierarchyManager"); $idManager = Services::getService("IdManager"); // Create the Hierarchy $nodeTypes = array(); $authorizationHierarchyId = $idManager->getId("edu.middlebury.authorization.hierarchy"); $authorizationHierarchy = $hierarchyManager->createHierarchy("Concerto Qualifier Hierarchy", $nodeTypes, "A Hierarchy to hold all Qualifiers known to Concerto.", TRUE, FALSE, $authorizationHierarchyId); // Create nodes for Qualifiers
*********************************************************/ if (!isset($_SESSION['installation_underway']) || !$_SESSION['installation_underway']) { $dbHandler->beginTransaction($dbID); $exceptions = array('AuthZ.sql', 'Hierarchy.sql'); switch ($dbHandler->getDatabaseType($dbID)) { case MYSQL: SQLUtils::runSQLdirWithExceptions(HARMONI_BASE . "/SQL/MySQL", $exceptions, $dbID); SQLUtils::runSQLdir(MYDIR . "/main/SQL/MySQL", $dbID); break; case POSTGRESQL: SQLUtils::runSQLdirWithExceptions(HARMONI_BASE . "/SQL/PostgreSQL", $exceptions, $dbID); SQLUtils::runSQLdir(MYDIR . "/main/SQL/PostgreSQL", $dbID); break; case ORACLE: SQLUtils::runSQLdirWithExceptions(HARMONI_BASE . "/SQL/PostgreSQL", $exceptions, $dbID); SQLUtils::runSQLdir(MYDIR . "/main/SQL/PostgreSQL", $dbID); break; default: throw new Exception("Database schemas are not defined for specified database type."); } // Load SQL files for plugins. $pluginDirs = array(MYDIR . '/plugins-dist/SeguePlugins', MYDIR . '/plugins-local/SeguePlugins'); foreach ($pluginDirs as $base) { foreach (scandir($base) as $pluginAuthor) { if (!is_dir($base . '/' . $pluginAuthor)) { continue; } foreach (scandir($base . '/' . $pluginAuthor) as $plugin) { if (!is_dir($base . '/' . $pluginAuthor . '/' . $plugin)) { continue; }