Журнал изменений

Журнал изменений

Фильтр и поиск

Всего: 1045 Доступных коммитов | Отфильтровано: 1045 Коммиты | Страница: 46 / 105
16.04.2026
Refactor: modules/links — мигрировать на Etalon-стандарт (news)
Автор: Eduard Laas | Дата: 12:53 16.04.2026

Переписать modules/links/index.php по образцу modules/news/index.php: new/ фрагменты, getTplPager с url_extra, устранить SQL-инъекции, привести код к конвенциям SLAED.

Core changes:

  1. links() — список ссылок:
  2. getTplContentCard → new/card (width: 100) + new/grid
  3. setArticleNumbers → getTplPager с url_extra
  4. $cat/$ncat → прямой $ncat; $field/$orderby inline → if/elseif/else
  5. SQL: "cid = '".$ncat."'" → 'cid = '.(int)$ncat; array_map('intval')
  6. $ismoder/$token перед loop; edit_href/delete_href с name=links + token
  7. getVar('get', 'cat', 'num') — убрано двойное присваивание $cat=$ncat
  8. view() — просмотр ссылки:
  9. getTplContentView → new/view
  10. extra-поля home переданы как raw; описание в description/bodytext
  11. liste() — табличный список:
  12. liste-wrap/liste-basic → new/table + new/table-row-liste
  13. assoc-блок:
  14. assoc-wrap/assoc-basic → new/related + new/related-item
  15. add() / send():
  16. hometext/bodytext type 'raw'/'text'; getTplPreviewContent
  17. INSERT многострочный; (int)$user[0]; $db убран из add()

Benefits:

  • Устранены SQL-инъекции; единообразие с Etalon
  • Консистентные edit_href/delete_href (name=links)

Technical notes:

  • 4-space indentation; switch ($op) с пробелом
Refactor: modules/files — мигрировать на Etalon-стандарт (news)
Автор: Eduard Laas | Дата: 12:53 16.04.2026

Переписать modules/files/index.php по образцу modules/news/index.php: new/ фрагменты, getTplPager с url_extra, устранить SQL-инъекции, привести код к конвенциям SLAED.

Core changes:

  1. files() — список файлов:
  2. getTplContentCard → new/card (width: 100) + new/grid
  3. setArticleNumbers → getTplPager с url_extra
  4. $cat/$ncat → прямой $ncat; $field удалён
  5. $ismoder/$token вынесены перед loop
  6. edit_href: name=files&op=files_add; delete_href: name=files&op=files_delete + token
  7. SQL: "cid = '".$ncat."'" → 'cid = '.(int)$ncat; array_map('intval', $cids)
  8. view() — просмотр файла:
  9. getTplContentView → new/view (единый шаблон)
  10. delete_href: добавлен name=files
  11. Поля size, version, email, home переданы в new/view как extra-поля
  12. add() / send():
  13. hometext/bodytext type 'raw'; getTplPreviewContent
  14. INSERT многострочный; (int)$user[0]
  15. $db убран из globals add()

Benefits:

  • Устранены SQL-инъекции (prepared statements)
  • Единообразие с Etalon-стандартом
  • name=files во всех admin-ссылках

Technical notes:

  • 4-space indentation; switch ($op) с пробелом
  • new/view покрывает extra-поля через условные блоки
Style: templates — добавить стили sl-list и sl-assoc в new.css
Автор: Eduard Laas | Дата: 12:53 16.04.2026

Добавить CSS-правила для новых фрагментов new/list- и new/assoc- во все три frontend-темы (default/lite/simple).

Core changes:

  1. List table (sl-list-head / sl-list-row):
  2. Заголовок thead: padding, background #f1f3f5, border-bottom, font-size 12px, border-radius на крайних th

  3. Строки tbody: border-bottom, padding 5px, font-size .9em
  4. Assoc block (sl-assoc-*):
  5. sl-assoc-title: заголовок 30px, color #556779, margin
  6. sl-assoc-item: position relative, padding 25px 29px 0 80px, border-top, margin-bottom 25px

  7. Декоративный bullet через :before (9px, border-radius 5px)
  8. sl-assoc-img: absolute, 60px×60px, border-radius, background-size cover
  9. sl-assoc-meta: inline list, font-size .9em, color #6e7c8b

Benefits:

  • Стили сразу применяются во всех темах (default/lite/simple)
  • Соответствуют CSS-конвенции sl-* (hyphen-case)

Technical notes:

  • sl-assoc-img использует background-image (не img-тег)
  • Идентичный CSS во всех трёх темах
Refactor: templates — расширить new/view.html для extra-полей модулей
Автор: Eduard Laas | Дата: 12:53 16.04.2026

Добавить в единый new/view.html условные блоки для extra-полей media, links и faq, чтобы один шаблон обслуживал все модули без создания отдельных вариантов.

Core changes:

  1. new/view.html (default/lite/simple):
  2. Новый блок sl-section: условный рендер {% if year or director or roles or createdby or duration or lang or format or quality or size or version or released or email or home %}

  3. Поля: year, director, roles, createdby, duration, lang, format, quality, size, version, released, email (raw), home (raw)

  4. note: отдельный sl-entry-content блок ({% if note %})
  5. links_label: заголовок h5.sl-related-title ({% if links_label %})
  6. mlinks: блок sl-section с raw-контентом ({% if mlinks %})

Benefits:

  • Один шаблон для news, pages, files, links, media, faq
  • Поля не переданные модулем просто не рендерятся ({% if %})
  • Нет дублирования шаблонов (no ZOO)

Technical notes:

  • Все extra-поля условные — обратно совместим со старыми вызовами
  • email и home рендерятся тройными скобками {{{...}}} (raw HTML)
Feature: templates — добавить new/ фрагменты assoc-* и list-*
Автор: Eduard Laas | Дата: 12:53 16.04.2026

Добавить четыре новых фрагмента в пространство new/ для всех трёх шаблонов (default/lite/simple): блоки связанных материалов (assoc-wrap/assoc-item) и табличный список (list-wrap/list-row).

Core changes:

  1. new/assoc-wrap.html + new/assoc-item.html:
  2. assoc-wrap: open/close-режим; заголовок в sl-assoc-title; обёртка ul.sl-assoc-list

  3. assoc-item: li.sl-assoc-item с картинкой через background-image, ссылкой, текстом и временной меткой (sl-assoc-meta)

  4. new/list-wrap.html + new/list-row.html:
  5. list-wrap: table.sl_table_list_sort с thead; letter-блок; open/close-режим

  6. list-row: tr.sl-list-row с колонками: id, title, category, poster, date

Benefits:

  • Покрывают паттерны связанных записей и табличных списков
  • Семантичный HTML: time[datetime], role через CSS-классы
  • Совместимы с CSS-конвенцией sl-* из new.css

Technical notes:

  • assoc-item использует background-image для превью (не <img>)
  • list-wrap принимает letter-HTML через параметр letter
  • Фрагменты идентичны во всех трёх темах
Style: admin — редизайн menu-grid и dashboard-panel (new.css)
Автор: Eduard Laas | Дата: 12:52 16.04.2026

Обновить стили admin-панели: menu-grid с фиксированной шириной колонок, card-стиль для ссылок, hover-эффекты через transform вместо изменения размера, убрать разделитель dashboard-panel-sep.

Core changes:

  1. Menu grid (sl-menu-grid-*):
  2. Колонки фиксированной ширины calc((100% - 35px) / 6) вместо flex: 1
  3. sl-menu-grid-link: border, border-radius, box-shadow, height 100px
  4. Hover: translateY(-1px), box-shadow, border-color
  5. sl-menu-grid-image hover: transform scale(0.75) вместо resize
  6. sl-menu-grid-link span: line-clamp 2 + overflow-wrap
  7. Menu list (sl-menu-list-*):
  8. padding 3px 4px + border-radius на элементе
  9. sl-menu-list-image hover: transform scale(0.84) вместо resize
  10. Dashboard panel:
  11. sl-dashboard-panel-head: margin-bottom 12px → 8px
  12. sl-dashboard-panel-pad: padding убран
  13. sl-dashboard-panel-content: padding 8px 6px
  14. sl-dashboard-panel-sep удалён

Benefits:

  • Единообразный card-стиль для всех admin-модулей
  • Hover-анимации через transform (GPU-accelerated)
  • Более компактный layout dashboard-панелей
Refactor: admin — toggle-API, blocks-refactor, admcol-default
Автор: Eduard Laas | Дата: 12:52 16.04.2026

Перевести admin-модули на новый data-sl-toggle-control API, рефакторить blocks.php (сортировка модулей, переименование переменных) и обновить default admcol с 5 до 6.

Core changes:

  1. Admin toggle (admin/index.php, admins.php, security.php, account/admin/index.php):

  2. CloseOpen / sl_close_X → data-sl-toggle-control + семантичные ID
  3. sl_close_1/2 → sl_panel_admin / sl_panel_site
  4. sl_close_9 → sl_form_admin_mail / sl_form_account_mail
  5. cookie-зависимость убрана; is_checked = false по умолчанию
  6. Blocks refactor (admin/modules/blocks.php):
  7. getBlockModules() → прямой обход $conf['modules'] с фильтром type=1 и sort() для алфавитного порядка

  8. $viewItems → $items; $blockwhere → $bwhere
  9. $blocktext → $btext; $html_b/$html_e → $htmlb/$htmle
  10. Config (admin/modules/config.php, config/global.php):
  11. admcol default: 5 → 6 (6 колонок в admin dashboard)
  12. config/local.php: обновлён base_fingerprint

Benefits:

  • Единый toggle-API без зависимости от cookie-имён
  • Блоки модулей отображаются в алфавитном порядке
  • Переменные в blocks.php соответствуют naming-конвенции

Technical notes:

  • is_checked теперь hardcode false — состояние управляется JS
  • getBlockModules() удалён из вызовов (inline-логика)
Refactor: toggle-system — CloseOpen → data-sl-toggle декларативный API
Автор: Eduard Laas | Дата: 12:52 16.04.2026

Заменить устаревший глобальный CloseOpen на декларативный data-атрибут API (data-sl-toggle / data-sl-toggle-control). Блоки и кнопки описываются через HTML-атрибуты без inline JS.

Core changes:

  1. Toggle engine (slaed.js):
  2. Новые функции: getToggleControls, setToggleControls, setToggleBlockState, toggleBlock, bindToggleControl

  3. initCloseOpenBlocks переведён на [data-sl-toggle-control] и [data-sl-toggle]; поддержка checkbox, aria-expanded, cookie-состояния (path/global scope)

  4. window.CloseOpen удалён из публичного API
  5. Admin-шаблоны (dashboard-panel, div-collapse, sidebar-block):
  6. OnClick="CloseOpen(...)" → data-sl-toggle-control="<id>"
  7. div id + data-sl-toggle="<id>"
  8. sl_close_X → семантические ID: sl_panel_, sl_block_
  9. Frontend-шаблоны (block-left, categories, navi, new/navi) для default/lite/simple:

  10. OnClick/CloseOpen → data-sl-toggle-control
  11. sl_close_1 → sl_nav_cats (data-sl-toggle-scope="path")

Benefits:

  • Inline JS полностью удалён из шаблонов
  • Единый toggle-механизм для admin и frontend
  • Accessibility: aria-expanded, role="button", tabindex, keyboard

Technical notes:

  • window.CloseOpen удалён без замены — все вызовы переведены
  • data-all (старый формат) заменён на data-sl-toggle
  • ID переименованы: sl_close_X → sl_block_X / sl_panel_ / sl_nav_
15.04.2026
Style: templates — обновить new.css: макет формы и иконка info/warn блока
Автор: Eduard Laas | Дата: 15:24 15.04.2026

Обновление стилей для поддержки новых фрагментов и скорректированного макета form-row с двоеточием через CSS.

Core changes:

  1. new.css (default, lite, simple):
  2. Добавить .sl_info:before, .sl_warn:before — иконка из sprite.png для блоков предупреждений
  3. Скорректировать .sl-form-label: убрать font-weight:bold, увеличить width до 160px
  4. Добавить .sl-form-label::after { content: ":" } — двоеточие через CSS вместо hardcoded в PHP
  5. Добавить .sl-form-row .sl-field { flex: 1; min-width: 0 } — корректный flex layout
  6. new.css (admin):
  7. Добавить те же правила: sl_info/sl_warn иконка, sl-form-* layout, sl-form-label::after

Benefits:

  • Двоеточие после label управляется CSS — PHP передаёт чистый текст
  • Все 4 темы синхронизированы по базовым form-row стилям

Technical notes:

  • sl-form-label::after соответствует удалению ':' из getTplViewFieldRows в helpers.php
  • Существующие классы sl_* не переименовывались
Fix: templates — добавить op=add в action формы form-add.html
Автор: Eduard Laas | Дата: 15:24 15.04.2026

URL формы не содержал op=add — после отправки адресная строка показывала index.php?name=news без оператора.

Core changes:

  1. form-add.html (default, lite, simple):
  2. Изменить action с index.php?name={{ name }} на index.php?name={{ name }}&amp;op=add

    • getVar('req','op',...) проверяет POST перед GET
    • скрытое поле op=send продолжает корректно маршрутизировать отправку
    • URL при отображении формы и preview теперь показывает op=add

Benefits:

  • Адресная строка отражает реальный контекст страницы
  • Нет регрессий в маршрутизации: hidden op=send имеет приоритет через POST

Technical notes:

  • Admin не использует form-add.html — изменение только для frontend тем

Всего: 1045 на 105 страницах по 10 на каждой странице

1 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 105
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код