-
Notifications
You must be signed in to change notification settings - Fork 1
/
functions.php
33 lines (30 loc) · 867 Bytes
/
functions.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
<?php
/**
* Global functions for Perfops One features.
*
* @package @package PerfOpsOne
* @author Pierre Lannoy <https://pierre.lannoy.fr/>.
* @since 2.0.0
*/
global $wp_version;
use Hsiss\System\Plugin;
if ( ! function_exists( 'poo_switch_autoupdate_callback' ) ) {
/**
* Ajax callback for autoupdate switching.
*
* @since 2.0.0
*/
function poo_switch_autoupdate_callback() {
check_ajax_referer( 'poo-auto-update', 'nonce' );
$plugin = new Plugin( filter_input( INPUT_POST, 'plugin' ) );
if ( ! current_user_can( 'update_plugins' ) || ! wp_is_auto_update_enabled_for_type( 'plugin' ) || ( is_multisite() && ! is_network_admin() ) ) {
wp_die( 403 );
}
if ( $plugin->switch_auto_update() ) {
wp_die( 200 );
} else {
wp_die( 500 );
}
}
add_action( 'wp_ajax_poo_switch_autoupdate', 'poo_switch_autoupdate_callback' );
}