aboutsummaryrefslogtreecommitdiff
path: root/mod/logbrowser/views/default/admin
diff options
context:
space:
mode:
Diffstat (limited to 'mod/logbrowser/views/default/admin')
-rw-r--r--mod/logbrowser/views/default/admin/administer_utilities/logbrowser.php81
1 files changed, 81 insertions, 0 deletions
diff --git a/mod/logbrowser/views/default/admin/administer_utilities/logbrowser.php b/mod/logbrowser/views/default/admin/administer_utilities/logbrowser.php
new file mode 100644
index 000000000..9506c9d9f
--- /dev/null
+++ b/mod/logbrowser/views/default/admin/administer_utilities/logbrowser.php
@@ -0,0 +1,81 @@
+<?php
+/**
+ * Elgg log browser admin page
+ *
+ * @note The ElggObject this creates for each entry is temporary
+ *
+ * @package ElggLogBrowser
+ */
+
+$limit = get_input('limit', 20);
+$offset = get_input('offset');
+
+$search_username = get_input('search_username');
+if ($search_username) {
+ $user = get_user_by_username($search_username);
+ if ($user) {
+ $user_guid = $user->guid;
+ } else {
+ $user_guid = null;
+ }
+} else {
+ $user_guid = get_input('user_guid', null);
+ if ($user_guid) {
+ $user_guid = (int) $user_guid;
+ $user = get_entity($user_guid);
+ if ($user) {
+ $search_username = $user->username;
+ }
+ } else {
+ $user_guid = null;
+ }
+}
+
+$timelower = get_input('timelower');
+if ($timelower) {
+ $timelower = strtotime($timelower);
+}
+
+$timeupper = get_input('timeupper');
+if ($timeupper) {
+ $timeupper = strtotime($timeupper);
+}
+
+$ip_address = get_input('ip_address');
+
+$refine = elgg_view('logbrowser/refine', array(
+ 'timeupper' => $timeupper,
+ 'timelower' => $timelower,
+ 'ip_address' => $ip_address,
+ 'username' => $search_username,
+));
+
+// Get log entries
+$log = get_system_log($user_guid, "", "", "","", $limit, $offset, false, $timeupper, $timelower,
+ 0, $ip_address);
+$count = get_system_log($user_guid, "", "", "","", $limit, $offset, true, $timeupper, $timelower,
+ 0, $ip_address);
+
+// if user does not exist, we have no results
+if ($search_username && is_null($user_guid)) {
+ $log = false;
+ $count = 0;
+}
+
+$table = elgg_view('logbrowser/table', array('log_entries' => $log));
+
+$nav = elgg_view('navigation/pagination',array(
+ 'offset' => $offset,
+ 'count' => $count,
+ 'limit' => $limit,
+));
+
+// display admin body
+$body = <<<__HTML
+$refine
+$nav
+$table
+$nav
+__HTML;
+
+echo $body;