sqlite instead of file system to store macs

This commit is contained in:
sandb
2010-02-22 01:38:28 +01:00
parent ebff21147c
commit b08f87e9e5
9 changed files with 130 additions and 148 deletions

11
lib/db.php Normal file
View File

@@ -0,0 +1,11 @@
<?php
require_once("config.php");
function get_db() {
static $db = NULL;
if ($db == NULL) {
$db = sqlite_open(SQLITE_DB);
}
return $db;
}

26
lib/macs.php Normal file
View File

@@ -0,0 +1,26 @@
<?php
require_once("lib/db.php");
function macs_get() {
$results = array();
$db = get_db();
$q = sqlite_query($db, "select mac from macs where committime > strftime('%s','now') - ".MACFILE_TTL);
if (!$q) return $results;
while(sqlite_has_more($q)) {
$row = sqlite_fetch_array($q, SQLITE_ASSOC);
$results[] = $row['mac'];
}
return $results;
}
function macs_add($mac) {
$db = get_db();
$mac = sqlite_escape_string($mac);
$q = sqlite_exec($db, "insert into macs values (\"$mac\", strftime('%s','now'))");
if (!$q) return $results;
}
function macs_purge() {
$db = get_db();
return sqlite_exec($db, "delete from macs where committime <= strftime('%s','now') - ".MACFILE_TTL);
}

View File

@@ -95,4 +95,8 @@ function script($source) {
<script type="text/javascript" src="<?=$source?>"></script>
<?php
}
?>
function echoln($str) {
echo("$str\n");
}