
Многие пользователи, после перехода на движок DataLife Engine 9.8 - DLE 10.0 версии столкнулись с проблемой, которая связана с вставкой цитаты пользователями в комментариях полной новости. Раньше при нажатие кнопки "Цитирование" добавлялся только ник, после обновления до DataLife Engine 9.8-10.0 копируется и весь текст, что не очень хорошо.
Так как это переспам новости, а также засорения базы данных БД не нужным количеством информации. Чтобы подправить это положение предлагаем хак возвращаем Цитирование по нику для DLE 9.8-10. Хорошо бы реализовать возможность общения с защитой или использовать мобильный мессенджер с шифрованием для общения с пользователями сайта. Это хорошая возможность , чтобы вести переписку как с телефона, так и с компьютера на достойном уровне с полной защищенней связью и технологиями.
Хак старое Цитирование по нику для DLE 9.8-10 - это возможность вернуть грамотную функцию добавления цитаты до обновления на версию движка DataLife Engine, то есть как это работала раньше на ранних версиях. Здесь приведено два варианта. Установка делается в несколько шагов.
Первая инструкция от Автора: madv1ch
Приступим:
Открыть engineclassescomments.class.php
Найти:
if ($area == 'lastcomments') {
$tpl->set_block( "'\[fast\](.*?)\[/fast\]'si", "" );
Ниже добавить:
$tpl->set_block( "'\[fast_author\](.*?)\[/fast_author\]'si", "" );
Найти:
if( ($user_group[$member_id['user_group']]['allow_addc']) and $config['allow_comments'] == "yes" ) {
Выше добавить:
if( ($user_group[$member_id['user_group']]['allow_addc']) and $config['allow_comments'] == "yes" ) {
if( ! $row['is_register'] or $row['name'] == '' ) $row['name'] = $row['gast_name'];
else $row['name'] = $row['name'];
$tpl->set( '[fast_author]', "<a href="#" onclick="emoticon('[b]" . str_replace( array (" ", "'" ), array (" ", "&#039;" ), $row['name'] ) . "[/b],'); return false;" title="Обратиться по нику">" );
$tpl->set( '[/fast_author]', "</a>" );
} else
$tpl->set_block( "'\[fast_author\](.*?)\[/fast_author\]'si", "" );
И теперь в comments.tpl будет доступно:
[fast_author]Обратиться по нику[/fast_author]
Вторая реализация от G-Rey:
Открыть engineclassescomments.class.php
Найти:
if ($area == 'lastcomments') {
$tpl->set_block( "'\[fast\](.*?)\[/fast\]'si", "" );
Ниже добавить:
$tpl->set_block( "'\[fast_author\](.*?)\[/fast_author\]'si", "" );
Найти:
if( ($user_group[$member_id['user_group']]['allow_addc']) and $config['allow_comments'] == "yes" ) {
Выше добавить:
if( ($user_group[$member_id['user_group']]['allow_addc']) and $config['allow_comments'] == "yes" ) {
if( ! $row['is_register'] or $row['name'] == '' ) $row['name'] = $row['gast_name'];
else $row['name'] = $row['name'];
$tpl->set( '[fast_author]', "<a onmouseover="dle_quote('" . str_replace( array (" ", "'" ), array (" ", "&#039;" ), $row['name'] ) . "');" href="#" onclick="dle_ins('{$row['id']}'); return false;" title="Обратиться к ".$row['name']."">" );
$tpl->set( '[/fast_author]', "</a>" );
} else
$tpl->set_block( "'\[fast_author\](.*?)\[/fast_author\]'si", "" );
В /engine/classes/js/dle_js.js
перед функцией:
function dle_copy_quote(qname)
добавить:
function dle_quote(qname)
{
dle_txt='[b]'+qname+'[/b],';
};
Правим также enginemodulesshow.full.php:
Найти:
$tpl->set( '[complaint]', "<a href="jаvascript:AddComplaint('" . $row['id'] . "', 'news')">" );
Вставить выше:
// reply 2 author hack
$tpl->set( '[fast_author]', "<a onmouseover="dle_quote('" . str_replace( array (" ", "'" ), array (" ", "&#039;" ), $row['autor'] ) . "');" href="#" onclick="dle_ins('{$row['id']}'); return false;" title="Обратиться к ".$row['autor']."">" );
$tpl->set( '[/fast_author]', "</a>" );
//
Найти:
$tpl->set_block( "'\[complaint\](.*?)\[/complaint\]'si
4;, "" );
Вставить ниже:
$tpl->set_block( "'\[fast_author\](.*?)\[/fast_author\]'s
i", "" );
Вот такие две инструкции, какую использовать решать Вам.
2-ой способ из первого комментария рабочий, но там есть опечатка (лишняя ; в коде для вставки в dle_js.js), будьте внимательные при установке.
Скачать хаки для dle, Возвращаем Цитирование по нику DLE 9.8-10 скачать в текстовой версии