Add user search
authorSteve Sutton <steve@gaslightmedia.com>
Thu, 12 Sep 2019 20:17:23 +0000 (16:17 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Thu, 12 Sep 2019 20:17:23 +0000 (16:17 -0400)
filter log by user

models/admin/logs/index.php
views/admin/logs/index.html

index aefea7a..eee2e3c 100644 (file)
@@ -96,6 +96,18 @@ class GlmMembersAdmin_logs_index
         $logFiles = array();
         $view     = 'index.html';
         $fileData = false;
+        $user     = false;
+
+        // Get a list of users allowed in glmAssociate
+        $queryArgs = array(
+            'role__in' => array(
+                'administrator',
+                'glm_members_site_manager',
+                'glm_members_manager',
+                'glm_members_own_entity_manager',
+            )
+        );
+        $users = get_users( $queryArgs );
 
         // Defaults to today's date
         $logFile = GLM_MEMBERS_PLUGIN_LOGS . '/' . date('Y-m-d') . '-user.log';
@@ -124,13 +136,18 @@ class GlmMembersAdmin_logs_index
         switch( $option ) {
 
         default:
+            if ( isset( $_REQUEST['user'] ) ) {
+                $user = filter_var( $_REQUEST['user'], FILTER_SANITIZE_STRING );
+            }
             $logFileContent = array();
             // get the log file contents
             $file = file( $logFile );
 
             foreach ( $file as $lineNumber => $line ) {
                 $lineContents = explode( "\t", $line );
-                $logFileContent[$lineNumber] = $lineContents;
+                if ( !$user || $user == $lineContents[2] ) {
+                    $logFileContent[$lineNumber] = $lineContents;
+                }
             }
 
             break;
@@ -141,6 +158,7 @@ class GlmMembersAdmin_logs_index
         $templateData = array(
             'fileData' => $logFileContent,
             'logFiles' => $logFiles,
+            'users'    => $users,
         );
 
         // Return status, suggested view, and data to controller
index 01a2dd2..4269f6f 100644 (file)
         </select>
     {/if}
 
+    {if !empty($users)}
+        <select id="user" name="user">
+            <option value="">All</option>
+            {foreach $users as $user}
+                <option value="{$user->user_login}"{if !empty($smarty.request.user) && $smarty.request.user == $user->user_login} selected{/if}>{$user->user_login}</option>
+            {/foreach}
+        </select>
+    {/if}
+
     <input type="submit" name="Load">
 
 </form>