X-Git-Url: http://andersk.mit.edu/gitweb/sql-web.git/blobdiff_plain/8988dbad1693ac7a12f7f03600c1e588370f9313..6fd1f8c54f5aed28aca13c3b3958cc2ac2c17cad:/lib/dbaccess.lib.php diff --git a/lib/dbaccess.lib.php b/lib/dbaccess.lib.php index 1995260..a9550b3 100644 --- a/lib/dbaccess.lib.php +++ b/lib/dbaccess.lib.php @@ -59,7 +59,14 @@ function checkQuotas($userId=null) { if (empty($userId)) { $sql = 'SELECT DatabaseId,Name FROM DB WHERE bEnabled=1'; } else { - $sql = sprintf("SELECT DB.DatabaseId,Name FROM DB INNER JOIN DBOwner ON DB.DatabaseId = DBOwner.DatabaseId WHERE bEnabled=1 AND UserId = '%s'", mysql_escape_string($userId)); + if (is_array($userId)) { + $sql_userId = sprintf("UserId IN ('%s')", implode("','",array_map('mysql_escape_string',$userId))); + } elseif (is_numeric($userId)) { + $sql_userId = sprintf("UserId = '%s'", mysql_escape_string($userId)); + } else { + die('userId parameter error in checkQuotas'); + } + $sql = sprintf("SELECT DB.DatabaseId,Name FROM DB INNER JOIN DBOwner ON DB.DatabaseId = DBOwner.DatabaseId WHERE bEnabled=1 AND %s", $sql_userId); } $databases = fetchRows(DBSelect($sql),'Name'); foreach($databases as $db) { @@ -79,7 +86,7 @@ function checkQuotas($userId=null) { AND DB.bEnabled=1 GROUP BY UserId ), dLastCheck = NOW()"; - if (!empty($userId)) $sql .= sprintf(" WHERE UserId = '%s'", mysql_escape_string($userId)); + if (!empty($userId)) $sql .= " WHERE $sql_userId"; DBUpdate($sql); $sql = "UPDATE UserStat SET nDatabases = ( SELECT COUNT(*) @@ -89,7 +96,7 @@ function checkQuotas($userId=null) { AND DB.bEnabled=1 GROUP BY UserId ), dLastCheck = NOW()"; - if (!empty($userId)) $sql .= sprintf(" WHERE UserId = '%s'", mysql_escape_string($userId)); + if (!empty($userId)) $sql .= " WHERE $sql_userId"; DBUpdate($sql); }