diff options
Diffstat (limited to 'mod/logbrowser')
| -rw-r--r-- | mod/logbrowser/languages/en.php | 3 | ||||
| -rw-r--r-- | mod/logbrowser/manifest.xml | 7 | ||||
| -rw-r--r-- | mod/logbrowser/start.php | 2 | ||||
| -rw-r--r-- | mod/logbrowser/views/default/admin/administer_utilities/logbrowser.php | 34 | ||||
| -rw-r--r-- | mod/logbrowser/views/default/forms/logbrowser/refine.php | 29 | ||||
| -rw-r--r-- | mod/logbrowser/views/default/logbrowser/refine.php | 7 | ||||
| -rw-r--r-- | mod/logbrowser/views/default/logbrowser/table.php | 19 |
7 files changed, 71 insertions, 30 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/manifest.xml b/mod/logbrowser/manifest.xml index 585288912..4527e2cbb 100644 --- a/mod/logbrowser/manifest.xml +++ b/mod/logbrowser/manifest.xml @@ -8,11 +8,10 @@ <description>Browse the system event log</description> <website>http://www.elgg.org/</website> <copyright>See COPYRIGHT.txt</copyright> - <license>GNU Public License version 2</license> + <license>GNU General Public License version 2</license> <requires> - <type>elgg_version</type> - <version>2009030702</version> + <type>elgg_release</type> + <version>1.8</version> </requires> <activate_on_install>true</activate_on_install> - <admin_interface>advanced</admin_interface> </plugin_manifest> diff --git a/mod/logbrowser/start.php b/mod/logbrowser/start.php index 3bffe800a..22659877b 100644 --- a/mod/logbrowser/start.php +++ b/mod/logbrowser/start.php @@ -23,7 +23,7 @@ function logbrowser_init() { function logbrowser_user_hover_menu($hook, $type, $return, $params) { $user = $params['entity']; - $url = "admin/utilities/logbrowser?user_guid={$user->guid}"; + $url = "admin/administer_utilities/logbrowser?user_guid={$user->guid}"; $item = new ElggMenuItem('logbrowser', elgg_echo('logbrowser:explore'), $url); $item->setSection('admin'); $return[] = $item; diff --git a/mod/logbrowser/views/default/admin/administer_utilities/logbrowser.php b/mod/logbrowser/views/default/admin/administer_utilities/logbrowser.php index 2be1f33dc..9506c9d9f 100644 --- a/mod/logbrowser/views/default/admin/administer_utilities/logbrowser.php +++ b/mod/logbrowser/views/default/admin/administer_utilities/logbrowser.php @@ -12,15 +12,22 @@ $offset = get_input('offset'); $search_username = get_input('search_username'); if ($search_username) { - if ($user = get_user_by_username($search_username)) { - $user = $user->guid; + $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 = (int) $user_guid; + $user_guid = (int) $user_guid; + $user = get_entity($user_guid); + if ($user) { + $search_username = $user->username; + } } else { - $user = ""; + $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, 'timeupper' => $timeupper, 'timelower' => $timelower, + 'ip_address' => $ip_address, + 'username' => $search_username, )); // Get log entries -$log = get_system_log($user, "", "", "","", $limit, $offset, false, $timeupper, $timelower); -$count = get_system_log($user, "", "", "","", $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..3d081c9c2 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']); +if (isset($vars['timelower']) && $vars['timelower']) { + $lowerval = date('r', $vars['timelower']); } else { $lowerval = ""; } -if (isset($vars['timeupper'])) { - $upperval = date('r',$vars['timeupper']); +if (isset($vars['timeupper']) && $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/refine.php b/mod/logbrowser/views/default/logbrowser/refine.php index 27cb6042f..b40f23fa3 100644 --- a/mod/logbrowser/views/default/logbrowser/refine.php +++ b/mod/logbrowser/views/default/logbrowser/refine.php @@ -18,13 +18,18 @@ $toggle_link = elgg_view('output/url', array( 'rel' => 'toggle', )); +$form_class = 'elgg-module elgg-module-inline'; +if (!isset($vars['user_guid']) && !isset($vars['username'])) { + $form_class .= ' hidden'; +} + ?> <div id="logbrowser-search-area" class="mbm"> <div> <?php echo $toggle_link; ?> </div> - <div id="log-browser-search-form" class="elgg-module elgg-module-inline hidden"> + <div id="log-browser-search-form" class="<?php echo $form_class; ?>"> <div class="elgg-head"> <h3><?php echo elgg_echo('logbrowser:search'); ?></h3> </div> diff --git a/mod/logbrowser/views/default/logbrowser/table.php b/mod/logbrowser/views/default/logbrowser/table.php index b7f6a1f20..b08a0c428 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 = ' '; + } + $user = get_entity($entry->performed_by_guid); if ($user) { $user_link = elgg_view('output/url', array( @@ -28,7 +35,7 @@ $log_entries = $vars['log_entries']; 'is_trusted' => true, )); $user_guid_link = elgg_view('output/url', array( - 'href' => "admin/overview/logbrowser?user_guid=$user->guid", + 'href' => "admin/administer_utilities/logbrowser?user_guid={$user->guid}", 'text' => $user->getGUID(), 'is_trusted' => true, )); @@ -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; +} |
