';
- $foundImgs.each(function(index) {
- var imgSrc = $(this).attr('src');
- if (!imgSrc) return;
+ $foundItems.each(function(index) {
+ var $item = $(this);
+ var $link = $item.find('a');
+ var fileUrl = $link.attr('href');
+ if (!fileUrl) return;
+
+ var fileName = fileUrl.split('/').pop();
+ var fileExt = fileName.split('.').pop().toLowerCase();
+ var isImg = ['jpg', 'jpeg', 'png', 'gif', 'webp'].includes(fileExt);
+
+ // Используем твой же стиль превью
+ var previewContent = isImg
+ ? ``
+ : `
${fileExt}
`;
- // Извлекаем имя файла из пути для передачи на сервер
- var fileName = imgSrc.split('/').pop();
-
existingImagesHtml += `
-
+ ${previewContent}
`;
});
@@ -566,7 +572,7 @@ var editHtml = `
-
+
@@ -577,9 +583,14 @@ var editHtml = `
`;
- $textBlock.hide();
- $attachedImagesBlock.hide();
- $foundImgs.hide();
+// Прячем текст комментария
+$textBlock.hide();
+
+// Прячем ВЕСЬ контейнер с оригиналами (и картинки, и упрямый ZIP)
+$('#image_container_' + cid).attr('style', 'display: none !important;');
+
+// Для надежности скрываем всё остальное
+$wrapper.find('.mod_comment_attached_images, .comment-files').hide();
$textBlock.after(editHtml);
@@ -592,14 +603,10 @@ $('#new_file_' + cid).on('change', function() {
var files = this.files;
var $input = $(this);
var $currentEditForm = $input.closest('.edit-form-container');
-
- // ИЩЕМ ТОЛЬКО ПО КЛАССУ ОТНОСИТЕЛЬНО ИНПУТА
- var $errorDisplay = $input.prev('.js-file-error');
-
+ var $errorDisplay = $currentEditForm.find('.js-file-error');
var maxLimit = parseInt(typeof MAX_FILES_COUNT !== 'undefined' ? MAX_FILES_COUNT : 5);
if (files) {
- // Очищаем при каждом новом выборе
$errorDisplay.text('').hide();
$.each(files, function(i, file) {
@@ -607,17 +614,17 @@ $('#new_file_' + cid).on('change', function() {
var inPending = pendingFiles.filter(f => f !== null).length;
if ((alreadyInPost + inPending) >= maxLimit) {
- // ВЫВОДИМ ТЕКСТ
- $errorDisplay.text(' Лимит: ' + maxLimit + ' шт. Лишние файлы проигнорированы.').show();
-
- $input.val('');
+ $errorDisplay.text(' Лимит: ' + maxLimit + ' шт.').show();
return false;
}
- if (!file.type.match('image.*')) return true;
+ // ПРОВЕРКА ЧЕРЕЗ ФУНКЦИЮ (она теперь берет ALLOWED_EXTENSIONS)
+ if (!checkFileConsistency(file, $errorDisplay)) return true;
pendingFiles.push(file);
var currentIndex = pendingFiles.length - 1;
+ var fileExt = file.name.split('.').pop().toLowerCase();
+ var isImage = ['jpg', 'jpeg', 'png', 'gif', 'webp'].includes(fileExt);
var reader = new FileReader();
reader.onload = function(e) {
@@ -626,15 +633,23 @@ $('#new_file_' + cid).on('change', function() {
$input.after(``);
$previewContainer = $('#new_files_preview_' + cid);
}
+
+ var content = isImage
+ ? ``
+ : `
${fileExt}
`;
+
$previewContainer.append(`
-
+ ${content}
`);
};
- reader.readAsDataURL(file);
+
+ if (isImage) reader.readAsDataURL(file);
+ else reader.onload({target: {result: ''}});
});
}
});
@@ -730,18 +745,23 @@ $doc.on('change', 'input[id^="new_file_"]', function() {
// Обработка кнопки "Отмена" при редактировании
$doc.on('click', '.cancelButton', function() {
var $container = $(this).closest('.edit-form-container');
- // Находим главную обертку этого конкретного комментария
var $wrapper = $container.closest('[id^="comment_wrapper_"]');
+ var cid = $container.data('cid'); // Берем ID для обращения к контейнеру файлов
// 1. Возвращаем текст
$wrapper.find('.mod_comment_text').show();
// 2. Возвращаем оригинальный блок с картинками
- // Ищем все возможные варианты названий блоков, которые мы скрывали
- $wrapper.find('.mod_comment_attached_image, .comment-files, .attached-images').show();
+ // СНАЧАЛА ЧИСТИМ ИНЛАЙН СТИЛЬ (тот самый !important)
+ $('#image_container_' + cid).attr('style', '');
+
+ // Затем стандартный показ
+ $wrapper.find('.mod_comment_attached_image, .mod_comment_attached_images, .comment-files, .attached-images').show();
// 3. Если мы скрывали изображения напрямую через $foundImgs.hide(), показываем их
$wrapper.find('img').show();
+ // И ссылки (наш ZIP) тоже на всякий случай
+ $wrapper.find('a').show();
// 4. Удаляем форму редактирования
$container.remove();
@@ -837,19 +857,28 @@ $doc.off('change', '#comment_image').on('change', '#comment_image', function() {
var currentIndex = newCommentPendingFiles.length - 1;
var reader = new FileReader();
- reader.onload = function(e) {
- if ($previewWrapper.find(`[data-index="${currentIndex}"]`).length > 0) return;
+reader.onload = function(e) {
+ if ($previewWrapper.find(`[data-index="${currentIndex}"]`).length > 0) return;
- $previewWrapper.removeClass('d-none');
- $previewWrapper.append(`
-
-
-
-
`);
- };
+ // Определяем, что вставить: картинку или заглушку с текстом расширения
+ var fileExt = file.name.split('.').pop().toLowerCase();
+ var isImage = ['jpg', 'jpeg', 'png', 'gif', 'webp'].includes(fileExt);
+
+ // Формируем контент: либо твой оригинальный img, либо блок с расширением
+ var content = isImage
+ ? ``
+ : `