$kfmdb =& MDB2::connect($dsn); if (PEAR::isError($kfmdb)) { $dsn = 'pgsql://' . $kfm_db_username . ':' . $kfm_db_password . '@' . $kfm_db_host; $kfmdb =& MDB2::connect($dsn); kfm_dieOnError($kfmdb); $kfmdb->query('CREATE DATABASE ' . $kfm_db_name); $kfmdb->disconnect(); $dsn = 'pgsql://' . $kfm_db_username . ':' . $kfm_db_password . '@' . $kfm_db_host . '/' . $kfm_db_name; $kfmdb =& MDB2::connect($dsn); kfm_dieOnError($kfmdb); } $kfmdb->setFetchMode(MDB2_FETCHMODE_ASSOC); $kfmdb->setOption('portability', MDB2_PORTABILITY_ALL ^ MDB2_PORTABILITY_EMPTY_TO_NULL); if (!$db_defined) { $res =& $kfmdb->query("SELECT tablename from pg_tables where tableowner = current_user AND tablename NOT LIKE E'pg\\\\_%' AND tablename NOT LIKE E'sql\\\\_%' AND tablename LIKE E'" . $kfm_db_prefix_escaped . "%'"); kfm_dieOnError($res); if ($res->numRows() < 1) { include KFM_BASE_PATH . 'scripts/db.pgsql.create.php'; } else { $db_defined = 1; } } break; // } // } case 'sqlite': // { die('<p>The embedded SQLite in PHP is version 2, but that is no longer supported by <a href="http://www.sqlite.org/download.html">SQLite</a>, <a href="http://php.net/manual/en/book.sqlite.php">PHP</a>, or <a href="http://kfm.verens.com/">KFM</a>. Please use the PDO SQLite driver instead.</p>'); // } // } case 'sqlitepdo':
} } break; // } // } case 'sqlite': // { include_once 'MDB2.php'; $kfmdb_create = false; define('DBNAME', $kfm_db_name); if (!file_exists(WORKPATH . DBNAME)) { $kfmdb_create = true; } $dsn = array('phptype' => 'sqlite', 'database' => WORKPATH . DBNAME, 'mode' => '0644'); $kfmdb =& MDB2::connect($dsn); kfm_dieOnError($kfmdb); $kfmdb->setFetchMode(MDB2_FETCHMODE_ASSOC); $kfmdb->setOption('portability', MDB2_PORTABILITY_ALL ^ MDB2_PORTABILITY_EMPTY_TO_NULL); if ($kfmdb_create) { include KFM_BASE_PATH . 'scripts/db.sqlite.create.php'; } $db_defined = 1; break; // } // } case 'sqlitepdo': // { $kfmdb_create = false; define('DBNAME', $kfm_db_name); if (!file_exists(WORKPATH . DBNAME)) { $kfmdb_create = true;