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_downloads
ALTER 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
, теперь вы можете, при необходимости, переопределить параметры по умолчанию.
- в ваш