Current path: home/webdevt/www/demo2/wp-content/plugins/divi-contact-form-helper/d5/server/
?? Go up: /home/webdevt/www/demo2/wp-content/plugins/divi-contact-form-helper/d5
<?php
namespace KS_PAC_DCFH;
use KS_PAC_DCFH\Admin\AjaxRequests\AdminAjaxRequests;
use KS_PAC_DCFH\Admin\AjaxRequests\FileUploadRemoveAjaxRequests;
use KS_PAC_DCFH\Admin\AjaxRequests\SignaturePadAjaxRequests;
use KS_PAC_DCFH\Admin\Controllers\MimeTypeManager;
use KS_PAC_DCFH\Admin\Controllers\CoreHooksManager;
use KS_PAC_DCFH\Admin\Controllers\FormStats;
use KS_PAC_DCFH\Admin\Controllers\SMTPManager;
use KS_PAC_DCFH\Admin\CPT\EntryCPTManager;
use KS_PAC_DCFH\Admin\CPT\EntryMetaboxManager;
use KS_PAC_DCFH\Admin\Crons\DeleteTempAttachments;
use KS_PAC_DCFH\Admin\Crons\EntriesAutoBackup;
use KS_PAC_DCFH\Admin\Crons\EntriesAutoDelete;
use KS_PAC_DCFH\Admin\Dashboard\DashboardAPI;
use KS_PAC_DCFH\Admin\Dashboard\DashboardMenu;
use KS_PAC_DCFH\Admin\Dashboard\DashboardScripts;
use KS_PAC_DCFH\Admin\Handlers\RolePermissionHandler;
use KS_PAC_DCFH\Admin\Pages\CreatePost;
use KS_PAC_DCFH\Admin\Pages\CreateEmailTemplates;
use KS_PAC_DCFH\Admin\Pages\ExportCSV;
use KS_PAC_DCFH\Admin\Pages\ListContactForms;
use KS_PAC_DCFH\Admin\Pages\ListEmailTemplates;
use KS_PAC_DCFH\Admin\Pages\SendEmail;
use KS_PAC_DCFH\Admin\Setup\PluginAdminScripts;
use KS_PAC_DCFH\Admin\Setup\PluginConfig;
use KS_PAC_DCFH\Admin\Setup\PluginPublicScripts;
use KS_PAC_DCFH\Admin\Setup\VisualBuilderScripts;
use KS_PAC_DCFH\Frontend\ContactField\ContactFieldAttributesFilter;
use KS_PAC_DCFH\Frontend\ContactField\ContactFieldConversionOutline;
use KS_PAC_DCFH\Frontend\ContactField\ContactFieldWrapperFilter;
use KS_PAC_DCFH\Frontend\ContactForm\ContactFormAttributesFilter;
use KS_PAC_DCFH\Frontend\ContactForm\ContactFormConversionOutline;
use KS_PAC_DCFH\Frontend\ContactForm\ContactFormLegacyAttributes;
use KS_PAC_DCFH\Frontend\ContactForm\ContactFormWrapperFilter;
use KS_PAC_DCFH\Frontend\Controllers\ContactFormSubmissionProcessor;
use KS_PAC_DCFH\Frontend\Controllers\ContactFormEmailProcessor;
use KS_PAC_DCFH\Frontend\Controllers\ContactFormEmailTemplates;
use KS_PAC_DCFH\Helpers\LogUtils;
if (!defined('ABSPATH')) {
exit;
}
final class ServiceContainer
{
private static $_instance;
private array $services;
public static function instance(): self
{
if (self::$_instance === null) {
self::$_instance = new self();
}
return self::$_instance;
}
private function __construct()
{
$this->services = [
CoreHooksManager::class,
PluginPublicScripts::class,
VisualBuilderScripts::class,
DashboardAPI::class,
SMTPManager::class,
MimeTypeManager::class,
EntryCPTManager::class,
ContactFormEmailTemplates::class,
ContactFormSubmissionProcessor::class,
ContactFormLegacyAttributes::class,
ContactFormAttributesFilter::class,
ContactFormWrapperFilter::class,
ContactFormConversionOutline::class,
ContactFieldAttributesFilter::class,
ContactFieldWrapperFilter::class,
ContactFieldConversionOutline::class,
AdminAjaxRequests::class,
FileUploadRemoveAjaxRequests::class,
SignaturePadAjaxRequests::class,
EntriesAutoBackup::class,
EntriesAutoDelete::class,
DeleteTempAttachments::class,
ContactFormEmailProcessor::class,
];
if (is_admin()) {
$this->services[] = DashboardMenu::class;
$this->services[] = DashboardScripts::class;
$this->services[] = PluginConfig::class;
$this->services[] = PluginAdminScripts::class;
$this->services[] = EntryMetaboxManager::class;
$this->services[] = RolePermissionHandler::class;
$this->services[] = ListContactForms::class;
$this->services[] = CreatePost::class;
$this->services[] = CreateEmailTemplates::class;
$this->services[] = ListEmailTemplates::class;
$this->services[] = SendEmail::class;
$this->services[] = ExportCSV::class;
$this->services[] = FormStats::class;
$this->services[] = LogUtils::class;
}
}
public function load(): void
{
foreach ($this->services as $service) {
if (!class_exists($service)) {
continue;
}
$service_instance = new $service();
if (method_exists($service_instance, 'load')) {
$service_instance->load();
}
}
}
}