get_error_message() ); } } /** * Install acfe * * @return void */ public function install_acfe() { check_ajax_referer( 'acfe_cf7_upsell_installer' ); if ( ! current_user_can( 'manage_options' ) ) { wp_send_json_error( __( 'You don\'t have permission to install the plugins' ) ); } $acfe_status = $this->install_plugin( 'innovs-element-for-elementor-lite', 'innovs_adons_elementor.php' ); $this->fail_on_error( $acfe_status ); wp_send_json_success(); } /** * Install and activate a plugin * * @param string $slug * @param string $file * * @return WP_Error|null */ public function install_plugin( $slug, $file ) { include_once ABSPATH . 'wp-admin/includes/plugin-install.php'; include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $plugin_basename = $slug . '/' . $file; // if exists and not activated if ( file_exists( WP_PLUGIN_DIR . '/' . $plugin_basename ) ) { return activate_plugin( $plugin_basename ); } // seems like the plugin doesn't exists. Download and activate it $upgrader = new Plugin_Upgrader( new WP_Ajax_Upgrader_Skin() ); $api = plugins_api( 'plugin_information', array( 'slug' => $slug, 'fields' => array( 'sections' => false ) ) ); $result = $upgrader->install( $api->download_link ); if ( is_wp_error( $result ) ) { return $result; } return activate_plugin( $plugin_basename ); } /** * Install acfe cf7 * * @return void */ public function install_acfe_cf7() { check_ajax_referer( 'acfe_cf7_installer' ); if ( ! current_user_can( 'manage_options' ) ) { wp_send_json_error( __( 'You don\'t have permission to install the plugins' ) ); } $acfe_status = $this->install_acfe_cf7_plugin( 'contact-form-7', 'wp-contact-form-7.php' ); $this->fail_on_error( $acfe_status ); wp_send_json_success(); } /** * Install and activate cf7 plugin * * @param string $slug * @param string $file * * @return WP_Error|null */ public function install_acfe_cf7_plugin( $slug, $file ) { include_once ABSPATH . 'wp-admin/includes/plugin-install.php'; include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $plugin_basename = $slug . '/' . $file; // if exists and not activated if ( file_exists( WP_PLUGIN_DIR . '/' . $plugin_basename ) ) { return activate_plugin( $plugin_basename ); } // seems like the plugin doesn't exists. Download and activate it $upgrader = new Plugin_Upgrader( new WP_Ajax_Upgrader_Skin() ); $api = plugins_api( 'plugin_information', array( 'slug' => $slug, 'fields' => array( 'sections' => false ) ) ); $result = $upgrader->install( $api->download_link ); if ( is_wp_error( $result ) ) { return $result; } return activate_plugin( $plugin_basename ); } } endif;