PluginProbe
Double Opt-In for Contact Form 7 – Secure, GDPR-Compliant Email Verification / 5.5.0
Double Opt-In for Contact Form 7 – Secure, GDPR-Compliant Email Verification v5.5.0
5.5.0 5.4.0 5.3.2 5.3.1 5.1.6 5.1.5 trunk 2.1.5 2.11 2.12 2.13 2.15 3.0.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.51 3.0.60 3.0.61 3.0.62 3.0.70 3.0.71 3.0.72 3.1.0 All 34 releases
double-opt-in / src / Providers / AdminServiceProvider.php

AdminServiceProvider.php in Double Opt-In for Contact Form 7 – Secure, GDPR-Compliant Email Verification 5.5.0, at src/Providers/AdminServiceProvider.php

78 lines 2.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Admin Service Provider
4 *
5 * @package Forge12\DoubleOptIn\Providers
6 * @since 4.2.0
7 */
8
9 namespace Forge12\DoubleOptIn\Providers;
10
11 use Forge12\DoubleOptIn\Container\Container;
12 use Forge12\DoubleOptIn\Container\BootableProviderInterface;
13 use Forge12\DoubleOptIn\Admin\AdminNoticeIncompleteForms;
14 use Forge12\DoubleOptIn\Admin\AdminPageController;
15 use Forge12\DoubleOptIn\Admin\AdminRestController;
16 use Forge12\DoubleOptIn\Audit\AuditLogger;
17 use Forge12\DoubleOptIn\FormSettings\FormSettingsService;
18 use Forge12\DoubleOptIn\FormSettings\FormSettingsValidator;
19 use Forge12\Shared\LoggerInterface;
20
21 if ( ! defined( 'ABSPATH' ) ) {
22 exit;
23 }
24
25 /**
26 * Class AdminServiceProvider
27 *
28 * Registers admin REST API and audit services.
29 */
30 class AdminServiceProvider implements BootableProviderInterface {
31
32 /**
33 * {@inheritdoc}
34 */
35 public function register( Container $container ): void {
36 // Register Admin REST Controller
37 $container->singleton(
38 AdminRestController::class,
39 function ( Container $c ) {
40 return new AdminRestController(
41 $c->get( LoggerInterface::class ),
42 $c->get( FormSettingsService::class ),
43 $c->get( FormSettingsValidator::class )
44 );
45 }
46 );
47
48 // Register Admin Page Controller (React SPA)
49 $container->singleton(
50 AdminPageController::class,
51 function () {
52 return new AdminPageController();
53 }
54 );
55 }
56
57 /**
58 * {@inheritdoc}
59 */
60 public function boot( Container $container ): void {
61 // Initialize Admin REST Controller
62 $restController = $container->get( AdminRestController::class );
63 $restController->init();
64
65 // Initialize Admin Page Controller (React SPA)
66 $pageController = $container->get( AdminPageController::class );
67 $pageController->init();
68
69 // Register audit log hooks
70 AuditLogger::registerHooks();
71
72 // Render the completeness-sweep admin notice for any forms that
73 // the MigrationFormCompletenessSweep auto-disabled at upgrade
74 // time. Notice persists until dismissed (plan §2.4).
75 ( new AdminNoticeIncompleteForms() )->register();
76 }
77 }
78