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

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

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

Всего: 1173 Доступных коммитов | Отфильтровано: 1173 Коммиты | Страница: 38 из 118
20.05.2026
Style: tokenize loading animation and overhaul monitor widget CSS
Автор: Eduard Laas | Дата: 15:54 20.05.2026

Converts .sl-loading to a CSS-variable-driven component so colour and size variants require only token overrides, adds a four-dot drift animation variant, and modernises the monitor chart and stats CSS to match the new server-rendered SVG structure.

Core changes:

  1. Loading component (templates/admin/assets/css/theme.css):
  2. Introduce --sl-loading-core/soft/center/width/height/size/shadows-* tokens
  3. Re-base dot colour from --sl-color-primary-hover to --sl-color-success
  4. Add .sl-loading-drift variant — four dots, vertical float, 1.1 s ease-in-out
  5. Monitor widget styles (templates/admin/assets/css/theme.css):
  6. Tokenise font stack via --sl-monitor-font and size scale sm/md/lg/kpi/xl
  7. Swap .sl-t-label span dot to .sl-t-icon flex column with 50 px Bootstrap Icon
  8. Add .sl-t-content, .sl-t-sub for the new icon + content card structure
  9. Replace .sl-chart-path with .sl-chart-gridline (solid) and .sl-chart-vgrid (dashed)
  10. Add .sl-chart-value-label, .sl-chart-axis-label, .sl-chart-tip, .sl-chart-day/.sl-chart-dayline/.sl-chart-focus/.sl-chart-hover-zone rules

  11. Set chart height 220 → 285 px, correct --sl-monitor-blue to --sl-color-primary

Benefits:

  • Loading variants need only CSS token overrides — no duplicate animation keyframes
  • Monitor font sizes are now a consistent token scale, easy to adjust globally
Feature: replace static SVG with server-rendered chart and icon stat layout
Автор: Eduard Laas | Дата: 15:54 20.05.2026

Swaps the hardcoded SVG block for the PHP-generated {{{ chartsvg }}} variable and restructures the four traffic stat cards to use icon + content columns aligned with the new CSS layout tokens.

Core changes:

  1. Monitor template (templates/admin/partials/basic-monitor.html):
  2. Replace inline SVG (paths, defs, gradients) with {{{ chartsvg }}} mustache triple
  3. Replace plain "Loading..." text with animated .sl-loading.sl-loading-drift spinner
  4. Restructure .sl-t-item cards: add .sl-t-icon (Bootstrap Icon) + .sl-t-content wrapper

    • Reorder stats: CPU · RAM · Upstream · Downstream (system metrics first)
    • Add .sl-t-sub for secondary value line (freq, MB used, rate)
Refactor: extract SVG chart helpers and add server-rendered monitor chart
Автор: Eduard Laas | Дата: 15:54 20.05.2026

Eliminates duplicated point-calculation logic, adds a parametric SVG chart builder with hover zones and tooltips rendered server-side so the template becomes a single variable substitution.

Core changes:

  1. Chart path helpers (admin/modules/monitor.php):
  2. Extract getHistoryPoints() — shared normalised point array used by line and area paths

    • Accepts width/padding params so charts are no longer hardcoded to 100 px viewport
    • Attaches raw value to each point for tooltip rendering
  3. Add getHistoryBucketPoints() — evenly samples N points for hover marker alignment
  4. Add getHistoryMarkerPoint() — returns nearest point for a given bucket index
  5. Add getMonitorChartTimeLabel() — localised time label using _MONITOR_TIME_AGO/_NOW
  6. Server-rendered SVG (admin/modules/monitor.php):
  7. Add getMonitorChartSvg() — builds full 900×285 SVG with defs, gradient fills, grid lines, vertical bucket lines, hover zones, and floating tooltip groups

  8. Expose hist_down/hist_up/hist_cpu/hist_ram arrays in getMonitorPanelSnapshot()
  9. Add chartsvg key to getTrafficPanelVars() output

Benefits:

  • Single source of truth for chart geometry; template contains no SVG logic
  • Hover and tooltip state is structural (CSS :has / pointer-events) not JS-driven
  • Width/padding now configurable per chart without touching templates
Chore: add i18n constants for monitor time labels
Автор: Eduard Laas | Дата: 15:54 20.05.2026

Adds two localized constants for the monitor chart time axis to all six language files so the server-rendered SVG can display relative timestamps without hard-coded strings.

Core changes:

  1. All language files (admin/lang/*.php):
  2. Add _MONITOR_TIME_AGO — relative label for past snapshots (e.g. "30 sec ago")
  3. Add _MONITOR_TIME_NOW — label for the current rightmost bucket
Chore: add line and load effects lab demo pages
Автор: Eduard Laas | Дата: 11:34 20.05.2026
Style: replace admin header border with gradient line via ::after
Автор: Eduard Laas | Дата: 11:34 20.05.2026
19.05.2026
Refactor: replace hardcoded relative paths with BASE_DIR/UPLOADS_DIR constants
Автор: Eduard Laas | Дата: 23:07 19.05.2026

Completes path-constant migration across admin modules, core, parser, and front-end modules so all filesystem operations use absolute paths regardless of the working directory. Also rewrites the shop CSV import to eliminate raw SQL string concatenation in favour of getSqlValue() closures.

Core changes:

  1. Path constants (admin/modules/, core/system.php, core/admin.php, blocks/img.php):
  2. Replace 'blocks/', 'templates/', 'uploads/', 'config/' literals with BASE_DIR, UPLOADS_DIR, CONFIG_DIR throughout scandir/file_exists/include/fopen

    • blocks.php: scandir, file_get_contents, fopen, file_exists all absolutised
    • config.php: logo dir scans, is_file checks use BASE_DIR prefix
    • template.php: all template dir reads use BASE_DIR/templates/
    • uploads.php: all upload dir ops use UPLOADS_DIR
    • core/admin.php: getAdminUploadFiles() separates filesystem path from web URL ($pub)
    • blocks/img.php: opendir uses UPLOADS_DIR constant
  3. Parser (core/classes/parser.php):
  4. file_exists/getimagesize/create_img_gd use absolute $path/$tpath
  5. mkdir() adds 0777 + recursive flag
  6. Web-facing $file/$tfile remain relative for URL output
  7. Core system (core/system.php):
  8. upload(): normalise $directory to absolute at function entry
  9. render_blocks(): include via absolute BASE_DIR path
  10. addSitemapTask(): sitemap.xml and sitemap-N.xml use BASE_DIR prefix; addCompress() receives dirname($file); web links use basename() only

  11. getImgText(): file_exists check uses absolute path
  12. getEditorFileData(): strip BASE_DIR prefix to produce relative web URL
  13. getEditorUploadData(): return both 'dir' (relative) and 'path' (absolute)
  14. doScript(): config/header.php include uses CONFIG_DIR constant
  15. Modules (modules/):
  16. account/admin, account: scandir/is_dir use BASE_DIR/templates/
  17. clients/admin, clients/index: filemtime/file_exists/addCompress use UPLOADS_DIR
  18. files/admin: file_exists/filesize/rename use absolute path helper
  19. main, media: file_exists for img check uses BASE_DIR prefix
  20. shop/index: CSS existence check uses BASE_DIR/templates/
  21. Shop CSV import (modules/shop/admin/index.php):
  22. Replace raw string interpolation ('...' = '$data[N]') with getSqlValue() closure
  23. Build SET and VALUES as arrays, implode for final query
  24. Add continue guard for unrecognised CSV type
  25. Guard setRedirect with $idb !== '' check
  26. Fix broken © encoding in file header

Benefits:

  • All filesystem I/O uses absolute paths — no CWD dependency
  • shop import no longer builds raw SQL strings from CSV data
  • parser thumbnail creation is race-condition safe (mkdir recursive)

Technical notes:

  • Web-facing URLs (image src, href, download links) remain relative — only filesystem calls received absolute paths

  • BASE_DIR/UPLOADS_DIR/CONFIG_DIR defined in core bootstrap (index.php)
Chore: migrate runtime storage from config/ to storage/ constants
Автор: Eduard Laas | Дата: 22:34 19.05.2026

Completes the relocation of all runtime-generated data (cache, sitemap, counter) from hardcoded config/ subdirectories to CACHE_DIR, SITEMAP_DIR, COUNTER_DIR constants; adds mkdir() auto-creation guards so placeholder files are no longer needed in the repository.

Core changes:

  1. Storage paths (core/system.php, core/user.php):
  2. Replace all config/cache/, config/sitemap/ literals with constants

    • setHead(), setFoot(), doScript(), doCss(), setScript(), setCss()
    • getOpenXsl() uses SITEMAP_DIR constant
  3. Directory auto-creation guards (core/system.php, core/admin.php):
  4. setSchedulerState(), addSchedulerHeartbeat(), addSchedulerTrigger(): create LOGS_DIR/scheduler/ if absent
  5. addSitemapTask(): create SITEMAP_DIR before file_put_contents; return 'failed' on mkdir error
  6. getStatistic(): create COUNTER_DIR/statistic/ before imagepng() write
  7. Sitemap module (modules/sitemap/, modules/sitemap/admin/):
  8. xslsave(): create SITEMAP_DIR on first XSL save
  9. sitemap(): wrap content in block-content fragment; show alert when empty
  10. Statistic (core/user.php, admin/modules/statistic.php):
  11. Guard file() call with is_file()/is_readable() check on statistic.log
  12. Guard scandir() against missing statistic dir
  13. Repository cleanup:
  14. Delete all tracked runtime data from config/backup/, config/cache/, config/counter/, config/sitemap/
  15. Rename config/sitemap/sitemap.xsl -> storage/sitemap/sitemap.xsl
  16. Update .gitignore: drop config/cache|counter|logs ignore rules, add !/storage/sitemap/sitemap.xsl exception

Benefits:

  • All runtime data behind constants — no hardcoded paths remain
  • Directories created on-demand; no empty placeholder files needed
  • Prevents fatal errors on clean installs where storage dirs are absent

Technical notes:

  • mkdir() pattern: !is_dir($d) && !mkdir($d, 0777, true) && !is_dir($d) — race-condition safe
  • sitemap.xsl retained as tracked file via .gitignore exception
  • Backward-compatible: CACHE_DIR/SITEMAP_DIR/COUNTER_DIR already defined in core bootstrap
Style: harden admin CSS tokens and translate comments to English
Автор: Eduard Laas | Дата: 15:41 19.05.2026

Resolves dynamic var() references in admin base.css to concrete hex values for changelog, hover, vote-meter and progress tokens, avoiding cascading failures if source vars are absent. Standardises section comment headers in admin and lite theme CSS to a consistent English 'Category: description' format, replacing Russian and German inline headers.

Core changes:

  1. Admin base tokens (templates/admin/assets/css/base.css):
  2. Replaced var(--sl-color-*) with concrete hex for changelog, hover, vote-meter, and progress token groups

  3. Admin theme comments (templates/admin/assets/css/theme.css):
  4. Standardised section headers to 'Category: description' format
  5. Lite base (templates/lite/assets/css/base.css):
  6. Removed blank lines after section comment headers
  7. Lite theme comments (templates/lite/assets/css/theme.css):
  8. Translated Russian/German section headers to English
  9. Merged redundant split comment blocks into single descriptive headers

Benefits:

  • Admin tokens no longer depend on var() resolution order
  • Consistent English comment style across admin and lite templates
Chore: regenerate config cache, disable dev_mode, rotate sitekey
Автор: Eduard Laas | Дата: 15:41 19.05.2026

Updates global.php to disable dev_mode for production and rotates the sitekey. Regenerates local.php as a full runtime cache in the new format (_meta + _config) reflecting the current merged source config state.

Core changes:

  1. Config cache (config/local.php):
  2. Expanded from minimal _meta stub to full _meta + _config snapshot

    • _meta: updated base_fingerprint, cache_version = 1, generated_at timestamp
    • _config: complete merged configuration for all active modules
  3. Global settings (config/global.php):
  4. dev_mode: '1' -> '0'
  5. sitekey: rotated to new value

Benefits:

  • Runtime config is pre-built; no rebuild overhead on first cold request
  • dev_mode off prevents automatic fingerprint updates in production

Technical notes:

  • local.php is auto-regenerated by getConfig() on any cache miss

Страница 38 из 118. Всего: 1173

1 33 34 35 36 37 38 39 40 41 42 118
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

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

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