@@ -324,7 +330,7 @@
${starsEditBlock}
${currentImg ? `
@@ -355,8 +361,13 @@
}
fd.append('delete_image', $('#del_img_' + cid).is(':checked') ? 1 : 0);
- var file = $('#new_file_' + cid)[0].files[0];
- if (file) fd.append('comment_image', file);
+
+ // Проверяем наличие инпута перед попыткой чтения файла
+ var fileInput = $('#new_file_' + cid);
+ if (fileInput.length) {
+ var file = fileInput[0].files[0];
+ if (file) fd.append('comment_image', file);
+ }
$.ajax({
url: aveabspath + 'index.php?ajax=1',
diff --git a/sql.php b/sql.php
index c4c6e68..4dbb745 100644
--- a/sql.php
+++ b/sql.php
@@ -6,7 +6,8 @@
* Обновленная структура с поддержкой выбора типа рейтинга (звезды/лайки),
* идентификации анонимных пользователей, загрузки файлов и защиты по IP.
* Добавлена поддержка "Авторских звезд" (user_rating) и настройки их отображения.
- * ДОБАВЛЕНО: Настройка разрешения голосования для анонимов и выставления ими звезд.
+ * ДОБАВЛЕНО: Настройка разрешения голосования для анонимов, выставления ими звезд
+ * и ПРАВА НА ЗАГРУЗКУ ИЗОБРАЖЕНИЙ ДЛЯ АНОНИМОВ.
*/
$module_sql_install = array();
@@ -40,8 +41,9 @@ $module_sql_install[] = "CREATE TABLE `%%PRFX%%_module_comments` (
`comment_file_max_size` int(10) NOT NULL default '2048',
`comment_rating_type` tinyint(1) NOT NULL default '0', /* 0 - звезды, 1 - лайки, 2 - выключен */
`comment_show_user_rating` tinyint(1) NOT NULL default '0', /* ВКЛ/ВЫКЛ авторских звезд */
- `comment_rating_anon_vote` tinyint(1) NOT NULL default '0', /* РАЗРЕШИТЬ АНОНИМАМ ГОЛОСОВАТЬ (лайк/дизлайк) */
- `comment_rating_anon_set` tinyint(1) NOT NULL default '0', /* РАЗРЕШИТЬ АНОНИМАМ СТАВИТЬ ЗВЕЗДЫ ПРИ СОЗДАНИИ */
+ `comment_rating_anon_vote` tinyint(1) NOT NULL default '0', /* РАЗРЕШИТЬ АНОНИМАМ ГОЛОСОВАТЬ */
+ `comment_rating_anon_set` tinyint(1) NOT NULL default '0', /* РАЗРЕШИТЬ АНОНИМАМ СТАВИТЬ ЗВЕЗДЫ */
+ `comment_allow_files_anon` tinyint(1) NOT NULL default '0', /* РАЗРЕШИТЬ АНОНИМАМ ЗАГРУЖАТЬ ФАЙЛЫ */
PRIMARY KEY (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;";
@@ -88,8 +90,8 @@ $module_sql_install[] = "CREATE TABLE `%%PRFX%%_module_comment_votes` (
KEY `remote_addr` (`remote_addr`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;";
-/* Настройки по умолчанию (добавлен еще один 0 в конце для comment_rating_anon_set) */
-$module_sql_install[] = "INSERT INTO `%%PRFX%%_module_comments` VALUES (1, 1000, '1,3', '1,2,3,4', '0', '1', '1' , '0', '', 1, 0, '', 1, 0, '', 0, 2048, 0, 1, 0, 0);";
+/* Настройки по умолчанию (добавлен 0 для comment_allow_files_anon в конце) */
+$module_sql_install[] = "INSERT INTO `%%PRFX%%_module_comments` VALUES (1, 1000, '1,3', '1,2,3,4', '0', '1', '1' , '0', '', 1, 0, '', 1, 0, '', 0, 2048, 0, 1, 0, 0, 0);";
// =================================================================================
// 2. ОБНОВЛЕНИЕ МОДУЛЯ (ALTER TABLE)
@@ -105,11 +107,12 @@ $module_sql_update[] = "
LIMIT 1;
";
-/* Добавляем настройки рейтинга в таблицу конфигурации */
+/* Добавляем настройки рейтинга и файлов в таблицу конфигурации */
$module_sql_update[] = "ALTER TABLE `%%PRFX%%_module_comments` ADD COLUMN IF NOT EXISTS `comment_rating_type` TINYINT(1) NOT NULL DEFAULT '0';";
$module_sql_update[] = "ALTER TABLE `%%PRFX%%_module_comments` ADD COLUMN IF NOT EXISTS `comment_show_user_rating` TINYINT(1) NOT NULL DEFAULT '0';";
$module_sql_update[] = "ALTER TABLE `%%PRFX%%_module_comments` ADD COLUMN IF NOT EXISTS `comment_rating_anon_vote` TINYINT(1) NOT NULL DEFAULT '0';";
$module_sql_update[] = "ALTER TABLE `%%PRFX%%_module_comments` ADD COLUMN IF NOT EXISTS `comment_rating_anon_set` TINYINT(1) NOT NULL DEFAULT '0';";
+$module_sql_update[] = "ALTER TABLE `%%PRFX%%_module_comments` ADD COLUMN IF NOT EXISTS `comment_allow_files_anon` TINYINT(1) NOT NULL DEFAULT '0';";
/* Добавляем поля для оценки и голосования в таблицу инфо */
$module_sql_update[] = "ALTER TABLE `%%PRFX%%_module_comment_info` ADD COLUMN IF NOT EXISTS `user_rating` TINYINT(1) NOT NULL DEFAULT '0' AFTER `comment_file`;";
diff --git a/templates/admin_settings.tpl b/templates/admin_settings.tpl
index db489d0..ce60eda 100644
--- a/templates/admin_settings.tpl
+++ b/templates/admin_settings.tpl
@@ -166,13 +166,18 @@
| Разрешить загрузку фото: |
-
-
- (позволяет прикреплять изображения к комментариям)
+ |
+
|
- Папка для хранения: |
+ Права на загрузку изображений: |
- /uploads/comments/
+
|
diff --git a/templates/comments_tree.tpl b/templates/comments_tree.tpl
index 828263e..e7d2d8a 100644
--- a/templates/comments_tree.tpl
+++ b/templates/comments_tree.tpl
@@ -155,23 +155,26 @@
{* Блок загрузки изображения *}
{if $comment_allow_files == 1}
-
-
-
-
-
- {* Контейнер для превью *}
-
-

-
+ {* ПРОВЕРКА: Разрешено ли текущему пользователю загружать файлы *}
+ {if $smarty.session.user_group != '2' || $comment_allow_files_anon == 1}
+
+
+
+
+
+ {* Контейнер для превью *}
+
+

+
+
+
-
-
+ {/if}
{/if}
{* CAPTCHA *}
@@ -278,6 +281,8 @@
// Глобальная переменная для JS
var SHOW_USER_RATING = '{$comment_show_user_rating|default:0}';
var RATING_ANON_SET = '{$comment_rating_anon_set|default:0}';
+ // ДОБАВЛЕНО: Настройка прав на загрузку для JS
+ var ALLOW_FILES_ANON = '{$comment_allow_files_anon|default:0}';