]> andersk Git - sql-web.git/blobdiff - lib/dbaccess.lib.php
stripped dbaccess
[sql-web.git] / lib / dbaccess.lib.php
index d58bef8e689132129af39c1d6c4aab8886064cb2..883e138c706792b2b853c395a79b6cc2cd8e03ab 100644 (file)
@@ -1,66 +1,30 @@
 <?php
+/*
+       (c) 2005 Joe Presbrey
+*/
 
-require_once('joe.lib.php');
-
-function DBMaster($sql) {
-       sessTime($sql);
-       $res = mysql_query($sql);
-       sessTime();
-       return $res;
-}
-function DBSlave($sql) {
-       sessTime($sql);
-       $res = mysql_query($sql);
-       sessTime();
-       if (mysql_error()) die($sql."<br />\n".mysql_error());
-       return $res;
-}
-
-function DBSelect($sql) { return DBSlave($sql); }
-function DBInsert($sql) {
-       DBMaster($sql);
-       if (mysql_error()) die($sql."<br />\n".mysql_error());
-       return mysql_insert_id();
-}
-function DBUpdate($sql) { DBInsert($sql); }
-function DBDelete($sql) { DBInsert($sql); }
-function DBCreate($sql) { DBMaster($sql); }
-function DBDrop($sql) { DBMaster($sql); }
-function DBGrant($sql) { DBInsert($sql); }
-function DBRevoke($sql) { DBInsert($sql); }
-function DBSet($sql) { DBInsert($sql); }
-function DBShow($sql) { return DBSlave($sql); }
-
-function calcDBSize($tdb) {
-   $sql_result = "SHOW TABLE STATUS FROM `" .mysql_escape_string($tdb)."`";
-//   $result = @mysql_db_query($tdb,$sql_result);
-   $result = DBShow($sql_result);
-
-   if($result) {
-       $size = 0;
-       while ($data = mysql_fetch_array($result)) {
-             $size += $data["Data_length"] + $data["Index_length"];
-       }
-       mysql_free_result($result);
-       return $size;
-   }
-   else {
-       return null;
-   }
-}
+require_once('joe/util.lib.php');
+require_once('joe/mysql.lib.php');
 
 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);
@@ -73,7 +37,17 @@ 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(*)
+                               FROM DB
+                               INNER JOIN DBOwner ON DBOwner.DatabaseId = DB.DatabaseId
+                               WHERE DBOwner.UserId = UserStat.UserId
+                                 AND DB.bEnabled=1
+                               GROUP BY UserId
+                               ), dLastCheck = NOW()";
+       if (!empty($userId)) $sql .= " WHERE $sql_userId";
        DBUpdate($sql);
 }
 
This page took 0.034001 seconds and 4 git commands to generate.