
Плагин «Социальные комментарии»
Версия 1.0.7 |
Совместимость: 1.0.3
Добавлен: 25 октября 2013 | Обновлен: 10 сентября 2014
Скачан 2191 раз
Добавлен: 25 октября 2013 | Обновлен: 10 сентября 2014
Скачан 2191 раз
Описание
Позволяет посетителям оставлять комментарии, используя аккаунты социальных сетей, и гостевые комментарии без регистрации.
Поддерживается авторизация из социальных сетей Вконтакте, Facebook и Mail.ru (для корректной работы необходимо получение идентификаторов для сайта).
Основан на плагинах:
1) "OpenComments" (автор: flexbyte, модификации: iMind);
2) "Social Comments" (автор: 4ever4you)
Работоспособность проверена:
— на шаблонах «Synio» и «Developer»;
— с плагинами «EditComment», «Starrating», «Цитирование комментариев»;
— плагин «Reposter» требует небольшой модификации.
Тестовый сайт: ls.wasja.info/
GitHub: github.com/wasja1982/livestreet_newsocialcomments
Обсуждение плагина здесь.
Известные проблемы
1. Если при добавлении комментариев с авторизацией через социальную сеть плагин возвращает ошибку «Ошибка авторизации в социальной сети», а с добавлением гостевых комментариев проблем нет, то вероятно на хостинге установлено ограничение «allow_url_fopen» для PHP в false. В результате функция «file_get_contents» не может считать информацию с сервера соцсети.
Решение:
- Разрешить «allow_url_fopen».
- Отключить дополнительную защиту от подмены данных на клиенте — установить параметр $config['use_server_check'] равным false.
Fatal error: Call to a member function getUserId() on a non-object in /var/sites/site.ru/plugins/reposter/classes/hooks/HooksReposter.class.php on line 109
Это вызвано попыткой обратиться к несуществующему пользователю.
Решение: добавить в файле "/plugins/reposter/classes/hooks/HooksReposter.class.php" после строки
public function ExportComments( $aVars){
следующий код
/////////////////////////////////////////////////////////////////////////////// // Для совместимости с New Social Comments /////////////////////////////////////////////////////////////////////////////// if (!$this->User_IsAuthorization()) { return; } ///////////////////////////////////////////////////////////////////////////////
3. Окно авторизации в соцсети не открывается или открывается и сразу закрывается. Такая проблема может наблюдаться при использовании блокировщиков рекламы.
Решение: просить разработчиков блокировщиков исправить некорректные правила для блокировки.
Настройка
Настройка плагина осуществляется редактированием файла "/plugins/newsocialcomments/config/config.php".
Поддерживаемые директивы:
1) $config['enabled'] — Позволяет отключать добавление гостевых комментариев без деактивации плагина. При отключенном плагине вместо имени гостя будет отображаться guest. По умолчанию включено (true).
2) $config['ask_mail'] — Запрашивать e-mail для гостевых комментариев. По умолчанию включено (true).
3) $config['use_mail_check'] — Проверять существование сервера почты для e-mail гостя (требует PHP 5.3.0 и выше при работе сервера под Windows). По умолчанию включено (true).
4) $config['use_fb_api'] — Разрешить авторизацию через Facebook. По умолчанию разрешено (true).
5) $config['fb_id'] — Идентификатор приложения для Facebook. Уникальный идентификатор для своего сайта необходимо получить по ссылке developers.facebook.com/apps/?action=create
6) $config['fb_secret'] — Секретный ключ приложения для Facebook. Получается одновременно с идентификатором приложения.
7) $config['use_vk_api'] — Разрешить авторизацию через Вконтакте. По умолчанию разрешено (true).
8) $config['vk_id'] — Идентификатор приложения для Вконтакте. Уникальный идентификатор для своего сайта необходимо получить по ссылке vk.com/editapp?act=create
9) $config['vk_secret'] — Секретный ключ приложения для Вконтакте. Получается одновременно с идентификатором приложения.
10) $config['use_mr_api'] — Разрешить авторизацию через Mail.ru. По умолчанию разрешено (true).
11) $config['mr_id'] — Идентификатор приложения для Mail.ru. Уникальный идентификатор для своего сайта необходимо получить по ссылке api.mail.ru/sites/my/add/
12) $config['mr_private'] — Приватный ключ приложения для Mail.ru. Получается одновременно с идентификатором приложения.
13) $config['mr_secret'] — Секретный ключ приложения для Mail.ru. Получается одновременно с идентификатором приложения.
14) $config['use_server_check'] — Дополнительная защита от подмены данных на клиенте — запрашиваются информация о пользователе напрямую в соцсети. Замедляет скорость добавления комментариев из-за выполнения запросов к серверам социальных сетей. По умолчанию включена (true).
15) $config['use_auto_login'] — Автоматическая проверка авторизации при загрузке страницы. По умолчанию включена (true).
16) $config['show_icon'] — Загружать JS-скрипт, отображающий иконки соцсетей возле имени автора комментария.
Вместо данного скрипта рекомендуется использовать изменение шаблона. По умолчанию разрешено (true).
17) $config['use_small_icon'] — Размер иконок для логина — 16px (true) или 24px (false). По умолчанию 16px (true).
18) $config['use_parser'] — Использовать стандартный парсер для обработки комментариев (разрешает вставлять видео и т.п.). Потенциально может снизить безопасность сайта. По умолчанию отключено (false).
19) $config['add_field'] — Добавлять в форму дополнительное поле для борьбы со спамом. По умолчанию разрешено (true).
20) $config['field_name'] — Название дополнительного поля для борьбы со спамом.
Установка
1. Скопировать плагин в каталог /plugins/
2. Через панель управления плагинами (/admin/plugins/) запустить его активацию.
3. Активация будет успешной если пользователя с ID = 0 не существует в базе (см. prefix_user).
В противном случае, надо выполнить вручную след. SQL запрос:
ALTER TABLE `prefix_comment` ADD `guest_name` VARCHAR( 150 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , ADD `guest_email` VARCHAR( 150 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, ADD `guest_extra` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL
Список версий с изменениями
-
1.0.7
9 сентября 2014 -
— Добавлена поддержка возможности замены капчи с помощью хуков:
блочный хук «template_block_newsocialcomments_captcha» — для замены блока вывода капчи;
хук «newsocialcomments_captcha_check» — переопределение проверки капчи (результат возвращается в параметре 'bCaptchaCheck');
блочный хук «template_block_newsocialcomments_captcha_reload» — для замены блока JS-функции обновления капчи.
— Добавлено автоматическое обновление капчи при ответе на комментарий и цитировании комментария.
— Добавлен параметр $config['add_field'] — Добавлять в форму дополнительное поле для борьбы со спамом.
— Добавлен параметр $config['field_name'] — Название дополнительного поля для борьбы со спамом.
— Добавлен параметр $config['use_mail_check'] — Проверять существование сервера почты для e-mail гостя.
-
1.0.6
30 апреля 2014 -
— Добавлен параметр $config['use_parser'] — Использовать стандартный парсер для обработки комментариев (разрешает вставлять видео и т.п.).
— Рефакторинг кода JS скрипта.
— Исправлена ошибка с авторизацией в Mail.ru.
— Исправлена ошибка с отображением панели авторизации в шаблоне.
— Добавлена поддержка плагина «Цитирование комментариев».
-
1.0.5
8 декабря 2013 -
— Добавлен параметр $config['use_small_icon'] для выбора размера иконок — 16px (true) или 24px (false).
— Добавлена поддержка мобильного шаблона.
— Исправление ошибки с формированием поля «ссылка на профиль».
-
1.0.4
24 ноября 2013 -
— Добавлен параметр $config['show_icon'].
— Исправлена ошибка с формированием ссылки на профиль автора у гостевого комментария.
— Исправлено отображение информации об авторах комментариев в «Активности».
— Исправлена ошибка с валидацией e-mail при регистрации пользователей.
-
1.0.3
12 ноября 2013 -
Изменения:
1.0.3 (10.11.2013):
— Работа плагина переделана на использование хуков вместо делегации файлов шаблона.
1.0.2 (31.10.2013):
— Добавлена поддержка авторизации Mail.ru.
— Усилена защита от подмены данных на клиенте (запрос информации о пользователе осуществляется серверной частью).
1.0.1 (27.10.2013):
— Исправлены файлы шаблона.
— Исправлены неточности работы JS-скрипта.
— Добавлена защита от подмены данных на клиенте (проверка авторизации в социальной сети).