fix: Case-sensitivity en namespaces Wordpress -> WordPress

PROBLEMA:
- El modal de contacto no se mostraba en producción (Linux)
- Funcionaba en local (Windows) porque filesystem es case-insensitive
- Carpeta: `WordPress` (con P mayúscula)
- Namespaces: `Wordpress` (con p minúscula)

SOLUCION:
- Corregir todos los namespaces de `Wordpress` a `WordPress`
- También corregir paths incorrectos `ROITheme\Component\...` a `ROITheme\Shared\...`

ARCHIVOS CORREGIDOS (14):
- functions.php
- Admin/Infrastructure/Api/WordPress/AdminMenuRegistrar.php
- Admin/Shared/Infrastructure/Api/WordPress/AdminAjaxHandler.php
- Public/ContactForm/Infrastructure/Api/WordPress/ContactFormAjaxHandler.php
- Public/Footer/Infrastructure/Api/WordPress/NewsletterAjaxHandler.php
- Shared/Infrastructure/Api/WordPress/AjaxController.php
- Shared/Infrastructure/Api/WordPress/MigrationCommand.php
- Shared/Infrastructure/Di/DIContainer.php
- Shared/Infrastructure/Persistence/WordPress/WordPressComponentRepository.php
- Shared/Infrastructure/Persistence/WordPress/WordPressComponentSettingsRepository.php
- Shared/Infrastructure/Persistence/WordPress/WordPressDefaultsRepository.php
- Shared/Infrastructure/Services/CleanupService.php
- Shared/Infrastructure/Services/SchemaSyncService.php
- Shared/Infrastructure/Services/WordPressValidationService.php

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
FrankZamora
2025-11-27 11:11:13 -06:00
parent 7a34d1f2ae
commit a062529e82
14 changed files with 21 additions and 21 deletions

View File

@@ -2,7 +2,7 @@
declare(strict_types=1); declare(strict_types=1);
namespace ROITheme\Admin\Infrastructure\Api\Wordpress; namespace ROITheme\Admin\Infrastructure\Api\WordPress;
use ROITheme\Admin\Domain\Contracts\MenuRegistrarInterface; use ROITheme\Admin\Domain\Contracts\MenuRegistrarInterface;
use ROITheme\Admin\Domain\ValueObjects\MenuItem; use ROITheme\Admin\Domain\ValueObjects\MenuItem;

View File

@@ -1,7 +1,7 @@
<?php <?php
declare(strict_types=1); declare(strict_types=1);
namespace ROITheme\Admin\Shared\Infrastructure\Api\Wordpress; namespace ROITheme\Admin\Shared\Infrastructure\Api\WordPress;
use ROITheme\Shared\Application\UseCases\SaveComponentSettings\SaveComponentSettingsUseCase; use ROITheme\Shared\Application\UseCases\SaveComponentSettings\SaveComponentSettingsUseCase;
use ROITheme\Admin\Shared\Infrastructure\FieldMapping\FieldMapperRegistry; use ROITheme\Admin\Shared\Infrastructure\FieldMapping\FieldMapperRegistry;
@@ -130,7 +130,7 @@ final class AdminAjaxHandler
// Usar repositorio para restaurar valores // Usar repositorio para restaurar valores
if ($this->saveComponentSettingsUseCase !== null) { if ($this->saveComponentSettingsUseCase !== null) {
global $wpdb; global $wpdb;
$repository = new \ROITheme\Shared\Infrastructure\Persistence\Wordpress\WordPressComponentSettingsRepository($wpdb); $repository = new \ROITheme\Shared\Infrastructure\Persistence\WordPress\WordPressComponentSettingsRepository($wpdb);
$updated = $repository->resetToDefaults($component, $schemaPath); $updated = $repository->resetToDefaults($component, $schemaPath);
wp_send_json_success([ wp_send_json_success([

View File

@@ -1,7 +1,7 @@
<?php <?php
declare(strict_types=1); declare(strict_types=1);
namespace ROITheme\Public\ContactForm\Infrastructure\Api\Wordpress; namespace ROITheme\Public\ContactForm\Infrastructure\Api\WordPress;
use ROITheme\Shared\Domain\Contracts\ComponentSettingsRepositoryInterface; use ROITheme\Shared\Domain\Contracts\ComponentSettingsRepositoryInterface;

View File

@@ -1,7 +1,7 @@
<?php <?php
declare(strict_types=1); declare(strict_types=1);
namespace ROITheme\Public\Footer\Infrastructure\Api\Wordpress; namespace ROITheme\Public\Footer\Infrastructure\Api\WordPress;
use ROITheme\Shared\Domain\Contracts\ComponentSettingsRepositoryInterface; use ROITheme\Shared\Domain\Contracts\ComponentSettingsRepositoryInterface;

View File

@@ -1,7 +1,7 @@
<?php <?php
declare(strict_types=1); declare(strict_types=1);
namespace ROITheme\Shared\Infrastructure\Api\Wordpress; namespace ROITheme\Shared\Infrastructure\Api\WordPress;
use ROITheme\Shared\Application\UseCases\SaveComponent\SaveComponentUseCase; use ROITheme\Shared\Application\UseCases\SaveComponent\SaveComponentUseCase;
use ROITheme\Shared\Application\UseCases\SaveComponent\SaveComponentRequest; use ROITheme\Shared\Application\UseCases\SaveComponent\SaveComponentRequest;

View File

@@ -1,7 +1,7 @@
<?php <?php
declare(strict_types=1); declare(strict_types=1);
namespace ROITheme\Shared\Infrastructure\Api\Wordpress; namespace ROITheme\Shared\Infrastructure\Api\WordPress;
/** /**
* WP-CLI Command para Sincronización de Schemas * WP-CLI Command para Sincronización de Schemas

View File

@@ -9,9 +9,9 @@ use ROITheme\Shared\Domain\Contracts\ValidationServiceInterface;
use ROITheme\Shared\Domain\Contracts\CacheServiceInterface; use ROITheme\Shared\Domain\Contracts\CacheServiceInterface;
use ROITheme\Shared\Domain\Contracts\CSSGeneratorInterface; use ROITheme\Shared\Domain\Contracts\CSSGeneratorInterface;
use ROITheme\Shared\Domain\Contracts\ComponentSettingsRepositoryInterface; use ROITheme\Shared\Domain\Contracts\ComponentSettingsRepositoryInterface;
use ROITheme\Shared\Infrastructure\Persistence\Wordpress\WordPressComponentRepository; use ROITheme\Shared\Infrastructure\Persistence\WordPress\WordPressComponentRepository;
use ROITheme\Shared\Infrastructure\Persistence\Wordpress\WordPressDefaultsRepository; use ROITheme\Shared\Infrastructure\Persistence\WordPress\WordPressDefaultsRepository;
use ROITheme\Shared\Infrastructure\Persistence\Wordpress\WordPressComponentSettingsRepository; use ROITheme\Shared\Infrastructure\Persistence\WordPress\WordPressComponentSettingsRepository;
use ROITheme\Shared\Infrastructure\Services\WordPressValidationService; use ROITheme\Shared\Infrastructure\Services\WordPressValidationService;
use ROITheme\Shared\Infrastructure\Services\WordPressCacheService; use ROITheme\Shared\Infrastructure\Services\WordPressCacheService;
use ROITheme\Shared\Infrastructure\Services\SchemaSyncService; use ROITheme\Shared\Infrastructure\Services\SchemaSyncService;

View File

@@ -1,7 +1,7 @@
<?php <?php
declare(strict_types=1); declare(strict_types=1);
namespace ROITheme\Shared\Infrastructure\Persistence\Wordpress; namespace ROITheme\Shared\Infrastructure\Persistence\WordPress;
use ROITheme\Shared\Domain\Entities\Component; use ROITheme\Shared\Domain\Entities\Component;
use ROITheme\Shared\Domain\ValueObjects\ComponentName; use ROITheme\Shared\Domain\ValueObjects\ComponentName;

View File

@@ -2,7 +2,7 @@
declare(strict_types=1); declare(strict_types=1);
namespace ROITheme\Shared\Infrastructure\Persistence\Wordpress; namespace ROITheme\Shared\Infrastructure\Persistence\WordPress;
use ROITheme\Shared\Domain\Contracts\ComponentSettingsRepositoryInterface; use ROITheme\Shared\Domain\Contracts\ComponentSettingsRepositoryInterface;

View File

@@ -1,7 +1,7 @@
<?php <?php
declare(strict_types=1); declare(strict_types=1);
namespace ROITheme\Shared\Infrastructure\Persistence\Wordpress; namespace ROITheme\Shared\Infrastructure\Persistence\WordPress;
use ROITheme\Shared\Domain\Contracts\ComponentDefaultsRepositoryInterface; use ROITheme\Shared\Domain\Contracts\ComponentDefaultsRepositoryInterface;
use ROITheme\Shared\Domain\ValueObjects\ComponentName; use ROITheme\Shared\Domain\ValueObjects\ComponentName;

View File

@@ -3,8 +3,8 @@ declare(strict_types=1);
namespace ROITheme\Shared\Infrastructure\Services; namespace ROITheme\Shared\Infrastructure\Services;
use ROITheme\Component\Infrastructure\Persistence\Wordpress\WordPressComponentRepository; use ROITheme\Shared\Infrastructure\Persistence\WordPress\WordPressComponentRepository;
use ROITheme\Component\Infrastructure\Persistence\Wordpress\WordPressDefaultsRepository; use ROITheme\Shared\Infrastructure\Persistence\WordPress\WordPressDefaultsRepository;
/** /**
* CleanupService - Limpieza de componentes obsoletos * CleanupService - Limpieza de componentes obsoletos

View File

@@ -3,7 +3,7 @@ declare(strict_types=1);
namespace ROITheme\Shared\Infrastructure\Services; namespace ROITheme\Shared\Infrastructure\Services;
use ROITheme\Shared\Infrastructure\Persistence\Wordpress\WordPressDefaultsRepository; use ROITheme\Shared\Infrastructure\Persistence\WordPress\WordPressDefaultsRepository;
/** /**
* SchemaSyncService - Sincronizar schemas JSON → BD * SchemaSyncService - Sincronizar schemas JSON → BD

View File

@@ -5,7 +5,7 @@ namespace ROITheme\Shared\Infrastructure\Services;
use ROITheme\Shared\Domain\Contracts\ValidationServiceInterface; use ROITheme\Shared\Domain\Contracts\ValidationServiceInterface;
use ROITheme\Shared\Domain\ValidationResult; use ROITheme\Shared\Domain\ValidationResult;
use ROITheme\Component\Infrastructure\Persistence\Wordpress\WordPressDefaultsRepository; use ROITheme\Shared\Infrastructure\Persistence\WordPress\WordPressDefaultsRepository;
/** /**
* WordPressValidationService - Validación contra schemas * WordPressValidationService - Validación contra schemas

View File

@@ -90,7 +90,7 @@ try {
use ROITheme\Admin\Domain\ValueObjects\MenuItem; use ROITheme\Admin\Domain\ValueObjects\MenuItem;
use ROITheme\Admin\Application\UseCases\RenderDashboardUseCase; use ROITheme\Admin\Application\UseCases\RenderDashboardUseCase;
use ROITheme\Admin\Infrastructure\Ui\AdminDashboardRenderer; use ROITheme\Admin\Infrastructure\Ui\AdminDashboardRenderer;
use ROITheme\Admin\Infrastructure\Api\Wordpress\AdminMenuRegistrar; use ROITheme\Admin\Infrastructure\Api\WordPress\AdminMenuRegistrar;
use ROITheme\Admin\Infrastructure\Services\AdminAssetEnqueuer; use ROITheme\Admin\Infrastructure\Services\AdminAssetEnqueuer;
try { try {
@@ -130,20 +130,20 @@ try {
$fieldMapperProvider->registerAll(); $fieldMapperProvider->registerAll();
// === ADMIN AJAX HANDLER === // === ADMIN AJAX HANDLER ===
$adminAjaxHandler = new \ROITheme\Admin\Shared\Infrastructure\Api\Wordpress\AdminAjaxHandler( $adminAjaxHandler = new \ROITheme\Admin\Shared\Infrastructure\Api\WordPress\AdminAjaxHandler(
$saveComponentSettingsUseCase, $saveComponentSettingsUseCase,
$fieldMapperRegistry $fieldMapperRegistry
); );
$adminAjaxHandler->register(); $adminAjaxHandler->register();
// Crear y registrar el handler AJAX para el Contact Form (público) // Crear y registrar el handler AJAX para el Contact Form (público)
$contactFormAjaxHandler = new \ROITheme\Public\ContactForm\Infrastructure\Api\Wordpress\ContactFormAjaxHandler( $contactFormAjaxHandler = new \ROITheme\Public\ContactForm\Infrastructure\Api\WordPress\ContactFormAjaxHandler(
$container->getComponentSettingsRepository() $container->getComponentSettingsRepository()
); );
$contactFormAjaxHandler->register(); $contactFormAjaxHandler->register();
// Crear y registrar el handler AJAX para Newsletter (público) // Crear y registrar el handler AJAX para Newsletter (público)
$newsletterAjaxHandler = new \ROITheme\Public\Footer\Infrastructure\Api\Wordpress\NewsletterAjaxHandler( $newsletterAjaxHandler = new \ROITheme\Public\Footer\Infrastructure\Api\WordPress\NewsletterAjaxHandler(
$container->getComponentSettingsRepository() $container->getComponentSettingsRepository()
); );
$newsletterAjaxHandler->register(); $newsletterAjaxHandler->register();