forked from hestiacp/hestiacp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.php
More file actions
57 lines (45 loc) · 1.66 KB
/
Copy pathindex.php
File metadata and controls
57 lines (45 loc) · 1.66 KB
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
49
50
51
52
53
54
55
56
57
<?php
$TAB = 'Access Key';
// Main include
include($_SERVER['DOCUMENT_ROOT']."/inc/main.php");
if (($_SESSION['userContext'] === 'admin') && (!empty($_GET['user']))) {
$user = escapeshellarg($_GET['user']);
$user_plain = $_GET['user'];
}
// Checks if API access is enabled
$api_status = (!empty($_SESSION['API_SYSTEM']) && is_numeric($_SESSION['API_SYSTEM'])) ? $_SESSION['API_SYSTEM'] : 0;
if (($user_plain == 'admin' && $api_status < 1) || ($user_plain != 'admin' && $api_status < 2)) {
header("Location: /edit/user/");
exit;
}
if (!empty($_GET['key'])) {
$v_key = escapeshellarg(trim($_GET['key']));
// Key data
exec(HESTIA_CMD."v-list-access-key ".$v_key." json", $output, $return_var);
$key_data = json_decode(implode('', $output), true);
unset($output);
if (empty($key_data) || $key_data['USER'] != $user_plain) {
header("Location: /list/access-key/");
exit;
}
// APIs
exec(HESTIA_CMD."v-list-apis json", $output, $return_var);
$apis = json_decode(implode('', $output), true);
$apis = array_filter($apis, function ($api) use ($user_plain) {
return ($user_plain == 'admin' || $api['ROLE'] == 'user');
});
ksort($apis);
unset($output);
render_page($user, $TAB, 'list_access_key');
} else {
exec(HESTIA_CMD."v-list-access-keys $user json", $output, $return_var);
$data = json_decode(implode('', $output), true);
uasort($data, function ($a, $b) {
return $a['DATE'] <=> $b['DATE'] ?: $a['TIME'] <=> $b['TIME'];
});
unset($output);
// Render page
render_page($user, $TAB, 'list_access_keys');
}
// Back uri
$_SESSION['back'] = $_SERVER['REQUEST_URI'];