aboutsummaryrefslogtreecommitdiff
path: root/mod/logbrowser
diff options
context:
space:
mode:
Diffstat (limited to 'mod/logbrowser')
-rw-r--r--mod/logbrowser/languages/en.php3
-rw-r--r--mod/logbrowser/views/default/admin/administer_utilities/logbrowser.php28
-rw-r--r--mod/logbrowser/views/default/forms/logbrowser/refine.php25
-rw-r--r--mod/logbrowser/views/default/logbrowser/table.php17
4 files changed, 55 insertions, 18 deletions
diff --git a/mod/logbrowser/languages/en.php b/mod/logbrowser/languages/en.php
index 3b6ead272..b1d2681dd 100644
--- a/mod/logbrowser/languages/en.php
+++ b/mod/logbrowser/languages/en.php
@@ -17,11 +17,14 @@ $english = array(
'logbrowser:explore' => 'Explore log',
'logbrowser:date' => 'Date and time',
+ 'logbrowser:ip_address' => 'IP address',
'logbrowser:user:name' => 'User',
'logbrowser:user:guid' => 'User GUID',
'logbrowser:object' => 'Object type',
'logbrowser:object:guid' => 'Object GUID',
'logbrowser:action' => 'Action',
+
+ 'logbrowser:no_result' => 'No results',
);
add_translation("en", $english); \ No newline at end of file
diff --git a/mod/logbrowser/views/default/admin/administer_utilities/logbrowser.php b/mod/logbrowser/views/default/admin/administer_utilities/logbrowser.php
index a04ef686a..9506c9d9f 100644
--- a/mod/logbrowser/views/default/admin/administer_utilities/logbrowser.php
+++ b/mod/logbrowser/views/default/admin/administer_utilities/logbrowser.php
@@ -12,13 +12,20 @@ $offset = get_input('offset');
$search_username = get_input('search_username');
if ($search_username) {
- if ($user = get_user_by_username($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',0);
+ $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;
}
@@ -34,15 +41,26 @@ if ($timeupper) {
$timeupper = strtotime($timeupper);
}
+$ip_address = get_input('ip_address');
+
$refine = elgg_view('logbrowser/refine', array(
- 'user_guid' => $user_guid,
'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);
-$count = get_system_log($user_guid, "", "", "","", $limit, $offset, true, $timeupper, $timelower);
+$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));
diff --git a/mod/logbrowser/views/default/forms/logbrowser/refine.php b/mod/logbrowser/views/default/forms/logbrowser/refine.php
index ff3f48b03..ebf7f10ed 100644
--- a/mod/logbrowser/views/default/forms/logbrowser/refine.php
+++ b/mod/logbrowser/views/default/forms/logbrowser/refine.php
@@ -3,34 +3,35 @@
* Form body for refining the log browser search.
* Look for a particular person or in a time window.
*
- * @uses $vars['user_guid']
+ * @uses $vars['username']
+ * @uses $vars['ip_address']
* @uses $vars['timelower']
* @uses $vars['timeupper']
*/
if (isset($vars['timelower'])) {
- $lowerval = date('r',$vars['timelower']);
+ $lowerval = date('r', $vars['timelower']);
} else {
$lowerval = "";
}
if (isset($vars['timeupper'])) {
- $upperval = date('r',$vars['timeupper']);
+ $upperval = date('r', $vars['timeupper']);
} else {
$upperval = "";
}
-if (isset($vars['user_guid'])) {
- if ($user = get_entity($vars['user_guid'])) {
- $userval = $user->username;
- }
-} else {
- $userval = "";
-}
-
+$ip_address = elgg_extract('ip_address', $vars);
+$username = elgg_extract('username', $vars);
$form = "<div>" . elgg_echo('logbrowser:user');
$form .= elgg_view('input/text', array(
'name' => 'search_username',
- 'value' => $userval,
+ 'value' => $username,
+)) . "</div>";
+
+$form .= "<div>" . elgg_echo('logbrowser:ip_address');
+$form .= elgg_view('input/text', array(
+ 'name' => 'ip_address',
+ 'value' => $ip_address,
)) . "</div>";
$form .= "<div>" . elgg_echo('logbrowser:starttime');
diff --git a/mod/logbrowser/views/default/logbrowser/table.php b/mod/logbrowser/views/default/logbrowser/table.php
index b7f6a1f20..1223c1456 100644
--- a/mod/logbrowser/views/default/logbrowser/table.php
+++ b/mod/logbrowser/views/default/logbrowser/table.php
@@ -11,6 +11,7 @@ $log_entries = $vars['log_entries'];
<table class="elgg-table">
<tr>
<th><?php echo elgg_echo('logbrowser:date'); ?></th>
+ <th><?php echo elgg_echo('logbrowser:ip_address'); ?></th>
<th><?php echo elgg_echo('logbrowser:user:name'); ?></th>
<th><?php echo elgg_echo('logbrowser:user:guid'); ?></th>
<th><?php echo elgg_echo('logbrowser:object'); ?></th>
@@ -20,6 +21,12 @@ $log_entries = $vars['log_entries'];
<?php
$alt = '';
foreach ($log_entries as $entry) {
+ if ($entry->ip_address) {
+ $ip_address = $entry->ip_address;
+ } else {
+ $ip_address = '&nbsp;';
+ }
+
$user = get_entity($entry->performed_by_guid);
if ($user) {
$user_link = elgg_view('output/url', array(
@@ -51,6 +58,9 @@ $log_entries = $vars['log_entries'];
<td class="log-entry-time">
<?php echo date('r', $entry->time_created); ?>
</td>
+ <td class="log-entry-ip-address">
+ <?php echo $ip_address; ?>
+ </td>
<td class="log-entry-user">
<?php echo $user_link; ?>
</td>
@@ -72,4 +82,9 @@ $log_entries = $vars['log_entries'];
$alt = $alt ? '' : 'class="alt"';
}
?>
-</table> \ No newline at end of file
+</table>
+<?php
+if (!$log_entries) {
+ echo elgg_echo('logbrowser:no_result');
+ return true;
+}