You've already forked Epicnabbo-Catalogus-Updated-Daily
197 lines
5.8 KiB
Markdown
197 lines
5.8 KiB
Markdown
# AtomCMS Remco Epicnabbo Edition
|
|
|
|
<div align="center">
|
|
<img src="https://i.imgur.com/9ePNdJ4.png" alt="Atom CMS"/>
|
|
|
|
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)
|
|
|
|
</div>
|
|
|
|
> 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 <repository-url>
|
|
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
|
|
|
|
---
|
|
|
|
<div align="center">
|
|
|
|
**AtomCMS Remco Epicnabbo Edition** - PHP 8.5 Compatible
|
|
|
|
*Made with ❤️ by the Epicnabbo Community*
|
|
|
|
</div>
|