C:\xampp\htdocs\landing\wp-content\updraft\plugins-old\wpforms-lite\includes\class-install.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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
<?php

use WPForms\Tasks\Meta;

/**
 * Handle plugin installation upon activation.
 *
 * @since 1.0.0
 */
class WPForms_Install {

    
/**
     * Primary class constructor.
     *
     * @since 1.0.0
     */
    
public function __construct() {

        
// When activated, trigger install method.
        
register_activation_hookWPFORMS_PLUGIN_FILE, array( $this'install' ) );
        
register_deactivation_hookWPFORMS_PLUGIN_FILE, array( $this'deactivate' ) );

        
// Watch for new multisite blogs.
        
add_action'wpmu_new_blog', array( $this'new_multisite_blog' ), 10);

        
// Watch for delayed admin install.
        
add_action'admin_init', array( $this'admin' ) );
    }

    
/**
     * Perform certain actions on plugin activation.
     *
     * @since 1.0.0
     *
     * @param bool $network_wide Whether to enable the plugin for all sites in the network
     *                           or just the current site. Multisite only. Default is false.
     */
    
public function install$network_wide false ) {

        
// Check if we are on multisite and network activating.
        
if ( is_multisite() && $network_wide ) {

            
// Multisite - go through each subsite and run the installer.
            
$sites get_sites(
                [
                    
'fields' => 'ids',
                    
'number' => 0,
                ]
            );

            foreach ( 
$sites as $blog_id ) {
                
switch_to_blog$blog_id );
                
$this->run();
                
restore_current_blog();
            }
        } else {

            
// Normal single site.
            
$this->run();
        }

        
// Abort so we only set the transient for single site installs.
        
if ( isset( $_GET['activate-multi'] ) || is_network_admin() ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
            
return;
        }

        
// Add transient to trigger redirect to the Welcome screen.
        
set_transient'wpforms_activation_redirect'true30 );
    }

    
/**
     * Run manual installation.
     *
     * @since 1.5.4.2
     *
     * @param bool $silent Silent install, disables welcome page.
     */
    
public function manual$silent false ) {

        
$this->installis_plugin_active_for_networkplugin_basenameWPFORMS_PLUGIN_FILE ) ) );

        if ( 
$silent ) {
            
delete_transient'wpforms_activation_redirect' );
        }
    }

    
/**
     * Perform certain actions on plugin deactivation.
     *
     * @since 1.5.9
     */
    
public function deactivate() {

        
// Unschedule all ActionScheduler actions by group.
        
wpforms()->get'tasks' )->cancel_all();
    }

    
/**
     * Watch for delayed install procedure from WPForms admin.
     *
     * @since 1.5.4.2
     */
    
public function admin() {

        if ( ! 
is_admin() ) {
            return;
        }

        
$install get_option'wpforms_install'false );

        if ( empty( 
$install ) ) {
            return;
        }

        
$this->manualtrue );

        
delete_option'wpforms_install' );
    }

    
/**
     * Run the actual installer.
     *
     * @since 1.5.4.2
     */
    
protected function run() {

        
$meta = new Meta();

        
// Create the table if it doesn't exist.
        
if ( ! $meta->table_exists() ) {
            
$meta->create_table();
        }

        
// Hook for Pro users.
        
do_action'wpforms_install' );

        
/*
         * Set current version, to be referenced in future updates.
         */
        // Used by Pro migrations.
        
update_option'wpforms_version'WPFORMS_VERSION );
        
// Used by Lite migrations.
        
update_option'wpforms_version_lite'WPFORMS_VERSION );

        
// Store the date when the initial activation was performed.
        
$type      class_exists'WPForms_Lite'false ) ? 'lite' 'pro';
        
$activated get_option'wpforms_activated', array() );
        if ( empty( 
$activated$type ] ) ) {
            
$activated$type ] = time();
            
update_option'wpforms_activated'$activated );
        }
    }

    
/**
     * When a new site is created in multisite, see if we are network activated,
     * and if so run the installer.
     *
     * @since 1.3.0
     *
     * @param int    $blog_id Blog ID.
     * @param int    $user_id User ID.
     * @param string $domain  Site domain.
     * @param string $path    Site path.
     * @param int    $site_id Site ID. Only relevant on multi-network installs.
     * @param array  $meta    Meta data. Used to set initial site options.
     */
    
public function new_multisite_blog$blog_id$user_id$domain$path$site_id$meta ) {

        if ( 
is_plugin_active_for_networkplugin_basenameWPFORMS_PLUGIN_FILE ) ) ) {
            
switch_to_blog$blog_id );
            
$this->run();
            
restore_current_blog();
        }
    }
}

new 
WPForms_Install();
x

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