
Каждый пользователь DLE кто хоть раз читал и писал сообщение в PM, знает сколько необходимо сделать действий. А также ужасное цитирование, каждый раз вставляется все цитирование только что отправленного сообщения.
Если Вам как и автору надоела функциональность модуля PM, что используется в движке DataLife Engine всех версиях. Вот то решение хак для DLE Beautiful PM (Шикарная страница персональных сообщений), которое поможет вам устранить некоторые раздражающие и допотопные элементы системы обмена сообщениями на веб-ресурсе. Это цикл статей по улучшению данного модуля.
Обойдем действие кнопки ответ и выведем окно ответа и возможные ограничения сразу при чтении сообщения.
Установка
1. Открываем engine/modules/pm.php
Находим:
land, icq, xfields
Заменяем на:
land, icq, xfields, pm_all
Найти:
$tpl->set( '{text}', stripslashes( $row['text'] ) );
Заменить на:
2. Открыть templates/YOURTEMPLATE/pm.tpl
Между тегами [readpm] ... [/readpm] в нужное вам место вставить:
[quick-reply]
<div class="baseform">
<table class="tableform" style="width:100%;">
<tr>
<td style="width:100px;"></td>
<td class="editorcomm" style="text-align:center;">{editor}<br /><input type="hidden" id="outboxcopy" name="outboxcopy" value="1" />
</td>
</tr>
[sec_code]
<tr>
<td class="label">
Код:<span class="impot">*</span>
</td>
<td>
<div>{sec_code}</div>
<div><input type="text" name="sec_code" id="sec_code" style="width:115px" class="f_input" /></div>
</td>
</tr>
[/sec_code]
[recaptcha]
<tr>
<td class="label">
Введите два слова, показанных на изображении:<span class="impot">*</span>
</td>
<td>
<div>{recaptcha}</div>
</td>
</tr>
[/recaptcha]
[question]
<tr>
<td class="label">
Вопрос:
</td>
<td>
<div>{question}</div>
</td>
</tr>
<tr>
<td class="label">
Ответ:<span class="impot">*</span>
</td>
<td>
<div><input type="text" name="question_answer" id="question_answer" class="f_input" /></div>
</td>
</tr>
[/question]
</table>
<input type="hidden" name="name" value="{reply-author}"/>
<input type="hidden" name="subj" value="{reply-subj}"/>
<div class="fieldsubmit">
<input type="button" class="btn btn-info" onclick="dlePMPreview()" title="Просмотр" value="Просмотр" />
<button type="submit" name="add" class="btn btn-primary"><span>Отправить</span></button>
</div>
</div>
[/quick-reply]
Я лично удалил кнопку просмотра сообщения, но в инструкции оставил (кто нибудь ей вообще пользовался !?) )
Найти между тегами [newpm] ... [/newpm]:
{text}
Заменить на
{pm-text}
3. Открыть engine/ajax/pm.php
Найти:
$tpl->set( '{text}', stripslashes($text) );
Заменить на:
$tpl->set( '{pm-text}', stripslashes($text) );
$tpl->set_block( "'\[quick-reply\].*?\[/quick-reply\]'si", "" );
$tpl->set_block( "'\[reply\].*?\[/reply\]'si", "" );
$tpl->set_block( "'\[del\].*?\[/del\]'si", "" );
$tpl->set_block( "'\[complaint\].*?\[/complaint\]'si", "" );
$tpl->set_block( "'\[ignore\].*?\[/ignore\]'si", "" );
Тем самым еще удалили при просмотре кнопки Пожаловаться / Удалить / Игнорить / Ответить
Готово.
Что получаем на выходе
Beautiful PM. Часть 1: Ответ
Цикл статей здесь
Автор: Dark5ider
Смотрим: демо
Версия DataLife Engine: тест был на 9.х, может и более старые.
Скачать хаки для dle, как хак Beautiful PM