}
list($msg1, $err1) = proc::newdb($User, $i_d);
-if (!empty($err1)) die('-3');
-if (empty($err1)) die('0');
+if (!empty($err1)) die('-3,'.implode(' ',$err1));
+if (empty($err1)) die('0,'.$i_d);
?>
define('MAXDBS', 20);
class proc {
- static function newdb(&$User, $i_newdb) {
+ static function newdb(&$User, &$i_newdb) {
+ // return through $i_newdb the full name of the created db
$msg1 = $err1 = array();
$uname = $User->getUsername();
$uname = str_replace('.','',$uname);
} else {
$msg1[] = 'Database `'.$dbname.'` created.';
}
+ $i_newdb = $dbname;
return array($msg1, $err1);
}
static function drop(&$User, $i_drop) {
global $_NEW_DB, $_NEW_DBQUOTA, $_NEW_DBOWNER;
DBCreate(sprintf('CREATE DATABASE `%s`', mysql_escape_string($dbname)));
+ if (mysql_error()) return false;
$newdb['Name'] = $dbname;
$arr = array_merge($newdb, $_NEW_DB);
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;
}
+
+ DBDelete(sprintf("DELETE FROM DBOwner WHERE DatabaseId = '%s'", mysql_escape_string($DBId)));
+ DBDelete(sprintf("DELETE FROM DBQuota WHERE DatabaseId = '%s'", mysql_escape_string($DBId)));
+
+ $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) {
} elseif (!$Login->exists()) {
$err[] = 'Nonexistant account or invalid password.';
} elseif (!$Login->canLogin()) {
- $err[] = 'That account is no longer valid. Please contact the staff.';
+ $err[] = 'That account is no longer valid. Please contact the staff (sql@mit.edu).';
}
if (empty($err)) {