# AtomCMS Remco Epicnabbo Edition

A modern, community-driven Retro CMS built with Laravel 12.x - **PHP 8.5 Ready**
[](https://discord.gg/pP6HyZedAj)
[](https://laravel.com)
[](https://php.net)
[](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*