RPGArea.ru 2.0 Переделка нам предстоит немалая, а потому править и дописывать ТЗ будем по ходу дела. Терминология: 1. Материалы – новости, статьи, картинки, файлы, карточки игры. 2. Заявка на редактирование/удаление материала – специальное уведомление на e-mail, содержащее ссылку на материал, который подлежит редактированию или удалению. А также причину, по которой это должно быть сделано, и правки, которые нужно внести (в случае редактирования). Может быть адресовано одному, двум или трём редакторам одновременно. Добавление материалов. 1. Гость становится «Посетителем» после регистрации. 2. Посетители сайта могут добавлять новости, статьи, изображения в галерею, файлы в файловый архив, новые карточки игр. 3. Посетители могут редактировать свои материалы только до отправки на сайт с помощью функции «Предварительный просмотр». 4. Все материалы посетителей изначально отключены и имеют статус «Ожидают модерации». 5. Если пользователь хочет внести коррективы в уже имеющийся материал, он должен отправить заявку на редактору. С помощью функции «Сообщить об ошибке» 6. Редактор сайта просматривает новый материал. После проверки он может: a. принять материал «как есть»; b. отредактировать, а затем принять; c. удалить материал. 7. Редакторы и Администраторы сайта всегда видят функции "Редактировать", "Удалить". 8. Авторы материалов указывают: a. Название материала b. Игру, к которой относится (из списка) c. Добавляют сам материал (ссылку для аплода или заполняют необходимые поля) d. Указывают авторский это или заимствованный материал, если заимствованный, то указывается ссылка на первоисточник (внутри материала выглядит как кликабельная ссылка шрифтом меньше основного, заключёная в тэг <noindex> и параметром target="_blank") e. Вводят антиспамовый код Заявка на удаление/редактирование: 1. Каждый материал (в том числе окно скриншота) содержит кнопку "Сообщить об ошибке" 2. В окне заявки пользователь должен заполнить такие поля: a. адресата заявки (редактора) с помощью функции "Добавить адресата" (в появившемся меню отметить галочками адресатов – не более трёх) b. причину удаления/внесения изменений (нарушение авторских прав, спам, ненорматив, ошибки форматирования, грамматические ошибки, фактические ошибки); c. более подробное описание ошибки; d. Антиспамовый код. 3. В e-mail автоматически добавляется класс (новость, статья, картинка, файл, карточка игры), название материала и ссылка на него. Модерация (аппрув) материалов. 1. Все новые материалы добавляются в раздел сайта видимый только редакторам и администраторам – ожидающие материалы. 2. Ожидающие материалы разделены на категории: новости, статьи, картинки, файлы, карточки игр. 3. Действия с материалами: подтвердить, редактировать, удалить. 4. При добавлении указывается время и дата аппрува, а не времени добавления материала пользователем. 5. В материале также указывается ник автора материала. CREATE TABLE `spnuke_gallery_modrequest` ( `id` int(11) NOT NULL auto_increment, `cid` int(11) NOT NULL default '0', `name` varchar(255) NOT NULL default '', `filename` varchar(255) NOT NULL default '', `view` int(11) NOT NULL default '0', `thumb` int(1) NOT NULL default '0', `active` int(1) NOT NULL default '0', `time` datetime default NULL, `size` varchar(255) NOT NULL default '', `resol` varchar(255) NOT NULL default '', `username` varchar(50) NOT NULL default '', `for_id` int(11) NOT NULL default '0', `gid` int(10) NOT NULL default '0', PRIMARY KEY (`id`), KEY `id` (`id`) ) TYPE=MyISAM DEFAULT CHARSET=cp1251; CREATE TABLE `spnuke_news_mod` ( `sid_mod` int( 11 ) NOT NULL AUTO_INCREMENT , `title` varchar( 80 ) NOT NULL default '', `time` varchar( 19 ) NOT NULL default '', `hometext` text NOT NULL , `bodytext` text NOT NULL , `gid` int( 10 ) NOT NULL default '0', `source` varchar(255) NOT NULL default '', `for_id` int( 11 ) NOT NULL default '0', PRIMARY KEY ( `sid_mod` ) , KEY `sid_mod` ( `sid_mod` ) ) TYPE = MYISAM DEFAULT CHARSET=cp1251; ALTER TABLE `spnuke_news` DROP `comments` , DROP `acomm`; ALTER TABLE `spnuke_autonews` DROP `acomm`; ALTER TABLE `spnuke_articles` DROP `artcomm` , DROP `numcomments` ; ALTER TABLE `spnuke_articles` ADD `aut_name` VARCHAR( 255 ) NOT NULL ; ALTER TABLE `spnuke_news` ADD `for_id` INT( 11 ) NOT NULL AFTER `informant` ; ALTER TABLE `spnuke_news` ADD INDEX ( `for_id` ); ALTER TABLE `spnuke_news` ADD `source` VARCHAR( 255 ) NOT NULL AFTER `for_id` ; ALTER TABLE `spnuke_autonews` ADD `for_id` INT( 11 ) NOT NULL ;