]> andersk Git - sql-web.git/blobdiff - lib/dbaccess.lib.php
updated checkQuotas
[sql-web.git] / lib / dbaccess.lib.php
index 696cdfe71d76e3d77210f4ce8913d43d2415ac41..a9550b3d9d058372e0d4118dcaa8d82da59c8f71 100644 (file)
@@ -1,6 +1,9 @@
 <?php
+/*
+       (c) 2005 Joe Presbrey
+*/
 
-require_once('joe.lib.php');
+require_once('joe/util.lib.php');
 
 function DBMaster($sql) {
        sessTime($sql);
@@ -12,14 +15,14 @@ function DBSlave($sql) {
        sessTime($sql);
        $res = mysql_query($sql);
        sessTime();
-       if (mysql_error()) die($sql."<br />\n".mysql_error());
+       if (mysql_error()) trigger_error($sql."<br />\n".mysql_error(),E_USER_ERROR);
        return $res;
 }
 
 function DBSelect($sql) { return DBSlave($sql); }
 function DBInsert($sql) {
        DBMaster($sql);
-       if (mysql_error()) die($sql."<br />\n".mysql_error());
+       if (mysql_error()) trigger_error($sql."<br />\n".mysql_error(),E_USER_ERROR);
        return mysql_insert_id();
 }
 function DBUpdate($sql) { DBInsert($sql); }
@@ -56,14 +59,21 @@ 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) {
                $DBId = $db['DatabaseId'];
                $arr['dLastCheck'] = 'NOW()';
                $arr['nBytes'] = calcDBSize($db['Name']);
-               $sql = sprintf("UPDATE DB %s WHERE DatabaseId = '%s'",
+               $sql = sprintf("UPDATE DB SET %s WHERE DatabaseId = '%s'",
                                                buildSQLSet($arr),
                                                mysql_escape_string($DBId));
                DBUpdate($sql);
@@ -76,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(*)
@@ -86,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);
 }
 
This page took 0.027969 seconds and 4 git commands to generate.