Skip to content

Conversation

@Gitsko
Copy link
Collaborator

@Gitsko Gitsko commented Nov 5, 2025

Summary

  • register the on-demand processed images as their own entry in the backend "Remove Temporary Assets" list
  • provide localized labels and documentation for the new cleanup option

Testing


https://chatgpt.com/codex/tasks/task_b_690b073b90948333bb90ede1aba1433c

Sebastian Koschel added 23 commits November 5, 2025 09:48
- Replace invalid @PER-CS2x0 ruleset with @PER-CS2.0 in PHP CS Fixer config
- Add PHPStan baseline for TYPO3 backend maintenance classes not found errors
…ith Admin Tools module

- Remove TYPO3 v14 event listener for temporary assets
- Add backend module under Admin Tools for clearing processed images
- Implement MaintenanceController with index and clear actions
- Add directory statistics (file count and size)
- Include security checks for path validation
- Update language labels for module interface
- Clear PHPStan baseline after removing event listener code
…t to system

Change parent from 'admin' to 'system' to properly register the module under System > Image Optimize in TYPO3 13
- Create custom icon with image optimization symbol
- Use background color #2f99a4 (similar to log module style)
- Register icon via Configuration/Icons.php
- Update backend module to use custom icon identifier
…tended statistics

- Move module from system to tools (Verwaltungswerkzeuge)
- Add directory count statistic
- Add top 5 largest files list
- Add file types breakdown (count and size per extension)
- Add oldest and newest file timestamps
- Update template with two-column layout for better overview
- Add all required language labels
- Apply Rector and code style fixes
…extend title

- Tables now always visible with 'No files' message when empty
- Change title to 'Processed Images Maintenance - EXT:nr_image_optimize'
- File age, largest files and file types tables show placeholder when empty
…xtended statistics: Add message after clear images
- Add SystemRequirementsService for checking technical prerequisites
- Add systemRequirementsAction to MaintenanceController
- Create SystemRequirements.html template with Bootstrap tables
- Add navigation between Maintenance and System Requirements views
- Add comprehensive language labels in locallang.xlf
- Update backend module configuration
- Check PHP version, extensions (imagick, gd, mbstring, exif)
- Check ImageMagick/GD capabilities (WebP, AVIF support)
- Check Composer dependencies (intervention/image, intervention/gif)
- Check TYPO3 version
- Check optional CLI tools (magick, convert, identify, gm)
- Display status with color-coded badges (success, warning, error)
- Remove locallang.xlf translation keys for System Requirements
- Use plain English text directly in templates and service
- Simplifies implementation and maintenance
- Use card-based layout for better visual hierarchy
- Add rounded pill badges with icons for status
- Implement hover effects on table rows
- Add tooltips for detailed information (space-saving)
- Improve typography with better font weights and sizes
- Add status legend in info alert box
- Use better spacing and alignment throughout
- Optimize table for readability with table-sm and proper widths
- Add back button with icon in header
- Implement responsive table wrapper
- Remove unsupported class attribute from core:icon ViewHelper
- Use inline style for icon spacing instead
- Maintain visual layout with style attribute
@Gitsko Gitsko requested a review from Copilot November 5, 2025 14:12
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds a backend maintenance module for managing processed images and checking system requirements. It also modernizes code by using PHP 8.1+ first-class callable syntax and fixes a PHP CS Fixer ruleset identifier.

Key Changes:

  • Added a new backend module with maintenance and system requirements views
  • Refactored code to use first-class callable syntax (trim(...) instead of 'trim')
  • Corrected PHP CS Fixer ruleset from invalid @PER-CS2x0 to valid @PER-CS2.0

Reviewed Changes

Copilot reviewed 13 out of 14 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
Classes/Controller/MaintenanceController.php New controller implementing maintenance actions for clearing processed images and viewing stats
Classes/Service/SystemRequirementsService.php New service to check and report on system requirements (PHP, ImageMagick, GD, dependencies)
Classes/ViewHelpers/SourceSetViewHelper.php Modernized to use first-class callable syntax and removed default null value for optional argument
Tests/Unit/ViewHelpers/SourceSetViewHelperTest.php Updated tests to use first-class callable syntax
Configuration/Backend/Modules.php New module configuration for the backend maintenance interface
Configuration/Services.yaml Added service definitions for new controller and service
Configuration/Icons.php New icon registration for the maintenance module
Resources/Private/Templates/Maintenance/*.html New Fluid templates for maintenance UI views
Resources/Private/Language/locallang.xlf New translation file for module labels and messages
Resources/Public/Icons/module-image-optimize.svg New SVG icon for the module
README.rst Updated features list to mention backend cleanup functionality
Build/.php-cs-fixer.dist.php Fixed invalid ruleset identifier from @PER-CS2x0 to @PER-CS2.0
Build/phpstan-baseline.neon Added baseline entries for type issues in new controller

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Gitsko Gitsko requested a review from aseemann November 5, 2025 14:38
@Gitsko
Copy link
Collaborator Author

Gitsko commented Nov 5, 2025

Hi @aseemann ,

can you please check the code and the new features.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants