API-module
Критически важные изменения
-
Класс
Lemurro\Api\Core\Cron\Cronпереименован в классLemurro\Api\Core\Helpers\Console -
Логотип из файла
assets/img/logo.pngпереехал в base64-строкуEmailTemplates::LOGO_BASE64, для создания base64-строки из файла можно воспользоваться различными онлайн-сервисами, например этим -
Добавлен пользователь с ID=1:
- его нельзя удалить;
- под ним нельзя войти;
- нельзя редактировать профиль;
- он используется для cli-скриптов.
Поэтому в своих проектах создайте клона вашего пользователя с ID=1
А у пользователя с ID=1 необходимо поставить вот такие параметры
UPDATE `users` SET `auth_id` = 'lemurro@lemurro' WHERE `id` = 1; UPDATE `info_users` SET `user_id` = 1, `roles` = '{"admin":"true"}', `first_name` = 'для', `second_name` = 'cli-скриптов', `last_name` = 'Пользователь' WHERE `id` = 1; -
Появилась возможность скачивать только что загруженные (временные) файлы, поэтому необходимо добавить новое поле в таблицу
files_downloadsALTER TABLE `files_downloads` ADD `type` VARCHAR(255) NOT NULL AFTER `id`; UPDATE `files_downloads` SET `type` = 'permanent'; -
В
app/Configs/SettingsFile.phpдобавлен новый параметр/** * Режим проверки файла: по типу содержимого (type) или по расширению (ext) * * @var string */ const CHECK_FILE_BY = 'type';
Изменения средней важности
- Временная зона “по умолчанию” перенесена в ядро, поэтому строка
date_default_timezone_set('UTC');более не актуальна в следующих файлах:-
public/index.php; -
lemurro-cron.php; - и в ваших файлах, где вы могли использовать это определение.
-
WEB-module
Критически важные изменения
-
В каталоге
srcнеобходимо создать каталогcopy-to-buildи перенести туда каталогassetsи файл.htaccess -
В каталоге
copy-to-buildнеобходимо поместить файлfavicon.png -
Добавлена новая gulp-библиотека
gulp-sortдля исправления ошибки с неверным порядком склейки файловnpm install --save-dev gulp-sort@^2.0.0Возьмите файл gulpfile.js и сравните его со своим, там очень много изменений оптимизации, проще всего будет взять новый файл и добавить в него ваши таски (если есть)
-
Исправлена ошибка при отсутствии даты последнего действия пользователя, в файле
src/html/pages/users/tpl_item.htmlвнесите изменения в столбце с датой последнего действияБыло Стало <td class="align-middle text-nowrap">
{{lemurrolocaltime last_action_date "DD.MM.YYYY HH:mm"}}</td><td class="align-middle text-nowrap">
{{#if last_action_date}}
{{lemurrolocaltime last_action_date "DD.MM.YYYY HH:mm"}}
{{else}}
отсутствует
{{/if}}</td> -
Добавлен системный пользователь с ID=1
-
В файле
src/html/pages/users/form.htmlпоставить классjs-user-id-1для следующих полей:-
input[name="auth_id"]; -
input[name="last_name"]; -
input[name="first_name"]; -
input[name="second_name"]; -
input[type="checkbox"][data-role="admin"].
-
-
В файле
src/html/pages/users/tpl_item.htmlзаблокируем кнопкиВойтииУдалитьдля пользователя с ID=1Было Стало <li class="m-nav__item js-login-by-user">
<a href="javascript:lemurro.users.loginByUser('{{id}}');" class="btn m-btn--icon">
<span>
<i class="fas fa-fw fa-sign-in-alt"></i>
<span>Войти</span>
</span>
</a></li><li class="m-nav__item">
<a href="javascript:users.remove('{{id}}');" class="btn m-btn--icon text-danger">
<span>
<i class="far fa-fw fa-trash-alt"></i>
<span>Удалить</span>
</span>
</a></li>|{{#js_if "this.id !== '1'"}}<li class="m-nav__item js-login-by-user">
<a href="javascript:lemurro.users.loginByUser('{{id}}');" class="btn m-btn--icon">
<span>
<i class="fas fa-fw fa-sign-in-alt"></i>
<span>Войти</span>
</span>
</a></li><li class="m-nav__item">
<a href="javascript:users.remove('{{id}}');" class="btn m-btn--icon text-danger">
<span>
<i class="far fa-fw fa-trash-alt"></i>
<span>Удалить</span>
</span>
</a></li>{{else}}<li class="m-nav__item">
<span class="btn m-btn--icon disabled">
<span>
<i class="fas fa-fw fa-sign-in-alt"></i>
<span>Войти</span>
</span>
</span></li><li class="m-nav__item">
<span class="btn m-btn--icon disabled">
<span>
<i class="far fa-fw fa-trash-alt"></i>
<span>Удалить</span>
</span>
</span></li>{{/js_if}}
-
-
Запуск страницы при первом запуске приложения выполняется внутри
app.init, чтобы можно было сначала выполнить какие-то действия перед стартом страницы, поэтому вам необходимо добавить вызовcallback();он передается в виде единственного параметра вapp.init = function (callback) {};в файлеsrc/js/0-app/300-init.js
Изменения средней важности
- Добавлен js-хелпер clearString
- В js-хелпере showConfirm изменены настройки по умолчанию:
-
type: 'question'; -
buttonsStyling: false; -
focusConfirm: false; -
allowEscapeKey: false; -
allowEnterKey: false; -
confirmButtonClass: 'btn btn-success'; -
cancelButtonClass: 'btn btn-danger'.
-
- В js-модуле bindUpload:
- в ваш
callbackтеперь также передаётся параметрbtn; - добавлен новый параметр
options, теперь вы можете, при необходимости, переопределить параметры по умолчанию.
- в ваш