Рейтинг@Mail.ru



← Обновление файла обработки комментариев

О поиске по сайту →

О комментариях

Как работает комментирование на сайте, работающем на Almaz CMS.

За работу комментариев на сайте отвечают следующие файлы:
1. single.php - вывод существующих комментариев и форма добавления новых комментариев. Тут все понятно... Подробности не требуются.

2. comments-post.php - обрабатывает добавляемый комментарий и сохраняет его в базе комментариев.
Подробнее о его работе:
Файл comments-post.php получает данные из формы добавления комментариев и производит следующие проверки:
На правильное заполнение всех полей, в том числе корректный Email;

Нестандартная ФИЧА:
Не встречалась в других CMS.
Проверка на отправку сообщения со страницы, расположенной на этом же сервере. Сделано это в целях защиты от спама, так как применения капч я пытаюсь (пока успешно!) избежать. При попытке добавления комментария не со страницы сервера скрипта результатом будет вывод сообщения о признании его спамером, будет выведен его IP-адрес и USER-agent.
В базу ничего записано не будет;

Стандартная ФИЧА:
при правильном добавлении комментария его содержание будет записано в базу комментов, комментатор получит сообщение с текстом добавленного комментария, уведомлением о том, что этот коммент добавлен в базу и отправлен на модерацию, а также просьбой не добавлять данный комментарий повторно. Комментатору будет установлен cookie сроком на 2 минуты. С помощью установленного cookie предотвращается слишком частое комментирование и DDOS-атаки через частое добавление комментариев. В то же время нормальный человек вряд-ли тратит меньше 2 минут на прочтение поста и написание к нему комментария...

При добавлении коммента в базу админу будет выслано уведомление на Email, указанный в файле конфигурации, о добавлении комментария на сайте.
В тексте сообщения будут указаны следующие параметры:
1. На каком сайте добавлен комментарий;
2. URL комментируемой статьи;
3. Имя комментатора;
4. Текст комментария;
5. Email комментатора;
6. IP-адрес комментатора.

3. Файл базы комментариев.
Так как это единственный файл в Almaz CMS, на который требуется установка прав на запись, в целях повышения безопасности скрипта добавлена возможность для администратора сайта изменить имя и расширение файла базы комментариев на произвольное. Примеры описаны в файле конфигурации.
При изменении имени файла проверьте, что вы изменили имя файла на сервере и в конфигурационном файле!
Файл расположен в папке comments (на данную папку права на запись не требуются). В дистрибутиве этот файл называется comments.txt.

Конфигурация комментариев:
Первое: администратор сайта может через файл конфигурации - const.php - разрешить либо запретить комментарии. Строка:
define('COMMENTBLOCK', 1);        // Выводить блок комментариев на страницах статей? 0 - не выводить; 1 - выводить.
Означает, что если изменить значение COMMENTBLOCK с 1 на 0, то на страницах с одной статьей (single.php) не будет выводиться весь блок комментариев - и форма для добавления комментариев и существующие комментарии к этой статье.
define('COMMENTFILE', 'comments.txt');        //Файл, в котором будут храниться комментарии, должен существовать и быть доступным для записи.( Обычно это CMOD=666 ). Название и расширение файла тут можно изменить для безопасности, например на data.dat . Проверьте его наличие и CMOD на своем сервере!
Это указание, какой файл в папке comments является базой для сохранения комментариев.
define('RAZDELITEL', ': :');        // используется в базе статей для разделения частей данных, к примеру: заголовка статьи, текста статьи... Те же функции выполняет и в файле комментариев
Разделитель, используемый для отделения частей данных в файлах базы, используется и в постах и в комментариях.

Модерация комментариев:
О модерации комментариев на Almaz CMS следует знать следующее:
При добавлении комментария на сайте в файл базы комментариев дописывается в конец строка по такой схеме:
хххххххххххххх: :0: :имя комментатора: :Email@комментатора: :Текст комментария.: :IP_комментатора: :User-agent_комментатора
В этой схеме хххххххххххххх означает к какой статье данный комментарий, второй параметр - цифра 0 или 1 - это значение для публикации комментария. Если 0 - комментарий не публикуется, 1 - комментарий одобрен модератором и публикуется на странице статьи.
По установкам в скрипте при добавлении нового комментария этот параметр автоматически устанавливается в 0. Модератор при получении уведомления по почте о добавлении нового комментария на сайте должен скачать файл базы комментариев по FTP, и в соответствии со своим решением может либо принять данный коммент изменив значение с 0 на 1, отредактировать комментарий, либо удалить строку с комментарием, либо отложить решение, оставив данное значение в 0...
После этого надо залить измененный файл обратно на сервер.
После перезаливки проверьте права на запись у файла!

Нет времени прочесть? Поставьте закладку:

Опубликовано: 28.03.2009 10:04:55 в рубрике Новости


Комментарии:

Комментатор - Алексей:

Не могу понять, для чего вы решили создать CMS на файлах, не проще ли и целесообразнее создать её на основе базы данных типаMySql? Что вам дает такой выбор?

Ответ от разработчика:

Причины такого выбора объяснены в этой статье.

Комментатор - Elvis:

К нестандартным фичам можно добавить, чтобы коммент сразу было видно, без обновлений и переходов.
Т.е. коммент в базу отправился, но страница остаётся та же с новым комментарием.

Ответ от разработчика:

Это приведет к заспамливанию, т.к. страницу с неотмодерированным, а уже опубликованным комментом можно скормить поисковикам. А Гугл и Яндекс, насколько я знаю, видят ссылки не только прописанные через тег A, но и просто в тексте (и не только в текстах) находят УРЛы и это имеет значение для ссылочного ранжирования.
Поэтому реализовано так, что комментатор получает четкое уведомление о том, что его коммент записан, не пропадет, но ушел на модерацию. Админ сайта получает уведомление на мыло о новом комменте и идет его модерировать...

Комментатор - Guga:

Интересует 3 вещи про комментарии...
1)Почему сделан 1 файл комментариев? Ведь если много статей и комментариев, то долго будет читать...
Не лучше к каждой статье сделать свой файл с комментарием?
2) И можно ли сделать ограничение на количество отображаемых комментов на странице? Т.е. на первой странице 15 комментов, даллее следующие 15 комментов...
3) И можно ли редактор к комментариям прикрутить?

Ответ:
По пунктам.
1. Можно и так сделать, но есть ли необходимость?
а) тогда плагинам "Последние комментарии", "Топ комментируемых статей придется считывать ВСЕ файлы с базой комментов - убирая одну нагрузку, получаем две. Или эти плагины идут в топку..
б) у меня на сайтах не так уж много комментов, чтоб стояла необходимость делить их по файлам. До 2 мб файлы PHP считывает нормально - данное утверждение не тестил, встречал в каких то статьях по кодингу на PHP.
2. Это сделаю.
3. В целях безопасности изначально решил не делать. Нормальному человеку, по-моему, хватит текста. Если только смайлики добавить. Но по просьбам трудящихся можно добавить простой редактор BB-кода.

Комментатор - Guga:

По 1 пункту:
на самом деле есть решение, для плагина "Последние комментарии" сделать отдельный файл, в котором происходит автозамена строк по принципу стека...
А плагин "Топ комментируемых статей" тоже можно просто сделать в отдельных файлах-счетчиках...
Сейчас попробовал сделать для каждой статьи отдельный файл с комментариями, все получилось :)
Еще вопрос:
Откуда берется дата комментариев? что не сообразил...
Хорошо было бы если можно было задавать дату отображения комментариев...
Хотя мне и так все уже нравится :) Только пагинацию комментариев и BB-код еще хочется.

Ответ:
Для пагинации комментов можно использовать имеющуюся в движке функцию newoldnavi($lns,$cp,$page,$pagename) которой передаются четыре переменных -
$lns - разбиваемый на страницы массив (т.е. для данного случая массив строк из файла комментов);
$cp - количество единиц массива на одну страницу (т.е. по сколько комментов на странице);
$page - номер текущей страницы, для которой надо построить навигацию;
$pagename - имя php-файла, для которого строится навигация.
Функция расписана в файле funtions/func.php. Массив разбивается от последних ключей к первым, т.е. в обратном порядке, от новых к старым (поэтому и обозвал нью-олд-нави). Возвращает в виде строки div с навигацией по страницам, посмотри в функции. На ее основе работает пагинация в админке при редактировании комментов, редактировании опросов на сайте.

Дата комментов пишется в базу при добавлении комментария - смотри последнее значение в строке одного комментария.
Если хочется поправить дату коммента - в интерфейсе модерации комментариев поле даты - вверху справа.
Про отдельные файлы для плагинов - да это лучшее решение, если разбивать комменты для статей по файлам.
Пока, честно говоря, сильно занят, поэтому BB-код и смайлики отложил на будущее...

Добавить комментарий:

При добавлении комментария не должно остаться незаполненных полей.

Имя

E-mail

Комментарий:
Вводите просто текст.
Все HTML - форматирование удаляется автоматически.

← Обновление файла обработки комментариев

О поиске по сайту →


  • Скачать Almaz CMS
  • Актуальная версия - 1.2.2
  •  
  • ZIP-архив 1.25 Mб
  • Количество скачиваний: 4737
  •  
  • Скрипт бесплатный.
  • Лицензия: GNU GENERAL PUBLIC LICENSE - 2.
  •  
  • Обьявления

    • 26.09.2009

      Шаблоны к текущей версии подходят только те, которые вложены в дистрибутив. Ведутся работы над сайтом с шаблонами, адаптируются старые шаблоны под текущую версию.

    • Все обьявления
  • Темы оформления

    • Тема home

      Скачать шаблон home
    • Тема abrasive

      Скачать шаблон abrasive
    • Тема corporateoffice

      Скачать шаблон corporateoffice
    • Тема astroturfd

      Скачать шаблон astroturfd
    • Тема efflorescence

      Скачать шаблон efflorescence
    • Тема blogging

      Скачать шаблон blogging
    • Тема Christmas-2008

      Скачать шаблон Christmas-2008
    • Тема citylights

      Скачать шаблон citylights
    • Тема colorvoid-website-template

      Скачать шаблон colorvoid-website-template
    • Тема excess

      Скачать шаблон excess
    • Тема hexahedron

      Скачать шаблон hexahedron
    Здесь далеко не полный выбор шаблонов. Все имеющиеся шаблоны для Almaz CMS смотрите на этом сайте.
  •  
  •  
  • Ответьте на вопрос

    • Чего не хватает у движка?

  • Валидация

    • Valid XHTML 1.1
      Valid CSS!
      Site Feed is Valid XML!