WPBakery Page Builder' ); ?>

WPBakery Page Builder' ); ?>

$plugin ) { if ( isset( $plugins[ $i ]['premium'] ) AND ! isset( $plugins[ $i ]['source'] ) ) { $plugins = us_api_addons( $plugins, TRUE ); break; } } $installed_plugins = get_plugins(); global $us_template_directory_uri; $plugins_html = ''; foreach ( $plugins as $plugin ) { $keys = array_keys( get_plugins() ); $plugin['file_path'] = $plugin['slug']; foreach ( $keys as $key ) { if ( preg_match( '|^' . $plugin['slug'] . '/|', $key ) ) { $plugin['file_path'] = $key; break; } } $classes = ' ' . $plugin['slug']; if ( ! isset( $plugin['premium'] ) ) { $classes .= ' is_free'; } else { $classes .= ' is_premium'; } $btn_classes = $btn_atts = $btn_text = $btn_url = ''; // Separate params for FREE and PREMIUM plugins if ( ! isset( $plugin['premium'] ) ) { $icon_file = isset( $plugin['icon_file'] ) ? $plugin['icon_file'] : 'png'; $icon_url = 'https://ps.w.org/' . $plugin['slug'] . '/assets/icon-256x256.' . $icon_file; $plugin['url'] = 'https://wordpress.org/plugins/' . $plugin['slug'] . '/'; } else { $icon_url = $us_template_directory_uri . '/framework/admin/img/' . $plugin['slug'] . '.png'; } if ( is_plugin_active( $plugin['file_path'] ) ) { $classes .= ' status_active'; } elseif ( ! isset( $installed_plugins[ $plugin['file_path'] ] ) ) { if ( isset( $plugin['premium'] ) AND ! get_option( 'us_license_activated', 0 ) ) { $classes .= ' status_locked'; } else { $classes .= ' status_notinstalled'; $btn_text = us_translate( 'Install Now' ); $btn_url = 'javascript:void(0);'; $btn_classes .= ' color_primary action-button'; $btn_atts = ' data-plugin="' . $plugin['slug'] . '" data-action="install"'; } } elseif ( is_plugin_inactive( $plugin['file_path'] ) ) { $classes .= ' status_notactive'; $btn_text = us_translate( 'Activate Plugin' ); $btn_url = 'javascript:void(0);'; $btn_classes .= ' color_primary action-button'; $btn_atts = ' data-plugin="' . $plugin['slug'] . '" data-action="activate"'; } ob_start(); ?>
icon

Activate the theme to install premium addons', 'us' ), admin_url( 'admin.php?page=us-home#activation' ) ) ?>
>

us_translate( 'An error has occurred. Please reload the page and try again.' ), ) ); } if ( ! isset( $_POST['plugin'] ) OR ! $_POST['plugin'] ) { wp_send_json_error( array( 'message' => us_translate( 'An error has occurred. Please reload the page and try again.' ) ) ); } $result = us_activate_plugin(); if ( is_wp_error( $result ) ) { wp_send_json_error( array( 'message' => $result->get_error_message() ) ); } wp_send_json_success( array( 'plugin' => $_POST['plugin'] ) ); } function us_activate_plugin() { if ( empty( $_POST['plugin'] ) ) { return FALSE; } $plugins = us_config( 'addons', array() ); if ( empty( $plugins ) ) { return FALSE; } $_plugins = array(); foreach ( $plugins as $i => $plugin ) { $_plugins[ $plugin['slug'] ] = $plugin; } $plugins = $_plugins; $slug = urldecode( $_POST['plugin'] ); if ( ! isset( $plugins[ $slug ] ) ) { return FALSE; } $plugin = $plugins[ $slug ]; $plugin_data = get_plugins( '/' . $plugin['slug'] ); // Retrieve all plugins. $plugin_file = array_keys( $plugin_data ); // Retrieve all plugin files from installed plugins. $plugin_to_activate = trailingslashit( $plugin['slug'] ) . $plugin_file[0]; // Match plugin slug with appropriate plugin file. ob_start(); $activate = activate_plugin( $plugin_to_activate ); // Activate the plugin. ob_get_clean(); if ( is_wp_error( $activate ) ) { return $activate; } else { return TRUE; } } function us_ajax_addons_install() { set_time_limit( 300 ); if ( ! check_ajax_referer( 'us-addons-actions', 'security', FALSE ) ) { wp_send_json_error( array( 'message' => us_translate( 'An error has occurred. Please reload the page and try again.' ), ) ); } if ( ! isset( $_POST['plugin'] ) OR ! $_POST['plugin'] ) { wp_send_json_error( array( 'message' => us_translate( 'An error has occurred. Please reload the page and try again.' ) ) ); } $result = us_install_plugin(); if ( is_wp_error( $result ) ) { wp_send_json_error( array( 'message' => $result->get_error_message() ) ); } wp_send_json_success( array( 'plugin' => $_POST['plugin'] ) ); } function us_install_plugin() { if ( empty( $_POST['plugin'] ) ) { return FALSE; } $plugins = us_config( 'addons', array() ); foreach ( $plugins as $i => $plugin ) { if ( ! isset( $plugins[ $i ]['premium'] ) ) { // Define WordPress repository plugin URL based on slug $plugins[ $i ]['source'] = 'https://downloads.wordpress.org/plugin/' . $plugin['slug'] . '.latest-stable.zip'; } elseif ( empty( $plugins[ $i ]['source'] ) ) { unset( $plugins[ $i ] ); } } if ( empty( $plugins ) ) { return FALSE; } $_plugins = array(); foreach ( $plugins as $i => $plugin ) { $_plugins[ $plugin['slug'] ] = $plugin; } $plugins = $_plugins; $slug = urldecode( $_POST['plugin'] ); if ( ! isset( $plugins[ $slug ] ) ) { return FALSE; } $plugin = $plugins[ $slug ]; if ( file_exists( trailingslashit( WP_PLUGIN_DIR ) . $slug ) ) { return us_activate_plugin(); } if ( ! filesystem_permission_check() ) { return new WP_Error( 'us-addons', __( 'Please adjust file permissions to allow plugins installation', 'us' ) ); } $us_template_directory = get_template_directory(); require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; $skin = new WP_Ajax_Upgrader_Skin(); $upgrader = new Plugin_Upgrader( $skin ); $install_result = $upgrader->install( $plugin['source'] ); if ( is_wp_error( $install_result ) ) { return $install_result; } if ( ! $install_result ) { return new WP_Error( 'plugin_error', us_translate( 'An error has occurred. Please reload the page and try again.' ) ); } ob_start(); $activate = activate_plugin( $upgrader->plugin_info() ); ob_get_clean(); if ( is_wp_error( $activate ) ) { return $activate; } return $skin->result; } function filesystem_permission_check() { ob_start(); $creds = request_filesystem_credentials( '', '', FALSE, FALSE, NULL ); ob_get_clean(); // Abort if permissions were not available. if ( ! WP_Filesystem( $creds ) ) { return FALSE; } return TRUE; }