forked from PipoCanaja/InterfaceAdminPlugin
-
Notifications
You must be signed in to change notification settings - Fork 1
/
ajax_form.php
49 lines (40 loc) · 1.27 KB
/
ajax_form.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
/*
* LibreNMS
*
* Copyright (c) 2018 PipoCanaja <https://github.com/PipoCanaja>
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*/
use LibreNMS\Authentication\Auth;
$init_modules = array('web', 'auth', 'alerts');
require realpath(__DIR__ . '/../../..') . '/includes/init.php';
require realpath(__DIR__) . '/include/snmp.inc.php';
set_debug($_REQUEST['debug']);
/*
* Execute code to respond to interactive actions (button forms)
*/
if (!Auth::user()->hasGlobalAdmin()) {
$response = array(
'status' => 'error',
'message' => 'Need to be admin to run this command',
);
echo _json_encode($response);
exit;
}
if (preg_match('/^[a-zA-Z0-9\-]+$/', $_POST['type']) == 1) {
if (file_exists(realpath(__DIR__).'/forms/'.$_POST['type'].'.inc.php')) {
include_once realpath(__DIR__).'/forms/'.$_POST['type'].'.inc.php';
} else {
$response = array(
'status' => 'error',
'message' => 'Command not found '.$_POST['type'],
);
echo _json_encode($response);
exit;
}
}