PHPackages                             remp/crm-admin-module - 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. [Admin Panels](/categories/admin)
4. /
5. remp/crm-admin-module

ActiveLibrary[Admin Panels](/categories/admin)

remp/crm-admin-module
=====================

CRM Admin Module

5.1.0(2mo ago)150.1k↓16.3%1[13 PRs](https://github.com/remp2020/crm-admin-module/pulls)1MITPHPPHP ^8.3

Since Oct 22Pushed 1w ago5 watchersCompare

[ Source](https://github.com/remp2020/crm-admin-module)[ Packagist](https://packagist.org/packages/remp/crm-admin-module)[ Docs](https://remp2030.com)[ RSS](/packages/remp-crm-admin-module/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)DependenciesVersions (106)Used By (1)

CRM Admin Module
================

[](#crm-admin-module)

Secured login
-------------

[](#secured-login)

CRM provides another layer of security when accessing admin. If you enable `admin_secure_login_check` flag in your application configuration ("Require secure authentication method for admin roles" in CRM admin), CRM will require a set of specific flags to be present in order to grant access to the administration:

- Session flag set during the login stating that it was a secure login.
    - This needs to be decided and set by you and implemented through your own SignInEventHandler. Reference implementation is below. We usually recommend setting this flag when there's a Google sign in session from a specific verified domain.
- User meta flag `secure_login_allowed` set manually in the CRM admin (through user detail). Consider this as a one-time confirmation that user can actually access the admin.

### Reference implementation of the sign in event handler

[](#reference-implementation-of-the-sign-in-event-handler)

```
class UserSignInEventHandler extends AbstractListener
{
    private const SECURE_LOGIN_META = 'secure_logged_in';

    private $secureAdminAccess;

    public function __construct(SecuredAdminAccess $securedAdminAccess) {
        $this->secureAdminAccess = $securedAdminAccess;
    }

    public function handle(EventInterface $event)
    {
        if (!$event instanceof UserSignInEvent) {
            throw new \Exception("Invalid type of event received, UserSignInEvent expected, got: " . get_class($event));
        }

        $source = $event->getSource();

        if ($source === \Crm\UsersModule\Auth\Sso\GoogleSignIn::ACCESS_TOKEN_SOURCE_WEB_GOOGLE_SSO) {
            $this->secureAdminAccess->setSecure(true);
            return;
        }

        $this->secureAdminAccess->setSecure(false);
    }
}
```

Components
----------

[](#components)

**DateFilterFormFactory**

General from/to date filter with optional container.

[![alt text](docs/date_filter_form.png "Date filter form")](docs/date_filter_form.png)

[Source code](https://github.com/remp2020/crm-admin-module/blob/master/src/Components/DateFilterFormFactory.php)

[How to use](https://github.com/remp2020/crm-subscriptions-module/blob/master/src/Presenters/DashboardPresenter.php#L57)

**AdminMenu**

Top admin menu.

[![alt text](docs/admin_menu.png "Admin menu")](docs/admin_menu.png)

[Source code](https://github.com/remp2020/crm-admin-module/blob/master/src/Components/AdminMenu/AdminMenu.php)

[How to use](https://github.com/remp2020/crm-admin-module/blob/master/src/Presenters/AdminPresenter.php#L50)

###  Health Score

64

—

FairBetter than 99% of packages

Maintenance94

Actively maintained with recent releases

Popularity31

Limited adoption so far

Community25

Small or concentrated contributor base

Maturity93

Battle-tested with a long release history

 Bus Factor2

2 contributors hold 50%+ of commits

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

Every ~30 days

Recently: every ~63 days

Total

92

Last Release

65d ago

Major Versions

0.39.0 → 2.0.02022-08-25

2.11.0 → 3.0.02024-01-22

2.11.1 → 3.2.02024-03-18

3.6.0 → 4.0.02025-02-18

4.4.0 → 5.0.02026-03-26

PHP version history (6 changes)0.1.1PHP ^7.1

0.30.0PHP ^7.3

0.35.0PHP ^7.4

2.0.0PHP ^8.0

3.0.0PHP ^8.1

5.0.0PHP ^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/7c733f9bd683c3814197d8a532b7da1ba1f631bb1efe1cde5f064feab1e24877?d=identicon)[rootpd](/maintainers/rootpd)

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

![](https://www.gravatar.com/avatar/2c30fdbc85cda35b94f7f59399918193a0289152281abcef344ec9ee82864177?d=identicon)[markoph](/maintainers/markoph)

---

Top Contributors

[![rootpd](https://avatars.githubusercontent.com/u/812909?v=4)](https://github.com/rootpd "rootpd (68 commits)")[![markoph](https://avatars.githubusercontent.com/u/6843562?v=4)](https://github.com/markoph "markoph (62 commits)")[![miroc](https://avatars.githubusercontent.com/u/1230714?v=4)](https://github.com/miroc "miroc (15 commits)")[![zoldia](https://avatars.githubusercontent.com/u/1526070?v=4)](https://github.com/zoldia "zoldia (10 commits)")[![Matefko](https://avatars.githubusercontent.com/u/22897457?v=4)](https://github.com/Matefko "Matefko (8 commits)")[![tomaj](https://avatars.githubusercontent.com/u/446736?v=4)](https://github.com/tomaj "tomaj (8 commits)")[![lubos-michalik](https://avatars.githubusercontent.com/u/63700066?v=4)](https://github.com/lubos-michalik "lubos-michalik (4 commits)")[![burithetech](https://avatars.githubusercontent.com/u/3502143?v=4)](https://github.com/burithetech "burithetech (3 commits)")[![nakashu](https://avatars.githubusercontent.com/u/1550659?v=4)](https://github.com/nakashu "nakashu (3 commits)")[![davidkvasnovsky](https://avatars.githubusercontent.com/u/12381721?v=4)](https://github.com/davidkvasnovsky "davidkvasnovsky (2 commits)")[![weblate](https://avatars.githubusercontent.com/u/1607653?v=4)](https://github.com/weblate "weblate (2 commits)")[![Brezak](https://avatars.githubusercontent.com/u/59848927?v=4)](https://github.com/Brezak "Brezak (2 commits)")

### Embed Badge

![Health badge](/badges/remp-crm-admin-module/health.svg)

```
[![Health](https://phpackages.com/badges/remp-crm-admin-module/health.svg)](https://phpackages.com/packages/remp-crm-admin-module)
```

PHPackages © 2026

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