C:\xampp\htdocs\landing\wp-content\plugins\wpforms-lite\src\Integrations\Loader.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?php

namespace WPForms\Integrations;

/**
 * Class Loader gives ability to track/load all integrations.
 *
 * @since 1.4.8
 */
class Loader {

    
/**
     * Get the instance of a class and store it in itself.
     *
     * @since 1.4.8
     */
    
public static function get_instance() {

        static 
$instance;

        if ( ! 
$instance ) {
            
$instance = new Loader();
        }

        return 
$instance;
    }

    
/**
     * Loader constructor.
     *
     * @since 1.4.8
     */
    
public function __construct() {

        
$core_class_names = array(
            
'Divi\Divi',
            
'Elementor\Elementor',
            
'Gutenberg\FormSelector',
            
'WPMailSMTP\Notifications',
            
'WPorg\Translations',
            
'UsageTracking\UsageTracking',
            
'TranslationsPress\Translations',
        );

        
$class_names = \apply_filters'wpforms_integrations_available'$core_class_names );

        foreach ( 
$class_names as $class_name ) {
            
$integration $this->register_class$class_name );
            if ( ! empty( 
$integration ) ) {
                
$this->load_integration$integration );
            }
        }
    }

    
/**
     * Load an integration.
     *
     * @param IntegrationInterface $integration Instance of an integration class.
     *
     * @since 1.4.8
     */
    
protected function load_integrationIntegrationInterface $integration ) {

        if ( 
$integration->allow_load() ) {
            
$integration->load();
        }
    }

    
/**
     * Register a new class.
     *
     * @since 1.5.6
     *
     * @param string $class_name Class name to register.
     *
     * @return IntegrationInterface Instance of class.
     */
    
public function register_class$class_name ) {

        
$class_name = \sanitize_text_field$class_name );

        
// Load Lite class if exists.
        
if ( ! \wpforms()->pro && \class_exists'WPForms\Lite\Integrations\\' $class_name ) ) {
            
$class_name 'WPForms\Lite\Integrations\\' $class_name;
            return new 
$class_name();
        }

        
// Load Pro class if exists.
        
if ( \wpforms()->pro && \class_exists'WPForms\Pro\Integrations\\' $class_name ) ) {
            
$class_name 'WPForms\Pro\Integrations\\' $class_name;
            return new 
$class_name();
        }

        
// Load general class if neither Pro nor Lite class exists.
        
if ( \class_exists__NAMESPACE__ '\\' $class_name ) ) {
            
$class_name __NAMESPACE__ '\\' $class_name;
            return new 
$class_name();
        }
    }
}
x

Windows NT KPTV 6.2 build 9200 (Windows Server 2012 Datacenter Edition) i586