Evoopz is an evolved PHP Content Management System, modernized from the classic XOOPS platform with PHP 8.2+ compatibility, enhanced security, and modern development practices.
- PHP 8.2+ Compatible with strict typing and modern syntax
- PSR-4 Autoloading for clean class organization
- Composer-based dependency management
- Modern Database Layer using PDO with query builder
- Secure Input Handling with validation and sanitization
- SQL Injection Prevention with prepared statements
- XSS Protection with input sanitization
- Secure Session Management
- Type-safe Parameter Binding
- Modern Error Handling with Whoops
- Templating: League Plates 3.x (replaces legacy Smarty)
- Email: PHPMailer 6.x (replaces 22-year-old version)
- HTTP Client: Guzzle 7.x (replaces legacy Snoopy)
- Archive Handling: Native PHP ZipArchive
- Error Display: Whoops 2.x for beautiful error pages
- PHP: 8.2 or higher
- Database: MySQL 5.7+ or MariaDB 10.2+
- Web Server: Apache 2.4+ or Nginx 1.18+
- Composer: 2.0 or higher
- Extensions: PDO, PDO_MySQL, mbstring, json, zip
git clone https://github.com/Evoopz/evoopz.git
cd evoopzcomposer installcp mainfile.dist.php mainfile.php
# Edit mainfile.php with your database credentialschmod 777 uploads/
chmod 777 cache/
chmod 777 templates_c/Navigate to your web server and access the installation wizard:
http://your-domain.com/install/
evoopz/
├── class/ # Core classes (PSR-4 autoloaded)
│ ├── database/ # Modern database layer
│ ├── input/ # Secure input handling
│ ├── mail/ # Email functionality
│ ├── http/ # HTTP client
│ ├── archive/ # Archive handling
│ ├── plates/ # Template engine
│ └── theme/ # Theme management
├── modules/ # Module system
│ ├── system/ # Core system module
│ ├── news/ # News management
│ ├── evoopzpartners/ # Partners directory
│ └── ... # Other modules
├── themes/ # Theme templates
├── language/ # Language files
├── include/ # Core includes
├── install/ # Installation system
└── upgrade/ # Upgrade scripts
use Evoopz\Database\EvoopzDatabaseFactory;
// Setup connection
EvoopzDatabaseFactory::setConfig([
'host' => 'localhost',
'dbname' => 'evoopz',
'username' => 'user',
'password' => 'pass'
]);
// Query builder
$db = new EvoopzDatabaseManager(EvoopzDatabaseFactory::getConnection());
$users = $db->table('users')
->where('active', '=', 1)
->orderBy('name', 'ASC')
->limit(10)
->get();use Evoopz\Input\EvoopzInputHandler;
// Secure input retrieval
$userId = EvoopzInputHandler::get('id', 'int');
$email = EvoopzInputHandler::post('email', 'email');
$allData = EvoopzInputHandler::requestAll('string');
// Session management
EvoopzSessionHandler::set('user_id', $userId);
$user = EvoopzSessionHandler::get('user_id');use Evoopz\Mail\Mailer;
$mailer = new Mailer();
$mailer->setFrom('admin@evoopz.org', 'Evoopz CMS')
->addRecipient('user@example.com')
->setSubject('Welcome to Evoopz')
->setHTMLBody('<h1>Welcome!</h1>')
->send();use Evoopz\Http\HttpClient;
$client = new HttpClient();
$response = $client->get('https://api.example.com/data');
if ($response['success']) {
echo $response['body'];
}Evoopz provides a complete modernization of the classic XOOPS system:
- ✅ Database Layer: PDO-based with query builder
- ✅ Templating: League Plates (replaces Smarty)
- ✅ Email: PHPMailer 6.x (replaces 22-year-old version)
- ✅ HTTP Client: Guzzle 7.x (replaces Snoopy)
- ✅ Archive Handling: Native PHP ZipArchive
- ✅ Input Security: Filter-based validation
- ✅ Error Handling: Whoops for beautiful errors
- Backup your existing XOOPS installation
- Install Evoopz in a separate directory
- Migrate database using provided upgrade scripts
- Update custom modules to use modern classes
- Test thoroughly before going live
See MODERNIZATION.md for detailed migration guide.
composer testcomposer fix-cscomposer audit- MODERNIZATION.md - Migration guide
- COMPATIBILITY_REPORT.md - PHP 8.2+ analysis
- PHP82_MIGRATION.md - Implementation details
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow PSR-12 coding standards
- Use strict typing (
declare(strict_types=1)) - Add type hints for all parameters and return values
- Write tests for new features
- Update documentation
Evoopz is released under the GPL-2.0 License. See LICENSE for details.
Evoopz is an evolution of the classic XOOPS CMS, originally created by the XOOPS Project. This modern version maintains the spirit of the original while embracing modern PHP practices and security standards.
- Website: https://xoops.org/
- Community: https://xoops.org/modules/newbb/
- Copyright (c) 2026 Evoopz.org
- Website: https://evoopz.org/
- Documentation: Check the docs in this repository
- Issues: Report bugs on GitHub Issues
- Community: Join our discussions
- Security: Report security issues privately
- ✅ Complete XOOPS to Evoopz rebranding
- ✅ PHP 8.2+ compatibility
- ✅ Modern security practices
- ✅ Updated dependencies
- REST API implementation
- Advanced caching system
- Enhanced user management
- Modern admin interface
- Microservices architecture
- Real-time features
- Advanced analytics
- Cloud deployment support
Evoopz - Evolving the classic CMS for the modern web. 🚀