From 6fd1f8c54f5aed28aca13c3b3958cc2ac2c17cad Mon Sep 17 00:00:00 2001 From: Joe Presbrey Date: Thu, 2 Nov 2006 18:10:29 +0000 Subject: [PATCH] updated checkQuotas git-svn-id: svn://presbrey.mit.edu/sql/web/dev@121 a142d4bd-2cfb-0310-9673-cb33a7e74f58 --- lib/dbaccess.lib.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) 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); } -- 2.45.0