static function getWrapper($a_type, $a_inactive_mysqli = null) { global $ilClientIniFile; if ($a_type == "" && is_object($ilClientIniFile)) { $a_type = $ilClientIniFile->readVariable("db", "type"); } if ($a_type == "") { $a_type = "mysql"; } switch ($a_type) { case "mysql": include_once "./Services/Database/classes/class.ilDBMySQL.php"; $ilDB = new ilDBMySQL(); if ($a_inactive_mysqli === null && is_object($ilClientIniFile)) { $a_inactive_mysqli = $ilClientIniFile->readVariable("db", "inactive_mysqli"); } // default: use mysqli driver if not prevented by ini setting if (!(bool) $a_inactive_mysqli) { $ilDB->setSubType("mysqli"); } break; case "innodb": include_once "./Services/Database/classes/class.ilDBInnoDB.php"; $ilDB = new ilDBInnoDB(); if ($a_inactive_mysqli === null && is_object($ilClientIniFile)) { $a_inactive_mysqli = $ilClientIniFile->readVariable("db", "inactive_mysqli"); } // default: use mysqli driver if not prevented by ini setting if (!(bool) $a_inactive_mysqli) { $ilDB->setSubType("mysqli"); } break; case "postgres": include_once "./Services/Database/classes/class.ilDBPostgreSQL.php"; $ilDB = new ilDBPostgreSQL(); break; case "oracle": include_once "./Services/Database/classes/class.ilDBOracle.php"; $ilDB = new ilDBOracle(); break; } return $ilDB; }
/** * Checks whether a word is a reserved word in one * of the supported databases */ static function isReservedWord($a_word) { include_once "./Services/Database/classes/class.ilDBMySQL.php"; $mysql_reserved_words = ilDBMySQL::getReservedWords(); if (in_array(strtoupper($a_word), $mysql_reserved_words)) { return true; } include_once "./Services/Database/classes/class.ilDBOracle.php"; $oracle_reserved_words = ilDBOracle::getReservedWords(); if (in_array(strtoupper($a_word), $oracle_reserved_words)) { return true; } include_once "./Services/Database/classes/class.ilDBPostgreSQL.php"; $postgres_reserved_words = ilDBPostgreSQL::getReservedWords(); if (in_array(strtoupper($a_word), $postgres_reserved_words)) { return true; } }