| Server IP : 108.167.142.43 / Your IP : 216.73.216.223 Web Server : Apache System : Linux gator4174.hostgator.com 5.14.0-687.39.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Aug 18 06:09:16 EDT 2026 x86_64 User : delarice ( 2406) PHP Version : 8.3.36 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home2/delarice/public_html/wp-content/plugins/templately/modules/template-customizer/ |
Upload File : |
<?php
/**
* Template-customizer module (spec 021-template-customizer + 024-logo-branding).
*
* PHP REST surface: AI logo generation (generate/callback/data/poll/available-credits).
* Relocated from includes/API/LogoGeneration.php — behavior byte-identical (same routes,
* params, option keys). The consolidation decision assigns 024's logo REST here.
*
* The JS view layer this spec describes (Customizer wizard, color/typography editors,
* logo generator UI, AI tagline UI) is DEFERRED: that code currently lives inside
* react-src/app/components/fsi/{wizard,customizer}/ (spec 029's future territory),
* tightly coupled to the FSI wizard's step machine (fsiFlowReducer, aiMode, SurfaceShell).
* Extracting it now would mean restructuring FSI's wizard before 029's own pass — see the
* modularization PRD's blockers log for the full reasoning. Complete the JS move when
* spec 029 (or a dedicated follow-up after it) is reached.
*
* @package Templately
*/
namespace Templately\Modules\TemplateCustomizer;
use Templately\Core\Module_Base;
use Templately\Modules\TemplateCustomizer\REST\LogoGeneration;
class Module extends Module_Base {
public function get_name(): string {
return 'template-customizer';
}
public function get_dependencies(): array {
// REST/LogoGeneration.php uses full-site-import's Utils/AIUtils/SignatureVerifier
// during AI logo generation (spec 025).
return [ 'full-site-import' ];
}
public function register_rest_routes(): void {
LogoGeneration::get_instance()->register_routes();
}
}