PHPackages                             zhihe/subscriptions - 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. zhihe/subscriptions

ActiveFlarum-extension[Utility &amp; Helpers](/categories/utility)

zhihe/subscriptions
===================

Extended subscriptions with follow\_op support - Fork of flarum/subscriptions.

v2.0.4(2mo ago)0511MITPHP

Since Nov 2Pushed 2mo agoCompare

[ Source](https://github.com/echolocked/zhihe-subscriptions)[ Packagist](https://packagist.org/packages/zhihe/subscriptions)[ Docs](https://github.com/zhihe/subscriptions)[ Fund](https://flarum.org/donate/)[ RSS](/packages/zhihe-subscriptions/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (6)Versions (33)Used By (0)

Enhanced Subscriptions for Flarum
=================================

[](#enhanced-subscriptions-for-flarum)

[![Latest Stable Version](https://camo.githubusercontent.com/6860c62deefc5b69f7a650467c84835850c4d45f87142fe1a7d71d6e2be445a6/68747470733a2f2f706f7365722e707567782e6f72672f7a686968652f737562736372697074696f6e732f762f737461626c65)](https://packagist.org/packages/zhihe/subscriptions)[![Total Downloads](https://camo.githubusercontent.com/b4780cea1fad62fcdfca6df4a4ef8e2b270fd724470164be62ea86a63a89aed9/68747470733a2f2f706f7365722e707567782e6f72672f7a686968652f737562736372697074696f6e732f646f776e6c6f616473)](https://packagist.org/packages/zhihe/subscriptions)[![License](https://camo.githubusercontent.com/ad0589af5dd93c66aaceb96c81a7587f219ef907ef59a36a4269d0d3c14a6a5e/68747470733a2f2f706f7365722e707567782e6f72672f7a686968652f737562736372697074696f6e732f6c6963656e7365)](https://packagist.org/packages/zhihe/subscriptions)

An enhanced subscription system for Flarum with extended notification options and subscription analytics.

✨ Features
----------

[](#-features)

### 🎯 Follow OP Subscriptions

[](#-follow-op-subscriptions)

- **Follow OP** option: Get notifications only when the original poster replies
- Three subscription states: Following (all replies), Following OP (OP only), Ignore
- Perfect for tutorials, guides, and serialized content where OP responses are most important

### 📊 Subscription Analytics

[](#-subscription-analytics)

- Display total follower count for each discussion
- Real-time subscription counts in discussion lists
- Visual indicators with star icons
- Always visible metrics (shows 0 when no followers)

### 🌍 Multi-language Support

[](#-multi-language-support)

- Full Chinese (Simplified) translations included
- Seamless bilingual interface support
- Easy to extend with additional languages

📋 Requirements
--------------

[](#-requirements)

- Flarum 1.8 or higher
- PHP 8.0 or higher

🚀 Installation
--------------

[](#-installation)

```
composer require zhihe/subscriptions
php flarum extension:enable zhihe-subscriptions
```

**⚠️ Important:** This extension replaces the core `flarum/subscriptions` extension. Disable the original subscriptions extension before enabling this one.

🔧 Usage
-------

[](#-usage)

### For Users

[](#for-users)

1. **Following**: Receive notifications for all replies to a discussion
2. **Following OP**: Only get notified when the original poster responds
3. **Ignore**: Stop all notifications from a discussion

### For Administrators

[](#for-administrators)

- Subscription counts are automatically displayed in discussion lists
- All existing subscription data is preserved during migration
- No additional configuration required

🗄️ Database Schema
------------------

[](#️-database-schema)

The extension adds a new subscription type to the existing schema:

```
-- Extends discussion_user.subscription enum
ALTER TABLE discussion_user
MODIFY COLUMN subscription ENUM('follow', 'ignore', 'follow_op');
```

🛠️ Development
--------------

[](#️-development)

### Local Development Setup

[](#local-development-setup)

```
git clone https://github.com/echolocked/zhihe-subscriptions.git
cd zhihe-subscriptions
composer install
cd js && npm install && npm run build
```

### Keeping Updated

[](#keeping-updated)

This extension maintains compatibility with the original flarum/subscriptions:

```
git remote add upstream https://github.com/flarum/subscriptions.git
git fetch upstream
git merge upstream/main
```

🤝 Contributing
--------------

[](#-contributing)

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License
---------

[](#-license)

MIT License - Compatible with original Flarum subscriptions extension.

🙏 Credits
---------

[](#-credits)

- Based on [flarum/subscriptions](https://github.com/flarum/subscriptions) by the Flarum Team
- Enhanced and maintained by the Zhihe development team

🆘 Support
---------

[](#-support)

- **Issues**: [GitHub Issues](https://github.com/echolocked/zhihe-subscriptions/issues)
- **Community**: [Flarum Community Forum](https://discuss.flarum.org)

---

*Love this extension? Consider starring the repository and sharing it with the Flarum community! ⭐*

###  Health Score

50

—

FairBetter than 96% of packages

Maintenance86

Actively maintained with recent releases

Popularity11

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity74

Established project with proven stability

 Bus Factor3

3 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 ~122 days

Recently: every ~51 days

Total

32

Last Release

74d ago

Major Versions

v0.1.0-beta.16 → v1.0.02021-05-25

v1.8.1 → v2.0.0-beta.12024-12-07

v1.9.0 → v2.0.12025-08-12

### Community

Maintainers

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

---

Top Contributors

[![tobyzerner](https://avatars.githubusercontent.com/u/128862?v=4)](https://github.com/tobyzerner "tobyzerner (70 commits)")[![flarum-bot](https://avatars.githubusercontent.com/u/39334649?v=4)](https://github.com/flarum-bot "flarum-bot (32 commits)")[![franzliedke](https://avatars.githubusercontent.com/u/249125?v=4)](https://github.com/franzliedke "franzliedke (30 commits)")[![askvortsov1](https://avatars.githubusercontent.com/u/38059171?v=4)](https://github.com/askvortsov1 "askvortsov1 (21 commits)")[![SychO9](https://avatars.githubusercontent.com/u/20267363?v=4)](https://github.com/SychO9 "SychO9 (20 commits)")[![luceos](https://avatars.githubusercontent.com/u/504687?v=4)](https://github.com/luceos "luceos (18 commits)")[![davwheat](https://avatars.githubusercontent.com/u/7406822?v=4)](https://github.com/davwheat "davwheat (7 commits)")[![echolocked](https://avatars.githubusercontent.com/u/8471201?v=4)](https://github.com/echolocked "echolocked (7 commits)")[![imorland](https://avatars.githubusercontent.com/u/16573496?v=4)](https://github.com/imorland "imorland (6 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (4 commits)")[![dsevillamartin](https://avatars.githubusercontent.com/u/6401250?v=4)](https://github.com/dsevillamartin "dsevillamartin (3 commits)")[![milescellar](https://avatars.githubusercontent.com/u/160068451?v=4)](https://github.com/milescellar "milescellar (2 commits)")[![DavideIadeluca](https://avatars.githubusercontent.com/u/146922689?v=4)](https://github.com/DavideIadeluca "DavideIadeluca (2 commits)")[![tankerkiller125](https://avatars.githubusercontent.com/u/3457368?v=4)](https://github.com/tankerkiller125 "tankerkiller125 (2 commits)")[![dcsjapan](https://avatars.githubusercontent.com/u/13129997?v=4)](https://github.com/dcsjapan "dcsjapan (2 commits)")[![rob006](https://avatars.githubusercontent.com/u/5972388?v=4)](https://github.com/rob006 "rob006 (1 commits)")[![slkrx](https://avatars.githubusercontent.com/u/55163442?v=4)](https://github.com/slkrx "slkrx (1 commits)")[![StyleCIBot](https://avatars.githubusercontent.com/u/11048387?v=4)](https://github.com/StyleCIBot "StyleCIBot (1 commits)")[![tariqwalji](https://avatars.githubusercontent.com/u/1755896?v=4)](https://github.com/tariqwalji "tariqwalji (1 commits)")[![ammarfrahm](https://avatars.githubusercontent.com/u/4904057?v=4)](https://github.com/ammarfrahm "ammarfrahm (1 commits)")

---

Tags

discussion

### Embed Badge

![Health badge](/badges/zhihe-subscriptions/health.svg)

```
[![Health](https://phpackages.com/badges/zhihe-subscriptions/health.svg)](https://phpackages.com/packages/zhihe-subscriptions)
```

###  Alternatives

[flarum/pusher

See new discussions and posts in real-time using Pusher.

22367.3k4](/packages/flarum-pusher)[flarum/likes

Allow users to like posts.

18441.7k25](/packages/flarum-likes)[flarum/mentions

Mention and reply to specific posts and users.

18418.3k11](/packages/flarum-mentions)[flarum/sticky

Pin discussions to the top of the list.

10411.8k10](/packages/flarum-sticky)[flarum/embed

Embed Flarum discussions as comments for your blog.

207.4k](/packages/flarum-embed)[fof/mason

Add custom fields to discussions

206.0k](/packages/fof-mason)

PHPackages © 2026

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