PHPackages                             lispa/amos-admin - 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. lispa/amos-admin

ActiveComponent[Admin Panels](/categories/admin)

lispa/amos-admin
================

Gestione utenti - plugin

2.90.0(4mo ago)02613PHPPHP &gt;=5.4.0

Since Feb 22Pushed 4mo ago1 watchersCompare

[ Source](https://github.com/regionelombardia-open20/open2-admin)[ Packagist](https://packagist.org/packages/lispa/amos-admin)[ Docs](http://www.open20.it/)[ RSS](/packages/lispa-amos-admin/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (4)Dependencies (14)Versions (73)Used By (3)

Amos Admin
==========

[](#amos-admin)

User Profile management

### Installation

[](#installation)

Add admin requirement in your composer.json:

```
"open20/amos-admin": "dev-master",

```

Enable the Admin modules in modules-amos.php, add :

```
 'admin' => [
	'class' => 'open20\amos\admin\AmosAdmin',
 ],

```

add admin migrations to console modules (console/config/migrations-amos.php):

```
'@vendor/open20/amos-admin/src/migrations'

```

If tags are needed enable tag roots for user in tag plugin. To do so:

- Activate tag plugin (check it is in modules configuration list)
- Open tag manager (admin privilege is required) url: /tag/manager
- Click on tag tree roots to enable
- In the last select of the page (user interest), enable for needed user roles.

### Configurable fields

[](#configurable-fields)

Here the list of configurable fields, properties of module AmosAdmin. If some property default is not suitable for your project, you can configure it in module, eg:

```
 'admin' => [
	'class' => 'open20\amos\admin\AmosAdmin',
	'enableRegister' => true, //changed property (default was false)
 ],

```

configuration example:

```
$modules['admin'] =  [
    'class' => 'open20\amos\admin\AmosAdmin',
	'enableRegister' => true,
	'organizationModuleName' => 'organizations',
	'modelMap' => [
		'User' => [
			'class' => 'open20\amos\porting\console\models\PortingUser',
		]
	],
     'fieldsConfigurations' => [
            'boxes' => [
                'box_account_data' => ['form' => true, 'view' => true],
                'box_dati_accesso' => ['form' => true, 'view' => true],
                'box_dati_contatto' => ['form' => true, 'view' => true],
                'box_dati_fiscali_amministrativi' => ['form' => false, 'view' => false],
                'box_dati_nascita' => ['form' => false, 'view' => false],
                'box_email_frequency' => ['form' => true, 'view' => true],
                'box_facilitatori' => ['form' => true, 'view' => true],
                'box_foto' => ['form' => true, 'view' => true],
                'box_informazioni_base' => ['form' => true, 'view' => true],
                'box_presentazione_personale' => ['form' => true, 'view' => true],
                'box_prevalent_partnership' => ['form' => true, 'view' => true],
                'box_privacy' => ['form' => true, 'view' => true],
                'box_questio' => ['form' => false, 'view' => false],
                'box_role_and_area' => ['form' => true, 'view' => true],
                'box_social_account' => ['form' => true, 'view' => true],
            ],
            'fields' => [
                'attivo' => ['form' => true, 'view' => true, 'referToBox' => 'box_account_data'],
                'codice_fiscale' => ['form' => false, 'view' => false, 'referToBox' => 'box_dati_fiscali_amministrativi'],
                'cognome' => ['form' => true, 'view' => true, 'referToBox' => 'box_informazioni_base'],
                'default_facilitatore' => ['form' => true, 'view' => true],
                'email' => ['form' => true, 'view' => false, 'referToBox' => 'box_dati_contatto'],
                'email_pec' => ['form' => false, 'view' => false, 'referToBox' => 'box_dati_contatto'],
                'facebook' => ['form' => true, 'view' => true, 'referToBox' => 'box_social_account'],
                'facilitatore_id' => ['form' => true, 'view' => true, 'referToBox' => 'box_facilitatori'],
                'googleplus' => ['form' => true, 'view' => true, 'referToBox' => 'box_social_account'],
                'linkedin' => ['form' => true, 'view' => true, 'referToBox' => 'box_social_account'],
                'nascita_comuni_id' => ['form' => false, 'view' => false, 'referToBox' => 'box_dati_nascita'],
                'nascita_data' => ['form' => false, 'view' => false, 'referToBox' => 'box_dati_nascita'],
                'nascita_nazioni_id' => ['form' => false, 'view' => false, 'referToBox' => 'box_dati_nascita'],
                'nascita_province_id' => ['form' => false, 'view' => false, 'referToBox' => 'box_dati_nascita'],
                'nome' => ['form' => true, 'view' => true, 'referToBox' => 'box_informazioni_base'],
                'note' => ['form' => true, 'view' => false, 'referToBox' => 'box_informazioni_base'],
                'presentazione_breve' => ['form' => true, 'view' => true, 'referToBox' => 'box_informazioni_base'],
                'presentazione_personale' => ['form' => true, 'view' => true, 'referToBox' => 'box_presentazione_personale'],
                'prevalent_partnership_id' => ['form' => true, 'view' => true, 'referToBox' => 'box_prevalent_partnership'],
                'privacy' => ['form' => true, 'view' => true, 'referToBox' => 'box_privacy'],
                'sesso' => ['form' => true, 'view' => false, 'referToBox' => 'box_informazioni_base'],
                'telefono' => ['form' => true, 'view' => false, 'referToBox' => 'box_dati_contatto'],
                'twitter' => ['form' => true, 'view' => true, 'referToBox' => 'box_social_account'],
                'ultimo_accesso' => ['form' => true, 'view' => true, 'referToBox' => 'box_account_data'],
                'ultimo_logout' => ['form' => true, 'view' => true, 'referToBox' => 'box_account_data'],
                'username' => ['form' => true, 'view' => false, 'referToBox' => 'box_dati_accesso'],
                'user_profile_age_group_id' => ['form' => true, 'view' => true, 'referToBox' => 'box_informazioni_base'],
                'user_profile_area_id' => ['form' => true, 'view' => false, 'referToBox' => 'box_role_and_area'],
                'userProfileImage' => ['form' => true, 'view' => true, 'referToBox' => 'box_foto'],
                'user_profile_role_id' => ['form' => true, 'view' => false, 'referToBox' => 'box_role_and_area'],
            ]
        ]
    ];
    .
    .
    .
    return $modules;
```

### Module configuration params

[](#module-configuration-params)

- **enableRegister** - boolean, default = false
    set to true to enable user register to the application and create his own userprofile
- **showLogInRegisterButton** - boolean, default = true
    set to true to enable user register button on login form
- **hideStandardLoginPageSection** - boolean, default = false
    If true hide the login page section where the user can insert username and password.
- **textWarningForRegisterDisabled** - string set the text that will to show if the register is disabled
- **enableUserContacts** - boolean, default = true
    enable connection to users, send private messages, and see 'contacts' in section 'NETWORK' of the user profile
- **cached** - boolean, default = false
    enable or not admin query caching
- **cacheDuration** - int, default = 84600 (24 hours)
    seconds of query caching duration if $cache = true - default is 1 day
- **bypassWorkflow** - boolean, default = false
    If true the plugin bypass the user profile workflow and show nothing of it
- **htmlMailContent** - string, default = '@vendor/open20/amos-admin/src/mail/user/credenziali-html'
    This is the html used to render the message of the e-mail. In the view is available the variable $profile that is an instance of 'open20\\amos\\admin\\models\\UserProfile'.
- **textMailContent** - string, default = '@vendor/open20/amos-admin/src/mail/user/credenziali-text'
    This is the text used to render the message of the e-mail. In the view is available the variable $profile that is an instance of 'open20\\amos\\admin\\models\\UserProfile'
- **fieldsConfigurations** - array, default:

```
public $fieldsConfigurations = [
        'boxes' => [
            'box_informazioni_base' => ['form' => true, 'view' => true]
        ],
        'fields' => [
            'nome' => ['form' => true, 'view' => true, 'referToBox' => 'box_informazioni_base'],
            'cognome' => ['form' => true, 'view' => true, 'referToBox' => 'box_informazioni_base'],
            'userProfileImage' => ['form' => true, 'view' => true, 'referToBox' => 'box_foto']
        ]
    ];
```

This array contains all configurations for boxes and fields to enable in form/wizard and view for model UserProfile. Find in /src/views/user-profile/boxes all the possible subviews to enable/disable for user profile.

- **profileRequiredFields** - array, default = \['nome', 'cognome', 'status', 'presentazione\_breve'\]
    Mandatory fields in user profile form: by default name, surname, profile status and short presentation (I present myself in 140 characters) are mandatory.
    If in your platform, for example, you don't want short presentation to be a mandatory field, overwrite profileRequiredFields property as below:

```
'admin' => [
    'class' => 'open20\amos\admin\AmosAdmin',
    'profileRequiredFields' => ['nome', 'cognome', 'status']
],
```

- **confManager** - ConfigurationManager, default = null
    //TODO explain
- **defaultUserRole** - string, default = 'BASIC\_USER'
    At user creation, it is possible to customize the Rbac role to assign to a new user, default is BASIC\_USER role.
- **organizationModuleName** - string, default = 'organizzazioni'
    This is the module name (you used as array key in modules configuration of your platform) referring to a module extending open20\\amos\\core\\interfaces\\OrganizationsModuleInterface It is used to give the possibility to customize the entity type used to set user profile prevalent partnership, for example. //TODO explain better
- **allowLoginWithEmailOrUsername** - boolean, default = true
    This feature allow user to login both with username or email. It's enabled by default.
- **userCanSelectUsername** - boolean, default = false
    If this is set to false, when a new user is created the platform automatically set the username with the part before '@' of the email. If the username is not available the system generate an unique one. by default the user cannot select the username.
- **disableUpdateChangeStatus** - boolean, default = false
    If this is set to false the popup on my profile modify is disabled.
- **enableWorkflowChangeStatusMails** - boolean, default = true
    If this is set to false the mails on change profile workflow status are disabled.
- **whiteListProfileImageExts** - string, default = jpeg, jpg, png, gif
    Used to set the allowed extensions for profile images.
- **associateTutor** - int, default = null At the creation of the user, set the user (Tutor) as contact of the created use.
- **defaultPrivateMessage** - bool, default = null At the creation of the user, send a private message from the tutor
- **roleAndAreaOnOrganizations** - boolean, default = false
    If true, hide roles and areas standard and enable it on the single network organization row.
- **roleAndAreaFromOrganizationsWithTypeCat** - boolean, default = false
    If true, uses "type\_cat" field in the roles and areas queries.
- **sendUserAssignmentsReportOnDelete** - boolean, default = false To enable sending a report via email to all admin users when a user deletes himself or is deleted by another user. The email contains a recap of all assignments of the deleted user inside the app.
- **enableSendMessage** - boolean, default = false
    If this is true and $enableUserContacts is false all users see the "send message" button on view icon.
- **helpLinkAction** - string, default = null
    The action to run from backend to go in the technical area section via the email and the private message sent enabling the param above.
- **showFacilitatorForModuleSelect** - boolean, default = false
    Enable modify facilitator
- **dontCheckOneTagPresent** - boolean, default = false
    If true the model validation doesn't check if there's at least one tag present for non ADMIN users.
- **enableMultiUsersSameCF** - boolean, default = false
    If true the model validation doesn't check the unique of che fiscal code.
- **enableInviteUserToEvent** - boolean, default = false
    If true enable a link on single user useful to invite a user to a published event with an event community.
- **createContentInMyOwnCommunityOnly** - boolean, default = false If true the validate basic user can create contents only in his/her own Communities
- **actionBlacklistManageInvite** - array, default = \[\] Array used for checking that action controller can use invitation button.

### How to use Token groups

[](#how-to-use-token-groups)

First create the token group and the you can use the following functions.

- You can login using the token, using the link /admin/security/login?token=\[**TOKEN**\]
- After the login you will be redirected to the url set on the TokenGroup

##### Get the created group of token (for a model, or model/model\_id)

[](#get-the-created-group-of-token-for-a-model-or-modelmodel_id)

```
TokenGroup::getTokenGroup($classname, $id = null)
```

##### Generate the user tokens for the group using the user\_id (array)

[](#generate-the-user-tokens-for-the-group-using--the-user_id-array)

```
$tokenGroup->generateTokenUsersByIds($ids)
```

##### Generate a single token using the user\_id, @return TokenUsers

[](#generate-a-single-token-using-the-user_id-return-tokenusers)

```
$tokenUser = $tokenGroup->generateSingleTokenUser($id)
```

###  Health Score

45

—

FairBetter than 92% of packages

Maintenance74

Regular maintenance activity

Popularity11

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity70

Established project with proven stability

 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

Every ~65 days

Recently: every ~231 days

Total

39

Last Release

147d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6eb97765ff9c2a6c83df362376ac9fe8f21e4ac4c3b65fd1e2380233178fe500?d=identicon)[open2.0](/maintainers/open2.0)

---

Top Contributors

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

---

Tags

userprofileyii2adminamos

### Embed Badge

![Health badge](/badges/lispa-amos-admin/health.svg)

```
[![Health](https://phpackages.com/badges/lispa-amos-admin/health.svg)](https://phpackages.com/packages/lispa-amos-admin)
```

###  Alternatives

[luyadev/luya-module-admin

Administration core module for all LUYA admin modules

48179.0k24](/packages/luyadev-luya-module-admin)

PHPackages © 2026

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