PluginProbe
Content Blocks Builder – Create blocks, repeater blocks with carousel, grid, popup layouts / 2.8.4
Content Blocks Builder – Create blocks, repeater blocks with carousel, grid, popup layouts v2.8.4
2.8.14 2.8.13 2.8.12 2.7.5 2.7.6 2.7.7 2.7.8 2.7.9 2.8.0 2.8.1 2.8.10 2.8.11 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 trunk 1.0.1 1.0.2 1.1.0 1.1.1 All 147 releases
content-blocks-builder / vendor / freemius / includes / entities / class-fs-plugin-plan.php

class-fs-plugin-plan.php in Content Blocks Builder – Create blocks, repeater blocks with carousel, grid, popup layouts 2.8.4, at vendor/freemius/includes/entities/class-fs-plugin-plan.php

151 lines 2.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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 bool Is personal success manager supported with the plan.
80 */
81 public $is_success_manager;
82 /**
83 * @var bool Is featured plan.
84 */
85 public $is_featured;
86 /**
87 * @var bool Is hidden plan.
88 */
89 public $is_hidden;
90 /**
91 * @var FS_Pricing[]
92 */
93 public $pricing;
94 /**
95 * @var object[]
96 */
97 public $features;
98
99 #endregion Properties
100
101 /**
102 * @param object|bool $plan
103 */
104 function __construct( $plan = false ) {
105 parent::__construct( $plan );
106
107 if ( is_object( $plan ) ) {
108 $this->name = strtolower( $plan->name );
109 }
110 }
111
112 static function get_type() {
113 return 'plan';
114 }
115
116 /**
117 * @author Vova Feldman (@svovaf)
118 * @since 1.0.9
119 *
120 * @return bool
121 */
122 function is_free() {
123 return ( 'free' === $this->name );
124 }
125
126 /**
127 * Checks if this plan supports "Technical Support".
128 *
129 * @author Leo Fajardo (leorw)
130 * @since 1.2.0
131 *
132 * @return bool
133 */
134 function has_technical_support() {
135 return ( ! empty( $this->support_email ) ||
136 ! empty( $this->support_phone ) ||
137 ! empty( $this->is_success_manager )
138 );
139 }
140
141 /**
142 * @author Vova Feldman (@svovaf)
143 * @since 1.0.9
144 *
145 * @return bool
146 */
147 function has_trial() {
148 return ! $this->is_free() &&
149 is_numeric( $this->trial_period ) && ( $this->trial_period > 0 );
150 }
151 }