]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #3787 not showing all logs if user does not exist
authorCash Costello <cash.costello@gmail.com>
Sat, 16 Jun 2012 21:55:08 +0000 (17:55 -0400)
committerCash Costello <cash.costello@gmail.com>
Sat, 16 Jun 2012 21:55:08 +0000 (17:55 -0400)
mod/logbrowser/languages/en.php
mod/logbrowser/views/default/admin/administer_utilities/logbrowser.php
mod/logbrowser/views/default/forms/logbrowser/refine.php
mod/logbrowser/views/default/logbrowser/table.php

index f36b4bc6b328108d292395707f367c330edb44c3..b1d2681dd90619f00828b75f85928df43a2ce878 100644 (file)
@@ -23,6 +23,8 @@ $english = array(
        '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
index 2581f954c89694ffd05568d8b99e987ef11e54de..9506c9d9f1c2cb5974d119a8cf5b63713cdf8441 100644 (file)
@@ -15,11 +15,17 @@ 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;
        }
@@ -38,10 +44,10 @@ if ($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
@@ -50,6 +56,12 @@ $log = get_system_log($user_guid, "", "", "","", $limit, $offset, false, $timeup
 $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(
index 3c6528d21113c9b504af4dc8b76f1cf102eecb21..ebf7f10ed6d2cd9ebce08e7a8160c83c9caaaab7 100644 (file)
@@ -3,10 +3,10 @@
  * 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']
- * @uses $vars['ip_address']
  */
 
 if (isset($vars['timelower'])) {
@@ -19,20 +19,13 @@ if (isset($vars['timeupper'])) {
 } else {
        $upperval = "";
 }
-if (isset($vars['user_guid'])) {
-       $user = get_entity($vars['user_guid']);
-       if ($user) {
-               $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');
index 9a867e080c28faaf4a794e19dcd47da18e4bd624..1223c1456a5071f62c6eb7a9b4f4ae5012b0667a 100644 (file)
@@ -82,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;
+}