]> andersk Git - sql-web.git/blame - lib/dbaccess.lib.php
change password feature
[sql-web.git] / lib / dbaccess.lib.php
CommitLineData
997305cf
JP
1<?php
2
3require_once('joe.lib.php');
4
5function DBMaster($sql) {
6 sessTime($sql);
7 $res = mysql_query($sql);
8 sessTime();
9 return $res;
10}
11function DBSlave($sql) {
12 sessTime($sql);
13 $res = mysql_query($sql);
14 sessTime();
88b7d384 15 if (mysql_error()) die($sql."<br />\n".mysql_error());
997305cf
JP
16 return $res;
17}
18
19function DBSelect($sql) { return DBSlave($sql); }
377015e0
JP
20function DBInsert($sql) {
21 DBMaster($sql);
22 if (mysql_error()) die($sql."<br />\n".mysql_error());
23 return mysql_insert_id();
24}
25function DBUpdate($sql) { DBInsert($sql); }
26function DBDelete($sql) { DBInsert($sql); }
27function DBCreate($sql) { DBMaster($sql); }
28function DBDrop($sql) { DBMaster($sql); }
29function DBGrant($sql) { DBInsert($sql); }
30function DBRevoke($sql) { DBInsert($sql); }
31function DBSet($sql) { DBInsert($sql); }
997305cf
JP
32function DBShow($sql) { return DBSlave($sql); }
33
34function calcDBSize($tdb) {
35 $sql_result = "SHOW TABLE STATUS FROM `" .mysql_escape_string($tdb)."`";
36// $result = @mysql_db_query($tdb,$sql_result);
37 $result = DBShow($sql_result);
38
39 if($result) {
40 $size = 0;
41 while ($data = mysql_fetch_array($result)) {
42 $size += $data["Data_length"] + $data["Index_length"];
43 }
44 mysql_free_result($result);
45 return $size;
46 }
47 else {
48 return null;
49 }
50}
51
9c70b481
JP
52function checkQuotas($userId=null) {
53 if (empty($userId)) {
54 $sql = 'SELECT DatabaseId,Name FROM DB WHERE bEnabled=1';
55 } else {
56 $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));
57 }
58 $databases = fetchRows(DBSelect($sql),'Name');
59 foreach($databases as $db) {
60 $DBId = $db['DatabaseId'];
61 $arr['dLastCheck'] = 'NOW()';
62 $arr['nBytes'] = calcDBSize($db['Name']);
63 $sql = sprintf("UPDATE DB %s WHERE DatabaseId = '%s'",
64 buildSQLSet($arr),
65 mysql_escape_string($DBId));
66 DBUpdate($sql);
67 }
68 $sql = "UPDATE UserStat SET nBytes = (
69 SELECT SUM(nBytes)
70 FROM DB
71 INNER JOIN DBOwner ON DBOwner.DatabaseId = DB.DatabaseId
72 WHERE DBOwner.UserId = UserStat.UserId
73 AND DB.bEnabled=1
74 GROUP BY UserId
75 ), dLastCheck = NOW()";
76 if (!empty($userId)) $sql .= sprintf(" WHERE UserId = '%s'", mysql_escape_string($userId));
77 DBUpdate($sql);
9840d102
JP
78 $sql = "UPDATE UserStat SET nDatabases = (
79 SELECT COUNT(*)
80 FROM DB
81 INNER JOIN DBOwner ON DBOwner.DatabaseId = DB.DatabaseId
82 WHERE DBOwner.UserId = UserStat.UserId
83 AND DB.bEnabled=1
84 GROUP BY UserId
85 ), dLastCheck = NOW()";
86 if (!empty($userId)) $sql .= sprintf(" WHERE UserId = '%s'", mysql_escape_string($userId));
87 DBUpdate($sql);
9c70b481
JP
88}
89
997305cf 90?>
This page took 0.055801 seconds and 5 git commands to generate.