first
This commit is contained in:
@@ -0,0 +1,145 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Freemius
|
||||
* @copyright Copyright (c) 2015, Freemius, Inc.
|
||||
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
|
||||
* @since 1.0.5
|
||||
*/
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Class FS_Plugin_Plan
|
||||
*
|
||||
* @property FS_Pricing[] $pricing
|
||||
*/
|
||||
class FS_Plugin_Plan extends FS_Entity {
|
||||
|
||||
#region Properties
|
||||
|
||||
/**
|
||||
* @var number
|
||||
*/
|
||||
public $plugin_id;
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public $name;
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public $title;
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public $description;
|
||||
/**
|
||||
* @var bool Defaults to true. If true, allow unlimited localhost installs with the same license.
|
||||
*/
|
||||
public $is_free_localhost;
|
||||
/**
|
||||
* @var bool Defaults to true. If false, don't block features after license expiry - only block updates and
|
||||
* support.
|
||||
*/
|
||||
public $is_block_features;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
public $license_type;
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
public $is_https_support;
|
||||
/**
|
||||
* @var int Trial days.
|
||||
*/
|
||||
public $trial_period;
|
||||
/**
|
||||
* @var string If true, require payment for trial.
|
||||
*/
|
||||
public $is_require_subscription;
|
||||
/**
|
||||
* @var string Knowledge Base URL.
|
||||
*/
|
||||
public $support_kb;
|
||||
/**
|
||||
* @var string Support Forum URL.
|
||||
*/
|
||||
public $support_forum;
|
||||
/**
|
||||
* @var string Support email address.
|
||||
*/
|
||||
public $support_email;
|
||||
/**
|
||||
* @var string Support phone.
|
||||
*/
|
||||
public $support_phone;
|
||||
/**
|
||||
* @var string Support skype username.
|
||||
*/
|
||||
public $support_skype;
|
||||
/**
|
||||
* @var bool Is personal success manager supported with the plan.
|
||||
*/
|
||||
public $is_success_manager;
|
||||
/**
|
||||
* @var bool Is featured plan.
|
||||
*/
|
||||
public $is_featured;
|
||||
|
||||
#endregion Properties
|
||||
|
||||
/**
|
||||
* @param object|bool $plan
|
||||
*/
|
||||
function __construct( $plan = false ) {
|
||||
parent::__construct( $plan );
|
||||
|
||||
if ( is_object( $plan ) ) {
|
||||
$this->name = strtolower( $plan->name );
|
||||
}
|
||||
}
|
||||
|
||||
static function get_type() {
|
||||
return 'plan';
|
||||
}
|
||||
|
||||
/**
|
||||
* @author Vova Feldman (@svovaf)
|
||||
* @since 1.0.9
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function is_free() {
|
||||
return ( 'free' === $this->name );
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if this plan supports "Technical Support".
|
||||
*
|
||||
* @author Leo Fajardo (leorw)
|
||||
* @since 1.2.0
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function has_technical_support() {
|
||||
return ( ! empty( $this->support_email ) ||
|
||||
! empty( $this->support_skype ) ||
|
||||
! empty( $this->support_phone ) ||
|
||||
! empty( $this->is_success_manager )
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @author Vova Feldman (@svovaf)
|
||||
* @since 1.0.9
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function has_trial() {
|
||||
return ! $this->is_free() &&
|
||||
is_numeric( $this->trial_period ) && ( $this->trial_period > 0 );
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user