+function addDB($dbname,$userid) {
+ global $_NEW_DB, $_NEW_DBQUOTA, $_NEW_DBOWNER;
+
+ DBCreate(sprintf('CREATE DATABASE `%s`', mysql_escape_string($dbname)));
+
+ $newdb['Name'] = $dbname;
+ $arr = array_merge($newdb, $_NEW_DB);
+ $arr['bEnabled'] = 1;
+ $sql = sprintf("INSERT IGNORE INTO DB %s",
+ buildSQLInsert($arr));
+ $DBId = DBInsert($sql);
+ if (empty($DBId)) {
+ $sql = sprintf("SELECT DatabaseId FROM DB WHERE Name = '%s'",
+ mysql_escape_string($dbname));
+ $r = fetchRows(DBSelect($sql), 'DatabaseId');
+ if (count($r)) {
+ $r = array_shift($r);
+ $DBId = $r['DatabaseId'];
+ } else {
+ return false;
+ }
+ $sql = sprintf("UPDATE DB %s WHERE DB.DatabaseId = '%s'",
+ buildSQLSet($arr),
+ $DBId);
+ DBUpdate($sql);
+ return $DBId;
+ } else {
+ $arr = $_NEW_DBQUOTA;
+ $arr['DatabaseId'] = $DBId;
+ $sql = sprintf("INSERT IGNORE INTO DBQuota %s",
+ buildSQLInsert($arr));
+ DBInsert($sql);
+
+ $arr = $_NEW_DBOWNER;
+ $arr['DatabaseId'] = $DBId;
+ $arr['UserId'] = $userid;
+ $sql = sprintf("INSERT IGNORE INTO DBOwner %s",
+ buildSQLInsert($arr));
+ DBInsert($sql);
+
+ return $DBId;
+ }
+}
+
+function delDB($dbname) {
+ global $_NEW_DB, $_NEW_DBQUOTA, $_NEW_DBOWNER;
+
+ DBCreate(sprintf('DROP DATABASE `%s`', mysql_escape_string($dbname)));
+
+ $arr['bEnabled'] = 0;
+ $sql = sprintf("UPDATE DB %s WHERE DB.Name = '%s'",
+ buildSQLSet($arr),
+ $dbname);
+ DBUpdate($sql);
+
+ return true;
+}
+