1
- <?php
2
-
1
+ <?php /* vim: set colorcolumn= expandtab shiftwidth=2 softtabstop=2 tabstop=4 smarttab: */
3
2
namespace BNETDocs \Templates \EventLog ;
4
3
5
4
use \BNETDocs \Libraries \Event ;
6
5
use \BNETDocs \Libraries \Exceptions \UserNotFoundException ;
7
6
use \CarlBennett \MVC \Libraries \Common ;
8
7
use \CarlBennett \MVC \Libraries \Pair ;
9
8
10
- $ title = 'Event Logs ' ;
11
- $ description = 'The index for event logs on BNETDocs ' ;
9
+ $ title = 'Event Logs ' ;
10
+ $ description = 'All triggered event logs on BNETDocs ' ;
12
11
$ this ->opengraph ->attach (new Pair ('url ' , '/eventlog/index ' ));
13
12
13
+ $ form_order_by = [
14
+ 'datetime-asc ' => 'Timestamp (Ascending) ' ,
15
+ 'datetime-desc ' => 'Timestamp (Descending) ' ,
16
+ 'id-asc ' => 'Event Id (Ascending) ' ,
17
+ 'id-desc ' => 'Event Id (Descending) ' ,
18
+ ];
19
+
14
20
$ page = $ this ->getContext ()->page ;
15
21
$ pages = $ this ->getContext ()->pages ;
16
22
$ limit = $ this ->getContext ()->limit ;
@@ -19,90 +25,72 @@ $order = $this->getContext()->order;
19
25
$ no_prev = ($ page <= 1 );
20
26
$ no_next = ($ page >= $ pages );
21
27
22
- require ('./header.inc.phtml ' );
23
- ?>
24
- <article>
25
- <?php if (!$ this ->getContext ()->acl_allowed ) { ?>
26
- <header class="red"><?php echo $ title ; ?> </header>
27
- <section class="red">
28
- <p>You are not authorized to view this page.</p>
29
- </section>
30
- <?php } else { ?>
31
- <header><?php echo $ title ; ?> </header>
32
- <section>
33
- <?php require ('./NYI.inc.phtml ' ); ?> <hr/>
34
- <form method="GET">
35
- <input type="hidden" name="page" value="<?php echo $ page ; ?> "/>
36
- <input type="hidden" name="limit" value="<?php echo $ limit ; ?> "/>
37
- <label for="order">Order by:</label>
38
- <select name="order" id="order" onchange="form.submit();"
39
- style="display:inline-block;width:200px;">
40
- <option value="id-asc"<?php
41
- if ($ order === 'id-asc ' ) { echo ' selected="selected" ' ;
42
- } ?> >Event Id (Ascending)</option>
43
- <option value="id-desc"<?php
44
- if ($ order === 'id-desc ' ) { echo ' selected="selected" ' ;
45
- } ?> >Event Id (Descending)</option>
46
- <option value="datetime-asc"<?php
47
- if ($ order === 'datetime-asc ' ) { echo ' selected="selected" ' ;
48
- } ?> >Timestamp (Ascending)</option>
49
- <option value="datetime-desc"<?php
50
- if ($ order === 'datetime-desc ' ) { echo ' selected="selected" ' ;
51
- } ?> >Timestamp (Descending)</option>
52
- </select>
53
- <input type="submit" value="Reorder"/>
54
- </form>
55
- <table>
56
- <thead>
57
- <tr>
58
- <th class="right" style="width:70px;">Id</th>
59
- <th class="left" style="width:220px;">Event Type</th>
60
- <th class="left" style="width:200px;">Timestamp</th>
61
- <th class="left">User Account</th>
62
- </tr>
63
- </thead><tbody>
64
- <?php foreach ($ this ->getContext ()->events as $ event ) {
65
- $ e_id = $ event ->getId ();
66
- try { $ e_user = $ event ->getUser (); }
67
- catch ( UserNotFoundException $ e ) { $ e_user = null ; }
68
- if ( is_null ( $ e_user ) ) { $ e_user = '<em>(null)</em> ' ; }
69
- else {
70
- $ e_user_url = $ e_user ->getURI ();
71
- $ e_user_avatar = $ e_user ->getAvatarURI (22 );
72
- $ e_user = filter_var ( $ e_user ->getName (), FILTER_SANITIZE_FULL_SPECIAL_CHARS );
73
- $ e_user = '<a href=" ' . $ e_user_url . '"><img class="avatar" src=" ' . $ e_user_avatar . '"/> ' . $ e_user . '</a> ' ;
74
- }
28
+ require ('./header.inc.phtml ' ); ?>
29
+ <div class="container mb-3">
30
+ <? if (!$ this ->getContext ()->acl_allowed ) { ?>
31
+ <div class="alert alert-danger">
32
+ <h1><?= $ title?> </h1>
33
+ <p class="mb-0">You are not authorized to view this page.</p>
34
+ </div>
35
+ <? } else { ?>
36
+ <h1><?= $ title?> </h1>
37
+ <p><?= $ description?> </p>
38
+ <form method="GET" class="m-2" id="filter_form">
39
+ <input type="hidden" name="page" value="<? echo $ page ; ?> "/>
40
+ <input type="hidden" name="limit" value="<? echo $ limit ; ?> "/>
41
+ <label for="order" class="font-weight-bold m-1">Order by:</label>
42
+ <select class="form-control form-control-sm" name="order" id="order" onchange="form.submit();" style="display:inline-block;width:200px;">
43
+ <? foreach ($ form_order_by as $ item_value => $ item_label ) {
44
+ $ item_selected = ($ order === $ item_value ? ' selected="selected" ' : '' );
45
+ echo sprintf ('<option value="%s"%s>%s</option> ' . PHP_EOL , $ item_value , $ item_selected , $ item_label );
46
+ } ?>
47
+ </select>
48
+ <input class="btn btn-sm btn-secondary" type="submit" value="Reorder"/>
49
+ </form>
50
+ <table class="table table-hover table-sm table-striped">
51
+ <thead>
52
+ <tr>
53
+ <th class="text-right">Id</th>
54
+ <th>Event Type</th>
55
+ <th>Timestamp</th>
56
+ <th>User Account</th>
57
+ </tr>
58
+ </thead><tbody>
59
+ <? foreach ($ this ->getContext ()->events as $ event ) {
60
+ $ e_id = $ event ->getId ();
61
+ try { $ e_user = $ event ->getUser (); }
62
+ catch ( UserNotFoundException $ e ) { $ e_user = null ; }
63
+ if ( is_null ( $ e_user ) ) { $ e_user = '<em>(null)</em> ' ; }
64
+ else {
65
+ $ e_user_url = $ e_user ->getURI ();
66
+ $ e_user_avatar = $ e_user ->getAvatarURI (22 );
67
+ $ e_user = filter_var ( $ e_user ->getName (), FILTER_SANITIZE_FULL_SPECIAL_CHARS );
68
+ $ e_user = '<a href=" ' . $ e_user_url . '"><img class="avatar" src=" ' . $ e_user_avatar . '"/> ' . $ e_user . '</a> ' ;
69
+ }
75
70
?>
76
- <tr>
77
- <td class="right"><a href="<?php echo Common::relativeUrlToAbsolute ('/eventlog/view?id= ' . $ e_id ); ?> "><?php echo $ e_id ; ?> </a></td>
78
- <td><?php echo $ event ->getEventTypeName (); ?> </td>
79
- <td><time datetime="<?php echo $ event ->getEventDateTime ()->format ('c ' ); ?> "><?php echo $ event ->getEventDateTime ()->format ('l, F j, Y ' ); ?> </time></td>
80
- <td><?php echo $ e_user ; ?> </td>
81
- </tr>
82
- <?php } ?>
83
- </tbody></table>
84
- </section>
85
- <section>
86
- <hr/>
87
- <span class="float-left">
88
- <?php if (!$ no_prev ) { ?>
89
- <a class="button" href="<?php echo Common::relativeUrlToAbsolute ('/eventlog/index?page= ' . ($ page - 1 ) . '&limit= ' . $ limit . '&order= ' . $ order ); ?> ">Prev</a>
90
- <?php } else { ?>
91
- <button class="button button-disabled" disabled="disabled">Prev</button>
92
- <?php } ?>
93
- </span>
94
- <span class="float-right">
95
- <?php if (!$ no_next ) { ?>
96
- <a class="button" href="<?php echo Common::relativeUrlToAbsolute ('/eventlog/index?page= ' . ($ page + 1 ) . '&limit= ' . $ limit . '&order= ' . $ order ); ?> ">Next</a>
97
- <?php } else { ?>
98
- <button class="button button-disabled" disabled="disabled">Next</button>
99
- <?php } ?>
100
- </span>
101
- <p class="center" style="line-height:24px;">
102
- <strong><?php echo number_format ($ page ); ?> </strong> of <?php echo number_format ($ pages ); ?>
103
- </p>
104
- </section>
105
- </article>
106
- <?php } ?>
107
- </article>
108
- <?php require ("./footer.inc.phtml " ); ?>
71
+ <tr>
72
+ <td class="text-right"><a href="<?= Common::relativeUrlToAbsolute ('/eventlog/view?id= ' . $ e_id )?> "><?= $ e_id?> </a></td>
73
+ <td><?= $ event ->getEventTypeName ()?> </td>
74
+ <td><time datetime="<?= $ event ->getEventDateTime ()->format ('c ' )?> "><?= $ event ->getEventDateTime ()->format ('l, F j, Y ' )?> </time></td>
75
+ <td><?= $ e_user?> </td>
76
+ </tr>
77
+ <? } ?>
78
+ </tbody></table>
79
+ <nav aria-label="User list navigation" class="d-flex justify-content-center">
80
+ <ul class="pagination">
81
+ <? if (!$ no_prev ) { ?>
82
+ <li class="page-item"><a class="page-link" href="<?= Common::relativeUrlToAbsolute ('/eventlog/index?page= ' . ($ page - 1 ) . '&limit= ' . $ limit . '&order= ' . $ order )?> ">Previous</a></li>
83
+ <? } else { ?>
84
+ <li class="page-item disabled"><span class="page-link">Previous</span></li>
85
+ <? } ?>
86
+ <li class="page-item disabled"><span class="page-link"><?= number_format ($ page )?> of <?= number_format ($ pages )?> </span></li>
87
+ <? if (!$ no_next ) { ?>
88
+ <li class="page-item"><a class="page-link" href="<?= Common::relativeUrlToAbsolute ('/eventlog/index?page= ' . ($ page + 1 ) . '&limit= ' . $ limit . '&order= ' . $ order )?> ">Next</a></li>
89
+ <? } else { ?>
90
+ <li class="page-item disabled"><span class="page-link">Next</span></li>
91
+ <? } ?>
92
+ </ul>
93
+ </nav>
94
+ </div>
95
+ <? } ?>
96
+ <? require ("./footer.inc.phtml " ); ?>
0 commit comments