Возвращаем Цитирование по нику DLE 9.8-10

Рубрика: Хаки для DLE » Хак DLE 11.2, 11.1, 11.0, 10.6, 10.5, 10.4, 10.3, 10.2, 10.1, 10.0, 9.8, 9.7, 9.6, 9.5, 9.4, 9.3, 9.2, 9.0
Возвращаем Цитирование по нику DLE 9.8-10
Многие пользователи, после перехода на движок DataLife Engine 9.8 - DLE 10.0 версии столкнулись с проблемой, которая связана с вставкой цитаты пользователями в комментариях полной новости. Раньше при нажатие кнопки "Цитирование" добавлялся только ник, после обновления до DataLife Engine 9.8-10.0 копируется и весь текст, что не очень хорошо.

Так как это переспам новости, а также засорения базы данных БД не нужным количеством информации. Чтобы подправить это положение предлагаем хак возвращаем Цитирование по нику для DLE 9.8-10. Хорошо бы реализовать возможность общения с защитой или использовать мобильный мессенджер с шифрованием для общения с пользователями сайта. Это хорошая возможность , чтобы вести переписку как с телефона, так и с компьютера на достойном уровне с полной защищенней связью и технологиями.

Хак старое Цитирование по нику для DLE 9.8-10 - это возможность вернуть грамотную функцию добавления цитаты до обновления на версию движка DataLife Engine, то есть как это работала раньше на ранних версиях. Здесь приведено два варианта. Установка делается в несколько шагов.

Первая инструкция от Автора: madv1ch
Приступим:
Открыть \engine\classes\comments.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 (" ", "&#039;" ), array ("&nbsp;", "&amp;#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:
Открыть \engine\classes\comments.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 (" ", "&#039;" ), array ("&nbsp;", "&amp;#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],';
};


Правим также engine\modules\show.full.php:
Найти:

$tpl->set( '[complaint]', "<a href=\"javascript:AddComplaint('" . $row['id'] . "', 'news')\">" );


Вставить выше:

// reply 2 author hack
			$tpl->set( '[fast_author]', "<a onmouseover=\"dle_quote('" . str_replace( array (" ", "&#039;" ), array ("&nbsp;", "&amp;#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 скачать в текстовой версии
  • 60
Рубрика: DLE хаки » Хак для DLE
Ранее » Хак интеграция Uppod в DLE 10.0« Далее Хак Dle смена категории по наступлению даты
Добавление комментарияОставить комментарий