: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
* @copyright Copyright (c) 2015, Freemius, Inc.
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
if ( ! defined( 'ABSPATH' ) ) {
private static $_instance;
* @return FS_Plan_Manager
static function instance() {
if ( ! isset( self::$_instance ) ) {
self::$_instance = new FS_Plan_Manager();
private function __construct() {
* @param FS_Plugin_License[] $licenses
function has_premium_license( $licenses ) {
if ( is_array( $licenses ) ) {
* @var FS_Plugin_License[] $licenses
foreach ( $licenses as $license ) {
if ( ! $license->is_utilized() && $license->is_features_enabled() ) {
* Check if plugin has any paid plans.
* @author Vova Feldman (@svovaf)
* @param FS_Plugin_Plan[] $plans
function has_paid_plan( $plans ) {
if ( ! is_array( $plans ) || 0 === count( $plans ) ) {
* @var FS_Plugin_Plan[] $plans
for ( $i = 0, $len = count( $plans ); $i < $len; $i ++ ) {
if ( ! $plans[ $i ]->is_free() ) {
* Check if plugin has any free plan, or is it premium only.
* Note: If no plans configured, assume plugin is free.
* @author Vova Feldman (@svovaf)
* @param FS_Plugin_Plan[] $plans
function has_free_plan( $plans ) {
if ( ! is_array( $plans ) || 0 === count( $plans ) ) {
* @var FS_Plugin_Plan[] $plans
for ( $i = 0, $len = count( $plans ); $i < $len; $i ++ ) {
if ( $plans[ $i ]->is_free() ) {
* Find all plans that have trial.
* @author Vova Feldman (@svovaf)
* @param FS_Plugin_Plan[] $plans
* @return FS_Plugin_Plan[]
function get_trial_plans( $plans ) {
if ( is_array( $plans ) && 0 < count( $plans ) ) {
* @var FS_Plugin_Plan[] $plans
for ( $i = 0, $len = count( $plans ); $i < $len; $i ++ ) {
if ( $plans[ $i ]->has_trial() ) {
$trial_plans[] = $plans[ $i ];
* Check if plugin has any trial plan.
* @author Vova Feldman (@svovaf)
* @param FS_Plugin_Plan[] $plans
function has_trial_plan( $plans ) {
if ( ! is_array( $plans ) || 0 === count( $plans ) ) {
* @var FS_Plugin_Plan[] $plans
for ( $i = 0, $len = count( $plans ); $i < $len; $i ++ ) {
if ( $plans[ $i ]->has_trial() ) {