]> andersk Git - sql-web.git/commitdiff
bug fix: signup/db-create for class lockers
authorJoe Presbrey <presbrey@mit.edu>
Tue, 11 Apr 2006 19:13:02 +0000 (19:13 +0000)
committerJoe Presbrey <presbrey@mit.edu>
Tue, 11 Apr 2006 19:13:02 +0000 (19:13 +0000)
git-svn-id: svn://presbrey.mit.edu/sql/mitsql@98 a142d4bd-2cfb-0310-9673-cb33a7e74f58

batch/create_db.php
lib/proc.lib.php
lib/security.lib.php
login.php
test.php

index f29b3d78ed9c7d86b8a2d4dd994b6ffe9fbc23e6..0f994d93d8c0e9cc0ff2f1ec7d6c23aa92ce9c91 100755 (executable)
@@ -19,7 +19,7 @@ if (substr($i_d,0,strlen($myUsername)+1) == $myUsername.DELIMETER) {
 }
 
 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);
 
 ?>
index 27f9d87b442e62ba39a144a4832b8fdf5e90b849..f9ebc8d6bd9a659a1c673aedc9867f0cdb99274a 100644 (file)
@@ -5,7 +5,8 @@ require_once('mitsql.lib.php');
 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);
@@ -25,6 +26,7 @@ class proc {
                } else {
                        $msg1[] = 'Database `'.$dbname.'` created.';
                }
+               $i_newdb = $dbname;
                return array($msg1, $err1);
        }
        static function drop(&$User, $i_drop) {
index 32532bce10d97ea0d399daf4e75fbea3e554d030..2084e5399660c76ca85f9d904f8f2006ad6beb90 100644 (file)
@@ -337,6 +337,7 @@ function addDB($dbname,$userid) {
        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);
@@ -358,23 +359,25 @@ function addDB($dbname,$userid) {
                                                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) {
index bacfdb4a349d3730e3814dc618e0286725dafc7f..57d8e88aa3b145ce718dfbc838840e7c4ccbaebf 100644 (file)
--- a/login.php
+++ b/login.php
@@ -22,7 +22,7 @@ if (isPost() && empty($err)) {
        } 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)) {
index 9423e166370c492455f11945392ac2eef6243c14..1aab1e4e4c6e2e3f0b71b01a5ff0414a9ec76a2f 100755 (executable)
--- a/test.php
+++ b/test.php
@@ -20,15 +20,17 @@ function getManagedDBs($owner=null) {
        return $owners;
 }
 
-/*
+/* //GET MANAGED DBs
 $g = getManagedDBs();
 print_r($g);
 */
 
+/* //TEST A LOGIN
 $l = new Login('6.001');
 echo !$l->isEnabled();
 echo $l->isValid();
 print_r($GLOBALS);
+*/
 
 //phpinfo();
 
This page took 0.072381 seconds and 5 git commands to generate.