PHPackages                             vis/subscribe\_manager\_l5 - 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. vis/subscribe\_manager\_l5

ActiveLibrary

vis/subscribe\_manager\_l5
==========================

Subscribe management package for VIS cms

1.0.1(8y ago)020proprietaryPHP

Since Oct 9Pushed 8y ago1 watchersCompare

[ Source](https://github.com/KHlushchenko/subscribe_manager_l5)[ Packagist](https://packagist.org/packages/vis/subscribe_manager_l5)[ RSS](/packages/vis-subscribe-manager-l5/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (3)Used By (0)

Subscribing package for VIS cms

Разделы

1. [Установка](#%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)
2. [VIS-CMS](#VIS-CMS)
3. [Настройка](#%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0)
4. [Пример использования](#%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)
5. [Описание классов](#%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%BE%D0%B2)

Установка
---------

[](#установка)

Выполняем

```
    composer require "vis/subscribe_manager_l5":"1.*"
```

Добавляем SubscribeManagerServiceProvider в массив ServiceProviders в config/app.php

```
    Vis\SubscribeManager\SubscribeManagerServiceProvider::class,
```

Выполняем миграцию таблиц

```
   php artisan migrate --path=vendor/vis/subscribe_manager_l5/src/Migrations
```

Публикуем view, js, config

```
    php artisan vendor:publish --provider="Vis\SubscribeManager\SubscribeManagerServiceProvider" --force
```

Добавляем в layouts.default(или на конкретную вьюху, если подписка только на одной странице) перед закрывающим тегом body

```
    @include('subscribe_manager::subscribe_manager')
```

Настройка
---------

[](#настройка)

В файле public/js/subscriber\_rules.js определяем форму(ы), которая будет отправлять имейлы на подписку.

```
SubscribeManager.setForms(['quick_subscribe']);
```

В файле public/js/subscriber\_rules.js переопределяем методы и указываем в них свои действия(например, вызов попапа с кастомным сообщением) по выполнению ajax запроса

```
SubscribeManager.successCallback = function (message) {
};

SubscribeManager.failCallback = function (message) {
};
```

VIS-CMS
-------

[](#vis-cms)

В \\config\\builder\\admin.php дописываем массив

```
array(
    'title' => 'Подписки',
    'icon'  => 'group',
    'check' => function() {
        return Sentinel::hasAccess('admin.vis_subscribers.view');
    },
    'submenu' => array(
        array(
            'title' => 'Подписчики',
            'link'  => '/vis_subscribers',
            'check' => function() {
                return Sentinel::hasAccess('admin.vis_subscribers.view');
            }
        ),
        array(
            'title' => 'Типы подписок',
            'link'  => '/vis_subscribe_entities',
            'check' => function() {
                return Sentinel::hasAccess('admin.vis_subscribe_entities.view');
            }
        ),
    )
),
```

Добавляем права доступа в config/builder/tb-definitions/groups.php и добавляем их к группам.

```
    'Подписчики' => array(
        'admin.vis_subscribers.view'   => 'Просмотр',
        'admin.vis_subscribers.create' => 'Создание',
        'admin.vis_subscribers.update' => 'Редактирование',
        'admin.vis_subscribers.delete' => 'Удаление',
    ),
    'Типы подписок' => array(
        'admin.vis_subscribe_entities.view'   => 'Просмотр',
        'admin.vis_subscribe_entities.create' => 'Создание',
        'admin.vis_subscribe_entities.update' => 'Редактирование',
        'admin.vis_subscribe_entities.delete' => 'Удаление',
    ),
```

Пример использования
--------------------

[](#пример-использования)

1. Создаем паршал с формой подписки, например:

```
@if(isset($subscribeEntities) && $subscribeEntities->count())

                    @foreach($subscribeEntities as $subscribeEntity)
                        {{$subscribeEntity->title}}
                    @endforeach

                {{__t('Підписатися')}}

@endif
```

2. Передаем в форму подписки список возможных сущностей на подписку через вью-композер

```
    View::composer('partials.subscribe', function ($view) {
        $subscribeEntities = Cache::tags('vis_subscribe_entities')->rememberForever('vis_subscribe_entities', function() {
            return Vis\SubscribeManager\SubscribeEntity::active()->get();
        });

        $view->with('subscribeEntities', $subscribeEntities);
    });
```

Если нужно использовать в каких-то своих целях

```
    use Vis\SubscribeManager\Subscriber;
```

Получить список подписчиков на определенную сущность на выбранном языке:.

```
   $subscribers = Subscriber::filterEntitySlug($entitySlug)->filterLang($lang)->active->get();
```

Описание классов
----------------

[](#описание-классов)

1. Vis\\SubscribeManager\\SubscribeEntity
    Класс сущностей подписки, наследует Eloquent\\Model и использует Vis\\Builder\\Helpers\\Traits\\TranslateTrait

```
    namespace Vis\SubscribeManager;

    use Illuminate\Database\Eloquent\Model;

    class SubscribeEntity extends Model
    {
        use \Vis\Builder\Helpers\Traits\TranslateTrait;

        protected $table = 'vis_subscribe_entities';
    }
```

**Описание свойств:**

Имя используемой таблицы
Значение: строка'

```
	protected $table = 'vis_subscribe_entities';
```

**Описание методов:**

Метод Eloquent ManyToMany связи с подписчиками
Возвращаемое значение: коллекция связанных с сущностью подписчиков

```
    public function subscribers()
```

Метод фильтр по слагу

```
    public function scopeFilterSlug($query, $slug)
```

Метод фильтр по активности записей

```
    public function scopeActive($query)
```

2. Vis\\SubscribeManager\\Subscriber
    Класс сущностей подписки, наследует Eloquent\\Model и использует Vis\\Builder\\Helpers\\Traits\\TranslateTrait

```

    namespace Vis\SubscribeManager;

    use Illuminate\Database\Eloquent\Model;

    class Subscriber extends Model
    {
       protected $table = 'vis_subscribers';
    }
```

**Описание свойств:**

Имя используемой таблицы
Значение: строка'

```
	protected $table = 'vis_subscribers';
```

**Описание методов:**

Метод Eloquent ManyToMany связи с сущностями подписки
Возвращаемое значение: коллекция связанных сущностей к подписчику

```
    public function entities()
```

Метод фильтр по слагу

```
    public function scopeFilterEntitySlug($query, $entitySlug)
```

Метод фильтр по активности подписки

```
    public function scopeActive($query)
```

Метод фильтр по языку подписки

```
    public function scopeFilterLang($query, $lang)
```

Метод фильтр по имейлу подписки

```
    public function scopeFilterEmail($query, $email)
```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity64

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 ~24 days

Total

2

Last Release

3109d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4ccb895209ea7108142712514fcb896c4bd2d73e196343b566d15585a4d66136?d=identicon)[KGluschenko](/maintainers/KGluschenko)

---

Top Contributors

[![KHlushchenko](https://avatars.githubusercontent.com/u/6852568?v=4)](https://github.com/KHlushchenko "KHlushchenko (2 commits)")

### Embed Badge

![Health badge](/badges/vis-subscribe-manager-l5/health.svg)

```
[![Health](https://phpackages.com/badges/vis-subscribe-manager-l5/health.svg)](https://phpackages.com/packages/vis-subscribe-manager-l5)
```

PHPackages © 2026

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