<?php
/**
* WC Admin Onboarding Traits
*
* WC Admin Onboarding Traits class that houses shared functionality useful for checking status of onboarding.
*/
namespace Automattic\WooCommerce\Admin\Notes;
defined( 'ABSPATH' ) || exit;
/**
* OnboardingTraits class, encapsulates onboarding checks and functionality
* that are useful to determining whether to display notes or not.
*/
trait OnboardingTraits {
/**
* Get access to the onboarding profile option.
*/
private static function get_onboarding_profile() {
return get_option( 'woocommerce_onboarding_profile', array() );
}
/**
* Check if user has started the onboarding profile wizard.
*
* @return bool Whether or not the onboarding profile has been started.
*/
public static function onboarding_profile_started() {
$onboarding_profile = self::get_onboarding_profile();
return ! empty( $onboarding_profile );
}
/**
* Check if onboarding profile revenue is between 2 amounts
*
* @param int $min_dollars Minimum amount the range must fall within (inclusive).
* @param int $max_dollars Maximum amount the range must fall within (inclusive).
* @return bool Whether the revenue falls within the min and max (inclusive).
*/
public static function revenue_is_within( $min_dollars, $max_dollars ) {
$onboarding_profile = self::get_onboarding_profile();
if ( empty( $onboarding_profile ) || ! isset( $onboarding_profile['revenue'] ) ) {
return false;
}
return $onboarding_profile['revenue'] >= $min_dollars && $onboarding_profile['revenue'] <= $max_dollars;
}
/**
* Check if the store was marked as being setup for a client in onboarding. (Returns false if onboarding
* was not completed).
*
* @return bool Whether or not the store is being setup for a client.
*/
public static function store_setup_for_client() {
$onboarding_profile = self::get_onboarding_profile();
return ! empty( $onboarding_profile ) && isset( $onboarding_profile['setup_client'] ) && $onboarding_profile['setup_client'];
}
}