ExBB Community » Файловый ExBB » Модификации и дополнения » Мод: Ограничение времени редактирования сообщений

Страниц (3): « 1 [2] 3 »
 

16. Andr1y - 9 октября 2009 — 16:27 - перейти к сообщению
Возможно кому-то понадобится.
Дополнение.
Снятие запрещения на редактирование сообщения после того, как пользователь напишет определенное число сообщений на форуме. Данное число задается из Админки.
Установка (Отобразить)
17. dxman - 8 января 2011 — 19:39 - перейти к сообщению
Что-то не заработало. Хм
И на локалке с чистого дистрибутива все сделал, нет толку...
И еще я заметил что функция "Запретить правку сообщения?" также не работает.
(Добавление)
Все разобрался... Спасибо большое!
18. Pauk - 15 января 2011 — 18:55 - перейти к сообщению
Andr1y пишет:
Далее открываем файл admin/board_posts.tpl, находим строки:

CODE:
<tr class="gen">
<td class="row1">{$fm->LANG['EditTime']}<br /><span class="gensmall">{$fm->LANG['EditTimeDesc']}</span></td>
<td class="row2"><input class="post" type="text" size="6" maxlength="6" name="new_exbb[i][edit_time]" value="{$fm->exbb['edit_time']}" /></td>
</tr>



И после них добавляем строки:


CODE:
<tr class="gen">
<td class="row1">{$fm->LANG['EditTime']}<br /><span class="gensmall">{$fm->LANG['EditTimeDesc']}</span></td>
<td class="row2"><input class="post" type="text" size="6" maxlength="6" name="new_exbb[i][edit_time]" value="{$fm->exbb['edit_time']}" /></td>
</tr>
<tr class="gen">
<td class="row1">{$fm->LANG['EditNumPost']}<br /><span class="gensmall">{$fm->LANG['EditNumPostDesc']}</span></td>
<td class="row2"><input class="post" type="text" size="6" maxlength="6" name="new_exbb[i][edit_num_post]" value="{$fm->exbb['edit_num_post']}" /></td>
</tr>


На этом всё


одно замечание:

вместо:
И после них добавляем строки:
необходимо написать:
И заменяем их строками:
иначе в админке появляются два окна ввода времени...

P.S.
Спасибо за мод и его доработку!
19. Таня - 1 марта 2011 — 12:23 - перейти к сообщению
Посмотрела этот мод, ребята, мне кажется, что вы тут перемудрили, изложу по порядку, если где-то ошиблась поправьте.

Время $fm->exbb['edit_time'] вы везде умножаете на 60 - зачем? Это же лишняя операция, выполняемая при загрузке каждой страницы, может лучше администратору один раз подумать о том, что 10 минут это 600 сек. и ввести значение 600, чем машина будет это десятки раз пересчитывать при загрузке страницы?

Саму функцию я упростила так: [текущее время] минус [время написания поста] < ( > ) [установленное время для правки], всё в секундах.

И еще накопала одно - зачем "издеваться" над бедными пользователями, оставляя кнопку "Правка" в сообщении, когда время уже истекло, они нажмут и получат отлуп Слёзы в глазах , сделала так:

В topic.php вместо

CODE:
$edit=($fm->_Moderator === TRUE || ($fm->user['id'] === $member_id && $fm->user['id'] && $topic['state'] != 'closed')) ~~~



Вот так:
CODE:
$edit=($fm->_Moderator===TRUE || ($fm->user['id']===$member_id &&$fm->user['id']&&$topic['state'] != 'closed' && ($fm->_Nowtime - $key <$fm->exbb['edit_time']))) ~~~


Кнопка убирается после времени правки.

Поправьте, если что не так, я сравнительно недавно начала изучать PHP.
20. yura3d - 1 марта 2011 — 12:46 - перейти к сообщению
Таня пишет:
Время $fm->exbb['edit_time'] вы везде умножаете на 60 - зачем? Это же лишняя операция, выполняемая при загрузке каждой страницы, может лучше администратору один раз подумать о том, что 10 минут это 600 сек. и ввести значение 600, чем машина будет это десятки раз пересчитывать при загрузке страницы?

Время в секундах указывать неудобно в большинстве случаев. При этом на некоторых форумах редактирование сообщений пользователями может быть доступно и в течение нескольких часов (скажем, для 4 часов уже придётся прописывать 14400 с). Время и ресурсы, расходуемые на умножение, ничтожны по сравнению с абсолютным большинством других операций. Если и принимать первое во внимание, то операцию умножения нужно перенести на этап сохранения конфигурационного файла

Таня пишет:
И еще накопала одно - зачем "издеваться" над бедными пользователями, оставляя кнопку "Правка" в сообщении, когда время уже истекло, они нажмут и получат отлуп Слёзы в глазах , сделала так:

Если убрать кнопку правки, то у пользователей могут возникнуть вопросы, а куда, собственно, она пропала. Хотя приведённый Вами вариант также допустим
21. Таня - 1 марта 2011 — 13:07 - перейти к сообщению
Но она практически везде пропадает это уже почти "стандарт" для пользователей, а как на этапе сохранения умножить?

Я поняла так, что там функция параметры кучкой пишет из абсолютных значений, введенных в админке...
22. BON - 5 марта 2011 — 21:13 - перейти к сообщению
Таня, замечательное дополнение, вот только пожалуйсто пишите если не сложно какую строку какой заменить.
23. Таня - 6 марта 2011 — 00:44 - перейти к сообщению
Файл topic.php
Строка

CODE:
/* Опции сообщения */
$edit = ($fm->_Moderator === TRUE || ($fm->user['id'] === $member_id && $fm->user['id'] && $topic['state'] != 'closed')) ? '<a href="postings.php?action=edit&forum='.$forum_id.'&topic='.$topic_id.'&postid='.$key.'">'.$_icon['edit'].'</a>'.$_icon['divider']:'';

В этой строке определяются условия отображения иконки кнопки редактирования, если пользователь Администратор (Модератор), она отображается всегда в противном случае требуется выполнение условий: пользователь (ID) = автор сообщения (ID) + тема незакрыта.

Я добавила еще одно условие для отображения иконки (ссылки на кнопку) - [текущее время] минус [время поста] < (меньше) [разрешенного в админке], если это дополнительное условие не выполняется иконка (ссылка на кнопку) не отображается, всё просто.

Строку нужно заменить на эту
CODE:
/* Опции сообщения */
$edit=($fm->_Moderator===TRUE||($fm->user['id']===$member_id&&$fm->user['id']&&$topic['state'] != 'closed'&&($fm->_Nowtime - $key<$fm->exbb['edit_time'] * 60)))?'<a href="postings.php?action=edit&forum='.$forum_id.'&topic='.$topic_id.'&postid='.$key.'">'.$_icon['edit'].'</a>'.$_icon['divider']:'';


Естественно сделайте резервную копию файла перед заменой, мало ли что.

В этом примере время в минутах (*60) для совместимости с не модифицированным модом (извиняюсь за каламбур) ограничения времени правки сообщений.

Я использовала для получения времени добавления поста вместо post_id значение $key, думаю это вполне допустимо, учитывая, что ключ фактически равен post_id, а он в свою очередь времени добавления сообщения.
24. BON - 6 марта 2011 — 10:46 - перейти к сообщению
Таня, клевое объяснение. Мерси
25. dxman - 21 августа 2012 — 06:08 - перейти к сообщению
Было бы неплохо, если бы у старых сообщений просто пропадала кнопка "правка", вместо сообщения.
26. alexx - 21 августа 2012 — 13:05 - перейти к сообщению
dxman пишет:
Было бы неплохо, если бы у старых сообщений просто пропадала кнопка "правка", вместо сообщения.
Есть где-то... не помню уже, у меня стоит такая фишка- час на раздумья.
Если найду где, то скину.
27. roma1 - 21 августа 2012 — 17:17 - перейти к сообщению
alexx был бы рад Улыбка
28. dxman - 27 августа 2012 — 05:48 - перейти к сообщению
alexx пишет:
Если найду где, то скину.

Не нашли?
29. BON - 27 августа 2012 — 17:08 - перейти к сообщению
найдите все сообщения пользователя 1Bot и там должно быть, она вроде как выкладывала это дополненице
30. alexx - 27 августа 2012 — 20:28 - перейти к сообщению
dxman пишет:
alexx пишет:
Если найду где, то скину.

Не нашли?

Так выше оно лежит http://exbb.info/community/topic...82207#1298982207
Цитата:
Кнопка убирается после времени правки.

Таня предложила или это не то?
(Добавление)
BON, если не напутал я то выше написал, все блин как всегда лежит на поверхности Улыбка

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0489]     [ ]