?? GreyFile — Mystic File Browser

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

?? Viewing: ServiceContainer.php

<?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();
            }
        }
    }
}


??

??