Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/wp-conte.../plugins/embedpre.../EmbedPre.../Includes/Classes
File: EmbedPress_Core_Installer.php
<?php
[0] Fix | Delete
namespace EmbedPress\Includes\Classes;
[1] Fix | Delete
[2] Fix | Delete
if (!defined('ABSPATH')) {
[3] Fix | Delete
exit;
[4] Fix | Delete
} // Exit if accessed directly.
[5] Fix | Delete
[6] Fix | Delete
/**
[7] Fix | Delete
* EmbedPress Core Install
[8] Fix | Delete
*/
[9] Fix | Delete
class EmbedPress_Core_Installer {
[10] Fix | Delete
/**
[11] Fix | Delete
* Plugin Base Name
[12] Fix | Delete
*
[13] Fix | Delete
* @var string
[14] Fix | Delete
*/
[15] Fix | Delete
private $plugin_basename;
[16] Fix | Delete
[17] Fix | Delete
/**
[18] Fix | Delete
* Instantiate the class
[19] Fix | Delete
*
[20] Fix | Delete
* @param string $plugin_basename
[21] Fix | Delete
*/
[22] Fix | Delete
function __construct( $plugin_basename = '' ) {
[23] Fix | Delete
$this->plugin_basename = $plugin_basename;
[24] Fix | Delete
add_action( 'init', array( $this, 'init_hooks' ) );
[25] Fix | Delete
}
[26] Fix | Delete
/**
[27] Fix | Delete
* Initialize the hooks
[28] Fix | Delete
*
[29] Fix | Delete
* @return void
[30] Fix | Delete
*/
[31] Fix | Delete
public function init_hooks() {
[32] Fix | Delete
if ( ! current_user_can( 'manage_options' ) ) {
[33] Fix | Delete
return;
[34] Fix | Delete
}
[35] Fix | Delete
add_action( 'wp_ajax_wpdeveloper_upsale_core_install_' . $this->plugin_basename, array( $this, 'core_install' ) );
[36] Fix | Delete
}
[37] Fix | Delete
/**
[38] Fix | Delete
* Fail if plugin installtion/activation fails
[39] Fix | Delete
*
[40] Fix | Delete
* @param Object $thing
[41] Fix | Delete
*
[42] Fix | Delete
* @return void
[43] Fix | Delete
*/
[44] Fix | Delete
public function fail_on_error( $thing ) {
[45] Fix | Delete
if ( is_wp_error( $thing ) ) {
[46] Fix | Delete
wp_send_json_error( $thing->get_error_message() );
[47] Fix | Delete
}
[48] Fix | Delete
}
[49] Fix | Delete
[50] Fix | Delete
/**
[51] Fix | Delete
* Install Upsale Plugin
[52] Fix | Delete
*
[53] Fix | Delete
* @return void
[54] Fix | Delete
*/
[55] Fix | Delete
public function core_install() {
[56] Fix | Delete
check_ajax_referer( 'wpdeveloper_upsale_core_install_' . $this->plugin_basename );
[57] Fix | Delete
[58] Fix | Delete
if ( ! current_user_can( 'manage_options' ) ) {
[59] Fix | Delete
wp_send_json_error( __( 'You don\'t have permission to install the plugins' ) );
[60] Fix | Delete
}
[61] Fix | Delete
[62] Fix | Delete
$plugin_slug = ( isset( $_POST['slug'] ) ) ? $_POST['slug'] : '';
[63] Fix | Delete
$plugin_file = ( isset( $_POST['file'] ) ) ? $_POST['file'] : '';
[64] Fix | Delete
[65] Fix | Delete
if( empty( $plugin_file ) || empty( $plugin_slug ) ) {
[66] Fix | Delete
wp_send_json_error( __( 'You don\'t have set any slug and file name to install the plugins' ) );
[67] Fix | Delete
}
[68] Fix | Delete
[69] Fix | Delete
$plugin_status = $this->install_plugin( $plugin_slug, $plugin_file );
[70] Fix | Delete
$this->fail_on_error( $plugin_status );
[71] Fix | Delete
[72] Fix | Delete
wp_send_json_success();
[73] Fix | Delete
}
[74] Fix | Delete
/**
[75] Fix | Delete
* Install and activate a plugin
[76] Fix | Delete
*
[77] Fix | Delete
* @param string $slug
[78] Fix | Delete
* @param string $file
[79] Fix | Delete
*
[80] Fix | Delete
* @return WP_Error|null
[81] Fix | Delete
*/
[82] Fix | Delete
public function install_plugin( $slug, $file ) {
[83] Fix | Delete
include_once ABSPATH . 'wp-admin/includes/plugin-install.php';
[84] Fix | Delete
include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
[85] Fix | Delete
[86] Fix | Delete
$plugin_basename = $slug . '/' . $file;
[87] Fix | Delete
[88] Fix | Delete
// if exists and not activated
[89] Fix | Delete
if ( file_exists( WP_PLUGIN_DIR . '/' . $plugin_basename ) ) {
[90] Fix | Delete
return activate_plugin( $plugin_basename );
[91] Fix | Delete
}
[92] Fix | Delete
[93] Fix | Delete
// seems like the plugin doesn't exists. Download and activate it
[94] Fix | Delete
$upgrader = new \Plugin_Upgrader( new \WP_Ajax_Upgrader_Skin() );
[95] Fix | Delete
[96] Fix | Delete
$api = plugins_api( 'plugin_information', array( 'slug' => $slug, 'fields' => array( 'sections' => false ) ) );
[97] Fix | Delete
$result = $upgrader->install( $api->download_link );
[98] Fix | Delete
[99] Fix | Delete
if ( is_wp_error( $result ) ) {
[100] Fix | Delete
return $result;
[101] Fix | Delete
}
[102] Fix | Delete
[103] Fix | Delete
return activate_plugin( $plugin_basename );
[104] Fix | Delete
}
[105] Fix | Delete
}
[106] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function