t_features_by_tier() {
return array(
array(
'name' => __( 'Scan for threats and vulnerabilities', 'jetpack-my-jetpack' ),
'tiers' => array(
self::FREE_TIER_SLUG => array(
'included' => true,
'description' => __( 'Check items against database', 'jetpack-my-jetpack' ),
),
self::UPGRADED_TIER_SLUG => array(
'included' => true,
'description' => __( 'Line by line malware scanning', 'jetpack-my-jetpack' ),
),
),
),
array(
'name' => __( 'Daily automated scans', 'jetpack-my-jetpack' ),
'tiers' => array(
self::FREE_TIER_SLUG => array( 'included' => true ),
self::UPGRADED_TIER_SLUG => array(
'included' => true,
'description' => __( 'Plus on-demand manual scans', 'jetpack-my-jetpack' ),
),
),
),
array(
'name' => __( 'Web Application Firewall', 'jetpack-my-jetpack' ),
'tiers' => array(
self::FREE_TIER_SLUG => array(
'included' => false,
'description' => __( 'Manual rules only', 'jetpack-my-jetpack' ),
),
self::UPGRADED_TIER_SLUG => array(
'included' => true,
'description' => __( 'Automatic protection and rule updates', 'jetpack-my-jetpack' ),
),
),
),
array(
'name' => __( 'Brute force protection', 'jetpack-my-jetpack' ),
'tiers' => array(
self::FREE_TIER_SLUG => array( 'included' => true ),
self::UPGRADED_TIER_SLUG => array( 'included' => true ),
),
),
array(
'name' => __( 'Access to scan on Cloud', 'jetpack-my-jetpack' ),
'tiers' => array(
self::FREE_TIER_SLUG => array( 'included' => false ),
self::UPGRADED_TIER_SLUG => array( 'included' => true ),
),
),
array(
'name' => __( 'One-click auto fixes', 'jetpack-my-jetpack' ),
'tiers' => array(
self::FREE_TIER_SLUG => array( 'included' => false ),
self::UPGRADED_TIER_SLUG => array( 'included' => true ),
),
),
array(
'name' => __( 'Notifications', 'jetpack-my-jetpack' ),
'tiers' => array(
self::FREE_TIER_SLUG => array( 'included' => false ),
self::UPGRADED_TIER_SLUG => array( 'included' => true ),
),
),
array(
'name' => __( 'Severity labels', 'jetpack-my-jetpack' ),
'tiers' => array(
self::FREE_TIER_SLUG => array( 'included' => false ),
self::UPGRADED_TIER_SLUG => array( 'included' => true ),
),
),
);
}
/**
* Get the product pricing details
*
* @return array Pricing details
*/
public static function get_pricing_for_ui() {
return array(
'tiers' => array(
self::FREE_TIER_SLUG => array(
'available' => true,
'is_free' => true,
),
self::UPGRADED_TIER_SLUG => array_merge(
array(
'available' => true,
'wpcom_product_slug' => self::UPGRADED_TIER_PRODUCT_SLUG,
),
Wpcom_Products::get_product_pricing( self::UPGRADED_TIER_PRODUCT_SLUG )
),
),
);
}
/**
* Determines whether the module/plugin/product needs the users attention.
* Typically due to some sort of error where user troubleshooting is needed.
*
* @return boolean|array
*/
public static function does_module_need_attention() {
$protect_threat_status = false;
// Check if there are scan threats.
$protect_data = self::get_protect_data();
if ( is_wp_error( $protect_data ) ) {
return $protect_threat_status; // false
}
$critical_threat_count = false;
if ( ! empty( $protect_data->threats ) ) {
$critical_threat_count = array_reduce(
$protect_data->threats,
function ( $accum, $threat ) {
return $threat->severity >= 5 ? ++$accum : $accum;
},
0
);
$protect_threat_status = array(
'type' => $critical_threat_count ? 'error' : 'warning',
'data' => array(
'threat_count' => count( $protect_data->threats ),
'critical_threat_count' => $critical_threat_count,
'fixable_threat_ids' => $protect_data->fixable_threat_ids,
),
);
}
return $protect_threat_status;
}
/**
* Get the product-slugs of the paid plans for this product.
* (Do not include bundle plans, unless it's a bundle plan itself).
*
* @return array
*/
public static function get_paid_plan_product_slugs() {
return array(
'jetpack_scan',
'jetpack_scan_monthly',
'jetpack_scan_bi_yearly',
);
}
/**
* Checks whether the product can be upgraded - i.e. this shows the /#add-protect interstitial
*
* @return boolean
*/
public static function is_upgradable() {
return ! self::has_paid_plan_for_product();
}
/**
* Get the URL the user is taken after purchasing the product through the checkout
*
* @return ?string
*/
public static function get_post_checkout_url() {
return self::get_manage_url();
}
/**
* Get the URL the user is taken after purchasing the product through the checkout for each product feature
*
* @return ?array
*/
public static function get_post_checkout_urls_by_feature() {
return array(
self::SCAN_FEATURE_SLUG => self::get_post_checkout_url(),
self::FIREWALL_FEATURE_SLUG => admin_url( 'admin.php?page=jetpack-protect#/firewall' ),
);
}
/**
* Get the URL where the user manages the product
*
* @return ?string
*/
public static function get_manage_url() {
// check standalone first
if ( static::is_standalone_plugin_active() ) {
return admin_url( 'admin.php?page=jetpack-protect' );
// otherwise, check for the main Jetpack plugin
} elseif ( static::is_jetpack_plugin_active() ) {
return Redirect::get_url( 'my-jetpack-manage-scan' );
}
}
/**
* Get the URL where the user manages the product for each product feature
*
* @return ?array
*/
public static function get_manage_urls_by_feature() {
return array(
self::SCAN_FEATURE_SLUG => self::get_manage_url(),
self::FIREWALL_FEATURE_SLUG => admin_url( 'admin.php?page=jetpack-protect#/firewall' ),
);
}
/**
* Return product bundles list
* that supports the product.
*
* @return array Products bundle list.
*/
public static function is_upgradable_by_bundle() {
return array( 'security', 'complete' );
}
}
Fatal error: Uncaught Error: Class 'Automattic\Jetpack\My_Jetpack\Products\Protect' not found in /var/www/html/dportilho.com.br/web/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-my-jetpack/src/class-products.php:421
Stack trace:
#0 /var/www/html/dportilho.com.br/web/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-my-jetpack/src/class-initializer.php(87): Automattic\Jetpack\My_Jetpack\Products::extend_plugins_action_links()
#1 /var/www/html/dportilho.com.br/web/wp-content/plugins/jetpack/class.jetpack.php(860): Automattic\Jetpack\My_Jetpack\Initializer::init()
#2 /var/www/html/dportilho.com.br/web/wp-includes/class-wp-hook.php(324): Jetpack->late_initialization('')
#3 /var/www/html/dportilho.com.br/web/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array)
#4 /var/www/html/dportilho.com.br/web/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#5 /var/www/html/dportilho.com.br/web/wp-settings.php(559): do_action('plugins_loaded')
#6 /var/www/html/dportilho.com.br/web/wp-conf in /var/www/html/dportilho.com.br/web/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-my-jetpack/src/class-products.php on line 421