DLE Subscribe

Организация системы подписок для пользователей и гостей сайта.

version: 2.2.0 dle: 12.0 - 13.2 charset: UTF-8 php: 5.4 - 7.3
DLE Subscribe отправляет уведомления на E-mail или личные сообщения, в настройках есть опции по включению той или иной отправки, если:
  • Была добавлена новость - только для тех кто подписался на новые новости.
  • Была добавлена новость с тегом на который были подписаны.
  • Была добавлена новость с значением X дополнительного поля Y на которое были подписаны.
  • Была добавлена новость пользователем на которого подписались.
  • Была обновлена новость - только для тех кто подписался на эту новость.
  • Была добавлена новость в категорию - только для тех кто подписался на эту категорию.
Отправление уведомления при редактировании новости возможно по таким параметрам:
  • При любом редактировании новости.
  • Вручную поставить галочку об отправке уведомления.
  • При обновлении даты новости.
  • При изменении причины редактирования.
  • При изменении дополнительного поля.
  • При изменении названия новости.

Установка


Установка модуля еще никогда не была такой простой

Установка для DataLife Engine 13.0 и выше
  • Шаг первый

    Загрузите файлы с папки Module на свой сервер, предварительно изменив название папки {THEME} на название своего шаблона.

  • Шаг второй

    Загрузить файл license.php в папку /engine/lazydev/dle_subscribe/.

  • Шаг третий

    Установить через систему плагинов XML файл dle_subscribe.xml.

  • Шаг четвертый

    Открыть файл main.tpl вашего шаблона и перед тегом

    </body>
    Вставить
    <script src="{THEME}/lazydev/dle_subscribe/assets/dle_subscribe_js.js"></script>
    Далее перед тегом
    </head>
    Вставить
    <link href="{THEME}/lazydev/dle_subscribe/assets/dle_subscribe_style.css" type="text/css" rel="stylesheet">

  • Шаг пятый

    Прочесть о работе модуля.

Установка для DataLife Engine 12.1 и ниже
  • Шаг первый

    Загрузите файлы с папки Module на свой сервер, предварительно изменив название папки {THEME} на название своего шаблона.

  • Шаг второй

    Загрузить файл license.php в папку /engine/lazydev/dle_subscribe/.

  • Шаг третий

    Выполнить файл dle_subscribe_install.php.

  • Шаг четвертый

    Открыть файл /engine/engine.php найти

    include_once (ENGINE_DIR . '/modules/show.short.php');
    Добавить выше
    include_once ENGINE_DIR . '/lazydev/dle_subscribe/lib/lib.php';

  • Шаг пятый

    Открыть файл /engine/inc/addnews.php найти

    if( $add_vote ) {
    Добавить выше
    include ENGINE_DIR . '/lazydev/dle_subscribe/lib/check.news.php';
    Далее найти
    {$output}
    Добавить ниже
    <div class="form-group">
        <label class="control-label col-md-2">Подписки: </label>
        <div class="col-md-10">
            <div class="row">
                <div class="col-sm-6">
                    <div class="checkbox" style="margin-top: 9px!important;">
                        <label><input class="icheck" type="checkbox" name="subscribe_update" value="1">Оповестить подписчиков</label>
                    </div>
                </div>
            </div>
        </div>
    </div>

  • Шаг шестой

    Открыть файл /engine/inc/editnews.php найти

    } else $thistime = date( "Y-m-d H:i:s", $added_time );
    Добавить ниже
    $getOldNews = $db->super_query("SELECT p.title, p.date, p.xfields, e.reason FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE id='$item_db[0]'");
    Далее найти
    if( $add_vote ) {
    Добавить выше
    include ENGINE_DIR . '/lazydev/dle_subscribe/lib/check.news.php';
    Далее найти
    {$output}
    Добавить ниже
    HTML;
    $getCountSubscribe = $db->super_query("SELECT COUNT(idSubscribe) as count FROM " . PREFIX . "_dle_subscribe WHERE page='news' AND pageValue='{$id}' GROUP BY email", true);
    $getCountSubscribe = count($getCountSubscribe);
    echo <<<HTML
    <div class="form-group">
        <label class="control-label col-md-2">Подписки: </label>
        <div class="col-md-10">
            <div class="row">
                <div class="col-sm-12">
                    <div class="checkbox" style="margin-top: 9px!important;">
                        <label><input class="icheck" type="checkbox" name="subscribe_update" value="1">Оповестить подписчиков (Количество подписчиков: $getCountSubscribe)</label>
                    </div>
                </div>
            </div>
        </div>
    </div>

  • Шаг седьмой

    Открыть файл main.tpl вашего шаблона и перед тегом

    </body>
    Вставить
    <script src="{THEME}/lazydev/dle_subscribe/assets/dle_subscribe_js.js"></script>
    Далее перед тегом
    </head>
    Вставить
    <link href="{THEME}/lazydev/dle_subscribe/assets/dle_subscribe_style.css" type="text/css" rel="stylesheet">

  • Шаг восьмой

    Прочесть о работе модуля.

Подключение модуля


Информация о подключении модуля для его работы

Вывод подписки на новость
Для вывода блока подписки на новость которую просматривает пользователь, в fullstory.tpl , или любом другом tpl файле который отвечает за полную новость, вашего шаблона, в нужном месте для вывода блока подписки, вставить:
{include file="engine/lazydev/dle_subscribe/index.php"}

Для вывода блока подписки на определенную новость, в любом tpl файле вставить:
{include file="engine/lazydev/dle_subscribe/index.php?action=news&id=X"}
Где X - ID новости.

Теги шаблона


Описание тегов шаблона модуля

dle_subscribe.tpl
Тег Описание
[if guest]Гость[/if guest]
Выведет текст внутри тегов если пользователь - гость.
[if !guest]Не гость[/if guest]
Выведет текст внутри тегов если пользователь - зарегистрирован.
[if subscribe]Подписан[/if subscribe]
Выведет текст внутри тегов если пользователь - подписан.
[if !subscribe]Не подписан[/if subscribe]
Выведет текст внутри тегов если пользователь - не подписан.
[if count]Подписки есть[else count]Подписок нет[/if count]
Выведет текст внутри тегов если есть подписки на данный блок.
[if !count]Подписок нет[else count]Подписки есть[/if count]
Выведет текст внутри тегов если подписок на данный блок нет.
[if value="X"]Текст[/if]
Выведет текст внутри тегов если страница имеет значение X.
[if value!="X"]Текст[/if]
Выведет текст внутри тегов если страница не имеет значение X.
[if page="news"]Текст[/if]
Выведет текст внутри тегов если это блок подписки на новость.
[if page!="news"]Текст[/if]
Выведет текст внутри тегов если это блок подписки не на новость.
[if page="cat"]Текст[/if]
Выведет текст внутри тегов если это блок подписки на категорию.
[if page!="cat"]Текст[/if]
Выведет текст внутри тегов если это блок подписки не на категорию.
[if page="all"]Текст[/if]
Выведет текст внутри тегов если это блок подписки на новые новости.
[if page!="all"]Текст[/if]
Выведет текст внутри тегов если это блок подписки не на новые новости.
[if page="user"]Текст[/if]
Выведет текст внутри тегов если это блок подписки на пользователя.
[if page!="user"]Текст[/if]
Выведет текст внутри тегов если это блок подписки не на пользователя.
[if page="tag"]Текст[/if]
Выведет текст внутри тегов если это блок подписки на тег.
[if page!="tag"]Текст[/if]
Выведет текст внутри тегов если это блок подписки не на тег.
[if page="xfield"]Текст[/if]
Выведет текст внутри тегов если это блок подписки на дополнительное поле.
[if page!="xfield"]Текст[/if]
Выведет текст внутри тегов если это блок подписки не на дополнительное поле.
{count}
Выведет количество подписавшихся.
{block-id}
Выводит уникальный ID блока.
{subscribe-id}
Выводит значение страницы.
{subscribe-page}
Выводит тип страницы.
{title}
Выводит заголовок страницы.
{page-value}
Выводит ID новости на странице новости и ID категории на странице категории.

История версий


История версий модуля с планами на будущие обновления

[ СЛЕДУЮЩАЯ ВЕРСИЯ ]v2.3.0

2019

Нововведения Добавлен новый раздел в админ панели модуля - Массовая рассылка.

Нововведения Добавлены новые дизайны.

Нововведения Добавлены новые опции в настройках модуля.

Нововведения Добавлена поддержка редактирования текста модуля в админ панели модуля.

Нововведения Добавлена поддержка отправки уведомлений при удалении новости.

Нововведения Добавлена поддержка отправки уведомлений при редактировании / добавлении новости с сайта.

Нововведения Перенос подписок от гостя к посетителю. [?]

Нововведения Запрос на почту о всех своих подписках.

Исправлено Сущность бытия.