get_filters_form(array( 'all' => esc_html__( 'All', 'xstore' ), 'active' => esc_html__( 'Active', 'xstore' ), 'disabled' => esc_html__( 'Inactive', 'xstore' ), 'premium' => esc_html__( 'Premium', 'xstore' ), 'xstore' => esc_html__( 'XStore', 'xstore' ), 'free' => esc_html__( 'Free', 'xstore' ), ), array('type' => 'plugin-filter')); $global_admin_class->get_search_form('plugin', esc_html__( 'Search for plugins', 'xstore' )); ?>
requirements; $system_status = $system->get_system(true); $instance = call_user_func( array( get_class( $GLOBALS['tgmpa'] ), 'get_instance' ) ); $installed = get_plugins(); if ( !count($instance->plugins) ) { echo '

' . esc_html__('We are unable to connect to the 8Theme API to retrieve the list of plugins.', 'xstore') . '

'; echo '
'; return; } $filesystem = !($system_status['filesystem'] != $system_requirements['filesystem']); foreach ( $instance->plugins as $slug => $plugin ) : if ( ( $_plugin && !in_array($slug, $_plugin) ) || ( isset($plugin['ignore']) && $plugin['ignore'] ) ){ continue; } $new_is_plugin_active = ( ( ! empty( $instance->plugins[ $slug ]['is_callable'] ) && is_callable( $instance->plugins[ $slug ]['is_callable'] ) ) || in_array( $instance->plugins[ $slug ]['file_path'], (array) get_option( 'active_plugins', array() ) ) || is_plugin_active_for_network( $instance->plugins[ $slug ]['file_path'] ) ); $plugin_classes = array(); $plugin_classes[] = 'xstore-panel-grid-item'; $plugin_classes[] = ( $new_is_plugin_active ) ? 'xstore-panel-grid-item-active' : ''; if ( isset($plugin['latest_version']) ){ $plugin['version'] = $plugin['latest_version']; } if ( isset( $installed[ $plugin['file_path'] ] ) ){ $plugin['version'] = $installed[ $plugin['file_path'] ]['Version']; } $filters = array(); $filters[] = 'all'; $filters[] = $new_is_plugin_active ? 'active' : 'disabled'; if ( isset($plugin['etheme_filters']) ){ $filters = array_merge($filters, $plugin['etheme_filters'] ); } else { // @todo remove it in May if (isset( $plugin['premium'] ) && $plugin['premium']){ $filters[] = 'premium'; } else { $filters[] = 'free'; } if (str_contains($plugin['name'], 'XStore')){ $filters[] = 'xstore'; } } // lock premium plugins from display if theme not activate and plugins are not ours (XStore developed) $register_theme_redirect = false; if ( $allow_full_access && !$theme_active && ( isset( $plugin['premium'] ) && $plugin['premium'] ) && !in_array($slug, array('et-core-plugin')) ) { $register_theme_redirect = true; } ?>
data-redirect="" >
plugins[ $plugin['slug'] ]['is_callable'] ) && is_callable( $instance->plugins[ $plugin['slug'] ]['is_callable'] ) ) || in_array( $instance->plugins[ $plugin['slug'] ]['file_path'], (array) get_option( 'active_plugins', array() ) ) || is_plugin_active_for_network( $instance->plugins[ $plugin['slug'] ]['file_path'] ) ); $is_update_available = false; if ( $new_is_plugin_active && $instance->is_plugin_installed( $plugin['slug'] ) && (false !== $instance->does_plugin_have_update( $plugin['slug'] ) || ( isset($plugin['premium']) && $plugin['premium'] && version_compare( $plugin['latest_version'] , $plugin['version'], '>' ) ) ) ) { $is_update_available = true; } $update_text = ''; if ($is_update_available){ $update_text = '' . esc_html__( 'New update available', 'xstore' ) . ''; } if ( ! $plugin['version'] ) { echo '' . esc_html__( 'Can not get plugin version', 'xstore' ) . ''; } else { printf( 'v.%s %s ', $plugin['version'], $update_text, $instance->does_plugin_have_update( $plugin['slug'] ) ); } ?>
is_plugin_installed( $plugin['slug'] ) ) ? '' : 'hidden'; ?> is_plugin_installed( $plugin['slug'] ) && ! $new_is_plugin_active ) ? '' : 'hidden'; $btn_text = __( 'Activate', 'xstore' ); if ( $instance->does_plugin_require_update( $plugin['slug'] ) ) { $btn_text = __( 'Update & Activate', 'xstore' ); } ?>
get_search_no_found(); ?> get_additional_panel_blocks('plugins'); ?>