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

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

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

Всего: 1347 Доступных коммитов | Отфильтровано: 1347 Коммиты | Страница: 76 из 135
16.04.2026
Refactor: modules/faq — мигрировать на Etalon-стандарт (news)
Автор: Eduard Laas | Дата: 12:54 16.04.2026

Переписать modules/faq/index.php по образцу modules/news/index.php: new/ фрагменты, getTplPager с url_extra, устранить SQL-инъекции, сохранить уникальную quicklinks-логику FAQ.

Core changes:

  1. faq() — список FAQ:
  • getTplContentCard → new/card (width: 100) + new/grid
  • setArticleNumbers → getTplPager с url_extra
  • $field/$arrayelement убраны; $pagei = (int)$pag - 1
  • SQL-инъекции устранены; $ismoder/$token перед loop
  • edit_href/delete_href с name=faq + token
  • $limit = (!$ncat) ? 'LIMIT ...' : '' — без LIMIT при $ncat
  • Pager рендерится только при !$ncat (show-all режим при категории)
  1. Quicklinks (сохранены):
  • faq-quicklinks-open/row/close фрагменты
  • $orderbyf вычисляется только в elseif ($ncat)
  • filterTextHighlight($ftitle, $word) в quicklinks-row
  1. view() — просмотр FAQ:
  • getTplContentView → new/view; поля без extra-блоков (FAQ прост)
  • $pagei = (int)$pag - 1; $iso для date('c', ...)
  1. liste() / add() / send():
  • new/table + new/table-row-liste; getTplPreviewContent
  • $db убран из add(); INSERT многострочный; (int)$user[0]

Benefits:

  • Устранены SQL-инъекции; единообразие с Etalon
  • Quicklinks-паттерн FAQ сохранён полностью

Technical notes:

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

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

Core changes:

  1. media() — список медиа:
  • getTplContentCard → new/card (width: 100) + new/grid
  • setArticleNumbers → getTplPager с url_extra
  • $cat/$ncat → прямой $ncat; $field убран
  • SQL: инъекции устранены; array_map('intval', $cids)
  • $ismoder/$token перед loop; edit_href/delete_href с name=media + token
  • $ptitle = title + subtitle для SEO/заголовка
  1. view() — просмотр медиа:
  • getTplContentView → new/view
  • extra-поля: year, director, roles, createdby, duration, lang, format, quality, size, released, note, mlinks, links_label
  • mlinks построен из поля links (ed2k/magnet/http ссылки)
  • Исправлен баг: $einfo вместо $size в ed2k-loop (outer $size больше не затирается в цикле ссылок)
  • $broc → 'broken'; 'download' не передаётся (нет стрима)
  1. liste() / assoc / add() / send():
  • Те же паттерны что в files/links

Benefits:

  • Устранены SQL-инъекции; единообразие с Etalon
  • Исправлен баг переменной $size в ed2k-loop

Technical notes:

  • new/view покрывает все media-поля через условные блоки
  • 4-space indentation; switch ($op) с пробелом
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() — список ссылок:
  • getTplContentCard → new/card (width: 100) + new/grid
  • setArticleNumbers → getTplPager с url_extra
  • $cat/$ncat → прямой $ncat; $field/$orderby inline → if/elseif/else
  • SQL: "cid = '".$ncat."'" → 'cid = '.(int)$ncat; array_map('intval')
  • $ismoder/$token перед loop; edit_href/delete_href с name=links + token
  • getVar('get', 'cat', 'num') — убрано двойное присваивание $cat=$ncat
  1. view() — просмотр ссылки:
  • getTplContentView → new/view
  • extra-поля home переданы как raw; описание в description/bodytext
  1. liste() — табличный список:
  • liste-wrap/liste-basic → new/table + new/table-row-liste
  1. assoc-блок:
  • assoc-wrap/assoc-basic → new/related + new/related-item
  1. add() / send():
  • hometext/bodytext type 'raw'/'text'; getTplPreviewContent
  • 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() — список файлов:
  • getTplContentCard → new/card (width: 100) + new/grid
  • setArticleNumbers → getTplPager с url_extra
  • $cat/$ncat → прямой $ncat; $field удалён
  • $ismoder/$token вынесены перед loop
  • edit_href: name=files&op=files_add; delete_href: name=files&op=files_delete + token
  • SQL: "cid = '".$ncat."'" → 'cid = '.(int)$ncat; array_map('intval', $cids)
  1. view() — просмотр файла:
  • getTplContentView → new/view (единый шаблон)
  • delete_href: добавлен name=files
  • Поля size, version, email, home переданы в new/view как extra-поля
  1. add() / send():
  • hometext/bodytext type 'raw'; getTplPreviewContent
  • INSERT многострочный; (int)$user[0]
  • $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):
  • Заголовок thead: padding, background #f1f3f5, border-bottom, font-size 12px, border-radius на крайних th
  • Строки tbody: border-bottom, padding 5px, font-size .9em
  1. Assoc block (sl-assoc-*):
  • sl-assoc-title: заголовок 30px, color #556779, margin
  • sl-assoc-item: position relative, padding 25px 29px 0 80px, border-top, margin-bottom 25px
  • Декоративный bullet через :before (9px, border-radius 5px)
  • sl-assoc-img: absolute, 60px×60px, border-radius, background-size cover
  • 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):
  • Новый блок 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 %}
  • Поля: year, director, roles, createdby, duration, lang, format, quality, size, version, released, email (raw), home (raw)
  • note: отдельный sl-entry-content блок ({% if note %})
  • links_label: заголовок h5.sl-related-title ({% if links_label %})
  • 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:
  • assoc-wrap: open/close-режим; заголовок в sl-assoc-title; обёртка ul.sl-assoc-list
  • assoc-item: li.sl-assoc-item с картинкой через background-image, ссылкой, текстом и временной меткой (sl-assoc-meta)
  1. new/list-wrap.html + new/list-row.html:
  • list-wrap: table.sl_table_list_sort с thead; letter-блок; open/close-режим
  • 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-*):
  • Колонки фиксированной ширины calc((100% - 35px) / 6) вместо flex: 1
  • sl-menu-grid-link: border, border-radius, box-shadow, height 100px
  • Hover: translateY(-1px), box-shadow, border-color
  • sl-menu-grid-image hover: transform scale(0.75) вместо resize
  • sl-menu-grid-link span: line-clamp 2 + overflow-wrap
  1. Menu list (sl-menu-list-*):
  • padding 3px 4px + border-radius на элементе
  • sl-menu-list-image hover: transform scale(0.84) вместо resize
  1. Dashboard panel:
  • sl-dashboard-panel-head: margin-bottom 12px → 8px
  • sl-dashboard-panel-pad: padding убран
  • sl-dashboard-panel-content: padding 8px 6px
  • 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):
  • CloseOpen / sl_close_X → data-sl-toggle-control + семантичные ID
  • sl_close_1/2 → sl_panel_admin / sl_panel_site
  • sl_close_9 → sl_form_admin_mail / sl_form_account_mail
  • cookie-зависимость убрана; is_checked = false по умолчанию
  1. Blocks refactor (admin/modules/blocks.php):
  • getBlockModules() → прямой обход $conf['modules'] с фильтром type=1 и sort() для алфавитного порядка
  • $viewItems → $items; $blockwhere → $bwhere
  • $blocktext → $btext; $html_b/$html_e → $htmlb/$htmle
  1. Config (admin/modules/config.php, config/global.php):
  • admcol default: 5 → 6 (6 колонок в admin dashboard)
  • 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):
  • Новые функции: getToggleControls, setToggleControls, setToggleBlockState, toggleBlock, bindToggleControl
  • initCloseOpenBlocks переведён на [data-sl-toggle-control] и [data-sl-toggle]; поддержка checkbox, aria-expanded, cookie-состояния (path/global scope)
  • window.CloseOpen удалён из публичного API
  1. Admin-шаблоны (dashboard-panel, div-collapse, sidebar-block):
  • OnClick="CloseOpen(...)" → data-sl-toggle-control="<id>"
  • div id + data-sl-toggle="<id>"
  • sl_close_X → семантические ID: sl_panel_, sl_block_
  1. Frontend-шаблоны (block-left, categories, navi, new/navi) для default/lite/simple:
  • OnClick/CloseOpen → data-sl-toggle-control
  • 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_*
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

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

Предварительный просмотр