C:\xampp\htdocs\landing\wp-content\plugins\totalpoll\src\Admin\Ajax\Modules.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
<?php

namespace TotalPoll\Admin\Ajax;
defined'ABSPATH' ) && exit();


use 
TotalPollVendors\TotalCore\Contracts\Http\Request;
use 
TotalPollVendors\TotalCore\Contracts\Modules\Manager;

/**
 * Class Modules
 * @package TotalPoll\Admin\Ajax
 * @since   1.0.0
 */
class Modules {
    
/**
     * @var array $module
     */
    
protected $module = [ 'id' => null'type' => null ];
    
/**
     * @var Request $request
     */
    
protected $request;
    
/**
     * @var Manager $manager
     */
    
protected $manager;

    
/**
     * Modules constructor.
     *
     * @param Request $request
     * @param Manager $manager
     */
    
public function __constructRequest $requestManager $manager ) {
        
$this->request $request;
        
$this->manager $manager;

        
$this->module['id']   = $this->request->post'id' );
        
$this->module['type'] = $this->request->post'type' );

        if ( 
$this->module['id'] && $this->module['type'] && ! in_array$this->module['type'], [ 'extension''template' ] ) ):
            
wp_send_json_error( new \WP_Error'unknown_module_type''Unknown module type.' ) );
        endif;
    }

    
/**
     * Install from file AJAX endpoint.
     * @action-callback wp_ajax_totalpoll_modules_install_from_file
     */
    
public function installFromFile() {
        
$result $this->manager->install$this->request->file'module' ) );

        if ( 
is_wp_error$result ) ):
            
wp_send_json_error$result->get_error_message() );
        else:
            
wp_send_json_success__'Module installed.''totalpoll' ) );
        endif;
    }

    
/**
     * Install from store endpoint AJAX endpoint.
     * @action-callback wp_ajax_totalpoll_modules_install_from_store
     */
    
public function installFromStore() {
        
$result $this->manager->installFromStore$this->module['id'] );

        if ( 
is_wp_error$result ) ):
            
wp_send_json_error$result->get_error_message() );
        else:
            
wp_send_json_success__'Module downloaded and installed.''totalpoll' ) );
        endif;
    }

    
/**
     * Get AJAX endpoint.
     * @action-callback wp_ajax_totalpoll_modules_list
     */
    
public function fetch() {
        
$hard $this->request->request'hard'false );
        if ( ! empty( 
$hard ) ):
            
TotalPoll'utils.purge.store' );
        endif;

        
$modules array_values$this->manager->fetch() );

        
/**
         * Filters modules sent to modules manager interface.
         *
         * @param \TotalPollVendors\TotalCore\Modules\Module[] $modules Array of modules.
         * @param Manager                                      $manager Modules manager.
         * @param Request                                      $request HTTP Request.
         *
         * @since 4.0.2
         * @return array
         */
        
$modules apply_filters'totalpoll/filters/admin/modules/fetch'$modules$this->manager$this->request );

        
wp_send_json$modules );
    }

    
/**
     * Update AJAX endpoint.
     * @action-callback wp_ajax_totalpoll_modules_update
     */
    
public function update() {
        
$result $this->manager->update$this->module['id'] );

        if ( 
is_wp_error$result ) ):
            
wp_send_json_error$result->get_error_message() );
        else:
            
wp_send_json_success__'Module updated.''totalpoll' ) );
        endif;
    }

    
/**
     * Uninstall AJAX endpoint.
     * @action-callback wp_ajax_totalpoll_modules_uninstall
     */
    
public function uninstall() {
        
$uninstalled $this->manager->uninstall$this->module['id'] );

        if ( 
is_wp_error$uninstalled ) ):
            
wp_send_json_error$uninstalled->get_error_message() );
        else:
            
wp_send_json_success__'Module uninstalled.''totalpoll' ) );
        endif;
    }

    
/**
     * Activate AJAX endpoint.
     * @action-callback wp_ajax_totalpoll_modules_activate
     */
    
public function activate() {
        
$activated $this->manager->activate$this->module['id'] );

        if ( 
is_wp_error$activated ) ):
            
wp_send_json_error$activated->get_error_message() );
        else:
            
wp_send_json_success__'Module activated.''totalpoll' ) );
        endif;
    }

    
/**
     * Deactivate AJAX endpoint.
     * @action-callback wp_ajax_totalpoll_modules_deactivate
     */
    
public function deactivate() {
        
$deactivated $this->manager->deactivate$this->module['id'] );

        if ( 
is_wp_error$deactivated ) ):
            
wp_send_json_error$deactivated->get_error_message() );
        else:
            
wp_send_json_success__'Module deactivated.''totalpoll' ) );
        endif;
    }
}
x

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