62 lines
1.7 KiB
PHP
62 lines
1.7 KiB
PHP
<?php
|
|
require_once("lib/db.php");
|
|
|
|
function known_macs_get() {
|
|
$results = array();
|
|
$db = get_db();
|
|
$q = sqlite_query($db, "select * from knownmacs");
|
|
if (!$q) return $results;
|
|
while(sqlite_has_more($q)) {
|
|
$row = sqlite_fetch_array($q, SQLITE_ASSOC);
|
|
$results[$row['mac']] = $row['name'];
|
|
}
|
|
return $results;
|
|
}
|
|
|
|
function known_macs_get_by_user($userid) {
|
|
$results = array();
|
|
$db = get_db();
|
|
$q = sqlite_query($db, "select * from knownmacs where userid = \"userid\"");
|
|
if (!$q) return $results;
|
|
while(sqlite_has_more($q)) {
|
|
$row = sqlite_fetch_array($q, SQLITE_ASSOC);
|
|
$results[$row['mac']] = $row['name'];
|
|
}
|
|
return $results;
|
|
}
|
|
|
|
function known_macs_upsert($mac, $name, $show) {
|
|
$db = get_db();
|
|
$mac = sqlite_escape_string($mac);
|
|
$name = sqlite_escape_string($name);
|
|
$show = sqlite_escape_string($show);
|
|
return sqlite_exec($db, "insert into knownmacs or replace (mac, name, show) values (\"$mac\", \"$name\", \"$show\")");
|
|
}
|
|
|
|
function known_macs_translate($macs) {
|
|
$known_macs = known_macs_get();
|
|
$results = array();
|
|
foreach($macs as $mac) {
|
|
|
|
// no translation info? return as-is
|
|
if (!array_key_exists($mac, $known_macs)) {
|
|
$results[] = $mac;
|
|
continue;
|
|
}
|
|
|
|
// private mac? skip
|
|
if ($known_macs[$mac] == NULL) continue;
|
|
|
|
// return translation
|
|
$results[] = $known_macs[$mac];
|
|
|
|
}
|
|
return $results;
|
|
}
|
|
|
|
//$mac_translation_table=array(
|
|
// '00:30:05:25:b2:f5' => 'appelblauwzeegroen', //192.168.42.11 appelblauwzeegroen FreeBSD 8.0 00:30:05:25:B2:F5 man-ip: 172.16.1.11
|
|
// '00:08:02:c8:56:1f' => 'gitorious', //192.168.42.44 gitorious Ubuntu 8.04 00:08:02:C8:56:1F man-ip: 172.16.1.44
|
|
// '00:0f:66:c8:ac:db' => 'openwrt' //192.168.42.13 openwrt Openwrt 00:0F:66:C8:AC:DB man-ip: 172.16.1.1
|
|
//);
|