1

Тема: Как установить флаг «подписаться на новые сообщения» по умолчанию?

Добрый день!

Подскажите, а как установить флаг «подписаться на новые сообщения» по умолчанию при написании поста пользователем?

Спасибо.

Поделиться

2 (31.03.2010 14:47 отредактировано Scr1pt1k)

Re: Как установить флаг «подписаться на новые сообщения» по умолчанию?

Если вы желаете, чтобы у всех по умолчанию стоял флаг на «подписаться на новые сообщения», то я бы сделал вот так:

В profile.php находите

<span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="form[auto_notify]" value="1"<?php if ($user['auto_notify'] == '1') echo ' checked="checked"' ?> /></span>

Меняете на

<span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="form[auto_notify]" value="1" checked="checked"'/></span>

Это примерно 2218 строка smile

Upd.
Протестил, работает, но кривовато. Пользователю необходимо зайти в Профиль\Настройки и обновить профиль. Т.е. галка стоит, но по умолчанию не работает sad  Блин, пойду репу почешу, самому стало интересно)

Upd-2.
Можно, в принципе, в БД, в таблице users найти поле auto_notify и поставить ему значение по умолчанию = 1. Но грязный способ какой то получается smile

Upd-3.
За то рабочий smile

Особенность российской свободы слова заключается в том, что я могу говорить всё, что захочу, но если я начну обосновывать свою точку зрения - мне пиSSец.

Сайт Scr1pt1k

Поделиться

3

Re: Как установить флаг «подписаться на новые сообщения» по умолчанию?

Ага, по идее — 1-й способ будет работать для вновь зарегистрировавшихся пользователей, а второй — нужно проделать для тех, которые уже зарегистрированы?

Но можно ли это сделать таким образом, чтобы не пришлось переделывать после обновления форума?

Поделиться

4

Re: Как установить флаг «подписаться на новые сообщения» по умолчанию?

На самом деле, первый способ работает только для тех, кто залезет в профиль что нибудь менять и применит настройки, в противном случае, галка получается только для вида...

А второй способ как раз для вновь зарегистрировавшихся. У остальных будет стоять 0, как это было сначала. Этот способ лучше применять на чистый форум. Тогда подписка будет по умолчанию.

Про обновление форума как то не задумывался, думаю можно с помощью хука, но я в это пока не вникал))

Особенность российской свободы слова заключается в том, что я могу говорить всё, что захочу, но если я начну обосновывать свою точку зрения - мне пиSSец.

Сайт Scr1pt1k

Поделиться

5

Re: Как установить флаг «подписаться на новые сообщения» по умолчанию?

Вообщем, сделал вот так:

1. Для ещё не зарегистрировавшихся — поменял значение в таблице по умолчанию:

ALTER TABLE  `users` CHANGE  `auto_notify`  `auto_notify` TINYINT( 1 ) NOT NULL DEFAULT  '1'

2. Для тех, кто уже зарегистрировался — поменял уже имеющееся значение в таблице:

UPDATE  `users` SET  `auto_notify` =  '1' WHERE  1 ;

Поделиться