Чтение RSS каналов

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

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

Всего: 500 Доступных коммитов | Отфильтровано: 500 Коммиты | Страница: 18 / 50
22.03.2026
Refactor: migrate all admin controllers to Template bridge
Автор: Eduard Laas | Дата: 20:54 22.03.2026

Replace every setTemplateBasic() call with $tpl->getHtmlPart() across admin core and all module admin controllers, converting placeholder-map syntax to named-key arrays and normalising captcha condition logic.

Core changes:

  1. Admin core (admin/index.php):
  2. login() and preview() use $tpl->getHtmlPart() with named-key arrays
  3. Captcha condition simplified to in_array() instead of chained ==
  4. Admin modules (admin/modules/*.php):
  5. categories, modules, referers, statistic, template, uploads migrated
  6. Each search helper and listing function now passes named keys to getHtmlPart()
  7. uploads: bulk-edit form and per-file row rendering fully converted
  8. Module admin controllers (modules/*/admin/index.php):
  9. account, auto_links, search, shop — all setTemplateBasic() calls replaced
  10. shop: form helpers (getItemFields, getCategFields) and listing rows migrated

Benefits: - Eliminates string-keyed {%placeholder%} map pattern across 11 files - Template data validated and escaped by the engine, not inline PHP - Consistent API surface for all future admin template additions

Technical notes: - All calls use $tpl->getHtmlPart(name, [key => value]) signature - $tpl declared global inside each function that renders a partial - setTemplateBasic() remains in system.php for non-migrated frontend callers

Feature: introduce Template class with compiled cache and theme routing
Автор: Eduard Laas | Дата: 20:54 22.03.2026

Add a theme-aware template engine that compiles Jinja-style syntax to cached PHP, replaces setTemplateBasic() for admin and frontend views, and enforces path-traversal safety at every resolution step.

Core changes:

  1. Template engine (core/classes/template.php):
  2. getHtmlPage() — renders a page with optional layout inheritance * supports {% extends 'layouts/app.html' %} and {% block %}/{% endblock %} * falls back to standalone render when no layout exists

  3. getHtmlPart() / getHtmlFrag() — compile and return partials and fragments
  4. Compiled PHP cache stored in storage/cache/view/<theme>/ keyed by sha1 hash
  5. Syntax compiled: {{ var }} (escaped), {{{ var }}} (raw), {% if/for/include/extends/block %}
  6. checkFile() / checkIncl() / checkName() prevent path traversal in all lookups
  7. Bootstrap (core/system.php):
  8. require_once Template class at startup
  9. Instantiate $tpl as Template('admin') or Template($theme) based on ADMIN_FILE
  10. Expose via $GLOBALS['tpl'] for access from all module functions
  11. Rewrite preview() to use $tpl->getHtmlPart('preview', [...])

Benefits: - Decouples HTML from PHP string interpolation across all admin views - Compiled cache eliminates repeated regex parsing per request - Single validated entry point for all template rendering

Technical notes: - Template files live under templates/<theme>/{pages,partials,fragments,layouts}/ - Cache invalidated automatically when source mtime changes - Backward-compatible: setTemplateBasic() remains available for non-migrated callers

20.03.2026
Archive: move default/ theme to default_old/
Автор: Eduard Laas | Дата: 20:19 20.03.2026

Preserve original default theme as reference archive before rework.

Cleanup: remove superseded module-specific templates from lite/
Автор: Eduard Laas | Дата: 20:18 20.03.2026

Delete 22 old templates replaced by generic shared versions in the previous refactor (hit-badge, reads-badge, date-badge, back-button, category-image, category-link, admin-menu, whois-result, kasse-box, basic-files-view, basic-links-view) and update shop-kasse-content.

Refactor: consolidate lite/ templates and archive default/ theme
Автор: Eduard Laas | Дата: 20:17 20.03.2026
  • Merge 22 module-specific templates into 9 generic shared templates: hit-badge, reads-badge, date-badge, back-button, category-image, category-link, admin-menu, whois-result, basic-download-view

  • Fix rendering bug in basic-files-view / basic-links-view: pre-render ctitle/cimg/admin/goback before passing to parent template

  • Update modules: auto_links, files, links, media, shop, whois
  • Archive templates/default/ → templates/default_old/
Refactor: consolidate open/close template pairs into unified wrap files
Автор: Eduard Laas | Дата: 11:59 20.03.2026

Merge 33 paired open/close HTML files into 14 *-wrap.html templates using {%if open%}...{%else%}...{%endif%} conditionals. Remove 5 dead-code block-* files and 17 subdirectory placeholder index.html files (protected by .htaccess Options -Indexes). Update all PHP callers to use the new names. Applied identically to both templates/lite/ and templates/default/ themes.

Core changes:

  1. Template consolidation — both themes (templates/lite/, templates/default/):
  2. Delete block-113, block-81, block-voting (no PHP callers), block-left, block-right (covered by core/template.php fallback to block-all)

  3. Merge into wrap files: forum-cat, forum-list, forum-list-basic, forum-view, account-last, kasse, liste, assoc, voting-home, grid-table/*

  4. Add table-close.html shared by clients, content, users modules
  5. Remove 17 placeholder index.html files from fonts/, js/, images/**
  6. PHP caller updates (15 files):
  7. modules/forum/index.php: 4 open/close pairs → *-wrap with if_flag open=true
  8. modules/account/index.php: account-last-open/close → account-last-wrap
  9. core/system.php: kasse-open/close → kasse-wrap
  10. modules/voting/index.php: voting-home-open/close → voting-home-wrap
  11. modules/clients,content,users/index.php: *-close → table-close
  12. modules/shop,news/index.php: liste/assoc/grid-table pairs → wrap files
  13. modules/faq,files,links,media,help,pages/index.php: liste/assoc pairs → wrap files
  14. Module refactoring (account, auto_links, contact, jokes, recommend, rss, whois, users): continued from previous sessions — admin panel and template API alignment

  15. Lang files (modules/clients/lang/): add de, en, fr, pl, ru, uk translations

Benefits: - Each template file represents a complete semantic unit (open+content+close) - Reduces template file count by ~50 files across both themes - Eliminates "file not found" warnings from mismatched open/close deletions

Technical notes: - if_flag mechanism: ['if_flag' => ['open' => true]] for open, [] for close - All 15 modified PHP files verified with php -l (zero syntax errors) - core/template.php not modified (project constraint respected)

19.03.2026
Refactor: normalize admin action handler names across all modules
Автор: Eduard Laas | Дата: 18:01 19.03.2026

Rename handler functions and switch case keys in all 38 admin files to eliminate ambiguous short names, unify the conf-save pattern, and bring admins.php into line with the standard naming convention used everywhere.

Core changes:

  1. admins.php — remove ad-prefix from all five handlers:
  2. adlist → admins, adform → add, adsave → save, addrop → delete, adinfo → info * case keys in switch updated to match function names throughout * internal cross-calls (adsave calling adform) updated accordingly

  3. conf/confsave/saveconf → config/configsave (all 38 files):
  4. Unified config-form handler to config(), save handler to configsave() * Eliminates three competing patterns: conf+save, conf+confsave, conf+saveconf

  5. del → delete (function + case key, all affected modules):
  6. Aligns with 4-char minimum from .rules/global.md * Fix: corrected deleteete URL typo in database, groups, messages,

auto_links, clients caused by unbounded batch rename
  1. Semantic renames (targeted modules):
  2. act → approve (comments, whois)
  3. block → banlist, blocksave → bansave, pass → passwd, fileview → logview, down → download (security)

  4. nullhits → hitreset, noindel → zerodel (auto_links)
  5. nullpoints/null → reset, newdel → newdrop, nullsave → resave (account)
  6. top → toplist, auto → reindex, addmods → modadd (search)

Benefits: - Handler names are consistent across all admin modules - conf-save pattern reduced from 3 variants to 1 (config/configsave) - admins.php follows the same convention as all other modules - op= URL parameters match function names in every switch case

Technical notes: - URL op= values change for all renamed handlers (conf→config, del→delete, etc.) - Config key security.block renamed to security.banlist (auto-migrates on next save) - No behavioral changes; pure rename refactor

18.03.2026
Fix: unify admin config forms and correct shared form rendering
Автор: Eduard Laas | Дата: 22:11 18.03.2026

Migrate multiple admin configuration screens to the shared form-conf template and fix shared rendering issues discovered during browser verification. This aligns admin modules around one template path, restores correct conditional template handling, and fixes radio field state selection for stored 0/1 values.

Core changes:

  1. Shared config form migration (templates/admin/form-conf.html):
  2. Add and use the shared configuration form template across admin and module config screens * Replace duplicated inline form markup in multiple modules with template-driven rendering * Keep module-specific blocks controlled by explicit if_flag markers

  3. Standardize hidden fields, submit actions, and common input layout
  4. Template and form rendering fixes (core/template.php, core/system.php):
  5. Fix conditional template processing to evaluate only explicit template values before final replacement
  6. Correct radio_form() checked-state logic * Normalize 0/1 values before rendering radio groups * Prevent invalid double-checked radio markup for stored zero values

Benefits: - Reduces duplicated admin form markup across modules - Fixes incorrect browser output in shared config forms - Improves maintainability of admin configuration screens

Technical notes: - No storage format changes were introduced - Template-driven config forms now depend on explicit if_flag sections in form-conf - Backward compatibility is preserved for existing config values and routes

Docs: audit and fix documentation accuracy against codebase
Автор: Eduard Laas | Дата: 11:55 18.03.2026

Core changes: - README.md: admin modules 23/23 -> 24/24, add scheduler.php to list - UPGRADING.md: same count fix; getAdminInfo() now documents .html/.md dual extension support; add scheduler.php to modernized modules list - SECURITY.md: admin panel count 23 -> 24 (incl. scheduler); document getAdminInfo() .html/.md extension resolution order - CONTRIBUTING.md: getAdminInfo() info file table updated with .md col; setAdminNavi() section clarified (no per-module navi() wrapper needed)

Benefits: - Documentation accurately reflects scheduler.php admin module existence - getAdminInfo() .html/.md fallback behavior explicitly documented - UPGRADING migration checklist now complete for all 24 admin modules - SECURITY coverage table corrected

Technical notes: - getAdminInfo() (core/admin.php:826) checks .html then .md extensions - admin/info/*/ru.md files already exist alongside .html variants - .prompts/ dir is gitignored; internal knowledge files updated locally

Refactor: migrate admin modules and frontend admin panels to setAdminNavi()
Автор: Eduard Laas | Дата: 11:55 18.03.2026
  • Replace per-module navi() wrappers in all 24 admin/modules/*.php with direct setAdminNavi() calls inside handler functions

  • Refactor modules/*/admin/index.php panels to use same convention
  • Remove redundant navi() top-level functions where setAdminNavi() now handles navigation inline

  • Consistent tab/op URL format across all admin modules

Benefits: - Eliminates duplicated navi() wrapper boilerplate (24 files) - Single authoritative navigation implementation via core setAdminNavi() - Simplifies future admin module additions - scheduler.php already follows this pattern natively

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

Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь