mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
billing system fixes (make moar sexypants)
git-svn-id: http://www.observium.org/svn/observer/trunk@1592 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
@@ -74,6 +74,8 @@ if (isset($_SESSION['username']))
|
||||
setcookie("username", $_SESSION['username'], time()+60*60*24*100, "/");
|
||||
setcookie("password", $_SESSION['password'], time()+60*60*24*100, "/");
|
||||
}
|
||||
$permissions = permissions_cache($_SESSION['user_id']);
|
||||
|
||||
}
|
||||
elseif (isset($_SESSION['username']))
|
||||
{
|
||||
|
@@ -125,7 +125,8 @@ function print_graph_popup($graph_array)
|
||||
|
||||
|
||||
|
||||
function permissions_cache($user_id) {
|
||||
function permissions_cache($user_id)
|
||||
{
|
||||
$permissions = array();
|
||||
$query = mysql_query("SELECT * FROM devices_perms WHERE user_id = '".$user_id."'");
|
||||
while($device = mysql_fetch_assoc($query)) {
|
||||
@@ -135,9 +136,26 @@ function permissions_cache($user_id) {
|
||||
while($port = mysql_fetch_assoc($query)) {
|
||||
$permissions['port'][$port['interface_id']] = 1;
|
||||
}
|
||||
$query = mysql_query("SELECT * FROM bill_perms WHERE user_id = '".$user_id."'");
|
||||
while($bill = mysql_fetch_assoc($query)) {
|
||||
$permissions['bill'][$bill['bill_id']] = 1;
|
||||
}
|
||||
return $permissions;
|
||||
}
|
||||
|
||||
function bill_permitted($bill_id)
|
||||
{
|
||||
global $_SESSION; global $permissions;
|
||||
if ($_SESSION['userlevel'] >= "5") {
|
||||
$allowed = TRUE;
|
||||
} elseif ( $permissions['bill'][$bill_id]) {
|
||||
$allowed = TRUE;
|
||||
} else {
|
||||
$allowed = FALSE;
|
||||
}
|
||||
return $allowed;
|
||||
|
||||
}
|
||||
function interfacepermitted($interface_id, $device_id = NULL)
|
||||
{
|
||||
global $_SESSION; global $permissions;
|
||||
|
17
html/includes/graphs/bill/auth.inc.php
Normal file
17
html/includes/graphs/bill/auth.inc.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
### Authorises bill viewing and sets $ports as reference to mysql query containing ports for this bill
|
||||
|
||||
if(is_numeric($_GET['id']) && bill_permitted($_GET['id']))
|
||||
{
|
||||
|
||||
$ports = mysql_query("SELECT * FROM `bill_ports` AS B, `ports` AS P, `devices` AS D
|
||||
WHERE B.bill_id = '".mres($_GET['id'])."' AND P.interface_id = B.port_id
|
||||
AND D.device_id = P.device_id");
|
||||
|
||||
} else {
|
||||
echo("Unauthorised");
|
||||
exit;
|
||||
}
|
||||
|
||||
?>
|
28
html/includes/graphs/bill/bits.inc.php
Normal file
28
html/includes/graphs/bill/bits.inc.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
## Generate a list of ports and then call the multi_bits grapher to generate from the list
|
||||
|
||||
$i=0;
|
||||
while($port = mysql_fetch_array($ports)) {
|
||||
if(is_file($config['rrd_dir'] . "/" . $port['hostname'] . "/" . safename($port['ifIndex'] . ".rrd"))) {
|
||||
$rrd_list[$i]['filename'] = $config['rrd_dir'] . "/" . $port['hostname'] . "/" . safename($port['ifIndex'] . ".rrd");
|
||||
$rrd_list[$i]['descr'] = $port['ifDescr'];
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
|
||||
$units='bps';
|
||||
$total_units='B';
|
||||
$colours_in='greens';
|
||||
$multiplier = "8";
|
||||
$colours_out = 'blues';
|
||||
|
||||
$nototal = 1;
|
||||
$rra_in = "INOCTETS";
|
||||
$rra_out = "OUTOCTETS";
|
||||
|
||||
include ("includes/graphs/generic_multi_bits_separated.inc.php");
|
||||
|
||||
|
||||
|
||||
?>
|
Reference in New Issue
Block a user