|
|
|
| Вот такой вопрос. Сделал я простенький форум со своими особенностями, но теперь хочу сделать систему модерирования, и немного не понимаю как ее реализовать.
Хотелось бы сделать следущее:
админ, т.е. я или кто-то еще дает определенному пользователю права модератора, причем определяет конкретный форум, или форумы где этот пользователь должен модерировать.
Этот пользователь заходит на модерируемый форум как обычно, т.е. как все пользователи, только с возможносью редактирования/удаления тем и постов.
Я столкнулся с рядом труднойтей - самая главная - как в БД хранить ID модерируемых форумов.
Да и вообще, если кто-то сталкивался с проблемой релизации системы модерирования (а я уверен, что сталкивались) то раскажие как вы ее решили.
Надеюсь на вашу помощь, дорогие форумчане. | |
|
|
|
|
|
|
|
для: cyberface
(25.06.2006 в 17:29)
| | Делаешь таблицу: Морды.
Там делаешь пару колонок:
ник и форум1, форум2, форум три
Ну значит макс один содер может модерировать 3 форума.
Или в базу записывать id вот таким образом 17,21,4,5 | |
|
|
|
|
|
|
|
для: valenok
(25.06.2006 в 17:37)
| | Насчет таблицы это я допер.
Вариант с колонками не проходит, так как форумы могут прибавляться, а значит придется еще одно поле делать. Последний вариант более менее подходит, я думал над ним, вот только какой тип данных выбрать для этого? Обычные строковые типа text , char и т.д.? | |
|
|
|
|
|
|
|
для: cyberface
(25.06.2006 в 17:42)
| | varchar
255 символов -> 85 форумов для модерирования для каждого модератора | |
|
|
|
|
|
|
|
для: cyberface
(25.06.2006 в 17:42)
| | Сделайте таблицу назначений модераторов:assign_table(id_assign, id_user,id_forum)
и добавляйте туда по строке для каждого назначения. | |
|
|
|
|
|
|
|
для: Trianon
(26.06.2006 в 09:43)
| | Trianon , большое спасибо! Блин, как же я сам до этого не догадался. Предложенный вами вариант наиболее логичен. Еще раз спасибо =) | |
|
|
|
|
|
|
|
для: Trianon
(26.06.2006 в 09:43)
| | Большая таблица получается.. | |
|
|
|
|
|
|
|
для: valenok
(26.06.2006 в 12:33)
| | Не больше числа назначений.
Зато позволит мгновенно отвечать на вопросы о том, кто модерирует данный форум, какие форумы модерирует данный пользователь, какие форумы не модерируются никем, сколько модераторов у форума и пр. | |
|
|
|
|
|
|
|
для: Trianon
(26.06.2006 в 12:40)
| | Тогда еще такой вопрос - придется каждый раз делать запрос к БД при просмотре форума и тем любым юзверем, или можно один раз, например при авторизации запросить модерируемые форумы, и допустим, поместить их в сессию? Что выгоднее? Безопасен ли метод с сессией или лучше делать каждый раз запрос? | |
|
|
|
|
|
|
|
для: cyberface
(26.06.2006 в 14:50)
| | Мне кажется каждый раз делать подобный запрос (модер он или нет и какие подфорумы он модерирует) не такой уж и страшный... | |
|
|
|
|
|
|
|
для: Unkind™
(26.06.2006 в 15:01)
| | Я тоже так думал, но только я всегда старался уменьшить нагрузку скрипта на сервер. Вот сейчас придумал компромиссный вариант - при логине выясняется статус юзера, если он модератор, то определаем сессию/куки со значением, например, 'INMODER' и потом сравниваем, если такое значение есть, значит перед нами модератор, и следует сделать запрос, если нет, то перед нами обычный юзверьи запрос не делаем...
Как на ваш взгляд - рационален ли такой подход? будет ли выгода в плане уменьшения нагрузки на сервак? | |
|
|
|
|
|
|
|
для: cyberface
(26.06.2006 в 14:50)
| | Не понял, в чем выгода что-то держать в сессии.
А ошибок это может вызвать массу.
Например, если кого-то назначат модератором (или наоборот лишат полномочий), то это не окажется в силе, пока пользователь заново не авторизуется. | |
|
|
|
|
|
|
|
для: Trianon
(26.06.2006 в 15:11)
| | Точняк, я об этом тоже не подумал, снова спасибо за совет =) | |
|
|
|