PluginProbe ʕ •ᴥ•ʔ
Photo Gallery by FooGallery : Responsive Image Gallery, Masonry Gallery & Carousel / trunk
Photo Gallery by FooGallery : Responsive Image Gallery, Masonry Gallery & Carousel vtrunk
trunk 1.10.3 2.0.24 2.1.34 2.2.44 2.3.3 2.4.32 3.0.6 3.1.11 3.1.12 3.1.13 3.1.20 3.1.25 3.1.26 3.1.26.1 3.1.26.2
foogallery / freemius / includes / entities / class-fs-plugin-plan.php
foogallery / freemius / includes / entities Last commit date
class-fs-affiliate-terms.php 3 years ago class-fs-affiliate.php 3 years ago class-fs-billing.php 3 years ago class-fs-entity.php 3 years ago class-fs-payment.php 7 months ago class-fs-plugin-info.php 3 years ago class-fs-plugin-license.php 7 months ago class-fs-plugin-plan.php 7 months ago class-fs-plugin-tag.php 7 months ago class-fs-plugin.php 3 years ago class-fs-pricing.php 3 years ago class-fs-scope-entity.php 3 years ago class-fs-site.php 7 months ago class-fs-subscription.php 3 years ago class-fs-user.php 7 months ago index.php 3 years 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 */
17 class FS_Plugin_Plan extends FS_Entity {
18
19 #region Properties
20
21 /**
22 * @var number
23 */
24 public $plugin_id;
25 /**
26 * @var string
27 */
28 public $name;
29 /**
30 * @var string
31 */
32 public $title;
33 /**
34 * @var string
35 */
36 public $description;
37 /**
38 * @var bool Defaults to true. If true, allow unlimited localhost installs with the same license.
39 */
40 public $is_free_localhost;
41 /**
42 * @var bool Defaults to true. If false, don't block features after license expiry - only block updates and
43 * support.
44 */
45 public $is_block_features;
46 /**
47 * @var int
48 */
49 public $license_type;
50 /**
51 * @var bool
52 */
53 public $is_https_support;
54 /**
55 * @var int Trial days.
56 */
57 public $trial_period;
58 /**
59 * @var string If true, require payment for trial.
60 */
61 public $is_require_subscription;
62 /**
63 * @var string Knowledge Base URL.
64 */
65 public $support_kb;
66 /**
67 * @var string Support Forum URL.
68 */
69 public $support_forum;
70 /**
71 * @var string Support email address.
72 */
73 public $support_email;
74 /**
75 * @var string Support phone.
76 */
77 public $support_phone;
78 /**
79 * @var string Support skype username.
80 *
81 * @deprecated 2.12.1
82 */
83 public $support_skype = '';
84 /**
85 * @var bool Is personal success manager supported with the plan.
86 */
87 public $is_success_manager;
88 /**
89 * @var bool Is featured plan.
90 */
91 public $is_featured;
92 /**
93 * @var bool Is hidden plan.
94 */
95 public $is_hidden;
96 /**
97 * @var FS_Pricing[]
98 */
99 public $pricing;
100 /**
101 * @var object[]
102 */
103 public $features;
104
105 #endregion Properties
106
107 /**
108 * @param object|bool $plan
109 */
110 function __construct( $plan = false ) {
111 parent::__construct( $plan );
112
113 if ( is_object( $plan ) ) {
114 $this->name = strtolower( $plan->name );
115 }
116 }
117
118 static function get_type() {
119 return 'plan';
120 }
121
122 /**
123 * @author Vova Feldman (@svovaf)
124 * @since 1.0.9
125 *
126 * @return bool
127 */
128 function is_free() {
129 return ( 'free' === $this->name );
130 }
131
132 /**
133 * Checks if this plan supports "Technical Support".
134 *
135 * @author Leo Fajardo (leorw)
136 * @since 1.2.0
137 *
138 * @return bool
139 */
140 function has_technical_support() {
141 return ( ! empty( $this->support_email ) ||
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 }