diff --git a/class/comment.php b/class/comment.php index 5360040..2c0c7c7 100644 --- a/class/comment.php +++ b/class/comment.php @@ -655,7 +655,20 @@ $is_dangerous = in_array($ext, ['php', 'php3', 'php4', 'php5', 'phtml', 'exe', // Условие: расширение разрешено, файл не опасен и проходит по размеру if ($is_allowed_ext && !$is_dangerous && $file['size'] > 0 && $file['size'] <= $max_file_size_bytes) { - $new_name = time() . '_' . rand(100, 999) . '.' . $ext; + // 1. Берем имя + $original_basename = pathinfo($file['name'], PATHINFO_FILENAME); + + // 2. Очищаем (БЕЗ $this->, просто вызываем функцию) + $clean_name = prepare_fname($original_basename); + + // 3. Если пусто - дефолт + if (empty($clean_name)) { + $clean_name = 'file'; + } + + // 4. Собираем имя + $new_name = $clean_name . '_' . time() . '.' . $ext; + if (move_uploaded_file($file['tmp_name'], $upload_path . $new_name)) { $uploaded_files[] = $new_name; $processed_hashes[] = $file_hash; @@ -860,7 +873,26 @@ function commentPostEdit($comment_id) { if (!is_dir($upload_dir)) @mkdir($upload_dir, 0775, true); - $new_file_name = 'comm_' . time() . '_' . rand(1000, 9999) . '.' . $file_ext; + // --- НАЧАЛО ИЗМЕНЕНИЙ --- + + // 1. Получаем оригинальное имя файла без расширения + $original_basename = pathinfo($fname, PATHINFO_FILENAME); + + // 2. Очищаем имя через нашу исправленную функцию + $clean_name = prepare_fname($original_basename); + + // 3. Защита от пустого имени + if (empty($clean_name)) { + $clean_name = 'file'; + } + + // 4. Формируем новое имя: чистое_имя + время + расширение + // Убираем старый префикс 'comm_' и rand(), чтобы было как в новых комментах + $new_file_name = $clean_name . '_' . time() . '.' . $file_ext; + + // --- КОНЕЦ ИЗМЕНЕНИЙ --- + + if (move_uploaded_file($tmp_name, $upload_dir . $new_file_name)) { $current_files[] = $new_file_name; diff --git a/css/mod_comment_styles.css b/css/mod_comment_styles.css index db57029..5641459 100644 --- a/css/mod_comment_styles.css +++ b/css/mod_comment_styles.css @@ -216,4 +216,19 @@ display: flex !important; align-items: center !important; height: 32px; -} \ No newline at end of file +} + + +.comment-image-item .card-link-wrapper { + transition: all 0.2s ease-in-out; + display: block; + border-radius: 8px; + } + .comment-image-item .card-link-wrapper:hover { + transform: translateY(-2px); /* Легкий подъем вверх */ + } + .comment-image-item .card-link-wrapper:hover img, + .comment-image-item .card-link-wrapper:hover .file-box { + box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important; + border-color: #0d6efd !important; /* Цвет границы при наведении (синий) */ + } \ No newline at end of file diff --git a/templates/comments_tree_sub.tpl b/templates/comments_tree_sub.tpl index bdbc601..bf35c55 100644 --- a/templates/comments_tree_sub.tpl +++ b/templates/comments_tree_sub.tpl @@ -70,25 +70,33 @@ {assign var="all_files" value=","|explode:$c.comment_file} {assign var="img_exts" value=['jpg', 'jpeg', 'png', 'gif', 'webp']} - {* 1. Сначала выводим только ИЗОБРАЖЕНИЯ *} - {foreach from=$all_files item=file} - {assign var="f_name" value=$file|trim} - {if $f_name} - {assign var="ext_parts" value="."|explode:$f_name} - {assign var="f_ext" value=$ext_parts[$ext_parts|@count-1]|lower} - - {if in_array($f_ext, $img_exts)} -