Andr1y |
Отправлено: 9 октября 2009 — 16:27
|
Junior Member
Покинул форум
Сообщений всего: 58
Дата рег-ции: Апр. 2009
Репутация: 1
|
Возможно кому-то понадобится.
Дополнение.
Снятие запрещения на редактирование сообщения после того, как пользователь напишет определенное число сообщений на форуме. Данное число задается из Админки.
Установка (Отобразить)Для установки необходимо проделать следующие изменения. Открываем файл data/boardinfo.php, находим строку, содержащую фрагмент:
CODE:$this->exbb['edit_time']
И на следующей строке вставляем строку:
CODE:$this->exbb['edit_num_post'] = 0;
Далее открывем файл postings.php, находим строки (эти строки встречаются в 2-х местах рассматриваемого файла, и для каждой встречи необходимо повторить данную процедуру):
CODE:if ($fm->_Moderator === FALSE && $fm->exbb['edit_time'] && $fm->_Nowtime - $post_id > $fm->exbb['edit_time'] * 60)
$fm->_Message($fm->LANG['MessageEdit'], $fm->LANG['EditTime']);
И заменяем их строками:
CODE:if ($fm->_Moderator === FALSE){
if(($fm->exbb['edit_num_post'] && $fm->exbb['edit_time']) && ($fm->user['posts'] < $fm->exbb['edit_num_post'] && $fm->_Nowtime - $post_id > $fm->exbb['edit_time'] * 60))
$fm->_Message($fm->LANG['MessageEdit'], $fm->LANG['EditTime']);
else{
if(($fm->exbb['edit_time'] && !$fm->exbb['edit_num_post'] && $fm->_Nowtime - $post_id > $fm->exbb['edit_time'] * 60) || (!$fm->exbb['edit_time'] && $fm->exbb['edit_num_post'] && $fm->user['posts'] < $fm->exbb['edit_num_post']))
$fm->_Message($fm->LANG['MessageEdit'], $fm->LANG['EditTime']);
}
}
Теперь открываем файл language/russian/lang_admin_setvariables.php, находим строку:
CODE:$this->LANG['EditTimeDesc'] = 'Возможность редактирования сообщения будет отключена спустя данный промежуток времени с момента опубликования сообщения';
И после неё вставляем строки:
CODE:$this->LANG['EditNumPost'] = 'Количество сообщения пользователя для снятия запрета на редактирования(0 - выключено)';
$this->LANG['EditNumPostDesc'] = 'Возможность редактирования сообщения будет включена для пользоватнелей которие имеют даное количество сообщений';
Далее открываем файл 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>
На этом всё |
|
|
Pauk |
Отправлено: 15 января 2011 — 18:55
|
Advanced Member
Покинул форум
Сообщений всего: 327
Дата рег-ции: Март 2009
Репутация: 6
|
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.
Спасибо за мод и его доработку! |
|
|
Таня |
Отправлено: 1 марта 2011 — 12:23
|
Newbie
Покинул форум
Сообщений всего: 29
Дата рег-ции: Февр. 2011
Репутация: 8
|
Посмотрела этот мод, ребята, мне кажется, что вы тут перемудрили, изложу по порядку, если где-то ошиблась поправьте.
Время $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. |
|
|
yura3d |
Отправлено: 1 марта 2011 — 12:46
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
Таня пишет:Время $fm->exbb['edit_time'] вы везде умножаете на 60 - зачем? Это же лишняя операция, выполняемая при загрузке каждой страницы, может лучше администратору один раз подумать о том, что 10 минут это 600 сек. и ввести значение 600, чем машина будет это десятки раз пересчитывать при загрузке страницы?
Время в секундах указывать неудобно в большинстве случаев. При этом на некоторых форумах редактирование сообщений пользователями может быть доступно и в течение нескольких часов (скажем, для 4 часов уже придётся прописывать 14400 с). Время и ресурсы, расходуемые на умножение, ничтожны по сравнению с абсолютным большинством других операций. Если и принимать первое во внимание, то операцию умножения нужно перенести на этап сохранения конфигурационного файла
Таня пишет:И еще накопала одно - зачем "издеваться" над бедными пользователями, оставляя кнопку "Правка" в сообщении, когда время уже истекло, они нажмут и получат отлуп , сделала так:
Если убрать кнопку правки, то у пользователей могут возникнуть вопросы, а куда, собственно, она пропала. Хотя приведённый Вами вариант также допустим |
|
|
alexx |
Отправлено: 27 августа 2012 — 20:28
|
Advanced Member
Покинул форум
Сообщений всего: 495
Дата рег-ции: Февр. 2010
Откуда: Россия
Репутация: 12
|
dxman пишет:alexx пишет:Если найду где, то скину.
Не нашли?
Так выше оно лежит http://exbb.info/community/topic...82207#1298982207
Цитата:Кнопка убирается после времени правки.
Таня предложила или это не то?
(Добавление)
BON, если не напутал я то выше написал, все блин как всегда лежит на поверхности |
|
|
|