Подписка гостей на новые комментарии
Представляем вашему вниманию такой хак подписка гостей на новые комментарии для DLE 11.x итак в движке комментировать могут новости не только пользователи сайта, но также и гости, для этого нужно дать права соответствующей группе в панели управления сайта также смотрите наши другие хаки для dle. Но вот самим гостям запрещено к примеру подписываться на обновления комментариев к новостям, и этот хак это исправит.
Установка:
1. Открыть templates/ваша_тема/addcomments.tpl и найти:
<input type="text" name="mail" id="mail" class="f_input"/>
Добавить параметр required:
<input type="text" name="mail" id="mail" class="f_input" required/>
тем самым сделать его обязательным для заполнения.
2. Открыть engine/modules/show.full.php и найти:
if ($config['allow_subscribe'] AND $user_group[$member_id['user_group']]['allow_subscribe']) $allow_subscribe = true; else $allow_subscribe = false;
Заменить на:
if ($config['allow_subscribe'] AND $user_group[$member_id['user_group']]['allow_subscribe'] OR !$is_logged) $allow_subscribe = true; else $allow_subscribe = false;
3. Открыть engine/modules/addcomments.php и найти:
if ( $config['mail_comments'] OR $config['allow_subscribe'] ) {
Добавить выше:
$guest_email = $mail;
Найти ниже:
if ($_POST['allow_subscribe'] AND $user_group[$member_id['user_group']]['allow_subscribe'] AND !$found_subscribe) {
// Часть кода опущена
}
Добавить ниже:
if($_POST['allow_subscribe'] AND !$is_logged AND !$found_subscribe) {
if(function_exists('openssl_random_pseudo_bytes')) {
$stronghash = md5(openssl_random_pseudo_bytes(15));
} else {
$stronghash = md5(uniqid(mt_rand(), TRUE));
}
$salt = str_shuffle($stronghash);
$s_hash = "";
for($i = 0; $i < 10; $i ++) {
$s_hash .= $salt{mt_rand(0, 31)};
}
$s_hash = md5($s_hash);
$db->query("INSERT INTO " . PREFIX . "_subscribe (user_id, name, email, news_id, hash) values ('0', '$name', '$guest_email', '$post_id', '$s_hash')");
}
4. Если на сайте вы используете древовидный тип комментариев, в котором ответ на комментарии происходит в модальном окне, то можете добавить функцию подписки в это окно. Для этого следует открыть engine/ajax/replycomments.php и найти:
if ($config['allow_subscribe'] AND $user_group[$member_id['user_group']]['allow_subscribe']) {
Заменить на:
if ($config['allow_subscribe'] AND $user_group[$member_id['user_group']]['allow_subscribe'] OR !$is_logged) {
Все!
- Версия DLE: 11.x
- Кодировка: utf-8, win-1251
- Категория: Хаки
- Автор: Артем Мáлков
- Источник:
Войдите на сайт
Все собранные средства будут переданы автору этой статьи - DEN
Сумма перевода от 10.00 рублей