PHPackages                             adrian-mid/humhub-reactions - 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. adrian-mid/humhub-reactions

ActiveHumhub-module[Utility &amp; Helpers](/categories/utility)

adrian-mid/humhub-reactions
===========================

Add Facebook-style emoji reactions to HumHub posts and comments.

1.1.1(1mo ago)031↓80%GPL-3.0-or-laterPHPPHP &gt;=8.0CI passing

Since Jul 8Pushed 1mo agoCompare

[ Source](https://github.com/Adrian-MID/humhub-reactions)[ Packagist](https://packagist.org/packages/adrian-mid/humhub-reactions)[ Docs](https://github.com/Adrian-MID/humhub-reactions)[ RSS](/packages/adrian-mid-humhub-reactions/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (3)Dependencies (8)Versions (6)Used By (0)

HumHub Reactions
================

[](#humhub-reactions)

Add emoji reactions to HumHub posts and comments.

Features
--------

[](#features)

- Hover-to-pick emoji reactions on posts and comments (Like, Love, Haha, Wow, Sad, Angry by default)
- Reaction summary with stacked emoji icons and total count
- One reaction per user. Clicking the same emoji again removes it
- Web and email notifications when someone reacts to your post or comment
- Reactions in HumHub mail summary digests (daily, weekly, etc.)
- Optional replacement of HumHub's default Like button
- Admin settings to enable reactions and choose which emoji are available
- Works with HumHub stream entries and nested comments

Requirements
------------

[](#requirements)

- HumHub 1.14 or later
- PHP 8.0 or later

Installation
------------

[](#installation)

Use a separate Composer project in `protected/modules/`. The module installs to `protected/modules/humhub-reactions/` and its dependencies go to `protected/modules/vendor/`, leaving HumHub's `protected/vendor/` tree untouched.

Do not run `composer init` or `composer require` at the HumHub web root.

**One-time setup** - copy the Composer scaffold (once per HumHub instance):

```
cd /path/to/humhub/protected/modules
curl -fsSL https://raw.githubusercontent.com/Adrian-MID/humhub-reactions/main/modules.composer.json -o composer.json
```

**Install or update:**

```
cd /path/to/humhub/protected/modules
composer require adrian-mid/humhub-reactions:^1.1
php ../yii migrate/up --includeModuleModules=1
php ../yii cache/flush-all
```

Enable **HumHub Reactions** under *Administration → Modules*.

Configure the module under *Administration → Settings → HumHub Reactions*.

For a developer-oriented walkthrough of the architecture, see [HOW\_IT\_WORKS.md](HOW_IT_WORKS.md).

Configuration
-------------

[](#configuration)

SettingDescriptionEnable emoji reactionsActivates reactions on posts and commentsReplace the default Like buttonHides HumHub's built-in Like control when reactions are activeAvailable reactionsChoose which emoji users can pick fromHow it works
------------

[](#how-it-works)

The module hooks into HumHub's wall entry and comment link areas. When a user hovers the **React** button, a floating emoji bar appears (Facebook-style). Selecting an emoji stores one reaction per user per post or comment.

Reaction counts are shown above the action links as overlapping emoji badges with a total count. Clicking the summary opens a modal listing everyone who reacted.

When someone adds a new reaction to a post or comment, HumHub sends notifications the same way it does for comments: an in-app alert and an optional email to followers who have reaction notifications enabled. Users can manage this under *Account Settings → Notifications → Reactions*. Changing an existing reaction to a different emoji does not send another notification.

Reactions also appear in HumHub's mail summary digest (hourly, daily, weekly, or monthly), alongside comments and likes. Users can include or exclude them under the *Activities* checkboxes in their mail summary settings.

Why this module has its own emoji catalog
-----------------------------------------

[](#why-this-module-has-its-own-emoji-catalog)

Reactions on the wall are plain Unicode characters - no image library is needed to display them. The catalog exists for the **admin settings picker** (search, groups, stable keys like `thumbs_up`) and to validate saved reactions.

HumHub 1.16+ ships a similar dataset via `unicode-emoji-json` and `EmojiMap`, but this module supports **HumHub 1.14+** and cannot require a newer core version. On many installs the full JSON file is missing or core only exposes name-to-emoji lookup, not the grouped reverse index the admin UI needs.

So the module implements `EmojiCatalog`: it uses HumHub’s copy of the data when available, and falls back to a built-in list when not. That keeps behaviour consistent across supported HumHub versions without raising the minimum version.

Development
-----------

[](#development)

This module is maintained with strict static analysis, coding standards, and unit tests:

- **PHPStan level 10** - `composer phpstan`
- **PHP CS Fixer** (PER-CS + PHP 8.2 migration rules) - `composer cs:check` / `composer cs:fix`
- **PHPUnit 9** - `composer test`

Run all checks:

```
composer install
composer lint
```

CI runs the same checks on push and pull requests via GitHub Actions.

License
-------

[](#license)

GPL-3.0-or-later - see [LICENSE](LICENSE).

Changelog
---------

[](#changelog)

See [CHANGELOG.md](CHANGELOG.md).

###  Health Score

40

—

FairBetter than 86% of packages

Maintenance93

Actively maintained with recent releases

Popularity10

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity42

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

Every ~6 days

Total

3

Last Release

36d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2bd7311eba3bf710b07626033cb916168e370f588af3c0b4c05cfaca42aaa85f?d=identicon)[Adrian-mid](/maintainers/Adrian-mid)

---

Top Contributors

[![Adrian-MID](https://avatars.githubusercontent.com/u/77190026?v=4)](https://github.com/Adrian-MID "Adrian-MID (2 commits)")

---

Tags

emojilikereactionshumhubhumhub-module

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/adrian-mid-humhub-reactions/health.svg)

```
[![Health](https://phpackages.com/badges/adrian-mid-humhub-reactions/health.svg)](https://phpackages.com/packages/adrian-mid-humhub-reactions)
```

###  Alternatives

[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.6k10](/packages/helsingborg-stad-municipio)[mautic/core

Mautic Open Source Distribution

10.4k2.7k9](/packages/mautic-core)[mediawiki/maps

Adds various mapping features to MediaWiki

85155.1k3](/packages/mediawiki-maps)[starcitizentools/citizen-skin

A beautiful, usable, responsive MediaWiki skin with in-depth extension support. Originally developed for the Star Citizen Wiki.

3407.6k](/packages/starcitizentools-citizen-skin)[civicrm/civicrm-drupal-8

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

20256.6k4](/packages/civicrm-civicrm-drupal-8)[altis/core

Core module for Altis

19233.0k4](/packages/altis-core)

PHPackages © 2026

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