]> andersk Git - sql-web.git/blob - lib/dbaccess.lib.php
signup: lower minimum UIDs
[sql-web.git] / lib / dbaccess.lib.php
1 <?php
2 /*
3         (c) 2005 Joe Presbrey
4 */
5
6 require_once('joe/util.lib.php');
7 require_once('joe/mysql.lib.php');
8
9 function checkQuotas($userId=null) {
10         if (empty($userId)) {
11                 $sql = 'SELECT DatabaseId,Name FROM DB WHERE bEnabled=1';
12         } else {
13                 if (is_array($userId)) {
14                         $sql_userId = sprintf("UserId IN ('%s')", implode("','",array_map('mysql_escape_string',$userId)));
15                 } elseif ((string)intval($userId)===(string)$userId) {
16                         $sql_userId = sprintf("UserId = '%s'", mysql_escape_string($userId));
17                 } else {
18                         die('userId parameter error in checkQuotas');
19                 }
20                 $sql = sprintf("SELECT DB.DatabaseId,Name FROM DB INNER JOIN DBOwner ON DB.DatabaseId = DBOwner.DatabaseId WHERE bEnabled=1 AND %s", $sql_userId);
21         }
22         $databases = fetchRows(DBSelect($sql),'Name');
23         foreach($databases as $db) {
24                 $DBId = $db['DatabaseId'];
25                 $arr['dLastCheck'] = 'NOW()';
26                 $arr['nBytes'] = calcDBSize($db['Name']);
27                 $sql = sprintf("UPDATE DB SET %s WHERE DatabaseId = '%s'",
28                                                 buildSQLSet($arr),
29                                                 mysql_escape_string($DBId));
30                 DBUpdate($sql);
31         }
32         $sql = "UPDATE UserStat SET nBytes = (
33                                 SELECT SUM(nBytes)
34                                 FROM DB
35                                 INNER JOIN DBOwner ON DBOwner.DatabaseId = DB.DatabaseId
36                                 WHERE DBOwner.UserId = UserStat.UserId
37                                   AND DB.bEnabled=1
38                                 GROUP BY UserId
39                                 ), dLastCheck = NOW()";
40         if (!empty($userId)) $sql .= " WHERE $sql_userId";
41         DBUpdate($sql);
42         $sql = "UPDATE UserStat SET nDatabases = (
43                                 SELECT COUNT(*)
44                                 FROM DB
45                                 INNER JOIN DBOwner ON DBOwner.DatabaseId = DB.DatabaseId
46                                 WHERE DBOwner.UserId = UserStat.UserId
47                                   AND DB.bEnabled=1
48                                 GROUP BY UserId
49                                 ), dLastCheck = NOW()";
50         if (!empty($userId)) $sql .= " WHERE $sql_userId";
51         DBUpdate($sql);
52 }
53
54 ?>
This page took 0.051375 seconds and 5 git commands to generate.