]> andersk Git - sql-web.git/commitdiff
bug: dropping database outside the interface stops interface for all users
authorJoe Presbrey <presbrey@mit.edu>
Wed, 30 Nov 2005 16:36:43 +0000 (16:36 +0000)
committerJoe Presbrey <presbrey@mit.edu>
Wed, 30 Nov 2005 16:36:43 +0000 (16:36 +0000)
checkQuotas on login was checking everyone's quotas

git-svn-id: svn://presbrey.mit.edu/sql/mitsql@81 a142d4bd-2cfb-0310-9673-cb33a7e74f58

global.act.php
lib/dbaccess.lib.php
lib/joe.lib.php
lib/security.lib.php
main.php

index 1a9b64d6731d16c3454280a00d0fed254341f553..1a6a98d0e59db6284920bbc4ccd9970388c5d45c 100644 (file)
@@ -48,7 +48,9 @@ if (isOnline()) {
        }
 
        if (isPost() || isset($i_refresh)) {
-               checkQuotas($UserId);
+               if (!empty($UserId)) {
+                       checkQuotas($UserId);
+               }
                isset($i_refresh) && redirect('main');
        }
 
index a3211a11a6986f3cb2b76406f3e9ee0e6838bd33..696cdfe71d76e3d77210f4ce8913d43d2415ac41 100644 (file)
@@ -32,8 +32,11 @@ function DBSet($sql) { DBInsert($sql); }
 function DBShow($sql) { return DBSlave($sql); }
 
 function calcDBSize($tdb) {
+       $sql_result = "SHOW DATABASES LIKE '".mysql_escape_string($tdb)."'";
+       $result = DBShow($sql_result);
+       if (!mysql_num_rows($result)) return null;
+       
    $sql_result = "SHOW TABLE STATUS FROM `" .mysql_escape_string($tdb)."`";
-//   $result = @mysql_db_query($tdb,$sql_result);
    $result = DBShow($sql_result);
 
    if($result) {
index 5ea684a686a632b4bd1c77dde718bbd60c1a5328..0bf1fb034a21da6178ebc1383827eb6597b024d3 100755 (executable)
@@ -68,6 +68,8 @@ function sessTime($query=null) {
 
   if (is_null($query)) {
     $timings[$key]['time'] = microtime(true)-$timings[$key]['time'];
+       if (mysql_error())
+               $timings[$key]['error'] = mysql_error();
     return true;
   } else {
     $timings[$key] = array();
index 86676fb38837b7ff89293e74f5fe6048d4e11b1d..d345e61bf3dbbf162b704a25bdcccfddf2bc38fc 100644 (file)
@@ -3,8 +3,8 @@
 require_once('mitsql.lib.php');
 
 class Login {
-       var $id, $u, $p;
-    var $info;
+       private $id, $u, $p;
+    private $info;
     function Login($u, $p=null) {
                if (empty($u)) return;
                $this->u = $u;
@@ -82,9 +82,9 @@ class Login {
 }
 
 class User {
-       var $userId;
-       var $info;
-       var $dblist;
+       private $userId;
+       private $info;
+       private $dblist;
     function User($userId) {
                $this->userId = $userId;
         $sql = sprintf("SELECT User.UserId, Username, Password, Name, Email, UL, bEnabled, nBytesSoft, nBytesHard, nBytes, nDatabases, nDatabasesHard, IF(nBytes>nBytesHard,1,0) AS bOverQuota
@@ -222,7 +222,7 @@ function isLoggedIn($aLogin=null) {
         global $Login;
         $aLogin = $Login;
     }
-    return !empty($aLogin) && is_a($aLogin, 'Login') && $aLogin->canLogin();
+    return !empty($aLogin) && ($aLogin instanceof Login) && $aLogin->canLogin();
 }
 
 function isAdmin($aLogin=null) {
@@ -230,7 +230,7 @@ function isAdmin($aLogin=null) {
         global $Login;
         $aLogin = $Login;
     }
-    return !empty($aLogin) && is_a($aLogin, 'Login') && $aLogin->getUL()>=100;
+    return !empty($aLogin) && ($aLogin instanceof Login) && $aLogin->getUL()>=100;
 }
 
 function isImpersonating() {
index 8a6ac81f5110d51e67c3cac6809bfc315d1b133b..8fa2c3da943e453e456bf31b8459e4f97c942f39 100644 (file)
--- a/main.php
+++ b/main.php
@@ -18,6 +18,8 @@ if (isPost()) {
                        $err1[] = 'You are over your quota. You may not add more databases.';
                } elseif (count($User->getDBList())>MAXDBS) {
                        $err1[] = 'You have too many databases. You may not add more databases.';
+               } elseif (empty($i_newdb)) {
+                       $err1[] = 'Your database name may not be empty.';
                } elseif (!$User->addDB($dbname)) {
                        if (mysql_error()) {
                                $err1[] = mysql_error();
This page took 0.063337 seconds and 5 git commands to generate.