|
Posted
22 days
ago
by
Fuze
Всем привет!
Новая версия InstantCMS доступна для скачивания и обновления. Мы учли все ваши сообщения об ошибках и пожелания с предыдущей версии.
Релиз тестировался на:
Apache 2.4.58
PHP 8.5.6
MariaDB 10.11.14
Основной список изменений
Поле
... [More]
характеристики планов Биллинга теперь необязательное;
Исправлен баг с выбором пресетов обложки категорий в виджете;
В виджет "Элементы шаблона" добавлена опция с позицией вывода уведомлений;
Исправлен недочёт с полем галерей в списках, когда галерея была одна для всех;
Добавлено количество иконок во вкладках настроек шаблона;
CSRF токен на уведомления в админке;
Единообразие метода getOption в cmsController, добавление возможности задать опцию по умолчанию;
Убран нотис в actionGroupsGroupMembers;
Добавлена возможность для каждого типа контента использовать свой шаблон наборов;
Правки ЮMoney в контексте их нового параметра sign;
Исправлен баг в Spyc (yaml библиотеки) когда появлялась вертикальная черта;
Исправлен баг с опцией "Добавлять в тег title страницы название сайта" после установки CMS;
Исправлен баг с присвоением id записи при загрузке фото в визуальных редакторах;
В трейте formItem теперь вызывается для полей формы метод afterStore();
В трейте deleteItem теперь можно указывать имя связанной с записью формы и перед удалением для полей формы вызывается метод delete();
Удалён ненужный код в actionAuthRestore;
cmsCacheFiles переделан на хранение в JSON;
Исправлена ошибка при инлайн редактировании пунктов меню;
Сохранение по enter при массовом редактировании в гридах;
VueJS обновлён до версии 3.5.34;
Исправление безопасности SSRF redirect/DNS rebinding для загрузок как по ссылке в полях изображений, так и в целом удалённых скачиваний;
Установка дополнений через временную директорию, отсутствует возможность доступа к распакованным файлам по URL;
Защита от Zip Slip для дополнений, проверка и запрет символических ссылок (symlink) в ZIP-архивах, защита от Zip Bomb (лимит количества файлов, размера архива и размера файлов), запрещены файлы .htaccess и .user.ini в пакетах, временные директории создаются со случайными именами, загруженные пакеты сохраняются под случайными именами с контролем целостности по SHA-256, изображения из пакетов дополнений проходят валидацию;
Функции хелперов string_random, files_copy_directory, files_remove_directory переработаны;
Добавлена возможность создавать форму опций пакетам дополнений;
В разделе "Контент" типы контента, имеющие связи, теперь подсвечиваются и имеют подсказку;
В разделе "Виджеты и страницы" добавлен быстрый поиск по страницам;
Убран нотис в поле fieldUrl;
Переработаны функции files_delete_file(), files_sanitize_name(), files_get_upload_dir();
Добавлена зависимость полей (как в форме) в фильтре и в виджете фильтра типов контента;
В гридах в админке исправлена проблема выделяемых записей при попытке выделить текст;
Очередная порция мелких косметических правок и рефакторинга, о которых расскажет вам dif :)
Подробнее об изменениях вы можете узнать, ознакомившись с описаниями всех коммитов с прошлого релиза.
Как установить обновление InstantCMS
Важно! Убедитесь, что сейчас вы используете версию 2.18.1, иначе, обновитесь сначала до неё.
Перед началом обновления обязательно сделайте самостоятельно резервную копию своего сайта и дамп базы данных. Мы не несем никакой ответственности за любые потери данных, произошедшие в результате неправильных действий при обновлении.
Убедитесь, что вы используете версию PHP не ниже 7.4.0;
Отключите кеширование в настройках сайта;
Отключите объединение js и css в настройках сайта;
Если вы используете свой шаблон и в нем есть файлы, присутствующие в пакете обновления, то обновите их;
При возникновении "белого экрана" категорически читать здесь;
Для тех, у кого свой шаблон у нас есть статья как быть, если в обновлении CMS есть изменения в шаблоне, рекомендуем к прочтению.
Если в вашем шаблоне присутствуют JavaScript файлы со своими правками (взяты из /templates/default/js/ или /templates/modern/js/), замените/смержите их из пакета обновления. Не забывайте о сбросе кэша браузера абстрактным счетчиком для посетителей ваших сайтов.
Если у вас кастомная урезанная сборка, то распакуйте пакет обновления, удалите ненужные контроллеры, запакуйте обратно и обновитесь.
Механизм установки обновлений подробно описан по этой ссылке в документации.
Пакет обновления для ручной установки можно скачать по этой ссылке. Демо сайт обновлён.
Огромное спасибо за сообщения об ошибках. Спасибо за донаты и пул-реквесты. Спасибо, что выбираете InstantCMS. [Less]
|
|
Posted
4 months
ago
by
Fuze
Всем привет!
Новая версия InstantCMS доступна для скачивания и обновления. Мы учли все ваши сообщения об ошибках и пожелания с предыдущей версии.
Релиз тестировался на:
Apache 2.4.58
PHP 8.5.3
MariaDB 10.11.14
Основной список изменений
Исправлена
... [More]
ошибка работы опции "Компоненты, доступные без авторизации";
Пополнение баланса напрямую теперь учитывает вариант, когда могут быть незаконченные действия иных пополнений через покупку контента;
Показ ID операции Биллинга в списке операций админки;
Поля с нулевым прайсом показываются гостям;
Исправлена работа реферальных ссылок, если указан тип контента по умолчанию;
Исправлен баг с формой приглашения друзей в группу;
Правки шаблона default для Биллинга;
Исправлены нотисы под PHP 8.5;
В экшен actionContentWidgetCatsAjax можно передавать параметр empty_title, id типа контента (параметр value) может быть и именем;
В виджет категорий ТК добавлены опции выбора категории, "Заголовок корневой категории", "Показывать количество записей в категориях";
Исправлена проблема с URL и лого при поиске по группам;
При включенном типографе добавлена обработка атрибута data-as-is, при наличии которого тег iframe разбирается как передан;
Исправлен баг с Биллингом когда группа не до конца менялась;
Исправлен баг при авторизации, когда была включена 2FA и капча;
Добавлен более удобный метод контроллера runExternalActionIfExists(), исправлена ошибка с отсутствующими вложенными экшенами;
Исправлен нотис с датой задачи планировщика;
В Биллинге операции покупки плана имеют принадлежность к id плана;
В Биллинге операции перевода между пользователями и покупки подписок можно отменять в админке;
Добавлены хуки на операции перевода между пользователями и регистрацию рефералов;
Исправлена ошибка, когда при продлении подписки не сохранялось время;
Исправлена ошибка, когда платёж WebMoney не проходил;
Исправлены нотисы в свойствах ТК;
Исправлена ошибка связки Биллинга и загрузки фото в фотоальбомы;
Исправлена ошибка настройки почты при некоторых параметрах;
Добавлены подписи к SEO полям ТК "Не забудьте включить правило доступа Управление SEO параметрами записей";
Добавлена опция "Реферальная программа разрешена группам" для Биллинга;
Добавлена опция "Хранить реферальную куку после успешной регистрации" для Биллинга;
PHPMailer 7.0.2;
Исправлена путаница с модерацией отредактированной записи;
Добавлен виджет "Подписки" для Биллинга;
Добавлена возможность указывать характеристики подписок Биллинга для сравнения;
Добавлена возможность подписки на тарифный план автоматически после регистрации;
Тарифный план может быть бесплатным, он будет бессрочным;
Создавать план можно копированием;
Добавлены CSRF токены, где их не хватало;
Иконки в гридах из одного набора;
Исправлен баг, когда при включенном Биллинге для обычных пользователей не сохранялись записи ТК;
Для категорий ТК теперь невозможно случайно создать урл, схожий по строению с наборами;
В отладке теперь выводятся версия MySQL, имя текущего шаблона, имя системы кэширования, имена страниц для виджетов;
Новый класс cmsWysiwyg, от которого надо наследовать редакторы (совместимость оставлена);
В поле fieldHtml при сохранении вызывается метод prepareValue из класса редактора;
Для поля fieldFieldsgroup добавлена возможность сортировки перетаскиванием;
Редактор Ace обновлён до актуальной версии;
Автоматический параметр csrf_token на пунктах меню с подтверждением;
Оптимизирована "похожесть" по тегам в виджете списка контента, на больших таблицах теперь работает быстро;
Массовое удаление пунктов меню и перенос между наборами меню;
Включение систем оплаты биллинга только для администраторов (отладки);
Подсветка логов систем оплаты биллинга;
Новые опции рейтинга: "Разрешить менять оценку", "Разрешить менять оценку только в рамках текущей сессии пользователя", "Отключить отрицательные оценки";
Ограничение длины запроса компонента "Поиск";
Опции НДС 22% для Юкассы и Робокассы;
Новые опции подписок Биллинга: "Заменить группы пользователя", зачислить на баланс баллы при покупке за реальную валюту;
В админке в списке тарифов биллинга показывается минимальный прайс;
Исправлена ошибка с опцией доступа по ip к админке;
Самому себе теперь нельзя запретить доступ по ip к админке;
Если виджет принадлежит контроллеру, то в форме настроек языковой файл подключится автоматически;
Опция "Ограничить длину заголовка записи" для ленты активности, в том числе для виджета;
Подсветка SQL в отладке;
Очередная порция мелких косметических правок и рефакторинга, о которых расскажет вам dif :)
Подробнее об изменениях вы можете узнать, ознакомившись с описаниями всех коммитов с прошлого релиза.
Как установить обновление InstantCMS
Важно! Убедитесь, что сейчас вы используете версию 2.18.0, иначе, обновитесь сначала до неё.
Перед началом обновления обязательно сделайте самостоятельно резервную копию своего сайта и дамп базы данных. Мы не несем никакой ответственности за любые потери данных, произошедшие в результате неправильных действий при обновлении.
Убедитесь, что вы используете версию PHP не ниже 7.2.0;
Отключите кеширование в настройках сайта;
Отключите объединение js и css в настройках сайта;
Если вы используете свой шаблон и в нем есть файлы, присутствующие в пакете обновления, то обновите их;
При возникновении "белого экрана" категорически читать здесь;
Для тех, у кого свой шаблон у нас есть статья как быть, если в обновлении CMS есть изменения в шаблоне, рекомендуем к прочтению;
После обновления обратите внимание на новые настройки компонентов "Биллинг" и "Рейтинг" и при необходимости заполните/пересохраните их.
Если в вашем шаблоне присутствуют JavaScript файлы со своими правками (взяты из /templates/default/js/ или /templates/modern/js/), замените/смержите их из пакета обновления. Не забывайте о сбросе кэша браузера абстрактным счетчиком для посетителей ваших сайтов.
Если у вас кастомная урезанная сборка, то распакуйте пакет обновления, удалите ненужные контроллеры, запакуйте обратно и обновитесь.
Механизм установки обновлений подробно описан по этой ссылке в документации.
Пакет обновления для ручной установки можно скачать по этой ссылке. Демо сайт обновлён.
Огромное спасибо за сообщения об ошибках. Спасибо за донаты. Спасибо, что выбираете InstantCMS. [Less]
|
|
Posted
10 months
ago
by
Fuze
Всем привет!
Наконец-то. Свершилось. Биллинг к комплекте InstantCMS. Бесплатно для всех. r2 хоть и не бывает на этом сайте, но только благодаря ему Биллинг появился и теперь в комплекте InstantCMS. Пошлите ему лучи добра!
Подробнее про Биллинг
... [More]
Компонент полностью переработан, код открыт. Финансовые операции через транзакции MySQL, числовые поля в decimal, поддержка любой версии PHP выше 7.2.0. Для более корректной работы, убедитесь, что у вас таблицы в InnoDB.
Часть систем оплаты была удалена: некоторые потому что сами сервисы умерли, некоторые за ненадобностью и невостребованностью. API биллинга немного изменился, но в ближайшее время всю информацию я актуализирую до конца. Документация по подключению платёжных систем обновлена. В целом, исключая системы оплаты, API должно работать как и прежде. В системах оплаты немного изменились параметры методов, но уверен, по аналогии вы сможете поправить свои, основная логика осталась та же. Документация по настройкам систем оплаты частично уже обновлена.
Благодаря вашей обратной связи как минимум из этой темы форума мы исправили все ошибки и неудобства. Спасибо, что участвовали в обсуждении и тестировании.
Если у вас уже установлен Биллинг старой версии (в пределах разумного), то пакет обновления это будет учитывать и обновит его.
Ещё изменения в Биллинге:
Новая опция выплат по расписанию биллинга "Пополнить баланс до указанной суммы";
Подсказки поля "Номер счета" для платежныхе систем вывода;
Поле "Процент вознаграждения" для рефералов теперь необязательное;
Опция "Скидки" переименована в "Обменные курсы ввода";
Блок "Стоимость баллов" при пополнении баланса не показывается, если обменный курс ввода 1 к 1;
Новый параметр $back_url в checkBalanceForAction;
Исправлена ошибка с кнопкой "купить план";
Правки по кнопке "купить план": теперь можно задавать свой текст и код кнопки;
Добавлен просмотр логов платёжных систем в админке;
Поддержка чеков для Yookassa;
Убраны устаревшие системы оплаты биллинга;
Добавлена платёжная система Payeer.
Возможно есть ещё изменения и исправление багов, о которых я не знал. Пишите в комментариях свои вопросы или сообщения об ошибках.
Если кому-то Биллинг не нужен, как, впрочем, и любые другие компоненты из комплекта, вы можете всегда собрать и скачать кастомную сборку.
Остальной список изменений
Исправлен js при модерации комментариев;
Опция поля is_trim для поля fieldText;
Обработка ситуации, когда нет прав на запись в file_save_from_url;
Минификация, исключая теги textarea|pre|code в функции html_minify;
Пункты меню "Ещё" раскрываются в общее меню на мобильных;
Поддержка удаления ненужных файлов после установки пакетов;
Исправлена ошибка в мультиязычных полях в опциях компонентов;
Для поля payload таблицы cms_jobs сменён тип на MEDIUMTEXT;
Исправлена проблема при создании индекса для набора;
GEO провайдер ip-api.com вместо ip.nf;
Новая опция ТК "Разрешить создавать категорию в форме добавления записи";
Новое правило доступа "Управление SEO параметрами записей";
Правки html_spellcount;
В поле "Флаг" добавлен параметр "CSS класс ссылки" в опцию "Ссылки в названии поля";
Исправлена ошибка, когда в поле "Ссылка" не показывался заголовок ссылки;
Исправлен небольшой баг с подписками гостей;
Шаблоны полей в действиях грида доступны во всех строковых ячейках actions;
Новый класс cmsIp для проверки IP адресов IPv4/IPv6, CIDR и диапазонов;
В гридах для фильтров можно указывать callback;
Для sendDownloadFile теперь правильно устанавливается хедер Content-Type, "иероглифы" при скачивании картинок больше не будут видны;
Поля "Флаг" с обязательным заполнением подсвечиваются звёздочкой;
Исправлена проблема с отсутствием SEO данных на странице логина;
Исправлена проблема инлайн цвета в контенте при включенной опции поиска по хештегам;
Замена vk.com => vk.ru в компоненте "Редиректы";
Увеличен размер поля для массового добавления категорий;
В списке пользователей в админке бессрочно заблокированные так и помечаются;
Корректная 404 страница в админке, если включена опция "Выводить виджеты на странице 404";
Слайдер в числовых полях недоступен для свойств. Убрана ошибка при его включении, добавлен хинт для опции;
Исправлена ошибка сохранения HTML тегов в строковых полях;
Исправлена вёрстка в блоках пагинации таблиц в админке;
Более корректные отступы в заголовках форм;
В наборах можно использовать корневую категорию;
Проверка NS деревьев (категории ТК) теперь работает быстро при большом количестве категорий;
Правильное и быстрое кэширование количества записей в категориях;
Для полей конструктора форм можно указывать регулярные выражения для валидации;
Для полей конструктора форм добавлена опция "Значение из профиля пользователя";
Для компонента уведомлений и личных сообщений добавлена опция "Скрывать пустой пункт меню уведомлений";
Исправлена форма выдачи инвайтов;
Очередная порция мелких косметических правок и рефакторинга, о которых расскажет вам dif :)
Подробнее об изменениях вы можете узнать, ознакомившись с описаниями всех коммитов с прошлого релиза.
Как установить обновление InstantCMS
Важно! Убедитесь, что сейчас вы используете версию 2.17.3, иначе, обновитесь сначала до неё.
Перед началом обновления обязательно сделайте самостоятельно резервную копию своего сайта и дамп базы данных. Мы не несем никакой ответственности за любые потери данных, произошедшие в результате неправильных действий при обновлении.
Убедитесь, что вы используете версию PHP не ниже 7.2.0;
Отключите кеширование в настройках сайта;
Отключите объединение js и css в настройках сайта;
Если вы используете свой шаблон и в нем есть файлы, присутствующие в пакете обновления, то обновите их;
При возникновении "белого экрана" категорически читать здесь;
Для тех, у кого свой шаблон у нас есть статья как быть, если в обновлении CMS есть изменения в шаблоне, рекомендуем к прочтению.
Если в вашем шаблоне присутствуют JavaScript файлы со своими правками (взяты из /templates/default/js/ или /templates/modern/js/), замените/смержите их из пакета обновления. Не забывайте о сбросе кэша браузера абстрактным счетчиком для посетителей ваших сайтов.
Если у вас кастомная урезанная сборка, то распакуйте пакет обновления, удалите ненужные контроллеры, запакуйте обратно и обновитесь.
Механизм установки обновлений подробно описан по этой ссылке в документации.
Пакет обновления для ручной установки можно скачать по этой ссылке. Демо сайт обновлён.
Огромное спасибо за сообщения об ошибках. Спасибо за донаты. Спасибо, что выбираете InstantCMS. [Less]
|
|
Posted
10 months
ago
by
Fuze
Всем привет!
Наконец-то. Свершилось. Биллинг к комплекте InstantCMS. Бесплатно для всех. r2 хоть и не бывает на этом сайте, но только благодаря ему Биллинг появился и теперь в комплекте InstantCMS. Пошлите ему лучи добра!
Подробнее про Биллинг
... [More]
Компонент полностью переработан, код открыт. Финансовые операции через транзакции MySQL, числовые поля в decimal, поддержка любой версии PHP выше 7.2.0. Для более корректной работы, убедитесь, что у вас таблицы в InnoDB.
Часть систем оплаты была удалена: некоторые потому что сами сервисы умерли, некоторые за ненадобностью и невостребованностью. API биллинга немного изменился, но в ближайшее время всю информацию я актуализирую. В целом, исключая системы оплаты, API должно работать как и прежде. В системах оплаты немного изменились параметры методов, но уверен, по аналогии вы сможете поправить свои, основная логика осталась та же. Документация по настройкам систем оплаты частично уже обновлена.
Благодаря вашей обратной связи как минимум из этой темы форума мы исправили все ошибки и неудобства. Спасибо, что участвовали в обсуждении и тестировании.
Если у вас уже установлен Биллинг старой версии (в пределах разумного), то пакет обновления это будет учитывать и обновит его.
Ещё изменения в Биллинге:
Новая опция выплат по расписанию биллинга "Пополнить баланс до указанной суммы";
Подсказки поля "Номер счета" для платежныхе систем вывода;
Поле "Процент вознаграждения" для рефералов теперь необязательное;
Опция "Скидки" переименована в "Обменные курсы ввода";
Блок "Стоимость баллов" при пополнении баланса не показывается, если обменный курс ввода 1 к 1;
Новый параметр $back_url в checkBalanceForAction;
Исправлена ошибка с кнопкой "купить план";
Правки по кнопке "купить план": теперь можно задавать свой текст и код кнопки;
Добавлен просмотр логов платёжных систем в админке;
Поддержка чеков для Yookassa;
Убраны устаревшие системы оплаты биллинга;
Добавлена платёжная система Payeer.
Возможно есть ещё изменения и исправление багов, о которых я не знал. Пишите в комментариях свои вопросы или сообщения об ошибках.
Если кому-то Биллинг не нужен, как, впрочем, и любые другие компоненты из комплекта, вы можете всегда собрать и скачать кастомную сборку.
Остальной список изменений
Исправлен js при модерации комментариев;
Опция поля is_trim для поля fieldText;
Обработка ситуации, когда нет прав на запись в file_save_from_url;
Минификация, исключая теги textarea|pre|code в функции html_minify;
Пункты меню "Ещё" раскрываются в общее меню на мобильных;
Поддержка удаления ненужных файлов после установки пакетов;
Исправлена ошибка в мультиязычных полях в опциях компонентов;
Для поля payload таблицы cms_jobs сменён тип на MEDIUMTEXT;
Исправлена проблема при создании индекса для набора;
GEO провайдер ip-api.com вместо ip.nf;
Новая опция ТК "Разрешить создавать категорию в форме добавления записи";
Новое правило доступа "Управление SEO параметрами записей";
Правки html_spellcount;
В поле "Флаг" добавлен параметр "CSS класс ссылки" в опцию "Ссылки в названии поля";
Исправлена ошибка, когда в поле "Ссылка" не показывался заголовок ссылки;
Исправлен небольшой баг с подписками гостей;
Шаблоны полей в действиях грида доступны во всех строковых ячейках actions;
Новый класс cmsIp для проверки IP адресов IPv4/IPv6, CIDR и диапазонов;
В гридах для фильтров можно указывать callback;
Для sendDownloadFile теперь правильно устанавливается хедер Content-Type, "иероглифы" при скачивании картинок больше не будут видны;
Поля "Флаг" с обязательным заполнением подсвечиваются звёздочкой;
Исправлена проблема с отсутствием SEO данных на странице логина;
Исправлена проблема инлайн цвета в контенте при включенной опции поиска по хештегам;
Замена vk.com => vk.ru в компоненте "Редиректы";
Увеличен размер поля для массового добавления категорий;
В списке пользователей в админке бессрочно заблокированные так и помечаются;
Корректная 404 страница в админке, если включена опция "Выводить виджеты на странице 404";
Слайдер в числовых полях недоступен для свойств. Убрана ошибка при его включении, добавлен хинт для опции;
Исправлена ошибка сохранения HTML тегов в строковых полях;
Исправлена вёрстка в блоках пагинации таблиц в админке;
Более корректные отступы в заголовках форм;
В наборах можно использовать корневую категорию;
Проверка NS деревьев (категории ТК) теперь работает быстро при большом количестве категорий;
Правильное и быстрое кэширование количества записей в категориях;
Для полей конструктора форм можно указывать регулярные выражения для валидации;
Для полей конструктора форм добавлена опция "Значение из профиля пользователя";
Для компонента уведомлений и личных сообщений добавлена опция "Скрывать пустой пункт меню уведомлений";
Исправлена форма выдачи инвайтов;
Очередная порция мелких косметических правок и рефакторинга, о которых расскажет вам dif :)
Подробнее об изменениях вы можете узнать, ознакомившись с описаниями всех коммитов с прошлого релиза.
Как установить обновление InstantCMS
Важно! Убедитесь, что сейчас вы используете версию 2.17.3, иначе, обновитесь сначала до неё.
Перед началом обновления обязательно сделайте самостоятельно резервную копию своего сайта и дамп базы данных. Мы не несем никакой ответственности за любые потери данных, произошедшие в результате неправильных действий при обновлении.
Убедитесь, что вы используете версию PHP не ниже 7.2.0;
Отключите кеширование в настройках сайта;
Отключите объединение js и css в настройках сайта;
Если вы используете свой шаблон и в нем есть файлы, присутствующие в пакете обновления, то обновите их;
При возникновении "белого экрана" категорически читать здесь;
Для тех, у кого свой шаблон у нас есть статья как быть, если в обновлении CMS есть изменения в шаблоне, рекомендуем к прочтению.
Если в вашем шаблоне присутствуют JavaScript файлы со своими правками (взяты из /templates/default/js/ или /templates/modern/js/), замените/смержите их из пакета обновления. Не забывайте о сбросе кэша браузера абстрактным счетчиком для посетителей ваших сайтов.
Если у вас кастомная урезанная сборка, то распакуйте пакет обновления, удалите ненужные контроллеры, запакуйте обратно и обновитесь.
Механизм установки обновлений подробно описан по этой ссылке в документации.
Пакет обновления для ручной установки можно скачать по этой ссылке. Демо сайт обновлён.
Огромное спасибо за сообщения об ошибках. Спасибо за донаты. Спасибо, что выбираете InstantCMS. [Less]
|
|
Posted
about 1 year
ago
by
Fuze
Всем привет!
Лето, жара. Самое время обновляться. В этом релизе мы исправили все описанные вами баги, найденные в 2.17.2 и добавили очередную порцию улучшений.
Да, о Биллинге сразу. Он практически готов. Я осознано не стал его внедрять в этот релиз.
... [More]
Нужно протестировать, отладить платёжные системы. В целом, обсуждение в этой теме форума. Как только всё оттестируем, я выпущу релиз 2.18.0.
Список изменений
SEO опции для списка записей ленты активности;
Правильный редирект, если категория помечена как скрытая;
Исключён показ скрытых категорий в фильтре;
Исправлена проблема, когда нельзя было отправить более одного приглашения на смену владельца записи ТК;
Права доступа теперь можно проверять через создание объекта cmsPermissions;
Исправлены мелкие баги при редактировании записей ТК;
Трейт formItem теперь корректно сохраняет поля date_*;
Опция шаблона с текстом согласия с куками в HTML редакторе;
Все запросы внутри транзакции не "умирают" при ошибке;
Для поля "Флаг" добавлена опция "Ссылки в названии поля";
PHPMailer 6.10.0;
jquery.inputmask 5.0.10-beta.42;
В хук user_registered теперь передаётся контекст $this->request;
Немного рефакторинга функций html_* и других;
Поддержка методов before и after при работе отдельными экшенами;
redirectToLogin работает с GET запросами в том числе;
Правильная работа метода validate_number;
Правильная работа метода cmsTemplate->renderContentItem;
Поле fieldFieldsgroup теперь работает в том числе в режиме вложенных полей, без динамических списков;
В поле число добавлена опция placeholder;
В трейте formItem добавлена передача знчений по умолчанию в форму;
Исправлен баг с моделью бэкенда;
Исправлен баг с ftp_account;
Фильтр по компоненту в планировщике виден на мобильных;
В хук content_add передаётся текущий request;
В поле fieldFieldsgroup добавлена опция is_counter_list для показа нумерованного списка;
Трейт listgrid теперь работает корректно с вложенными экшенами;
Меню тулбара в админке в одну строку и с прокруткой на мобильных;
В бэкенде подключается файл фронтэнда, если есть. Без создания объекта;
Исправлен баг, когда на главной в тег title не добавлялось название сайта;
Мультиязычные предустановленные значения полей;
Исправлен некорректный подсчет количества записей при использовании типа поля Родитель в фильтре;
В паттерне заголовка комментариев теперь можно указывать выражение {comments_spell_count};
Полностью зарефакторенный виджет "Список контента" с новыми опциями "похожести" записей: по заголовку, по тегам, по категории. Плюс опция вывода рандомного списка;
Новая опция "Выводить виджеты на странице 404" в общих настройках сайта + мини контроллер error404 + возможность для виджетов указать в отрицательных масках 404, чтобы исключить показ ненужных виджетов;
В SEO параметрах профилей доступно новое выражение {tab_title} с именем текущей вкладки пользователей;
Новые специальные пункты меню {users:profile_TAB_NAME}, {users:logout}, {users:edit} для полной кастомизации страниц профилей пользователей;
Опция виджетов "Объединять с предыдущим виджетом" теперь позволяет выбирать шаблоны контейнера, начинающиеся на wrapper_tabbed (теперь можно объединять виджеты не вкладками, а как угодно). Шаблон контейнера вывода группы виджетов определяется по последнему виджету группы;
Для типа поля "Ссылка" добавлены опции выбора иконки и показа только иконки;
Хуки widget*_before_update_bind;
Добавлена опция для колонок шаблона Modern "Подключаемые JavaScript файлы для колонки, если на позиции будут виджеты";
Новые опции компонента и виджета "Поиск", в том числе режим вывода результатов как в основных списках ТК;
Немного рефакторинга модели modelSearch;
Исправлены некоторые ошибки с переводом на английский;
Опция "Проверять HTTP referer" в компоненте Редиректы включена по умолчанию;
Добавлена опция полей изображений "Атрибуты тега img в формате JSON" отдельно для списков и записей;
Исправлен баг с опцией "Просмотр списка на сайте включен";
Виджет формы поиска теперь понимает, если он на странице ТК, добавлена опция Показывать кнопку "Найти";
Доработан механизм определения активности вложенных пунктов меню;
В поле "набор изображений" добавлена опция "В списке показывать только первое изображение";
Выбор иконки для строковых полей;
Выбор иконки для ТК;
Поддержка выражений иконок в "Свой HTML контейнера" в виджетах;
Опция шаблона "Готовый HTML, добавляемый перед всеми стилями и JavaScript файлами в head страницы";
Добавлено несколько шрифтов Google в опции шаблона;
Доработано поведение "Не изменять URL при редактировании записи";
Абстрактный счётчик для svg иконок;
Исправлен баг в inline-save в гридах;
Убраны случайные именованные аргументы в хуки;
Функции lang_slug зарефакторены;
Исправлены ошибки с шаблоном Modern, когда при определённой схеме виджеты не показывались;
Метод isSecureProtocol перенесён в cmsRequest, где добавлены методы isSecure() и getScheme();
В общие настройки сайта добавлена опция "Тема оформления для разработчиков", при включении которой выбранный шаблон будет показан только главным администраторам сайта;
Опция "IP адреса, с которых будет доступна тема для разработчиков";
Немного рефакторинга и косметических изменений в админке;
Добавлен метод fetchAll в cmsDatabase;
Оптимизированы методы orderBy, getItem и get базовой модели;
Исправлена ошибка с $this->title в контроллерах;
Исправлена работа datasets у контроллера users;
Множество мелких правок и рефакторинга, о которых расскажет вам dif :)
Подробнее об изменениях вы можете узнать, ознакомившись с описаниями всех коммитов с прошлого релиза.
Как установить обновление InstantCMS
Важно! Убедитесь, что сейчас вы используете версию 2.17.2, иначе, обновитесь сначала до неё.
Перед началом обновления обязательно сделайте самостоятельно резервную копию своего сайта и дамп базы данных. Мы не несем никакой ответственности за любые потери данных, произошедшие в результате неправильных действий при обновлении.
Убедитесь, что вы используете версию PHP не ниже 7.2.0;
Отключите кеширование в настройках сайта;
Отключите объединение js и css в настройках сайта;
Если вы используете свой шаблон и в нем есть файлы, присутствующие в пакете обновления, то обновите их;
При возникновении "белого экрана" категорически читать здесь;
Для тех, у кого свой шаблон у нас есть статья как быть, если в обновлении CMS есть изменения в шаблоне, рекомендуем к прочтению.
Если в вашем шаблоне присутствуют JavaScript файлы со своими правками (взяты из /templates/default/js/ или /templates/modern/js/), замените/смержите их из пакета обновления. Не забывайте о сбросе кэша браузера абстрактным счетчиком для посетителей ваших сайтов.
Если у вас кастомная урезанная сборка, то распакуйте пакет обновления, удалите ненужные контроллеры, запакуйте обратно и обновитесь.
Механизм установки обновлений подробно описан по этой ссылке в документации.
Пакет обновления для ручной установки можно скачать по этой ссылке. Демо сайт обновлён.
Огромное спасибо за сообщения об ошибках. Спасибо за донаты. Спасибо, что выбираете InstantCMS. [Less]
|
|
Posted
about 1 year
ago
by
Fuze
Редакция от «29» мая 2025 года
Общие положения
В данной Политике пользователь веб-сайта «InstantCMS» (далее — «Вы») может ознакомиться с информацией о том, как «InstantCMS» (далее по тексту — «Компания») обрабатывает данные файлов "cookie", собранных
... [More]
в процессе использования веб-сайта «InstantCMS» — https://instantcms.ru и его поддоменов.
Файлы "cookie" — это небольшие фрагменты данных, который веб-сайт запрашивает у браузера, используемого на вашем компьютере или мобильном устройстве. Файлы "cookie" отражают Ваши предпочтения или действия на веб-сайте, а также сведения об оборудовании пользователя, дата и время сессии. Файлы "cookie" хранятся локально на Вашем компьютере или мобильном устройстве.
Продолжая использовать веб-сайт Компании, Вы даете свое согласие на обработку Ваших "cookie". Однако, обращаем внимание, что файлы "cookie" могут быть отключены. Подробнее — далее в Политике.
Компания использует файлы "cookie" для улучшения работы веб-сайта Компании: например, благодаря файлам "cookie" веб-сайт способен запоминать действия пользователя при авторизации. Также файлы "cookie" влияют на настройку содержимого веб-страниц, создания статистики и поддержания сеанса пользователя.
Сведения о действиях пользователей веб-сайта Компании обрабатываются для совершенствования сервисов и услуг компании, определения предпочтений пользователя, предоставления целевой информации по сервисам и услугам Компании и её партнеров. Веб-сайт Компании обрабатывает полученные данные, в том числе с использованием метрических программ, таких как Яндекс.Метрика, Google Analytics.
Категории файлов "cookie"
Если разделять "cookie" по их назначению, возможно выделить следующие категории:
Сессионные
Существуют только во временной памяти в течение времени, когда пользователь находится на странице веб-сайта Компании. Браузеры обычно удаляют сессионные файлы "cookie" после того, как Вы закрываете окно веб-сайта. Сессионные файлы "cookie" позволяют веб-сайту помнить информацию о Вашем выборе на предыдущем сайте, чтобы избежать необходимости повторного ввода информации.
Постоянные
Файлы "cookie", которые хранятся на Вашем компьютере и не удаляются при закрытии браузера. Постоянные файлы "cookie" могут сохранять пользовательские настройки для определенного веб-сайта,позволяя использовать эти предпочтения в будущих сеансах просмотра. Такие файлы "cookie" позволяют идентифицировать Вас как уникального пользователя веб-сайта, и при возвращении на веб-сайт помогают вспомнить информацию о Вас и ранее совершенных действиях.
Статистические
Включают в себя информацию о том, как Вы используете веб-сайт. Например, какие страницы Вы посещаете, по каким ссылкам переходите. Главная цель таких файлов "cookie" — улучшение функций веб-сайта.
Обязательные
Минимальный набор файлов "cookie", использование которых необходимо для корректной работы веб-сайта. При отказе от применения файлов "cookie" в настройках браузера, будет использовать только те файлы "cookie", которые строго необходимы для функционирования веб-сайта и предлагаемых им сервисов.
Отключение файлов "cookie"
При желании Вы можете отключить/удалить сохраненные файлы "cookie" в настройках браузера. Большинство браузеров автоматически настроены на прием файлов "cookie". Вы можете изменить настройки своего браузера таким образом чтобы блокировать файлы "cookie" или предупреждать, когда файлы данного типа будут отправлены.
Отключение файлов "cookie" в браузере может привести к неполноценному функционированию некоторых частей веб-сайта Компании.
Изменение Политики использования файлов "cookie"
Компания может в одностороннем порядке по мере необходимости изменять Политику использования "cookie". При внесении изменений в актуальной редакции Политики использования "cookie" указывается дата её обновления. Новая редакция Политики использования "cookie" вступает в силу с момента размещения её на веб-сайте Компании.
Продолжая использовать веб-сайт Компании, Вы подтверждаете согласие с новой редакцией Политики использования "cookie".
Настоящая Политика использования "cookie" является неотъемлемой частью Политики в отношении обработки персональных данных.
Контактные данные
В случае возникновения вопросов, связанных с обработкой Ваших персональных данных или реализации прав субъекта персональных данных, пожалуйста, вы можете связаться с нами по следующим контактным данным:
Электронная почта: [email protected]
Срок ответа на запросы субъектов данных составляет 1 месяц. [Less]
|
|
Posted
over 1 year
ago
by
Fuze
Всем привет!
Итак, очередной релиз. В нём мы исправили все описанные вами баги, найденные в 2.17.1 и добавили небольшую порцию улучшений.
Список изменений
Исправлены некоторые языковые константы;
Исправлена ошибка при очистке кэша memcache;
... [More]
Исправлены проблемы с производительностью при большой таблице cms_moderators_logs;
Исправлена проблема с отсутствующими блоками дашборда в админке;
Исправлены ошибки с опциями "SEO для главной страницы" для всех компонентов;
В блок опций "SEO для главной страницы" компонентов добавлены настройки паттернов для тайтлов и тегов h1;
Исправлена ошибка, если при создании типа контента включена опция "Показывать количество записей в категориях";
Виджет вывода формы конструктора форм теперь понимает, если он выведен на странице записи;
Исправлена ошибка с удалением лога модерации;
Оптимизирована работы метода модели filterCategory;
Переписана функция string_replace_keys_values_extended для SEO паттернов. Теперь можно использовать простые условия, экранировать спецсимволы, подробнее в документации;
Исправлена ошибка, когда на странице модерации комментариев не работали кнопки одобрить, отклонить;
Исправлена ошибка с отсутствием пустого значения в поле список, когда список формируется из таблицы БД;
Добавлено отображение категорий в глубиномере при просмотре фотографии;
Правки Mobile_Detect для PHP 8.4;
Исправление ошибки, когда выбрана страна по умолчанию в поле "Местоположение";
Исправление валидации в поле "Адрес Вашей страницы" в профилях пользователей;
Исправлена ошибка с icms.modal.bind, если атрибут href изменялся динамически;
Добавлен хук на массив маршрутов роутинга CONTROLLER_NAME_routes;
noindex на пустые страницы поиска;
Убран завершающий слэш у коротких HTML тегов согласно стандарту W3C;
Теги canonical теперь учитывают пагинацию;
Небольшие оптимизации cmsTemplate;
Исправлена проблема с размещением кнопки подписки в профилях;
Исправлена проблема при удалении типа контента, у которого есть связи;
Новая опция "Смещение записей" у виджетов различных списков;
Исправлено удаление тегов из админки;
Добавлено массовое удаление тегов в админке;
Кнопки для выделения записей в гридах теперь дублируются вверху;
Новая опция "Применить макет для страницы" для страниц виджетов;
Исправлен нотис, который появлялся в некоторых ситуациях при просмотре записей ТК по умолчанию;
Исправлен баг с виджетом список похожих записей ТК, когда для полнотекстового поиска было включено более одного поля;
Исправлен баг, возникающий при попытке в хуках изменить язык;
Проставлен DOCTYPE в шаблонах различных ошибок (403, 404, 503 и т.п.);
Отключена опция sandbox_iframes для TinyMCE, используйте Content Security Policy;
Мелкий рефакторинг.
Подробнее об изменениях вы можете узнать, ознакомившись с описаниями всех коммитов с прошлого релиза.
Когда будет включён в комплект компонент Биллинг? Есть большая вероятность что в следующем релизе.
Как установить обновление InstantCMS
Важно! Убедитесь, что сейчас вы используете версию 2.17.1, иначе, обновитесь сначала до неё.
Перед началом обновления обязательно сделайте самостоятельно резервную копию своего сайта и дамп базы данных. Мы не несем никакой ответственности за любые потери данных, произошедшие в результате неправильных действий при обновлении.
Убедитесь, что вы используете версию PHP не ниже 7.2.0;
Отключите кеширование в настройках сайта;
Отключите объединение js и css в настройках сайта;
Если вы используете свой шаблон и в нем есть файлы, присутствующие в пакете обновления, то обновите их;
При возникновении "белого экрана" категорически читать здесь;
Для тех, у кого свой шаблон у нас есть статья как быть, если в обновлении CMS есть изменения в шаблоне, рекомендуем к прочтению.
Если в вашем шаблоне присутствуют JavaScript файлы со своими правками (взяты из /templates/default/js/ или /templates/modern/js/), замените/смержите их из пакета обновления. Не забывайте о сбросе кэша браузера абстрактным счетчиком для посетителей ваших сайтов.
Если у вас кастомная урезанная сборка, то распакуйте пакет обновления, удалите ненужные контроллеры, запакуйте обратно и обновитесь.
Механизм установки обновлений подробно описан по этой ссылке в документации.
Пакет обновления для ручной установки можно скачать по этой ссылке.
Огромное спасибо за сообщения об ошибках. Спасибо за донаты. Спасибо, что выбираете InstantCMS. [Less]
|
|
Posted
over 1 year
ago
by
Fuze
Всем привет!
Выпускаем очередной релиз, на этот раз с исправлениями багов, найденных в 2.17.0.
Список изменений
Исправлены баги с функциями string_parse_list и string_explode_list;
Массовая рассылка из админки с опциями выбора пресета типографа и
... [More]
замены переноса строк на тег br;
Запоминание параметров последней рассылки;
Убрано неправильное предупреждение формы "Изменения могут не сохраниться" при настройке полей;
Исправлена проблема с полем "Список" и его опции "мультивыбор чекбоксами";
Исправлен css диалога личных сообщений;
Исправлен перевод языковой константы LANG_COMMENTS_TRACKED_NEW;
Правило доступа для смены владельца записи ТК. Теперь менять владельца могут авторы записи, которым разрешено это правилом доступа;
Исправлены уведомления подписчиков при комментировании гостями;
Исправлен баг с цифрой гостя (PHP >= 8.3) при голосовании за записи ТК;
Исправлены баги с полями "Список мультивыбор" и "Число", если они добавлены в свойствах;
Поддержка Redis для кэширования и сессий;
Порция рефакторинга для кэширования;
cmsCacheMemory переименован в cmsCacheMemcache;
Для поля "Число", если включена опция "только целые числа", сохраняемое значение приводится к типу int вместо float;
Исправлен поиск иконок с символом дефиса;
Добавлен opcache_reset при установке дополнений.
Подробнее об изменениях вы можете узнать, ознакомившись с описаниями всех коммитов с прошлого релиза.
Как установить обновление InstantCMS
Важно! Убедитесь, что сейчас вы используете версию 2.17.0, иначе, обновитесь сначала до неё.
Перед началом обновления обязательно сделайте самостоятельно резервную копию своего сайта и дамп базы данных. Мы не несем никакой ответственности за любые потери данных, произошедшие в результате неправильных действий при обновлении.
Отключите кеширование в настройках сайта;
Удалите файл system/core/cachememory.php, он переименован;
Отключите объединение js и css в настройках сайта;
Если вы используете свой шаблон и в нем есть файлы, присутствующие в пакете обновления, то обновите их;
При возникновении "белого экрана" категорически читать здесь;
Для тех, у кого свой шаблон у нас есть статья как быть, если в обновлении CMS есть изменения в шаблоне, рекомендуем к прочтению.
Если в вашем шаблоне присутствуют JavaScript файлы со своими правками (взяты из /templates/default/js/ или /templates/modern/js/), замените/смержите их из пакета обновления. Не забывайте о сбросе кэша браузера абстрактным счетчиком для посетителей ваших сайтов.
Механизм установки обновлений подробно описан по этой ссылке в документации.
Удалены файлы:
system/core/cachememory.php
Пакет обновления для ручной установки можно скачать по этой ссылке.
Огромное спасибо за сообщения об ошибках. Спасибо, что выбираете InstantCMS. [Less]
|
|
Posted
over 1 year
ago
by
Fuze
Всем привет!
Как всегда, перед новым годом, мы выпускаем очередной релиз. В нём очень много "невидимых" обывателю правок, например рефакторинг кода, исправление небольших архитектурных изъянов (которые не ломают обратную совместимость)
... [More]
, документирование кода. Но и нового функционала мы, конечно же, добавили.
Новый компонент Content Security Policy
Компонент реализует добавление HTTP заголовков CSP ко всем ответам InstantCMS. Content Security Policy — это механизм обеспечения безопасности, с помощью которого можно защищаться от атак с внедрением контента, например, межсайтового скриптинга (XSS, cross site scripting). CSP описывает безопасные источники загрузки ресурсов, устанавливает правила использования встроенных стилей, скриптов, а также динамической оценки JavaScript — например, с помощью eval. Загрузка с ресурсов, не входящих в «белый список», блокируется.
Помимо внедрения самого компонента, мы сделали очень много полезных правок: избавились везде от инлайн вызовов JavaScript, например от onclick. В админке все JavaScript вызываются согласно архитектуре. Иными словами, мы добились отсутствия нотисов CSP при максимально включенном режиме. Для script тегов добавлен везде атрибут nonce. По умолчанию CSP HTTP заголовки выключены, мы рекомендуем включать с осторожностью, тестируя в режиме «Только отчёты». Более подробнее описано в документации.
Кастомизация установочного архива InstantCMS
Я уже писал в посте тестирования RC версии, повторюсь кратко.
Начиная с этого релиза вы можете делать свои сборки. В комплекте установщика теперь есть скрипт для кастомной сборки, InstantCMS можно установить без 16 компонентов, что бывает полезно для некоторых разработок. Но это ещё не всё. Вы можете добавлять любое бесплатное дополнение из нашего каталога в сборку, всё так же, используя скрипт.
Для тех кто не хочет использовать скрипт мы сделали отдельную страницу генерации сборок на этом сайте. Она всегда на основе последней версии InstantCMS. В выбор сторонних дополнений в форме мы добавляем сами, помечая проверенные. Сторонние дополнения для сборок будут пополняться. Некоторые дополнения мы добавим сами, на своё усмотрение. Механизм модерации для включения дополнений в этот список мы добавим чуть позже.
Остальные изменения
Исправлен баг с набором «Участие в группах» компонента «Группы»;
Исправлен баг с опцией сортировки полей-списков;
Управление MIME-типами в админке. Все проблемы с ними решены;
Исправлен баг со сменой языка при ремапе;
В компонент подписок добавлены опции «Показывать кнопку подписки в списке», «Показывать кнопку подписки в фильтре» и управление позицией показа кнопки;
Убрана опция "Добавлять номера страниц в тег title при пагинации", вместо неё можно использовать выражение {page} в паттернах;
Mobile Detect 3.74.3;
ScssPhp 1.13.0;
TinyMCE 7.6.0 + исправлены баги;
Редактор Ace обновлён до версии 1.36.5;
jQuery UI, CroppeJS, jquery.inputmask, VueJS актуальных версий;
Минимальная версия для InstantCMS теперь PHP: 7.2.0;
Вместо cmsUser::goLogin() используйте теперь $this->redirectToLogin() в контроллерах;
Исправлена XSS в exif параметрах;
Для механизма кэширования добавлены методы pause() и resume(), таким образом в своих дополнениях вы можете это использовать, если будет необходимо;
Для ячеек гридов добавлено свойство class_handler, где вы можете назначить функцию обработчик значения для CSS класса;
Переработан класс cmsUploader;
В обёртки виджетов теперь передаются полные данные виджета, в своих виджетах вы можете переопределять метод createPositionData();
Исправлена проблема, когда в админке невозможно было удалить категории;
Вкладки профилей с опцией "показывать только владельцу профиля", показываются суперадминам тоже;
Добавлена возможность динамически менять атрибуты тега лайоута шаблона;
Автоматический механизм Last-Modified - IF_MODIFIED_SINCE, достаточно установить заголовок Last-Modified;
Исправлена работа поля "Категории контента";
Автоспойлер для больших описаний фотографий в фотоальбомах;
Добавлен опциональный показ кол-ва записей в категориях ТК;
В опцию «Тип вывода» в связях добавлен пункт «Список в поле»;
Добавлена поддержка отрицательных масок для конкретного виджета;
Новый класс cmsResponse для работы с HTTP ответом, функция header теперь не вызывается нигде в коде напрямую, для установки хедеров используйте в контроллерах $this->cms_core->response->setHeader('name', 'value');
Класс cmsRequest дополнен для работы с HTTP заголовками запроса, с массивом $_SERVER и методом HTTP запроса;
Опции полей свойств, опции валидации для свойств, фильтры для свойств в админке, поддержка разных файлов email писем об успешной модерации для типов контента;
События от пользователей, помеченных как удалённые, теперь не выводятся в ленте активности;
Исправлена ошибка в быстром подборе масок;
Добавлены хуки: content_category_before_delete, users_profile_before_update_notices;
Добавлен трейт fieldsParseable для единой обработки полей в ТК, профилях и группах;
Исправлена фильтрация по скрытым родителям записей ТК;
Добавлена мультиязычность для кнопки виджета «All news by the author»;
Исправлено отсутствие языковой константы в уведомлении об оценке материала;
Тег video теперь может быть пустым в типографе;
Исправлены некоторые проблемы при работе на Windows-системах;
Добавлено отображение имени файла в email-письме при отправке формы конструктора форм;
В трейте formItem теперь можно использовать свойства submit_title, use_default_tool_buttons, json_callback. Трейт имеет режим копирования записи;
Исправлена работа некоторых WYSIWYG-редакторов в комментариях и на стенах в Firefox;
В поле «список изображений» добавлен CSS для блока загрузки DnD;
Опция placeholder для редактора Tiny;
Для забытых разделов админки добавлен csrf_token;
Почти вся админка приведена к единому набору иконок;
Экспериментальная поддержка прав доступа для разделов админки (управление не реализовано, только через БД);
Единый CSS класс icms-click-select для инпутов, которые должны по клику выделять свой текст;
Токены через random_bytes;
Метод $request->getContent() для получения php://input;
Вкладка формы с полем ошибки HTML валидации теперь становится автоматически активной;
В манифестах установочных пакетов добавлена возможность указывать минимальную версию PHP и зависимость от модулей PHP, включая номера версий;
Добавлен метод getMetaHandled в cmsTemplate. Он отдаёт текущие мета параметры;
Добавлены опции CSS классов для полей в записи и в списке;
Поддержка виртуальных полей в группах, профилях и виджетах;
Исправлено отсутствие расширения файла во вложениях из конструктора форм;
Исправлена работа уведомления в модальном окне конструктора форм;
Магия с cms_users/model_content и т.п. вынесена в трейт и доступна теперь в том числе и в виджетах;
Полное наследование в SCSS для дочерних шаблонов, включая внутренний импорт. Zau4man упомянул об этом в своём блоге;
CSS класс для ссылок icms-action-confirm, наличие которого вместе с атрибутом data-confirm делает переход по ссылке с автоматическим подтверждением;
Добавлены описания для тегов;
Аватарка в админке в меню ограничена в размерах;
Для поля связей «Родитель» добавлена опция вывода только в глубиномере;
В разделе виджеты и страницы админки добавлен показ подсказки на фантомном виджете с названием страницы, к которой он привязан;
Добавлен механизм смены автора записи ТК;
Увеличено кол-во символов для полей SEO;
Добавлен hookAfterUpdate для полей свойств;
Исправлена ошибка с валидацией параметров подписок для гостей;
Добавлен шаблон вывода виджета списка записей для ТК фотоальбомы;
В админке в списке комментариев добавлена фильтрация по ТК и вывод имени комментируемой записи;
Исправлено формирования SEO паттернов компонентов при включенной мультиязычности;
Для TinyMCE добавлены опции «Блочный элемент» (вместо Перевод каретки) и «Поведение новой строки»;
Для комментариев добавлена опция «Скрывать комментарии удалённых пользователей»;
Добавлена поддержка мультиязычности для связки Запись ТК -> Группа;
Убран вызов mysqli->ping() как устаревший и неработающий с php8.2;
PHPMailer 6.9.3;
Корректная версия SQL сервера в разделе «Информация о системе»;
Поддержка переменной окружения ICMS_CONFIG_DIR для пути к директории конфигураций;
Всё, что лежит в system/config/ теперь можно выносить за корневую директорию;
Поддержка массового удаления пользователей в админке;
При удалении виджетов теперь вызывается методы полей $field>delete();
Классы google_authenticator и idna_convert теперь совместимы с php8.3+;
Новый класс cmsAutoloader и механизмы автозагрузки;
Поддержка английского языка для каталога дополнений в админке;
В компоненте «Авторизация и Регистрация» а также в поле «Защита от спама» добавлена опция выбора конкретной капчи;
Опция «Показывать капчу после неудачной авторизации» переименована в «Показывать капчу при авторизации», т.е. при включении её, капча будет всегда;
Переписан механизм установки пакетов дополнений, добавлен класс cmsInstaller для работы с ними;
Исправлен баг с utf8_general_ci;
Добавлены фильтры по пользователям для массовой рассылки сообщений;
Очень много задокументированного кода;
Много рефакторинга и исправление мелких ошибок.
Кроме всего перечисленного, часть важных изменений мы описали в документации. Вы можете посмотреть историю правок на этой странице. Подробнее об изменениях вы можете узнать, ознакомившись с описаниями всех коммитов с прошлого релиза и взглянуть на закрытые тикеты / пулреквесты.
Дальнейшие планы
Помимо всего прочего, в ближайшее время в комплекте InstantCMS появится Биллинг. Бесплатно. Открыто. r2 передал биллинг мне и было решено интегрировать его в комплект InstantCMS. От этого выиграют все, даже те, кто его покупал, поскольку будет поддержка уже в контексте полной сборки InstantCMS. И да, кому он не нужен, всегда смогут собрать дистрибутив без него, см. выше про сборки. r2 передавал всем поздравления с новым годом вот таким подарком. Надеюсь этот жест будет понят правильно.
Сроки внедрения Биллинга пока не ясны, этот релиз забрал слишком много сил. Однако, хочется сделать побыстрее. Поэтому в ближайшем обновлении (если критических багов в 2.17.0 не будет), полагаю, Биллинг будет в комплекте.
В ближайшее время я постараюсь сделать на этом сайте раздел складчин по просьбам многих участников сообщества. Надеюсь это решит многие проблемы как выбора исполнителей, так и дорогих разработок.
Как установить обновление InstantCMS
Важно! Убедитесь, что сейчас вы используете версию 2.16.3, иначе, обновитесь сначала до неё.
Перед началом обновления обязательно сделайте самостоятельно резервную копию своего сайта и дамп базы данных. Мы не несем никакой ответственности за любые потери данных, произошедшие в результате неправильных действий при обновлении.
Отключите кеширование в настройках сайта;
Отключите объединение js и css в настройках сайта;
Если вы используете свой шаблон и в нем есть файлы, присутствующие в пакете обновления, то обновите их;
При возникновении "белого экрана" категорически читать здесь;
Для тех, у кого свой шаблон у нас есть статья как быть, если в обновлении CMS есть изменения в шаблоне, рекомендуем к прочтению.
Если в вашем шаблоне присутствуют JavaScript файлы со своими правками (взяты из /templates/default/js/ или /templates/modern/js/), замените/смержите их из пакета обновления. Не забывайте о сбросе кэша браузера абстрактным счетчиком для посетителей ваших сайтов.
Механизм установки обновлений подробно описан по этой ссылке в документации.
Отключите сторонние компоненты капчи и показ капчи при авторизации, так как для работы в 2.17.0 нужны незначительно доработки со стороны их авторов. Например для smCaptcha требуется сделать примерно так.
Удалены файлы:
system/controllers/groups/actions/group_closed.phpsystem/libs/phpmailer/language/phpmailer.lang-am.phpsystem/libs/phpmailer/language/phpmailer.lang-ch.phpsystem/libs/phpmailer/language/phpmailer.lang-rs.phpsystem/libs/phpmailer/class.phpmailer.phpsystem/libs/phpmailer/class.pop3.phpsystem/libs/phpmailer/class.smtp.phpsystem/libs/scssphp/scss.inc.phptemplates/default/controllers/groups/group_closed.tpl.phptemplates/modern/controllers/groups/group_closed.tpl.php
Пакет обновления для ручной установки можно скачать по этой ссылке. Демо сайт обновлён.
С наступающим новым годом! Спасибо за сообщения об ошибках. Спасибо, что выбираете InstantCMS. [Less]
|
|
Posted
over 1 year
ago
by
Fuze
Всем привет!
Как всегда, перед новым годом, мы выпускаем очередной релиз. В нём очень много "невидимых" обывателю правок, например рефакторинг кода, исправление небольших архитектурных изъянов (которые не ломают обратную совместимость)
... [More]
, документирование кода. Но и нового функционала мы, конечно же, добавили.
Новый компонент Content Security Policy
Компонент реализует добавление HTTP заголовков CSP ко всем ответам InstantCMS. Content Security Policy — это механизм обеспечения безопасности, с помощью которого можно защищаться от атак с внедрением контента, например, межсайтового скриптинга (XSS, cross site scripting). CSP описывает безопасные источники загрузки ресурсов, устанавливает правила использования встроенных стилей, скриптов, а также динамической оценки JavaScript — например, с помощью eval. Загрузка с ресурсов, не входящих в «белый список», блокируется.
Помимо внедрения самого компонента, мы сделали очень много полезных правок: избавились везде от инлайн вызовов JavaScript, например от onclick. В админке все JavaScript вызываются согласно архитектуре. Иными словами, мы добились отсутствия нотисов CSP при максимально включенном режиме. Для script тегов добавлен везде атрибут nonce. По умолчанию CSP HTTP заголовки выключены, мы рекомендуем включать с осторожностью, тестируя в режиме «Только отчёты». Более подробнее описано в документации.
Кастомизация установочного архива InstantCMS
Я уже писал в посте тестирования RC версии, повторюсь кратко.
Начиная с этого релиза вы можете делать свои сборки. В комплекте установщика теперь есть скрипт для кастомной сборки, InstantCMS можно установить без 16 компонентов, что бывает полезно для некоторых разработок. Но это ещё не всё. Вы можете добавлять любое бесплатное дополнение из нашего каталога в сборку, всё так же, используя скрипт.
Для тех кто не хочет использовать скрипт мы сделали отдельную страницу генерации сборок на этом сайте. Она всегда на основе последней версии InstantCMS. В выбор сторонних дополнений в форме мы добавляем сами, помечая проверенные. Сторонние дополнения для сборок будут пополняться. Некоторые дополнения мы добавим сами, на своё усмотрение. Механизм модерации для включения дополнений в этот список мы добавим чуть позже.
Остальные изменения
Исправлен баг с набором «Участие в группах» компонента «Группы»;
Исправлен баг с опцией сортировки полей-списков;
Управление MIME-типами в админке. Все проблемы с ними решены;
Исправлен баг со сменой языка при ремапе;
В компонент подписок добавлены опции «Показывать кнопку подписки в списке», «Показывать кнопку подписки в фильтре» и управление позицией показа кнопки;
Убрана опция "Добавлять номера страниц в тег title при пагинации", вместо неё можно использовать выражение {page} в паттернах;
Mobile Detect 3.74.3;
ScssPhp 1.13.0;
TinyMCE 7.6.0 + исправлены баги;
Редактор Ace обновлён до версии 1.36.5;
jQuery UI, CroppeJS, jquery.inputmask, VueJS актуальных версий;
Минимальная версия для InstantCMS теперь PHP: 7.2.0;
Вместо cmsUser::goLogin() используйте теперь $this->redirectToLogin() в контроллерах;
Исправлена XSS в exif параметрах;
Для механизма кэширования добавлены методы pause() и resume(), таким образом в своих дополнениях вы можете это использовать, если будет необходимо;
Для ячеек гридов добавлено свойство class_handler, где вы можете назначить функцию обработчик значения для CSS класса;
Переработан класс cmsUploader;
В обёртки виджетов теперь передаются полные данные виджета, в своих виджетах вы можете переопределять метод createPositionData();
Исправлена проблема, когда в админке невозможно было удалить категории;
Вкладки профилей с опцией "показывать только владельцу профиля", показываются суперадминам тоже;
Добавлена возможность динамически менять атрибуты тега лайоута шаблона;
Автоматический механизм Last-Modified - IF_MODIFIED_SINCE, достаточно установить заголовок Last-Modified;
Исправлена работа поля "Категории контента";
Автоспойлер для больших описаний фотографий в фотоальбомах;
Добавлен опциональный показ кол-ва записей в категориях ТК;
В опцию «Тип вывода» в связях добавлен пункт «Список в поле»;
Добавлена поддержка отрицательных масок для конкретного виджета;
Новый класс cmsResponse для работы с HTTP ответом, функция header теперь не вызывается нигде в коде напрямую, для установки хедеров используйте в контроллерах $this->cms_core->response->setHeader('name', 'value');
Класс cmsRequest дополнен для работы с HTTP заголовками запроса, с массивом $_SERVER и методом HTTP запроса;
Опции полей свойств, опции валидации для свойств, фильтры для свойств в админке, поддержка разных файлов email писем об успешной модерации для типов контента;
События от пользователей, помеченных как удалённые, теперь не выводятся в ленте активности;
Исправлена ошибка в быстром подборе масок;
Добавлены хуки: content_category_before_delete, users_profile_before_update_notices;
Добавлен трейт fieldsParseable для единой обработки полей в ТК, профилях и группах;
Исправлена фильтрация по скрытым родителям записей ТК;
Добавлена мультиязычность для кнопки виджета «All news by the author»;
Исправлено отсутствие языковой константы в уведомлении об оценке материала;
Тег video теперь может быть пустым в типографе;
Исправлены некоторые проблемы при работе на Windows-системах;
Добавлено отображение имени файла в email-письме при отправке формы конструктора форм;
В трейте formItem теперь можно использовать свойства submit_title, use_default_tool_buttons, json_callback. Трейт имеет режим копирования записи;
Исправлена работа некоторых WYSIWYG-редакторов в комментариях и на стенах в Firefox;
В поле «список изображений» добавлен CSS для блока загрузки DnD;
Опция placeholder для редактора Tiny;
Для забытых разделов админки добавлен csrf_token;
Почти вся админка приведена к единому набору иконок;
Экспериментальная поддержка прав доступа для разделов админки (управление не реализовано, только через БД);
Единый CSS класс icms-click-select для инпутов, которые должны по клику выделять свой текст;
Токены через random_bytes;
Метод $request->getContent() для получения php://input;
Вкладка формы с полем ошибки HTML валидации теперь становится автоматически активной;
В манифестах установочных пакетов добавлена возможность указывать минимальную версию PHP и зависимость от модулей PHP, включая номера версий;
Добавлен метод getMetaHandled в cmsTemplate. Он отдаёт текущие мета параметры;
Добавлены опции CSS классов для полей в записи и в списке;
Поддержка виртуальных полей в группах, профилях и виджетах;
Исправлено отсутствие расширения файла во вложениях из конструктора форм;
Исправлена работа уведомления в модальном окне конструктора форм;
Магия с cms_users/model_content и т.п. вынесена в трейт и доступна теперь в том числе и в виджетах;
Полное наследование в SCSS для дочерних шаблонов, включая внутренний импорт. Zau4man упомянул об этом в своём блоге;
CSS класс для ссылок icms-action-confirm, наличие которого вместе с атрибутом data-confirm делает переход по ссылке с автоматическим подтверждением;
Добавлены описания для тегов;
Аватарка в админке в меню ограничена в размерах;
Для поля связей «Родитель» добавлена опция вывода только в глубиномере;
В разделе виджеты и страницы админки добавлен показ подсказки на фантомном виджете с названием страницы, к которой он привязан;
Добавлен механизм смены автора записи ТК;
Увеличено кол-во символов для полей SEO;
Добавлен hookAfterUpdate для полей свойств;
Исправлена ошибка с валидацией параметров подписок для гостей;
Добавлен шаблон вывода виджета списка записей для ТК фотоальбомы;
В админке в списке комментариев добавлена фильтрация по ТК и вывод имени комментируемой записи;
Исправлено формирования SEO паттернов компонентов при включенной мультиязычности;
Для TinyMCE добавлены опции «Блочный элемент» (вместо Перевод каретки) и «Поведение новой строки»;
Для комментариев добавлена опция «Скрывать комментарии удалённых пользователей»;
Добавлена поддержка мультиязычности для связки Запись ТК -> Группа;
Убран вызов mysqli->ping() как устаревший и неработающий с php8.2;
PHPMailer 6.9.3;
Корректная версия SQL сервера в разделе «Информация о системе»;
Поддержка переменной окружения ICMS_CONFIG_DIR для пути к директории конфигураций;
Всё, что лежит в system/config/ теперь можно выносить за корневую директорию;
Поддержка массового удаления пользователей в админке;
При удалении виджетов теперь вызывается методы полей $field>delete();
Классы google_authenticator и idna_convert теперь совместимы с php8.3+;
Новый класс cmsAutoloader и механизмы автозагрузки;
Поддержка английского языка для каталога дополнений в админке;
В компоненте «Авторизация и Регистрация» а также в поле «Защита от спама» добавлена опция выбора конкретной капчи;
Опция «Показывать капчу после неудачной авторизации» переименована в «Показывать капчу при авторизации», т.е. при включении её, капча будет всегда;
Переписан механизм установки пакетов дополнений, добавлен класс cmsInstaller для работы с ними;
Исправлен баг с utf8_general_ci;
Добавлены фильтры по пользователям для массовой рассылки сообщений;
Очень много задокументированного кода;
Много рефакторинга и исправление мелких ошибок.
Кроме всего перечисленного, часть важных изменений мы описали в документации. Вы можете посмотреть историю правок на этой странице. Подробнее об изменениях вы можете узнать, ознакомившись с описаниями всех коммитов с прошлого релиза и взглянуть на закрытые тикеты / пулреквесты.
Дальнейшие планы
Помимо всего прочего, в ближайшее время в комплекте InstantCMS появится Биллинг. Бесплатно. Открыто. r2 передал биллинг мне и было решено интегрировать его в комплект InstantCMS. От этого выиграют все, даже те, кто его покупал, поскольку будет поддержка уже в контексте полной сборки InstantCMS. И да, кому он не нужен, всегда смогут собрать дистрибутив без него, см. выше про сборки. r2 передавал всем поздравления с новым годом вот таким подарком. Надеюсь этот жест будет понят правильно.
Сроки внедрения Биллинга пока не ясны, этот релиз забрал слишком много сил. Однако, хочется сделать побыстрее. Поэтому в ближайшем обновлении (если критических багов в 2.17.0 не будет), полагаю, Биллинг будет в комплекте.
В ближайшее время я постараюсь сделать на этом сайте раздел складчин по просьбам многих участников сообщества. Надеюсь это решит многие проблемы как выбора исполнителей, так и дорогих разработок.
Как установить обновление InstantCMS
Важно! Убедитесь, что сейчас вы используете версию 2.16.3, иначе, обновитесь сначала до неё.
Перед началом обновления обязательно сделайте самостоятельно резервную копию своего сайта и дамп базы данных. Мы не несем никакой ответственности за любые потери данных, произошедшие в результате неправильных действий при обновлении.
Отключите кеширование в настройках сайта;
Отключите объединение js и css в настройках сайта;
Если вы используете свой шаблон и в нем есть файлы, присутствующие в пакете обновления, то обновите их;
При возникновении "белого экрана" категорически читать здесь;
Для тех, у кого свой шаблон у нас есть статья как быть, если в обновлении CMS есть изменения в шаблоне, рекомендуем к прочтению.
Если в вашем шаблоне присутствуют JavaScript файлы со своими правками (взяты из /templates/default/js/ или /templates/modern/js/), замените/смержите их из пакета обновления. Не забывайте о сбросе кэша браузера абстрактным счетчиком для посетителей ваших сайтов.
Механизм установки обновлений подробно описан по этой ссылке в документации.
Удалены файлы:
system/controllers/groups/actions/group_closed.phpsystem/libs/phpmailer/language/phpmailer.lang-am.phpsystem/libs/phpmailer/language/phpmailer.lang-ch.phpsystem/libs/phpmailer/language/phpmailer.lang-rs.phpsystem/libs/phpmailer/class.phpmailer.phpsystem/libs/phpmailer/class.pop3.phpsystem/libs/phpmailer/class.smtp.phpsystem/libs/scssphp/scss.inc.phptemplates/default/controllers/groups/group_closed.tpl.phptemplates/modern/controllers/groups/group_closed.tpl.php
Пакет обновления для ручной установки можно скачать по этой ссылке. Демо сайт обновлён.
С наступающим новым годом! Спасибо за сообщения об ошибках. Спасибо, что выбираете InstantCMS. [Less]
|