13.07.13, 11:12
0 комментарий
  DLE Хаки

Хак Цитирование по нику

Хак позволяет возвратить функцию цитирования в Dle 9.8-10.0 , как это было реализовано в ранних версиях движка, когда выводилось обращение по нику. Ниже представлены два вида реализации этого.

Установка, вариант 1:
1. Открыть 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 (" ", "&#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", "" );


2. В шаблоне comments.tpl добавляем:

[fast_author]Обратиться по нику[/fast_author]


Готово!


Установка, вариант 2:
1. Открыть 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 (" ", "&#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", "" );


2. В файле /engine/classes/js/dle_js.js перед функцией:

function dle_copy_quote(qname)


Добавить:

function dle_quote(qname) 
{
    dle_txt='[b]'+qname+'[/b],';
};


3. В файле enginemodulesshow.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]'si4;, "" );


Вставить ниже:

$tpl->set_block( "'[fast_author](.*?)[/fast_author]'si", "" );


Готово!

Версия DLE: 9.8x-10.0

Первый вариант можно посмотреть на нашем сайте.

Напишите своё мнение