File "performance.php"
Full Path: /home/vantageo/public_html/cache/cache/cache/cache/cache/.wp-cli/wp-content/plugins/mojo-marketplace-wp-plugin/inc/performance.php
File size: 6.38 KB
MIME-type: text/x-php
Charset: utf-8
<?php
function mm_cache_toggle() {
if ( isset( $_POST['cache_level'] ) && is_numeric( $_POST['cache_level'] ) ) {
$cache_level = (int) $_POST['cache_level'];
$response = mm_cache_add( 'page' );
if ( isset( $response['status'] ) && 'success' == $response['status'] ) {
$update = update_option( 'endurance_cache_level', $cache_level );
if ( true == $update ) {
$response = array(
'status' => 'success',
'message' => esc_html__( 'Cache level updated successfully.', 'mojo-marketplace-wp-plugin' ),
);
} else {
$response = array(
'status' => 'error',
'message' => esc_html__( 'Unable to update cache level.', 'mojo-marketplace-wp-plugin' ),
);
}
} else {
$response = array(
'status' => 'error',
'message' => esc_html__( 'Unable to add cache plugin.', 'mojo-marketplace-wp-plugin' ),
);
}
echo json_encode( $response );
}
die;
}
add_action( 'wp_ajax_mm_cache', 'mm_cache_toggle' );
function mm_cache_add( $type = null ) {
$cache = array();
if ( ! is_dir( WP_CONTENT_DIR . '/mu-plugins' ) ) {
mkdir( WP_CONTENT_DIR . '/mu-plugins' );
}
switch ( $type ) {
case 'page':
$cache['code'] = 'https://raw.githubusercontent.com/bluehost/endurance-page-cache/production/endurance-page-cache.php';
$cache['location'] = WP_CONTENT_DIR . '/mu-plugins/endurance-page-cache.php';
break;
case 'object':
if ( class_exists( 'memcached' ) || class_exists( 'memcache' ) ) {
$response = array(
'status' => 'error',
'message' => esc_html__( 'Object cache coming soon.', 'mojo-marketplace-wp-plugin' ),
);
} else {
$response = array(
'status' => 'error',
'message' => esc_html__( 'Object cache not available on your hosting plan.', 'mojo-marketplace-wp-plugin' ),
);
}
break;
}
if ( isset( $cache['code'] ) && isset( $cache['location'] ) ) {
$request = wp_remote_get( $cache['code'] );
if ( ! is_wp_error( $request ) ) {
file_put_contents( $cache['location'], $request['body'] );
if ( file_exists( $cache['location'] ) ) {
$response = array(
'status' => 'success',
'message' => sprintf(
/* translators: %s: type of cache */
esc_html__( '%s cache added successfully.', 'mojo-marketplace-wp-plugin' ),
ucfirst( $type )
),
);
}
}
}
if ( ! isset( $response ) ) {
$response = array(
'status' => 'error',
'message' => sprintf(
/* translators: %s: type of cache */
esc_html__( 'Unable to add %s cache.', 'mojo-marketplace-wp-plugin' ),
ucfirst( $type )
),
);
}
return $response;
}
function mm_cache_remove( $type = null ) {
switch ( $type ) {
case 'browser':
// do not remove cache file since it powers both types and the CDN.
break;
case 'page':
// do not remove cache file since it powers both types and the CDN.
break;
case 'object':
$file = WP_CONTENT_DIR . '/object-cache.php';
break;
}
if ( file_exists( $file ) ) {
if ( unlink( $file ) ) {
$response = array(
'status' => 'success',
'message' => sprintf(
/* translators: %s: type of cache */
esc_html__( '%s cache removed successfully.', 'mojo-marketplace-wp-plugin' ),
ucfirst( $type )
),
);
} else {
$response = array(
'status' => 'error',
'message' => esc_html__( 'Could not remove cache file.', 'mojo-marketplace-wp-plugin' ),
);
}
} else {
$response = array(
'status' => 'error',
'message' => esc_html__( 'Cache file does not exist.', 'mojo-marketplace-wp-plugin' ),
);
}
return $response;
}
function mm_php_edge_toggle() {
if ( isset( $_POST['php_level'] ) ) {
$new_php_setting = $_POST['php_level'];
$php_setting = get_option( 'mm_php_edge_settings', '56' );
if ( isset( $new_php_setting ) && ! empty( $new_php_setting ) ) {
$php_handler_response = mm_php_edge_add( $new_php_setting );
} else {
$php_handler_response = mm_php_edge_remove();
}
if ( 'success' == $php_handler_response['status'] ) {
update_option( 'mm_php_edge_settings', $new_php_setting );
}
echo json_encode( $php_handler_response );
}
die;
}
add_action( 'wp_ajax_mm_php_edge', 'mm_php_edge_toggle' );
function mm_php_edge_add( $new_php_setting, $type = null ) {
$php_edge = array();
if ( ! is_dir( WP_CONTENT_DIR . '/mu-plugins' ) ) {
mkdir( WP_CONTENT_DIR . '/mu-plugins' );
}
$php_edge['code'] = 'https://raw.githubusercontent.com/bluehost/endurance-php-edge/master/endurance-php-edge.php';
$php_edge['location'] = WP_CONTENT_DIR . '/mu-plugins/endurance-php-edge.php';
$request = wp_remote_get( $php_edge['code'] );
if ( ! is_wp_error( $request ) ) {
// file_put_contents( $php_edge['location'], $request['body'] );
save_mod_rewrite_rules();
if ( file_exists( $php_edge['location'] ) ) {
$php_check = wp_remote_get( site_url() );
$updated_php_version = '';
switch ( $new_php_setting ) {
case '70':
$updated_php_version = '7.0';
break;
case 'edge':
$updated_php_version = 'Edge';
break;
default:
$updated_php_version = '5.6';
break;
}
if ( ! is_wp_error( $php_check ) && wp_remote_retrieve_response_code( $php_check ) == '200' ) {
$response = array(
'status' => 'success',
'message' => sprintf(
/* translators: %s: PHP version */
esc_html__( 'PHP is updated to %s', 'mojo-marketplace-wp-plugin' ),
$updated_php_version
),
);
} else {
$response = array(
'status' => 'error',
'message' => esc_html__( 'Site is incompatible with PHP Edge. Edge removed.', 'mojo-marketplace-wp-plugin' ),
);
mm_php_edge_remove();
save_mod_rewrite_rules();
}
}
} else {
$response = array(
'status' => 'error',
'message' => esc_html__( 'Unable to enable PHP Edge.', 'mojo-marketplace-wp-plugin' ),
);
}
return $response;
}
function mm_php_edge_remove( $type = null ) {
$file = WP_CONTENT_DIR . '/mu-plugins/endurance-php-edge.php';
if ( file_exists( $file ) ) {
if ( unlink( $file ) ) {
$response = array(
'status' => 'success',
'message' => esc_html__( 'PHP Edge successfully disabled.', 'mojo-marketplace-wp-plugin' ),
);
} else {
$response = array(
'status' => 'error',
'message' => esc_html__( 'Unable to remove PHP Edge.', 'mojo-marketplace-wp-plugin' ),
);
}
} else {
$response = array(
'status' => 'error',
'message' => esc_html__( 'PHP Edge file does not exist.', 'mojo-marketplace-wp-plugin' ),
);
}
return $response;
}