PluginProbe ʕ •ᴥ•ʔ
Code Manager / 1.0.37
Code Manager v1.0.37
1.0.48 1.0.47 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.2 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.3 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.4 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9
code-manager / freemius / includes / entities / class-fs-plugin-plan.php
code-manager / freemius / includes / entities Last commit date
class-fs-affiliate-terms.php 1 year ago class-fs-affiliate.php 1 year ago class-fs-billing.php 1 year ago class-fs-entity.php 1 year ago class-fs-payment.php 1 year ago class-fs-plugin-info.php 1 year ago class-fs-plugin-license.php 1 year ago class-fs-plugin-plan.php 1 year ago class-fs-plugin-tag.php 1 year ago class-fs-plugin.php 1 year ago class-fs-pricing.php 1 year ago class-fs-scope-entity.php 1 year ago class-fs-site.php 1 year ago class-fs-subscription.php 1 year ago class-fs-user.php 1 year ago index.php 1 year ago
class-fs-plugin-plan.php
157 lines
1 <?php
2 /**
3 * @package Freemius
4 * @copyright Copyright (c) 2015, Freemius, Inc.
5 * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
6 * @since 1.0.5
7 */
8
9 if ( ! defined( 'ABSPATH' ) ) {
10 exit;
11 }
12
13 /**
14 * Class FS_Plugin_Plan
15 *
16 * @property FS_Pricing[] $pricing
17 */
18 class FS_Plugin_Plan extends FS_Entity {
19
20 #region Properties
21
22 /**
23 * @var number
24 */
25 public $plugin_id;
26 /**
27 * @var string
28 */
29 public $name;
30 /**
31 * @var string
32 */
33 public $title;
34 /**
35 * @var string
36 */
37 public $description;
38 /**
39 * @var bool Defaults to true. If true, allow unlimited localhost installs with the same license.
40 */
41 public $is_free_localhost;
42 /**
43 * @var bool Defaults to true. If false, don't block features after license expiry - only block updates and
44 * support.
45 */
46 public $is_block_features;
47 /**
48 * @var int
49 */
50 public $license_type;
51 /**
52 * @var bool
53 */
54 public $is_https_support;
55 /**
56 * @var int Trial days.
57 */
58 public $trial_period;
59 /**
60 * @var string If true, require payment for trial.
61 */
62 public $is_require_subscription;
63 /**
64 * @var string Knowledge Base URL.
65 */
66 public $support_kb;
67 /**
68 * @var string Support Forum URL.
69 */
70 public $support_forum;
71 /**
72 * @var string Support email address.
73 */
74 public $support_email;
75 /**
76 * @var string Support phone.
77 */
78 public $support_phone;
79 /**
80 * @var string Support skype username.
81 */
82 public $support_skype;
83 /**
84 * @var bool Is personal success manager supported with the plan.
85 */
86 public $is_success_manager;
87 /**
88 * @var bool Is featured plan.
89 */
90 public $is_featured;
91 /**
92 * @var bool Is hidden plan.
93 */
94 public $is_hidden;
95 /**
96 * @var FS_Pricing[]
97 */
98 public $pricing;
99 /**
100 * @var object[]
101 */
102 public $features;
103
104 #endregion Properties
105
106 /**
107 * @param object|bool $plan
108 */
109 function __construct( $plan = false ) {
110 parent::__construct( $plan );
111
112 if ( is_object( $plan ) ) {
113 $this->name = strtolower( $plan->name );
114 }
115 }
116
117 static function get_type() {
118 return 'plan';
119 }
120
121 /**
122 * @author Vova Feldman (@svovaf)
123 * @since 1.0.9
124 *
125 * @return bool
126 */
127 function is_free() {
128 return ( 'free' === $this->name );
129 }
130
131 /**
132 * Checks if this plan supports "Technical Support".
133 *
134 * @author Leo Fajardo (leorw)
135 * @since 1.2.0
136 *
137 * @return bool
138 */
139 function has_technical_support() {
140 return ( ! empty( $this->support_email ) ||
141 ! empty( $this->support_skype ) ||
142 ! empty( $this->support_phone ) ||
143 ! empty( $this->is_success_manager )
144 );
145 }
146
147 /**
148 * @author Vova Feldman (@svovaf)
149 * @since 1.0.9
150 *
151 * @return bool
152 */
153 function has_trial() {
154 return ! $this->is_free() &&
155 is_numeric( $this->trial_period ) && ( $this->trial_period > 0 );
156 }
157 }