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 :: Система редактирования Википедии

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Toxa
Отправлено: 13 Января, 2011 - 00:36:18
Post Id



Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008  


Помог: 8 раз(а)

[+]


Всем привет! Я как всегда ищу все возможные способы освободить себя от лишних обязанностей, и на данный момент решил сбросить бремя модерации.

Суть в том, что есть некий сайт, на котором появляется порядка сотни комментариев к различным статьям. Одному человеку отслеживать это довольно сложно, и потому я решил многих авторитетных пользователей сделать модераторами. Тем не менее доверия ни к кому нет, поэтому надо огородиться от "внезапного" удаления/редактирования всех комментов на сайте.

Думаю задача ясна. Итак, представим. Есть таблица всех комментариев.
CODE (SQL):
скопировать код в буфер обмена
  1. CREATE TABLE  `database`.`comments` (
  2. `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  3. `user_id` INT UNSIGNED NOT NULL ,
  4. `topic_id` INT UNSIGNED NOT NULL ,
  5. `date` DATETIME NOT NULL ,
  6. `text` TEXT NOT NULL ,
  7. `deleted` BOOL NULL
  8. ) ENGINE = MYISAM ;


Способ №1
Добавляем в таблицу еще одно поле, отвечающее за актуальность комментария.
При редактировании комментария вместо изменения нужной записи добавляем в таблицу новую, а старую делаем неактуальной.
плюсы:
минусы: размер таблицы возрастает на порядок, что уменьшает скорость выборки

Способ №2
Создаем еще одну таблицу "edited_comments" с аналогичной структурой и, перед изменением записи основной таблицы, копируем предыдущий вариант в своеобразное хранилище неактуальных версий комментариев.
плюсы: снижается нагрузка на бд при выборке из основной таблицы
минусы: создание лишней таблицы

Какой способ выберите вы? Я больше склоняюсь ко второму. Может у кого-то есть более универсальный вариант? Я с удовольствием готов это обсудить!


-----
Удобный сервис для хранения файлов
 
 Top
grefon
Отправлено: 13 Января, 2011 - 00:46:42
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010  


Помог: 32 раз(а)




У меня была подобная ситуация. Все решилось созданием дополнительной таблицы. Как по-мне так скорость работы будет выше, и если что нужно подправить - так удобней.


-----
____________________________________________________________________
Ну как то так, наверное.
http://grefon[dot]com
 
 Top
OrmaJever Модератор
Отправлено: 13 Января, 2011 - 00:49:14
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Если по 100 коментариев за короткий срок то 2 способ не подойдёт.
Можно просто создать отдельное поле в таблице с коментариями в которое писать 1,2,3 (например)
1 - это сообщение есть но не проверено модератором и не выводится
2 - это сообщения которые проверили модераторы и они выводятся.
3 - сообщение удалено модератором
И когда модератор удаляет сообщение оно на самом деле не удаляется а просто ставится 3.
Затем в админке зделать вывод сообщений с меткой 3 и смотреть если сообщение удалено неверно то меняем флаг на 2. Затем проверил все сообщения и удалил все с флагом 3


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
grefon
Отправлено: 13 Января, 2011 - 01:01:39
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010  


Помог: 32 раз(а)




Это самый оптимальный вариант, но только когда нужно менять только статус комментария! В моем случае в задачу модераторов входило не только проверять и одобрять сообщения, но и менять их содержание по необходимости. А тут дополнительным полем не обойтись, нужна целая таблица.


-----
____________________________________________________________________
Ну как то так, наверное.
http://grefon[dot]com
 
 Top
OrmaJever Модератор
Отправлено: 13 Января, 2011 - 02:09:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




grefon а толку с коментария если его изменили? Либо нужо формлять коментарий в оригинале либо удалять!


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Toxa
Отправлено: 13 Января, 2011 - 10:05:50
Post Id



Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008  


Помог: 8 раз(а)

[+]


спасибо всем участникам обсуждения! OrmaJever, ваш способ не плох, но в нем есть один минус. Что делать в том случае, если злой модератор напишет скрипт, который отредактирует ВСЕ комментарии и заменит их текст, скажем, одним нецензурным словом. Флаг тут уже не поможет, поэтому надо сохранять все версии комментариев я считаю.

З.Ы. на фоне открыт сайт http://gugo.com.ua/, музыка просто убойна! Подмигивание


-----
Удобный сервис для хранения файлов
 
 Top
OrmaJever Модератор
Отправлено: 13 Января, 2011 - 13:07:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Toxa пишет:
Что делать в том случае, если злой модератор напишет скрипт

А у них ещё идоступ к серверу есть? А?! Дак тогда модератор может написать скрипт котрый удалит все с таблицы.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Toxa
Отправлено: 13 Января, 2011 - 14:13:35
Post Id



Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008  


Помог: 8 раз(а)

[+]


нет, доступа к серверу ни у кого нет, я имею ввиду автоматизацию действий с помощью, скажем, curl. Быстро и просто отредактировать(удалить) все сообщения, ну вы поняли.


-----
Удобный сервис для хранения файлов
 
 Top
OrmaJever Модератор
Отправлено: 13 Января, 2011 - 14:29:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




А зачем разрешать редактировать коментарий? просто выводится тект коментария и 2 кнопки "Принять" и "Удалить".


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Toxa
Отправлено: 13 Января, 2011 - 14:34:09
Post Id



Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008  


Помог: 8 раз(а)

[+]


нужно внести некоторую ясность
    1) Комментарии пользователей добавляются сразу, без премодерации
    2) После добавления комментария у пользователя остается возможность редактирования
    3) Вследствии п.2 ту же возможность приходится давать и модераторам
    4) Модераторам тоже до конца доверять нельзя, поэтому приходится извращаться Улыбка


-----
Удобный сервис для хранения файлов
 
 Top
Itan
Отправлено: 13 Января, 2011 - 15:00:41
Post Id


Частый гость


Покинул форум
Сообщений всего: 199
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Если модераторы будут редактировать комментарии по своему желанию и усмотрению, то это уже не будут авторские комментарии. Если вы под "редактированием" понимаете "удаление или замена "ненужных" слов", то полистайте функции из раздела "Функции обработки строк" хотя бы.
 
 Top
OrmaJever Модератор
Отправлено: 13 Января, 2011 - 15:04:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Toxa пишет:
1) Комментарии пользователей добавляются сразу, без премодерации
2) После добавления комментария у пользователя остается возможность редактирования
3) Вследствии п.2 ту же возможность приходится давать и модераторам
4) Модераторам тоже до конца доверять нельзя, поэтому приходится извращаться

а ну дак это меняет суть дела! Я думал коментарии как в wp


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Toxa
Отправлено: 13 Января, 2011 - 15:21:38
Post Id



Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008  


Помог: 8 раз(а)

[+]


Itan пишет:
Если модераторы будут редактировать комментарии по своему желанию и усмотрению, то это уже не будут авторские комментарии. Если вы под "редактированием" понимаете "удаление или замена "ненужных" слов", то полистайте функции из раздела "Функции обработки строк" хотя бы.


Из крайности в крайность. То есть по-вашему можно либо "редактировать комментарии по своему желанию и усмотрению", либо "удаление или замена \"ненужных\" слов". И тут же даете ссылку на основы языка, пытаясь, возможно, указать на низкий уровень знаний. Таких мудаков как вы в интернете называют "троллями", и именно от них я стараюсь избавиться с помощью описанной системы. Надеюсь, теперь все понятно.


-----
Удобный сервис для хранения файлов
 
 Top
OrmaJever Модератор
Отправлено: 13 Января, 2011 - 15:28:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Toxa пишет:
То есть по-вашему можно либо "редактировать комментарии по своему желанию и усмотрению", либо "удаление или замена \"ненужных\" слов".

Коментарий это авторское мнение, м например мне было бы не очень приятно чтобы его меняли. А фильтр слов нужно делать полюбому темболее что
Цитата:
1) Комментарии пользователей добавляются сразу, без премодерации


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB