Перейти к публикации

Sander1

местные
  • Публикации

    111
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    20

Последний раз Sander1 выиграл 18 мая

Публикации Sander1 были самыми популярными!

Репутация

61 Очень хороший

О Sander1

  • Звание
    Полноправный форумчанин

Информация

  • Пол
    Мужчина

Посетители профиля

2 379 просмотров профиля
  1. Sander1

    dle_js.js → ShowLoading

    Я-то думаю, чего это все модули посыпались и стали требовать обязательной передачи пустого параметра ShowLoading('') if (typeof positiony == 'undefined') { var positiony = 'center'; } if (typeof message == 'undefined') { var positiony = ''; } Два раза positiony вместо message
  2. Sander1

    custom и {news-id}

    Пример: {custom idexclude="{news-id}" category="1,2,3" limit="10" order="reads"} Если открыть не существующую (удалённую) новость, то тег {news-id} не будет обрабатываться из-за проверки defined('NEWS_ID') : if( defined( 'NEWS_ID' ) AND !$this->is_custom) $content = str_ireplace( "{news-id}", NEWS_ID, $content ); В результате в шаблоне будет обработан custom на основании строки: {custom idexclude="{news-id} А оставшаяся часть строки: " category="1,2,3" limit="10" order="reads"} будет отображаться как текст.
  3. Я понимаю причину такого решения. Полагаю в текущей реализации работы с доп.полями это действительно единственный наименее болезненный выход. Основная суть посыла в том, что необходимо как-то уведомлять пользователя о запрете использовать запятые, а так же "новое не должно ломать старое". Да это просто выдуманный нежизнеспособный пример. Речь не бизнес-логике воображаемого приложения, а о неочевидном для пользователей изменении поведения поля при наличии запятой в списках. Будут проблемы при смене символа. Если сейчас `,`, а потом в шаблоне надо будет `/`, то пр
  4. Нууу, очень спорное решение в данном случае. Вообще нигде не указано, что теперь нельзя использовать запятую в списках. Человек просто заметил, что поле не сохранилось. Нет никаких ошибок или сообщений при использовании запятой в поле. Основная суть проблемы в том, что: 1. Поменялась логика поведения прежнего функционала даже при выключенной опции мультивыбора. 2. Нигде не написано, что теперь нельзя использовать запятую в значении поля списка. Оно просто молча перестало работать как было раньше. Почему я считаю это критической ошибкой. Допустим это интернет магазин,
  5. Проблема связана с добавлением функционала Разрешить выбор нескольких значений Значение в списке имеет вид: Да, можно В /engine/inc/xfields.php теперь все значения списка по умолчанию обрабатываются словно включен мультивыбор и разбиваются по запятой: $fieldvalue = explode(',', $fieldvalue); → line: 1178 Т.е. в БД строка имеет вид: field|Да, можно||other|value где `Да, можно` – это одно цельное значение. А скрипт обрабатывает его словно это перечень значений. В результате чего при каждом редактировании новости слетает выбранное прежде значение. В коде идёт сравнен
  6. Если при редактировании/создании RSS информера оставить поле выбора категории пустым, то будет Fatal Error. PHP 8 для функции count() теперь выбрасывает ошибку если ей передан не поддерживаемый тип, в данном случае NULL. engine/inc/rssinformer.php if( !count( $category ) ) {
  7. Не-а. Не указано. Да и в целом неплохо бы добавить "защиту от дурака". К тому же проблема только в файле categories.php. Во всех других файлах этой проблемы нет.
  8. Fatal error: Uncaught TypeError: Unsupported operand types: string * int in /engine/inc/categories.php:127 $max_file_size = (int)($config['max_up_size'] * 1024); Нужно так: $max_file_size = (int)$config['max_up_size'] * 1024; В конфиге: 'max_up_size' => '',
  9. Комментарий удаляется из БД прямым запросом игнорируя параметр древовидных комментариев. Получается что если у комментария были ответы, то из поста пропадает вся ветка, хотя комментарии-ответы по факту существуют.
  10. Sander1

    Модерация комментариев

    Комментарий отправляется на модерцию. Счётчик новости не меняется. Зачем в таком случае чистить кеш? engine/modules/addcomments.php Перед строкой: clear_cache( array( 'news_', 'comm_'.$post_id, $cprefix, 'stats' ) ); Достаточно добавить код: if ($where_approve) И обратите внимание на п.2. При подтверждении комментария через AJAX обработчик не очищается кеш комментариев новости. PS. И ещё, чтобы отдельную тему не создавать. Пользователь с именем `noname` проклят невозможностью выставлять оценки в рейтинге. Все гости записываются в таблицу `dle_logs` и `dle_commen
  11. Sander1

    Модерация комментариев

    Проблемы с очисткой кеша. 1. При добавлении коммента, который уходит на модерацию – всё равно чистится кеш. Самое плохое что чистится кеш всего контента – `news_` 2. При ajax подтверждении комментария – излишне чистится почти весь кеш всего сайта, кроме того который реально необходимо чистить – `'comm_' . $post_id`
  12. В админке в расширенном поиске новостей добавить возможность поиска по исключению. К примеру – найти все новости где доп.поле НЕ содержат строку poster| Какой-нибудь селектор со списком выбора, к примеру: Содержит Не содержит Строго равно Начинается на Начинается НЕ на Заканчивается на Заканчивается НЕ на
  13. Sander1

    Модерация комментариев

    Не охота создавать отдельный топик, файл engine/ajax/adminfunctions.php – небольшая опечатка: index.php??subaction PS. К слову в этом файле для метода commentspublic тоже можно добавить проверку существования коммента на всякий случай.
  14. При массовом подтверждении комментариев если случайно обновить страницу и подтвердить повторную отправку формы, то в новостях будет повторно увеличен счётчик comm_num+1 Не выполняется проверка на существование комментария и находится ли он на модерации.
  15. Парочка предложений по утилите управления плагинами. 1. Есть параметр `Обязательное наличие плагина`. Но он поддерживает только один плагин. А иногда когда делаешь комплексную систему – идёт связка из нескольких отдельных модулей. Идеальным вариантом было бы использование чего-то подобного конфигурационному файлу composer-а, например что-то примитивное типа: { "name": "Sandev\CurrentModName", "require": { "php": "^7.1 || 8.1", "dle": ">=14.2 && <16.0", "Sandev\RequiredModule": "*", "Sandev\AnotherRequiredModule": "*", } } А если сюда ещё добавить и autoload
×
×
  • Создать...