Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Система редактирования Википедии
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008
Помог: 8 раз(а)
[+]
Всем привет! Я как всегда ищу все возможные способы освободить себя от лишних обязанностей, и на данный момент решил сбросить бремя модерации.
Суть в том, что есть некий сайт, на котором появляется порядка сотни комментариев к различным статьям. Одному человеку отслеживать это довольно сложно, и потому я решил многих авторитетных пользователей сделать модераторами. Тем не менее доверия ни к кому нет, поэтому надо огородиться от "внезапного" удаления/редактирования всех комментов на сайте.
Думаю задача ясна. Итак, представим. Есть таблица всех комментариев.
Способ №1
Добавляем в таблицу еще одно поле, отвечающее за актуальность комментария.
При редактировании комментария вместо изменения нужной записи добавляем в таблицу новую, а старую делаем неактуальной. плюсы: минусы: размер таблицы возрастает на порядок, что уменьшает скорость выборки
Способ №2
Создаем еще одну таблицу "edited_comments" с аналогичной структурой и, перед изменением записи основной таблицы, копируем предыдущий вариант в своеобразное хранилище неактуальных версий комментариев. плюсы: снижается нагрузка на бд при выборке из основной таблицы минусы: создание лишней таблицы
Какой способ выберите вы? Я больше склоняюсь ко второму. Может у кого-то есть более универсальный вариант? Я с удовольствием готов это обсудить!
Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010
Помог: 32 раз(а)
У меня была подобная ситуация. Все решилось созданием дополнительной таблицы. Как по-мне так скорость работы будет выше, и если что нужно подправить - так удобней.
----- ____________________________________________________________________
Ну как то так, наверное. http://grefon[dot]com
OrmaJever
Отправлено: 13 Января, 2011 - 00:49:14
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Если по 100 коментариев за короткий срок то 2 способ не подойдёт.
Можно просто создать отдельное поле в таблице с коментариями в которое писать 1,2,3 (например)
1 - это сообщение есть но не проверено модератором и не выводится
2 - это сообщения которые проверили модераторы и они выводятся.
3 - сообщение удалено модератором
И когда модератор удаляет сообщение оно на самом деле не удаляется а просто ставится 3.
Затем в админке зделать вывод сообщений с меткой 3 и смотреть если сообщение удалено неверно то меняем флаг на 2. Затем проверил все сообщения и удалил все с флагом 3
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
grefon
Отправлено: 13 Января, 2011 - 01:01:39
Частый посетитель
Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010
Помог: 32 раз(а)
Это самый оптимальный вариант, но только когда нужно менять только статус комментария! В моем случае в задачу модераторов входило не только проверять и одобрять сообщения, но и менять их содержание по необходимости. А тут дополнительным полем не обойтись, нужна целая таблица.
----- ____________________________________________________________________
Ну как то так, наверное. http://grefon[dot]com
OrmaJever
Отправлено: 13 Января, 2011 - 02:09:10
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
grefon а толку с коментария если его изменили? Либо нужо формлять коментарий в оригинале либо удалять!
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Toxa
Отправлено: 13 Января, 2011 - 10:05:50
Посетитель
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008
Помог: 8 раз(а)
[+]
спасибо всем участникам обсуждения! OrmaJever, ваш способ не плох, но в нем есть один минус. Что делать в том случае, если злой модератор напишет скрипт, который отредактирует ВСЕ комментарии и заменит их текст, скажем, одним нецензурным словом. Флаг тут уже не поможет, поэтому надо сохранять все версии комментариев я считаю.
З.Ы. на фоне открыт сайт http://gugo.com.ua/, музыка просто убойна!
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Toxa пишет:
Что делать в том случае, если злой модератор напишет скрипт
А у них ещё идоступ к серверу есть? Дак тогда модератор может написать скрипт котрый удалит все с таблицы.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Toxa
Отправлено: 13 Января, 2011 - 14:13:35
Посетитель
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008
Помог: 8 раз(а)
[+]
нет, доступа к серверу ни у кого нет, я имею ввиду автоматизацию действий с помощью, скажем, curl. Быстро и просто отредактировать(удалить) все сообщения, ну вы поняли.
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
А зачем разрешать редактировать коментарий? просто выводится тект коментария и 2 кнопки "Принять" и "Удалить".
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Toxa
Отправлено: 13 Января, 2011 - 14:34:09
Посетитель
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008
Помог: 8 раз(а)
[+]
нужно внести некоторую ясность
1) Комментарии пользователей добавляются сразу, без премодерации
2) После добавления комментария у пользователя остается возможность редактирования
3) Вследствии п.2 ту же возможность приходится давать и модераторам
4) Модераторам тоже до конца доверять нельзя, поэтому приходится извращаться
Покинул форум
Сообщений всего: 199
Дата рег-ции: Окт. 2008
Помог: 0 раз(а)
Если модераторы будут редактировать комментарии по своему желанию и усмотрению, то это уже не будут авторские комментарии. Если вы под "редактированием" понимаете "удаление или замена "ненужных" слов", то полистайте функции из раздела "Функции обработки строк" хотя бы.
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Toxa пишет:
1) Комментарии пользователей добавляются сразу, без премодерации
2) После добавления комментария у пользователя остается возможность редактирования
3) Вследствии п.2 ту же возможность приходится давать и модераторам
4) Модераторам тоже до конца доверять нельзя, поэтому приходится извращаться
а ну дак это меняет суть дела! Я думал коментарии как в wp
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Toxa
Отправлено: 13 Января, 2011 - 15:21:38
Посетитель
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008
Помог: 8 раз(а)
[+]
Itan пишет:
Если модераторы будут редактировать комментарии по своему желанию и усмотрению, то это уже не будут авторские комментарии. Если вы под "редактированием" понимаете "удаление или замена "ненужных" слов", то полистайте функции из раздела "Функции обработки строк" хотя бы.
Из крайности в крайность. То есть по-вашему можно либо "редактировать комментарии по своему желанию и усмотрению", либо "удаление или замена \"ненужных\" слов". И тут же даете ссылку на основы языка, пытаясь, возможно, указать на низкий уровень знаний. Таких мудаков как вы в интернете называют "троллями", и именно от них я стараюсь избавиться с помощью описанной системы. Надеюсь, теперь все понятно.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.