PHPackages                             tuxudo/audit\_mr - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. tuxudo/audit\_mr

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

tuxudo/audit\_mr
================

Module for munkireport.

v1.0(2y ago)0261MITPHP

Since Jul 26Pushed 2y ago1 watchersCompare

[ Source](https://github.com/tuxudo/audit_mr)[ Packagist](https://packagist.org/packages/tuxudo/audit_mr)[ RSS](/packages/tuxudo-audit-mr/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Audit\_MR Module
================

[](#audit_mr-module)

This is an unofficial module and requires some modifications to two core MunkiReport files.

Audits and lists login, logout, and login failures to MunkiReport. Resulting audit can be viewed in the `Login Audit` admin tab.

File Modifications
------------------

[](#file-modifications)

Two files need to be edited in order for this module to be able to capture and record logins

- **`/munkireport-php/app/controllers/Auth.php`**

    **Line ~5** - Change:

    `use \Controller, \View;`

    To:

    `use \Controller, \View, \Audit_mr_model;`

    **Line ~109** - Change:

    ```
     } else {
          error('Wrong username or password', 'auth.wrong_user_or_pass');
     }

    ```

    To:

    ```
     } else {
          // Load and audit the login
          $audit = new Audit_mr_model;
          $audit->add_audit_user("Login Failed", $login);

          error('Wrong username or password', 'auth.wrong_user_or_pass');
     }

    ```

    **Line ~151** - Change:

    ```
     // Initialize session
     $this->authorized();

     // Check if saml

    ```

    To:

    ```
     // Initialize session
     $this->authorized();

     // Load and audit the logout
     $audit = new Audit_mr_model;
     $audit->add_audit("Logout");

     // Check if saml

    ```
- **`/munkireport-php/app/lib/munkireport/AuthHandler.php`**

    **Line ~4** - Change:

    `use \Exception, \View, \Reportdata_model`

    To:

    `use \Exception, \View, \Reportdata_model, \Audit_mr_model;`

    **Line ~38** - Change:

    ```
     session_regenerate_id();

     return true;

    ```

    To:

    ```
     session_regenerate_id();

     // Load and audit the login
     $audit = new Audit_mr_model;
     $audit->add_audit("Login");

     return true;

    ```

    **Line ~62** - Change:

    ```
     if ($authObj->getAuthStatus() == 'failed'){
     	return false;
     }
     if ($authObj->getAuthStatus() == 'unauthorized'){

     	error('Not authorized', 'auth.not_authorized');

    ```

    To:

    ```
     if ($authObj->getAuthStatus() == 'failed'){

     	// Load and audit the login
     	$audit = new Audit_mr_model;
     	$audit->add_audit_user("Login Failed", $login);

     	return false;
     }
     if ($authObj->getAuthStatus() == 'unauthorized'){

     	// Load and audit the login
     	$audit = new Audit_mr_model;
     	$audit->add_audit_user("Unauthorized", $login);

     	error('Not authorized', 'auth.not_authorized');

    ```

Remarks
-------

[](#remarks)

This module will likely NOT be updated for MunkiReport v6. That version of MunkiReport will use the framework's built in auditing.

Table Schema
------------

[](#table-schema)

- username - (string) - Username of user doing action
- ip\_address - (text) - IP address of action
- user\_agent - (text) - User agent of user
- timestamp - (big int) - Timestamp of when action happened
- action - (string) - What action happened
- role - (string) - User's MunkiReport role

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1021d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c91608ff9cdd58f221801b4b5d9cdc3b3550e83ef250f6525bac2c0fda07d2a1?d=identicon)[tuxudo](/maintainers/tuxudo)

---

Top Contributors

[![tuxudo](https://avatars.githubusercontent.com/u/13306723?v=4)](https://github.com/tuxudo "tuxudo (3 commits)")

### Embed Badge

![Health badge](/badges/tuxudo-audit-mr/health.svg)

```
[![Health](https://phpackages.com/badges/tuxudo-audit-mr/health.svg)](https://phpackages.com/packages/tuxudo-audit-mr)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
