/** * Sets up the database tables * * @return boolean True if successful * */ function INST_createDatabaseStructures() { global $_CONF, $_TABLES, $_DB, $_DB_dbms, $_DB_host, $_DB_user, $_DB_pass, $site_url, $use_innodb; $_DB->setDisplayError(true); // Because the create table syntax can vary from dbms-to-dbms we are // leaving that up to each database driver (e.g. mysql.class.php, // postgresql.class.php, etc) // Get DBMS-specific create table array and data array require_once $_CONF['path'] . 'sql/' . $_DB_dbms . '_tableanddata.php'; $progress = ''; if (INST_checkTableExists('access')) { return false; } switch ($_DB_dbms) { case 'mysql': INST_updateDB($_SQL); if ($use_innodb) { DB_query("INSERT INTO {$_TABLES['vars']} (name, value) VALUES ('database_engine', 'InnoDB')"); } break; case 'mssql': foreach ($_SQL as $sql) { $_DB->dbQuery($sql, 0, 1); } break; } // Now insert mandatory data and a small subset of initial data foreach ($_DATA as $data) { $progress .= "executing " . $data . "<br" . XHTML . ">\n"; DB_query($data); } return true; }
/** * Sets up the database tables * * @param boolean $use_innodb Whether to use InnoDB table support if using MySQL * @return boolean True if successful * */ function INST_createDatabaseStructures($use_innodb = false) { global $_CONF, $_TABLES, $_DB, $_DB_dbms, $_DB_host, $_DB_user, $_DB_pass, $LANG_INSTALL; $rc = true; switch ($_DB_dbms) { case 'mysql': case 'mysqli': default: $dbDriver = 'mysql'; break; } $_DB->setDisplayError(true); // Because the create table syntax can vary from dbms-to-dbms we are // leaving that up to each database driver (e.g. mysql.class.php, // postgresql.class.php, etc) // Get DBMS-specific create table array and data array if (!@file_exists($_CONF['path'] . 'sql/' . $dbDriver . '_tableanddata.php')) { echo _displayError(FILE_INCLUDE_ERROR, 'pathsetting'); exit; } require_once $_CONF['path'] . 'sql/' . $dbDriver . '_tableanddata.php'; $progress = ''; $errors = ''; $rc = true; if (INST_checkTableExists('access')) { return array(false, $LANG_ISNTALL['database_exists']); } switch ($_DB_dbms) { case 'mysql': case 'mysqli': list($rc, $errors) = INST_updateDB($_SQL, $use_innodb); if ($rc != true) { return array($rc, $errors); } if ($use_innodb) { DB_query("INSERT INTO {$_TABLES['vars']} (name, value) VALUES ('database_engine', 'InnoDB')"); } break; } // Now insert mandatory data and a small subset of initial data foreach ($_DATA as $data) { $progress .= "executing " . $data . "<br />\n"; DB_query($data, 1); if (DB_error()) { $errors .= DB_error() . "<br />\n"; $rc = false; } } return array($rc, $errors); }