Поставил компонент com_jcomments_v3.0.0 на Joomla 3.2.2, в CMS установлены два языка, русский и английский. В компоненте, в разделе Настройки -> Права в фильтре языков выбираю Русский, т.к. вариант для всех языков не работает. В Русской версии права вообще не заданы. Хорошо, выставил права, аналогично тому, как они для всех языков выставлены по умолчанию. Права выставил для Public и Guest, сохранилось всё правильно, но в дальнейшем решили отказаться от функции "Защита от спамботов (CAPTCHA)". Проблема в том, что в Public сохраняются изменения, а в Guest нет, как стояла галочка на "Защита от спамботов (CAPTCHA)", так и стоит, не сохраняется, хотя другие функции можно включить и выключить. Как отключить данную функцию?
Убрали все галочки в правах у Guest, сохранили, в итоге функции Автопубликация, Защита от спамботов (CAPTCHA), Сообщить модератору остались включёнными. Повторно убрали галочки и сохранили, не помогает, галочки остаются.
Оказалось, что у всех пользователей проблемы с правами. У Public группы аналогичные проблемы, выставили права, сохранили, потом попробовали удалить все галочки и сохранить, так там другие функции не отключаются:
Защита от флуда
Ограничивать длину сообщения
Подписаться на уведомления о новых комментариях
Оценка комментариев
Тег QUOTE (цитата)
Защита E-mail от спамботов
Нашёл в другой ветке решение:
Это следствие ошибки. Исправление будет выпущено на этой неделе (обещание от ноября, но в файлах исправления так и нет, надо исправлять вручную). Быстрое решение:
1. Открыть файл /administrator/components/com_jocomments/models/settings.php
2. Найти строчку:
Код
if (is_array($data)) {
добавить после нее:
Код
$config = JCommentsFactory::getConfig();
JForm::addFormPath(JPATH_COMPONENT . '/models/forms');
JForm::addFieldPath(JPATH_COMPONENT . '/models/fields');
$form = JForm::getInstance('jcomments.permissions', 'permissions', array('control' => ''), false, '/permissions');
foreach ($form->getFieldsets() as $fieldset) {
foreach ($form->getFieldset($fieldset->name) as $field) {
$key = $field->fieldname;
if (!isset($data[$key])) {
$data[$key] = '';
}
}
}
$form = JForm::getInstance('jcomments.settings', 'settings', array('control' => ''), false);
foreach ($form->getFieldsets() as $fieldset) {
foreach ($form->getFieldset($fieldset->name) as $field) {
$key = $field->fieldname;
if (!isset($data[$key])) {
$data[$key] = '';
}
}
}