# AtomCMS Remco Epicnabbo Edition
Atom CMS A modern, community-driven Retro CMS built with Laravel 12.x - **PHP 8.5 Ready** [![Discord](https://img.shields.io/badge/Discord-Join%20Server-5865F2?style=flat&logo=discord&logoColor=white)](https://discord.gg/pP6HyZedAj) [![Laravel](https://img.shields.io/badge/Laravel-12.x-FF2D20?style=flat&logo=laravel&logoColor=white)](https://laravel.com) [![PHP](https://img.shields.io/badge/PHP-8.5-777BB4?style=flat&logo=php&logoColor=white)](https://php.net) [![PHPStan](https://img.shields.io/badge/PHPStan-Level%209-green?style=flat)](https://phpstan.org)
> Customized version of Atom CMS by Remco (Epicnabbo) with PHP 8.5 compatibility and full PHPStan level 9 compliance. ## ๐Ÿ“‹ What Changed ### PHP 8.5 Upgrade - **Upgraded to PHP 8.5** using Rector UP_TO_PHP_85 - Updated `rector.php` configuration for PHP 8.5 - Applied modern PHP 8.5 features and best practices ### PHPStan Level 9 Compliance - **Fixed all PHPStan level 9 errors** (0 errors achieved) - Fixed return types in all controllers - Fixed middleware nullsafe operators - Added proper type declarations - Updated `phpstan.neon` configuration ### Bug Fixes - Fixed class naming issues in `WebsiteTeam.php` - Fixed `PasswordValidationRules` trait imports - Fixed duplicate imports in Filament resources - Fixed `Form::fill()` usage in `ManageBadgeUploads.php` - Fixed `array_chunk` parameter types in `InstallationController.php` - Fixed `isset`/logic issues in `PaypalController.php` - Fixed `GoogleRecaptchaRule` return type - Added missing `TurnstileCheck` class implementation ### New Features - Added `ExternalTextsParser.php` stub with required methods - Added `getPredominantImageColor()` helper function - Fixed `getPredominantImageColor()` in `ArticleResource.php` --- ## ๐ŸŽฏ About Atom CMS is a modern, community-driven CMS designed to provide a flexible and user-friendly platform for retro hotel management. This version is optimized for PHP 8.5 with strict type checking. ### Built With - **[Laravel 12.x](https://laravel.com/docs/12.x)** - Elegant PHP framework powering the backend - **[Vite](https://vitejs.dev/)** - Next-generation frontend tooling for blazing-fast builds - **[TailwindCSS](https://tailwindcss.com/)** - Utility-first CSS framework for responsive design - **PHP 8.5** - Latest PHP version with modern features --- ## โœจ Features - ๐ŸŽจ **Built-in Theme System** - Use any CSS framework or create custom themes - ๐Ÿ” **Secure Authentication** - Laravel-powered authentication and authorization - ๐ŸŒ **Multi-language Support** - Built-in localization for global audiences - ๐Ÿ“Š **Integrated Housekeeping** - Comprehensive admin panel - ๐Ÿ”„ **Rcon System** - Real-time server communication - ๐Ÿ“ฑ **Responsive Design** - Mobile-first approach with TailwindCSS - ๐Ÿš€ **PHP 8.5 Ready** - Latest PHP features with full type safety --- ## ๐Ÿ‘€ Requirements | Requirement | Version | |------------|---------| | PHP | **8.5** or higher | | MySQL | 8.x or higher | | MariaDB | 10.x or higher | | Composer | v2 | | Node.js | LTS | ### Required PHP Extensions ```ini extension=curl extension=fileinfo extension=gd extension=mbstring extension=openssl extension=pdo_mysql extension=sockets extension=intl ``` --- ## ๐Ÿ› ๏ธ Installation ```bash # Clone the repository git clone cd atomcms # Configure environment copy .env.example .env # Edit .env and update your database credentials # Install dependencies composer install npm install # Set up database and generate key php artisan migrate --seed php artisan key:generate # Build assets npm run build:atom ``` --- ## ๐Ÿงช Verification Run PHPStan to verify level 9 compliance: ```bash php -d memory_limit=2G vendor/bin/phpstan analyse --no-progress --error-format=table ``` Expected output: **0 errors** --- ## ๐Ÿ“ Files Modified ### Core Upgrades - `rector.php` - PHP 8.5 configuration - `phpstan.neon` - Level 9 configuration ### Controllers Fixed - `app/Http/Controllers/Community/LeaderboardController.php` - `app/Http/Controllers/Community/Staff/StaffApplicationsController.php` - `app/Http/Controllers/Community/Staff/WebsiteTeamApplicationsController.php` - `app/Http/Controllers/Community/WebsiteRareValuesController.php` - `app/Http/Controllers/Miscellaneous/InstallationController.php` - `app/Http/Controllers/Shop/PaypalController.php` ### Middleware Fixed - `app/Http/Middleware/InstallationMiddleware.php` - `app/Http/Middleware/MaintenanceMiddleware.php` - `app/Http/Middleware/SetThemeMiddleware.php` ### Filament Resources Fixed - `app/Filament/Resources/Atom/Articles/ArticleResource.php` - `app/Filament/Resources/Hotel/BadgeUploads/Pages/ManageBadgeUploads.php` - `app/Filament/Resources/Atom/Permissions/PermissionResource.php` ### Services & Rules - `app/Services/Articles/ReactionService.php` - `app/Services/Parsers/ExternalTextsParser.php` (new) - `app/Http/Rules/GoogleRecaptchaRule.php` - `app/Http/Rules/TurnstileCheck.php` ### Helpers - `app/Helpers/helper.php` - Added `getPredominantImageColor()` --- ## ๐Ÿ“š Documentation For original Atom CMS documentation, visit the [official wiki](https://github.com/atom-retros/atomcms/wiki). --- ## ๐Ÿค Credits ### Original Atom CMS Team - **Kasja** - Design direction, Dusk theme, ideas & graphics - **INicollas** - Dark mode, Turbolinks, article reactions, user sessions - **Kani** - Rcon system, FindRetros API, Atom CMS v2 creator/maintainer - **DuckieTM** - Badge drawer, bugfixes, housekeeping features - **EntenKoeniq** - Auto language registration, color scheme selection ### This Edition - **Remco (Epicnabbo)** - PHP 8.5 upgrade, PHPStan level 9 compliance ---
**AtomCMS Remco Epicnabbo Edition** - PHP 8.5 Compatible *Made with โค๏ธ by the Epicnabbo Community*