mirror of
https://github.com/librenms/librenms.git
synced 2024-09-30 06:46:43 +00:00
Merge pull request #471 from laf/issue-laf-118
Enable support for adding a demo user
This commit is contained in:
commit
f47b03d5d8
@ -712,7 +712,7 @@ function generate_pagination($count,$limit,$page,$links = 2) {
|
||||
}
|
||||
|
||||
function is_admin() {
|
||||
if ($_SESSION['userlevel'] == '10') {
|
||||
if ($_SESSION['userlevel'] >= '10') {
|
||||
$allowed = true;
|
||||
} else {
|
||||
$allowed = false;
|
||||
@ -720,4 +720,8 @@ function is_admin() {
|
||||
return $allowed;
|
||||
}
|
||||
|
||||
function demo_account() {
|
||||
print_error("You are logged in as a demo account, this page isn't accessible to you");
|
||||
}
|
||||
|
||||
?>
|
||||
|
@ -46,7 +46,7 @@ echo '<div class="table-responsive">
|
||||
</tr>';
|
||||
|
||||
echo ('<td colspan="7">');
|
||||
if ($_SESSION['userlevel'] == '10') {
|
||||
if ($_SESSION['userlevel'] >= '10') {
|
||||
echo('<button type="button" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#create-alert" data-device_id="'. $device['device_id'] .'">Create new alert rule</button>');
|
||||
}
|
||||
echo ('</td>
|
||||
@ -128,12 +128,12 @@ foreach( dbFetchRows($full_query, $param) as $rule ) {
|
||||
}
|
||||
echo "<td><small>Max: ".$rule_extra['count']."<br />Delay: ".$rule_extra['delay']."</small></td>";
|
||||
echo "<td>";
|
||||
if ($_SESSION['userlevel'] == '10') {
|
||||
if ($_SESSION['userlevel'] >= '10') {
|
||||
echo "<input id='".$rule['id']."' type='checkbox' name='alert-rule' data-orig_class='".$orig_class."' data-orig_colour='".$orig_col."' data-orig_state='".$orig_ico."' data-alert_id='".$rule['id']."' ".$alert_checked." data-size='small'>";
|
||||
}
|
||||
echo "</td>";
|
||||
echo "<td>";
|
||||
if ($_SESSION['userlevel'] == '10') {
|
||||
if ($_SESSION['userlevel'] >= '10') {
|
||||
echo "<button type='button' class='btn btn-primary btn-sm' data-toggle='modal' data-target='#create-alert' data-device_id='".$rule['device_id']."' data-alert_id='".$rule['id']."' name='edit-alert-rule'><span class='glyphicon glyphicon-pencil' aria-hidden='true'></span></button> ";
|
||||
echo "<button type='button' class='btn btn-danger btn-sm' aria-label='Delete' data-toggle='modal' data-target='#confirm-delete' data-alert_id='".$rule['id']."' name='delete-alert-rule'><span class='glyphicon glyphicon-trash' aria-hidden='true'></span></button>";
|
||||
}
|
||||
@ -153,7 +153,7 @@ echo '</table>
|
||||
</div>';
|
||||
|
||||
if($count < 1) {
|
||||
if ($_SESSION['userlevel'] == '10') {
|
||||
if ($_SESSION['userlevel'] >= '10') {
|
||||
echo '<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<form role="form" method="post">
|
||||
|
@ -27,7 +27,7 @@ echo '<div class="table-responsive">
|
||||
<tr>
|
||||
<td>';
|
||||
|
||||
if ($_SESSION['userlevel'] == '10') {
|
||||
if ($_SESSION['userlevel'] >= '10') {
|
||||
echo('<button type="button" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#alert-template">Create new alert template</button>');
|
||||
}
|
||||
|
||||
@ -62,7 +62,7 @@ foreach( dbFetchRows($full_query, $param) as $template ) {
|
||||
echo '<tr id="row_'.$template['id'].'">
|
||||
<td>'.$template['name'].'</td>
|
||||
<td>';
|
||||
if ($_SESSION['userlevel'] == '10') {
|
||||
if ($_SESSION['userlevel'] >= '10') {
|
||||
echo "<button type='button' class='btn btn-primary btn-sm' data-toggle='modal' data-target='#alert-template' data-template_id='".$template['id']."' data-template_action='edit' name='edit-alert-template'><span class='glyphicon glyphicon-pencil' aria-hidden='true'></span></button> ";
|
||||
echo "<button type='button' class='btn btn-danger btn-sm' data-toggle='modal' data-target='#confirm-delete-alert-template' data-template_id='".$template['id']."' name='delete-alert-template'><span class='glyphicon glyphicon-trash' aria-hidden='true'></span></button> ";
|
||||
echo "<button type='button' class='btn btn-warning btn-sm' data-toggle='modal' data-target='#attach-alert-template' data-template_id='".$template['id']."' name='attach-alert-template'><span class='glyphicon glyphicon-th-list' aria-hidden='true'></span></button>";
|
||||
|
@ -27,7 +27,7 @@ echo '<div class="table-responsive">
|
||||
</tr>';
|
||||
|
||||
echo ('<td colspan="5">');
|
||||
if ($_SESSION['userlevel'] == '10') {
|
||||
if ($_SESSION['userlevel'] >= '10') {
|
||||
echo('<button type="button" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#create-alert" data-device_id="'. $device['device_id'] .'">Create new alert rule</button>');
|
||||
}
|
||||
echo ('</td>
|
||||
@ -96,7 +96,7 @@ foreach( dbFetchRows($full_query, $param) as $alert ) {
|
||||
}
|
||||
echo "</td>";
|
||||
echo "<td>";
|
||||
if ($_SESSION['userlevel'] == '10') {
|
||||
if ($_SESSION['userlevel'] >= '10') {
|
||||
$ack_ico = 'volume-up';
|
||||
$ack_col = 'success';
|
||||
if(in_array($alert['state'],array(2,3,4))) {
|
||||
|
@ -43,7 +43,7 @@ if (isset($config['enable_bgp']) && $config['enable_bgp'])
|
||||
<li><a href="<?php echo(generate_url(array('page'=>'overview'))); ?>"><img src="images/16/lightbulb.png" border="0" align="absmiddle" /> Overview</a></li>
|
||||
<li><a href="<?php echo(generate_url(array('page'=>'alerts'))); ?>"><img src="images/16/monitor_error.png" border="0" align="absmiddle" /> Alerts</a></li>
|
||||
<?php
|
||||
if ($_SESSION['userlevel'] == '10') {
|
||||
if ($_SESSION['userlevel'] >= '10') {
|
||||
?>
|
||||
<li><a href="<?php echo(generate_url(array('page'=>'alert-rules'))); ?>"><img src="images/16/monitor_go.png" border="0" align="absmiddle" /> Alert Rules</a></li>
|
||||
<li><a href="<?php echo(generate_url(array('page'=>'templates'))); ?>"><img src="images/16/monitor_link.png" border="0" align="absmiddle" /> Alert Templates</a></li>
|
||||
|
@ -8,7 +8,7 @@ else
|
||||
{
|
||||
if ($_POST['addsrv'])
|
||||
{
|
||||
if ($_SESSION['userlevel'] == '10')
|
||||
if ($_SESSION['userlevel'] >= '10')
|
||||
{
|
||||
$updated = '1';
|
||||
|
||||
|
@ -4,6 +4,9 @@ if ($_SESSION['userlevel'] < '10')
|
||||
{
|
||||
include("includes/error-no-perm.inc.php");
|
||||
}
|
||||
elseif ($_SESSION['userlevel'] == 11) {
|
||||
demo_account();
|
||||
}
|
||||
else
|
||||
{
|
||||
echo("<h3>Add User</h3>");
|
||||
@ -92,6 +95,7 @@ echo("
|
||||
<option value='1'>Normal User</option>
|
||||
<option value='5'>Global Read</option>
|
||||
<option value='10'>Administrator</option>
|
||||
<option value='11'>Demo account</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class='col-sm-6'>
|
||||
|
@ -12,7 +12,7 @@
|
||||
* the source code distribution for details.
|
||||
*/
|
||||
|
||||
if ($_SESSION['userlevel'] == '10')
|
||||
if ($_SESSION['userlevel'] >= '10')
|
||||
{
|
||||
if(empty($_POST['token'])) {
|
||||
$_POST['token'] = bin2hex(openssl_random_pseudo_bytes(16));
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
if ($_SESSION['userlevel'] == '10')
|
||||
if ($_SESSION['userlevel'] >= '10')
|
||||
{
|
||||
echo("<table cellspacing=0 cellpadding=1 width=100%>");
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
$bill_id = mres($vars['bill_id']);
|
||||
|
||||
if ($_SESSION['userlevel'] == "10")
|
||||
if ($_SESSION['userlevel'] >= "10")
|
||||
{
|
||||
include("pages/bill/actions.inc.php");
|
||||
}
|
||||
@ -94,7 +94,7 @@ if (bill_permitted($bill_id))
|
||||
echo('<A href="'.generate_url($vars, array('view' => 'history')).'">Historical Usage</a>');
|
||||
if ($vars['view'] == "history") { echo("</span>"); }
|
||||
|
||||
if ($_SESSION['userlevel'] == "10")
|
||||
if ($_SESSION['userlevel'] >= "10")
|
||||
{
|
||||
echo(" | ");
|
||||
if ($vars['view'] == "edit") { echo("<span class='pagemenu-selected'>"); }
|
||||
@ -116,15 +116,15 @@ if (bill_permitted($bill_id))
|
||||
|
||||
print_optionbar_end();
|
||||
|
||||
if ($vars['view'] == "edit" && $_SESSION['userlevel'] == "10")
|
||||
if ($vars['view'] == "edit" && $_SESSION['userlevel'] >= "10")
|
||||
{
|
||||
include("pages/bill/edit.inc.php");
|
||||
}
|
||||
elseif ($vars['view'] == "delete" && $_SESSION['userlevel'] == "10")
|
||||
elseif ($vars['view'] == "delete" && $_SESSION['userlevel'] >= "10")
|
||||
{
|
||||
include("pages/bill/delete.inc.php");
|
||||
}
|
||||
elseif ($vars['view'] == "reset" && $_SESSION['userlevel'] == "10")
|
||||
elseif ($vars['view'] == "reset" && $_SESSION['userlevel'] >= "10")
|
||||
{
|
||||
include("pages/bill/reset.inc.php");
|
||||
}
|
||||
|
@ -64,7 +64,7 @@ elseif ($vars['view'] == "add")
|
||||
print_optionbar_start();
|
||||
echo("<span style='font-weight: bold;'>Bill</span> » ");
|
||||
if (!$vars['view']) { $vars['view'] = "add"; }
|
||||
if ($_SESSION['userlevel'] == "10")
|
||||
if ($_SESSION['userlevel'] >= "10")
|
||||
{
|
||||
if ($vars['view'] == "add") { echo("<span class='pagemenu-selected'>"); }
|
||||
echo('<A href="'.generate_url(array('page' => "bills/add")).'">Add</a>');
|
||||
|
@ -11,6 +11,10 @@ if ($_SESSION['userlevel'] < 10)
|
||||
|
||||
$pagetitle[] = "Delete device";
|
||||
|
||||
if ($_SESSION['userlevel'] == 11) {
|
||||
demo_account();
|
||||
} else {
|
||||
|
||||
if (is_numeric($_REQUEST['id']))
|
||||
{
|
||||
echo('
|
||||
@ -82,4 +86,5 @@ foreach (dbFetchRows("SELECT * FROM `devices` ORDER BY `hostname`") as $data)
|
||||
</form>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
@ -3,13 +3,13 @@
|
||||
echo('<div style="padding: 10px;">');
|
||||
|
||||
if ($_POST['addsrv']) {
|
||||
if ($_SESSION['userlevel'] == '10') {
|
||||
if ($_SESSION['userlevel'] >= '10') {
|
||||
include("includes/service-add.inc.php");
|
||||
}
|
||||
}
|
||||
|
||||
if ($_POST['delsrv']) {
|
||||
if ($_SESSION['userlevel'] == '10') {
|
||||
if ($_SESSION['userlevel'] >= '10') {
|
||||
include("includes/service-delete.inc.php");
|
||||
}
|
||||
}
|
||||
|
@ -148,7 +148,7 @@ if (dbFetchCell("SELECT COUNT(*) FROM juniAtmVp WHERE port_id = '".$port['port_i
|
||||
if ($vars['view'] == "junose-atm-vp" && $vars['graph'] == "bits") { echo("</span>"); }
|
||||
}
|
||||
|
||||
if ($_SESSION['userlevel'] == '10')
|
||||
if ($_SESSION['userlevel'] >= '10')
|
||||
{
|
||||
echo("<span style='float: right;'><a href='bills/view=add/port=".$port['port_id']."/'><img src='images/16/money.png' border='0' align='absmiddle'> Create Bill</a></span>");
|
||||
}
|
||||
|
@ -236,6 +236,10 @@ if ($_SESSION['userlevel'] != '10') { include("includes/error-no-perm.inc.php");
|
||||
|
||||
} elseif ($vars['user_id'] && $vars['edit']) {
|
||||
|
||||
if($_SESSION['userlevel'] == 10) {
|
||||
demo_account();
|
||||
} else {
|
||||
|
||||
if(!empty($vars['new_level']))
|
||||
{
|
||||
if($vars['can_modify_passwd'] == 'on') {
|
||||
@ -316,6 +320,7 @@ if ($_SESSION['userlevel'] != '10') { include("includes/error-no-perm.inc.php");
|
||||
<option value='1'"); if( $vars['new_level'] == '1') { echo("selected"); } echo(">Normal User</option>
|
||||
<option value='5'"); if( $vars['new_level'] == '5') { echo("selected"); } echo(">Global Read</option>
|
||||
<option value='10'"); if( $vars['new_level'] == '10') { echo("selected"); } echo(">Administrator</option>
|
||||
<option value='11'"); if( $vars['new_level'] == '11') { echo("selected"); } echo(">Demo account</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class='col-sm-6'>
|
||||
@ -367,6 +372,7 @@ if ($_SESSION['userlevel'] != '10') { include("includes/error-no-perm.inc.php");
|
||||
} else {
|
||||
echo print_error("Authentication method doesn't support updating users");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
$user_list = get_userlist();
|
||||
|
@ -31,7 +31,7 @@ echo('<div class="status-boxes">');
|
||||
$count_boxes = 0;
|
||||
|
||||
// Device down boxes
|
||||
if ($_SESSION['userlevel'] == '10')
|
||||
if ($_SESSION['userlevel'] >= '10')
|
||||
{
|
||||
$sql = "SELECT * FROM `devices` WHERE `status` = '0' AND `ignore` = '0' LIMIT ".$config['front_page_down_box_limit'];
|
||||
} else {
|
||||
@ -45,7 +45,7 @@ foreach (dbFetchRows($sql) as $device)
|
||||
++$count_boxes;
|
||||
}
|
||||
|
||||
if ($_SESSION['userlevel'] == '10')
|
||||
if ($_SESSION['userlevel'] >= '10')
|
||||
{
|
||||
$sql = "SELECT * FROM `ports` AS I, `devices` AS D WHERE I.device_id = D.device_id AND ifOperStatus = 'down' AND ifAdminStatus = 'up' AND D.ignore = '0' AND I.ignore = '0' LIMIT ".$config['front_page_down_box_limit'];
|
||||
} else {
|
||||
@ -74,7 +74,7 @@ if ($config['warn']['ifdown'])
|
||||
|
||||
/* FIXME service permissions? seem nonexisting now.. */
|
||||
// Service down boxes
|
||||
if ($_SESSION['userlevel'] == '10')
|
||||
if ($_SESSION['userlevel'] >= '10')
|
||||
{
|
||||
$sql = "SELECT * FROM `services` AS S, `devices` AS D WHERE S.device_id = D.device_id AND service_status = 'down' AND D.ignore = '0' AND S.service_ignore = '0' LIMIT ".$config['front_page_down_box_limit'];
|
||||
$param[] = '';
|
||||
@ -96,7 +96,7 @@ foreach (dbFetchRows($sql,$param) as $service)
|
||||
// BGP neighbour down boxes
|
||||
if (isset($config['enable_bgp']) && $config['enable_bgp'])
|
||||
{
|
||||
if ($_SESSION['userlevel'] == '10')
|
||||
if ($_SESSION['userlevel'] >= '10')
|
||||
{
|
||||
$sql = "SELECT * FROM `devices` AS D, bgpPeers AS B WHERE bgpPeerAdminStatus != 'start' AND bgpPeerState != 'established' AND bgpPeerState != '' AND B.device_id = D.device_id AND D.ignore = 0 LIMIT ".$config['front_page_down_box_limit'];
|
||||
} else {
|
||||
@ -115,7 +115,7 @@ if (isset($config['enable_bgp']) && $config['enable_bgp'])
|
||||
// Device rebooted boxes
|
||||
if (filter_var($config['uptime_warning'], FILTER_VALIDATE_FLOAT) !== FALSE && $config['uptime_warning'] > 0)
|
||||
{
|
||||
if ($_SESSION['userlevel'] == '10')
|
||||
if ($_SESSION['userlevel'] >= '10')
|
||||
{
|
||||
$sql = "SELECT * FROM `devices` AS D WHERE D.status = '1' AND D.uptime > 0 AND D.uptime < '" . $config['uptime_warning'] . "' AND D.ignore = 0 LIMIT ".$config['front_page_down_box_limit'];
|
||||
} else {
|
||||
@ -196,7 +196,7 @@ if ($config['enable_syslog'])
|
||||
|
||||
} else {
|
||||
|
||||
if ($_SESSION['userlevel'] == '10')
|
||||
if ($_SESSION['userlevel'] >= '10')
|
||||
{
|
||||
$query = "SELECT *,DATE_FORMAT(datetime, '%D %b %T') as humandate FROM `eventlog` ORDER BY `datetime` DESC LIMIT 0,15";
|
||||
} else {
|
||||
|
@ -76,7 +76,7 @@ echo("<div style='text-align: center; margin: 2px; border: solid 2px #D0D0D0; fl
|
||||
|
||||
echo("<div style='padding: 3px 10px; background: #fff;'>");
|
||||
|
||||
if ($_SESSION['userlevel'] == '10')
|
||||
if ($_SESSION['userlevel'] >= '10')
|
||||
{
|
||||
$sql = "SELECT * FROM `devices` WHERE `status` = '0' AND `ignore` = '0'";
|
||||
} else {
|
||||
@ -91,7 +91,7 @@ foreach (dbFetchRows($sql) as $device)
|
||||
|
||||
}
|
||||
|
||||
if ($_SESSION['userlevel'] == '10')
|
||||
if ($_SESSION['userlevel'] >= '10')
|
||||
{
|
||||
$sql = "SELECT * FROM `ports` AS I, `devices` AS D WHERE I.device_id = D.device_id AND ifOperStatus = 'down' AND ifAdminStatus = 'up' AND D.ignore = '0' AND I.ignore = '0'";
|
||||
} else {
|
||||
@ -130,7 +130,7 @@ foreach (dbFetchRows($sql) as $service)
|
||||
|
||||
if (isset($config['enable_bgp']) && $config['enable_bgp'])
|
||||
{
|
||||
if ($_SESSION['userlevel'] == '10')
|
||||
if ($_SESSION['userlevel'] >= '10')
|
||||
{
|
||||
$sql = "SELECT * FROM `devices` AS D, bgpPeers AS B WHERE bgpPeerAdminStatus != 'start' AND bgpPeerState != 'established' AND bgpPeerState != '' AND B.device_id = D.device_id AND D.ignore = 0";
|
||||
} else {
|
||||
@ -148,7 +148,7 @@ if (isset($config['enable_bgp']) && $config['enable_bgp'])
|
||||
|
||||
if (filter_var($config['uptime_warning'], FILTER_VALIDATE_FLOAT) !== FALSE && $config['uptime_warning'] > 0)
|
||||
{
|
||||
if ($_SESSION['userlevel'] == '10')
|
||||
if ($_SESSION['userlevel'] >= '10')
|
||||
{
|
||||
$sql = "SELECT * FROM `devices` AS D WHERE D.status = '1' AND D.uptime > 0 AND D.uptime < '" . $config['uptime_warning'] . "' AND D.ignore = 0";
|
||||
} else {
|
||||
@ -191,7 +191,7 @@ if ($config['enable_syslog'])
|
||||
<h3>Recent Eventlog Entries</h3>
|
||||
");
|
||||
|
||||
if ($_SESSION['userlevel'] == '10')
|
||||
if ($_SESSION['userlevel'] >= '10')
|
||||
{
|
||||
$query = "SELECT *,DATE_FORMAT(datetime, '%D %b %T') as humandate FROM `eventlog` ORDER BY `datetime` DESC LIMIT 0,15";
|
||||
} else {
|
||||
|
@ -35,7 +35,7 @@ echo('<table cellpadding="7" cellspacing="0" class="devicetable" width="100%">')
|
||||
|
||||
foreach (getlocations() as $location)
|
||||
{
|
||||
if ($_SESSION['userlevel'] == '10')
|
||||
if ($_SESSION['userlevel'] >= '10')
|
||||
{
|
||||
$num = dbFetchCell("SELECT COUNT(device_id) FROM devices WHERE location = ?", array($location));
|
||||
$net = dbFetchCell("SELECT COUNT(device_id) FROM devices WHERE location = ? AND type = 'network'", array($location));
|
||||
|
@ -4,6 +4,12 @@ $pagetitle[] = "Preferences";
|
||||
|
||||
echo("<h3>User Preferences</h3>");
|
||||
|
||||
if ($_SESSION['userlevel'] == 11) {
|
||||
|
||||
demo_account();
|
||||
|
||||
} else {
|
||||
|
||||
if ($_POST['action'] == "changepass")
|
||||
{
|
||||
if (authenticate($_SESSION['username'],$_POST['old_pass']))
|
||||
@ -167,6 +173,8 @@ if( $config['twofactor'] === true ) {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
echo("<div style='background-color: #e5e5e5; border: solid #e5e5e5 10px; margin-bottom:10px;'>");
|
||||
echo("<div style='font-size: 18px; font-weight: bold; margin-bottom: 5px;'>Device Permissions</div>");
|
||||
|
||||
|
@ -38,7 +38,7 @@ function a2t($a) {
|
||||
return $r;
|
||||
}
|
||||
|
||||
if( $_SESSION['userlevel'] == 10 ) {
|
||||
if( $_SESSION['userlevel'] >= 10 ) {
|
||||
echo "<div class='table-responsive'>".a2t($config)."</div>";
|
||||
} else {
|
||||
include("includes/error-no-perm.inc.php");
|
||||
|
Loading…
Reference in New Issue
Block a user