ExBB Community » » Обсуждение » Тему может править только ее автор

Страниц (1): [1]
 

1. spirit - 16 сентября 2009 — 12:28 - перейти к сообщению
Есть небольшой вопросик. Мне нужно, чтоб {$post_form} действовала в файле topic_body.tpl только в том случае если {$username} == переменной в которой лежит текущее имя пользователя.
Вообщем чтото типа

if ($username==$??????) ($post_form);

B еще в это условие хотелось бы добавить, что сообщений в теме не больше 5.
2. yura3d - 16 сентября 2009 — 16:02 - перейти к сообщению
spirit
Не совсем понятно, что за переменная $username и чего Вы хотите добиться. Судя по заголовку темы, требуется запрещать публикацию сообщений в некоторых случаях, однако отсутствие формы ответа ещё не означает отсутствие возможности публикации сообщений, поэтому напишите лучше конкретнее словами, что же всё-таки Вы хотите сделать
3. spirit - 16 сентября 2009 — 16:44 - перейти к сообщению
Мне нужно, чтобы в каждой теме создавать сообщения мог только ее автор, и этих сообщений было не больше 5. Сам дошел вот до чего:
topic_body.tpl
CODE:
echo <<<DATA

</table>
<br />
<table width="600" border="0">
<tr> <td align=center>{$mod_options}</td></tr><tr>

</tr>
</table>


Добавление здесь условия, позволит выводить форму ответа лишь в том случае, если $username (здесь лежит имя автора текущей темы)равно переменной в которой на данный момент лежит имя залогиненого пользователя(т.е равно в том случае если это автор и есть)
{$post_form}

DATA;
?>


Ну а с ограничением в 5 сообщений в теме как поступить не знаю.
Так как данное дополнение уникально и врятли вызовет интерес у других пользователей, готов сотрудничать на платной основе.
4. yura3d - 16 сентября 2009 — 18:25 - перейти к сообщению
spirit пишет:
Сам дошел вот до чего

Этим действием прячется только лишь форма сообщения, при этом возможность публикации сообщений по-прежнему сохраняется даже при отсутствии формы. Правильная реализация будет такой. Откройте файл topic.php, найдите строку:
CODE:
if ($access === TRUE && $topic['state'] != 'closed'){

и замените её строкой:
CODE:
if ($access === TRUE && $topic['state'] != 'closed' && $topic['a_id'] == $fm->user['id'] && $topic['posts'] < 5) {

Далее откройте файл post.php, найдите строку:
CODE:
if ($topic['state'] == 'closed' || $topic['state'] == 'moved') {

и замените её строкой:
CODE:
if ($topic['state'] == 'closed' || $topic['state'] == 'moved' || $topic['a_id'] != $fm->user['id'] || $topic['posts'] >= 5) {

Затем в этом же файле найдите строку:
CODE:
if ($list[$topic_id]['state'] == 'closed' || $list[$topic_id]['state'] == 'moved') {

и замените её строкой:
CODE:
if ($list[$topic_id]['state'] == 'closed' || $list[$topic_id]['state'] == 'moved' || $list[$topic_id]['a_id'] != $fm->user['id'] || $list[$topic_id]['posts'] >= 5) {

После этих изменений пользователи Вашего форума смогут публиковать ответы только в своих темах, по достижении 5 сообщений в теме возможность добавления новых сообщений блокируется

spirit пишет:
Так как данное дополнение уникально и врятли вызовет интерес у других пользователей, готов сотрудничать на платной основе.

Мы будем рады любой финансовой помощи проекту. Номера наших кошельков указаны в конце этого сообщения
5. spirit - 16 сентября 2009 — 18:38 - перейти к сообщению
Спасибо большое, это именно то что было необходимо.
В ближайшем будущем:
yura3d пишет:
Мы будем рады любой финансовой помощи проекту.

И лишь только после этого задам еще один вопрос Подмигивание

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

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