Subversion Repositories oidplus

Rev

Rev 1445 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1445 Rev 1448
Line 51... Line 51...
51
                        }
51
                        }
52
 
52
 
53
                        $page = $parts[1] ?? null;
53
                        $page = $parts[1] ?? null;
54
                        if ($page == null) {
54
                        if ($page == null) {
55
                                $res = OIDplus::db()->query("select max(id) as cnt from ###log");
55
                                $res = OIDplus::db()->query("select max(id) as cnt from ###log");
56
                                $page = floor($res->fetch_array()['cnt'] / 50) + 1;
56
                                $page = floor($res->fetch_array()['cnt'] / 500) + 1;
57
                        }
57
                        }
58
                        $min = ($page-1) * 50 + 1;
58
                        $min = ($page-1) * 500 + 1;
59
                        $max = ($page  ) * 50;
59
                        $max = ($page  ) * 500;
60
 
60
 
61
                        $res = OIDplus::db()->query("select id, unix_ts, addr, event from ###log ".
61
                        $res = OIDplus::db()->query("select id, unix_ts, addr, event from ###log ".
62
                                                    "where id >= ? and id <= ? ".
62
                                                    "where id >= ? and id <= ? ".
63
                                                    "order by unix_ts desc", [$min, $max]);
63
                                                    "order by unix_ts desc", [$min, $max]);
64
 
64
 
Line 67... Line 67...
67
                        $out['text'] .= '<p>';
67
                        $out['text'] .= '<p>';
68
                        if (!is_null($parts[1] ?? null)) $out['text'] .= '<a '.OIDplus::gui()->link($parts[0].'$'.($page+1)).'>Newer log entries</a> -- ';
68
                        if (!is_null($parts[1] ?? null)) $out['text'] .= '<a '.OIDplus::gui()->link($parts[0].'$'.($page+1)).'>Newer log entries</a> -- ';
69
                        $out['text'] .= '<a '.OIDplus::gui()->link($parts[0].'$'.($page-1)).'>Older log entries</a>';
69
                        $out['text'] .= '<a '.OIDplus::gui()->link($parts[0].'$'.($page-1)).'>Older log entries</a>';
70
                        $out['text'] .= '<p>';
70
                        $out['text'] .= '<p>';
71
 
71
 
-
 
72
                        $out['text'] .= '<div class="container box"><div id="suboid_table" class="table-responsive">';
-
 
73
                        $out['text'] .= '<table class="table table-bordered table-striped">';
-
 
74
                        $out['text'] .= '<thead>';
-
 
75
                        $out['text'] .= '<tr><th>'._L('Time').'</th><th>'._L('Event').'</th><th>'._L('Affected users').'</th><th>'._L('Affected objects').'</th><th>'._L('IP Address').'</th></tr>';
-
 
76
                        $out['text'] .= '</thead>';
-
 
77
                        $out['text'] .= '<tbody>';
-
 
78
 
72
                        if ($res->any()) {
79
                        if ($res->any()) {
73
                                $out['text'] .= '<pre>';
-
 
74
                                while ($row = $res->fetch_array()) {
80
                                while ($row = $res->fetch_array()) {
75
                                        $severity = 0;
81
                                        $severity = 0;
76
                                        $contains_messages_for_me = false;
82
                                        $contains_messages_for_me = false;
77
                                        // ---
83
                                        // ---
78
                                        $users = array();
84
                                        $users = array();
Line 83... Line 89...
83
                                                if ($row2['username'] == 'admin') {
89
                                                if ($row2['username'] == 'admin') {
84
                                                        $severity = $row2['severity'];
90
                                                        $severity = $row2['severity'];
85
                                                        $contains_messages_for_me = true;
91
                                                        $contains_messages_for_me = true;
86
                                                }
92
                                                }
87
                                        }
93
                                        }
88
                                        $users = count($users) > 0 ? '; '._L('affected users: %1',implode(', ',$users)) : '';
94
                                        $users = implode("\n",$users);
89
                                        // ---
95
                                        // ---
90
                                        $objects = array();
96
                                        $objects = array();
91
                                        $res2 = OIDplus::db()->query("select object, severity from ###log_object ".
97
                                        $res2 = OIDplus::db()->query("select object, severity from ###log_object ".
92
                                                                     "where log_id = ?", array((int)$row['id']));
98
                                                                     "where log_id = ?", array((int)$row['id']));
93
                                        while ($row2 = $res2->fetch_array()) {
99
                                        while ($row2 = $res2->fetch_array()) {
94
                                                $objects[] = $row2['object'];
100
                                                $objects[] = $row2['object'];
95
                                        }
101
                                        }
96
                                        $objects = count($objects) > 0 ? '; '._L('affected objects: %1',implode(', ',$objects)) : '';
102
                                        $objects = implode("\n",$objects);
97
                                        // ---
103
                                        // ---
98
                                        $addr = empty($row['addr']) ? _L('no address') : $row['addr'];
104
                                        $addr = empty($row['addr']) ? _L('no address') : $row['addr'];
99
                                        // ---
105
                                        // ---
-
 
106
 
-
 
107
                                        $a = '<span class="severity_'.$severity.'">';
-
 
108
                                        $b = '</span>';
-
 
109
                                        if ($contains_messages_for_me) $a = '<b>'.$a;
100
                                        if ($contains_messages_for_me) $out['text'] .= '<b>';
110
                                        if ($contains_messages_for_me) $b = $b.'</b>';
-
 
111
                                        $out['text'] .= '<tr>';
101
                                        $out['text'] .= '<span class="severity_'.$severity.'">' . date('Y-m-d H:i:s', (int)$row['unix_ts']) . ': ' . htmlentities($row["event"])." (" . htmlentities($addr.$users.$objects) . ")</span>\n";
112
                                        $out['text'] .= '<td>'.$a.date('Y-m-d H:i:s', (int)$row['unix_ts']).$b.'</td>';
102
                                        if ($contains_messages_for_me) $out['text'] .= '</b>';
113
                                        $out['text'] .= '<td>'.$a.htmlentities($row['event']).$b.'</td>';
-
 
114
                                        $out['text'] .= '<td>'.$a.nl2br(htmlentities($users)).$b.'</td>';
-
 
115
                                        $out['text'] .= '<td>'.$a.nl2br(htmlentities($objects)).$b.'</td>';
-
 
116
                                        $out['text'] .= '<td>'.$a.htmlentities($addr).$b.'</td>';
-
 
117
                                        $out['text'] .= '<tr>';
-
 
118
 
103
                                }
119
                                }
104
                                $out['text'] .= '</pre>';
-
 
105
                        } else {
120
                        } else {
106
                                $out['text'] .= '<p>'._L('There are no log entries on this page').'</p>';
121
                                $out['text'] .= '<tr><td colspan="5">'._L('There are no log entries on this page').'</td></tr>';
107
                        }
122
                        }
108
 
123
 
-
 
124
                        $out['text'] .= '</tbody>';
-
 
125
                        $out['text'] .= '</table>';
109
                        // TODO: List logs in a table instead of a <pre> text
126
                        $out['text'] .= '</div></div>';
-
 
127
 
110
                }
128
                }
111
        }
129
        }
112
 
130
 
113
        /**
131
        /**
114
         * @param array $json
132
         * @param array $json