API-module
Критически важные изменения
-
[Auth] Добавлена защита от брутфорса генерации новых кодов для входа:
- Создайте новую таблицу:
-- Дата последнего запроса кода аутентификации CREATE TABLE IF NOT EXISTS `auth_codes_lasts` ( `id` BIGINT(22) NOT NULL AUTO_INCREMENT, `user_id` INT(11) NOT NULL, `created_at` DATETIME NOT NULL, PRIMARY KEY (`id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ci;
- Добавьте новую константу в конфиг
api\app\Configs\SettingsAuth.php
:/** * Количество генераций новых кодов в день * * @var int */ const ATTEMPTS_PER_DAY = 50;
- Создайте новую таблицу:
-
[Пользователи] В таблицу
sessions
необходимо добавить новые поля:ALTER TABLE `sessions` ADD `device_info` JSON AFTER `user_id`, ADD `geoip` JSON AFTER `device_info`, ADD `admin_entered` TINYINT(1) NOT NULL DEFAULT '0' AFTER `geoip`;
Необязательные изменения
-
[Response] В массиве ответа добавлен ключ
success
типаbool
, рекомендуется использовать для проверки на наличие ошибок его вместоisset($result['errors'])
, т.к. в версии 2.0 ключerrors
будет переименован в ключerror
.
WEB-module
Критически важные изменения
-
[Gulp-плагин] Переход на плагин
gulp-file-include
:- старый комментарий:
<!-- include "path/to/xxx.html" -->
- новый комментарий:
<!-- include('path/to/xxx.html') -->
- путь до файла указывается от корня, корнем является каталог
/src/html
.
- старый комментарий:
-
[Мой профиль] Новый раздел
Мой профиль
:- скачать архив 1.9.0_profile.zip и распаковать содержимое в каталог
/src
. - в файле
/src/html/include/menu_topbar.html
перед пунктомВыход
добавить новый элемент:
<li class="m-nav__item"> <a href="/profile" data-navigo class="m-nav__link"> <i class="m-nav__link-icon fas fa-fw fa-user-circle"></i> <span class="m-nav__link-title"> <span class="m-nav__link-wrap"> <span class="m-nav__link-text"> Мой профиль </span> </span> </span> </a> </li>
- в файле
/src/js/0-app/200-routes.js
в блокеСистемные маршруты
добавить новый элемент:
'/profile': function (params, query) { app.page = { name: 'profile', title: 'Мой профиль', onLoad: function () { lemurro.profile.init(); }, params: params, query: query, }; },
- скачать архив 1.9.0_profile.zip и распаковать содержимое в каталог
-
[Пользователи] В методе
lemurro.users.remove
необходимо удалить неиспользуемый параметрname
. -
[Пользователи] В методе
lemurro.users.showData
необходимо удалить неиспользуемый параметрcallback
. -
[Справочники] В методе
lemurro.guide.remove
необходимо удалить неиспользуемый параметрname
.
Изменения средней важности
-
[JS] Вместо кода
result.hasOwnProperty('errors')
необходимо использовать кодlemurro.hasErrors(result)
. -
[JS-библиотки] Если вы использовали создание нового экземпляра через
new LightAjax
тогда вам необходимо знать об изменениях:- Вместо параметра
settings.color
теперь необязательный параметрsettings.classColor
, чтобы избежать проблем с Content Security Policy, можно не указывать, тогда будет использоваться класс по умолчанию. - Параметр
callbackAlert
помещён внутрьsettings
:settings.callbackAlert
. - Исправлена ошибка когда жёстко менялись настройки в jQuery.ajaxSetup, теперь настройки по умолчанию работают только внутри LightAjax.
- Вместо параметра
-
[Пользователи] В каталоге
/src/js/users/
необходимо добавить js-файл с методомusers.afterShowData
:/** * Функция обратного вызова после отображения списка пользователей * * @param {Object} data * * @author Дмитрий Щербаков <atomcms@ya.ru> * * @version 17.04.2020 */ users.afterShowData = function (data) { };
-
[Пользователи] В файле
/src/html/pages/users/content.html
:- добавить в блок
ul#js-tabs__links
новый элемент:<li class="nav-item"> <a href="#tab-auth-keys" class="nav-link" data-toggle="tab" data-target="#tab-auth-keys"> <i class="fas fa-key"></i> Ключи доступа </a> </li>
- добавить в блок
div#js-tabs__contents
новый элемент:<div class="tab-pane" id="tab-auth-keys" role="tabpanel"> <!-- include('pages/users/auth_keys.html') --> </div>
- Скачать файлы auth_keys.html и tpl_auth_keys__items.html и поместить в каталог
/src/html/pages/users
.
- добавить в блок
Необязательные изменения
- [Пользователи] В форме добавления\изменения пользователя можно визуально разбить блоки с основной системной информацией и правами доступа, изменения вы можете найти в файле form.html.