| Server IP : 108.167.142.43 / Your IP : 216.73.217.58 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/www/wp-content/plugins/templately/modules/theme-builder/Factory/ |
Upload File : |
<?php
namespace Templately\Modules\ThemeBuilder\Factory;
use Elementor\Core\Base\Document;
use Templately\Modules\ThemeBuilder\Source;
class TemplateFactory {
protected $platform;
protected $template_manager;
public function __construct( $platform = 'elementor' ) {
$this->platform = $platform;
$this->template_manager = templately()->theme_builder::$templates_manager;
}
public function create( $type, $data, $meta = [] ) {
$data = wp_parse_args( $data );
$meta = wp_parse_args( $meta, [
Source::PLATFORM_META_KEY => $this->platform,
Source::TYPE_META_KEY => $type,
] );
// Guard against Elementor not being loaded: referencing the Document constant
// on a missing class is an UNCATCHABLE "Class not found" fatal, which aborted
// the whole import here rather than anywhere it could be reported.
if ( $this->platform === 'elementor' && class_exists( Document::class ) ) {
$meta[ Document::BUILT_WITH_ELEMENTOR_META_KEY ] = 'builder';
}
return $this->template_manager->create( $type, $data, $meta );
}
}