PluginProbe ʕ •ᴥ•ʔ
Royal Addons for Elementor – Addons and Templates Kit for Elementor / 1.7.1064
Royal Addons for Elementor – Addons and Templates Kit for Elementor v1.7.1064
1.7.1064 1.7.1063 1.7.1062 1.7.1061 1.7.1060 1.7.1059 1.7.1058 trunk 1.0.0 1.1.0 1.2 1.3 1.3.1 1.3.2 1.3.21 1.3.22 1.3.23 1.3.24 1.3.25 1.3.26 1.3.27 1.3.28 1.3.29 1.3.30 1.3.31 1.3.32 1.3.33 1.3.34 1.3.35 1.3.36 1.3.37 1.3.38 1.3.39 1.3.40 1.3.41 1.3.42 1.3.43 1.3.44 1.3.45 1.3.46 1.3.47 1.3.48 1.3.49 1.3.50 1.3.51 1.3.52 1.3.53 1.3.54 1.3.55 1.3.56 1.3.57 1.3.58 1.3.59 1.3.60 1.3.61 1.3.62 1.3.63 1.3.64 1.3.65 1.3.66 1.3.67 1.3.68 1.3.69 1.3.70 1.3.71 1.3.72 1.3.73 1.3.74 1.3.75 1.3.76 1.3.77 1.3.78 1.3.79 1.3.80 1.3.81 1.3.82 1.3.83 1.3.84 1.3.85 1.3.86 1.3.87 1.3.88 1.3.89 1.3.90 1.3.91 1.3.92 1.3.93 1.3.94 1.3.95 1.3.96 1.3.97 1.3.971 1.3.972 1.3.973 1.3.974 1.3.975 1.3.976 1.3.977 1.3.978 1.3.979 1.3.980 1.3.981 1.3.982 1.3.983 1.3.984 1.3.985 1.3.986 1.3.987 1.7.1 1.7.1001 1.7.1002 1.7.1003 1.7.1004 1.7.1005 1.7.1006 1.7.1007 1.7.1008 1.7.1009 1.7.1010 1.7.1011 1.7.1012 1.7.1013 1.7.1014 1.7.1015 1.7.1016 1.7.1017 1.7.1018 1.7.1019 1.7.1020 1.7.1021 1.7.1022 1.7.1023 1.7.1024 1.7.1025 1.7.1026 1.7.1027 1.7.1028 1.7.1029 1.7.1030 1.7.1031 1.7.1032 1.7.1033 1.7.1034 1.7.1035 1.7.1036 1.7.1037 1.7.1038 1.7.1039 1.7.1040 1.7.1041 1.7.1042 1.7.1043 1.7.1044 1.7.1045 1.7.1046 1.7.1047 1.7.1048 1.7.1049 1.7.1050 1.7.1051 1.7.1052 1.7.1053 1.7.1054 1.7.1055 1.7.1056 1.7.1057
royal-elementor-addons / freemius / includes / managers / class-fs-plan-manager.php
royal-elementor-addons / freemius / includes / managers Last commit date
class-fs-admin-menu-manager.php 5 days ago class-fs-admin-notice-manager.php 5 days ago class-fs-cache-manager.php 5 days ago class-fs-checkout-manager.php 5 days ago class-fs-clone-manager.php 5 days ago class-fs-contact-form-manager.php 5 days ago class-fs-debug-manager.php 5 days ago class-fs-gdpr-manager.php 5 days ago class-fs-key-value-storage.php 5 days ago class-fs-license-manager.php 5 days ago class-fs-option-manager.php 5 days ago class-fs-permission-manager.php 5 days ago class-fs-plan-manager.php 5 days ago class-fs-plugin-manager.php 5 days ago index.php 5 days ago
class-fs-plan-manager.php
193 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.6
7 */
8
9 if ( ! defined( 'ABSPATH' ) ) {
10 exit;
11 }
12
13 class FS_Plan_Manager {
14 /**
15 * @var FS_Plan_Manager
16 */
17 private static $_instance;
18
19 /**
20 * @return FS_Plan_Manager
21 */
22 static function instance() {
23 if ( ! isset( self::$_instance ) ) {
24 self::$_instance = new FS_Plan_Manager();
25 }
26
27 return self::$_instance;
28 }
29
30 private function __construct() {
31 }
32
33 /**
34 * @param FS_Plugin_License[] $licenses
35 *
36 * @return bool
37 */
38 function has_premium_license( $licenses ) {
39 if ( is_array( $licenses ) ) {
40 /**
41 * @var FS_Plugin_License[] $licenses
42 */
43 foreach ( $licenses as $license ) {
44 if ( ! $license->is_utilized() && $license->is_features_enabled() ) {
45 return true;
46 }
47 }
48 }
49
50 return false;
51 }
52
53 /**
54 * Check if plugin has any paid plans.
55 *
56 * @author Vova Feldman (@svovaf)
57 * @since 1.0.7
58 *
59 * @param FS_Plugin_Plan[] $plans
60 *
61 * @return bool
62 */
63 function has_paid_plan( $plans ) {
64 if ( ! is_array( $plans ) || 0 === count( $plans ) ) {
65 return false;
66 }
67
68 /**
69 * @var FS_Plugin_Plan[] $plans
70 */
71 for ( $i = 0, $len = count( $plans ); $i < $len; $i ++ ) {
72 if ( ! $plans[ $i ]->is_free() ) {
73 return true;
74 }
75 }
76
77 return false;
78 }
79
80 /**
81 * Check if plugin has any free plan, or is it premium only.
82 *
83 * Note: If no plans configured, assume plugin is free.
84 *
85 * @author Vova Feldman (@svovaf)
86 * @since 1.0.7
87 *
88 * @param FS_Plugin_Plan[] $plans
89 *
90 * @return bool
91 */
92 function has_free_plan( $plans ) {
93 if ( ! is_array( $plans ) || 0 === count( $plans ) ) {
94 return true;
95 }
96
97 /**
98 * @var FS_Plugin_Plan[] $plans
99 */
100 for ( $i = 0, $len = count( $plans ); $i < $len; $i ++ ) {
101 if ( $plans[ $i ]->is_free() ) {
102 return true;
103 }
104 }
105
106 return false;
107 }
108
109 /**
110 * Find all plans that have trial.
111 * Since 2.6.2 call get_filtered_plan
112 *
113 * @author Vova Feldman (@svovaf)
114 * @since 1.0.9
115 *
116 * @param FS_Plugin_Plan[] $plans
117 *
118 * @return FS_Plugin_Plan[]
119 */
120 function get_trial_plans( $plans ) {
121 return $this->get_filtered_plans( $plans, true );
122 }
123
124 /**
125 * Find all plans that are not hidden and have trial.
126 *
127 * @author Daniele Alessandra (@danielealessandra)
128 *
129 * @param FS_Plugin_Plan[] $plans
130 *
131 * @return FS_Plugin_Plan[]
132 * @since 2.6.3
133 *
134 */
135 function get_visible_trial_plans( $plans ) {
136 return $this->get_filtered_plans( $plans, true, true );
137 }
138
139 /**
140 * Find all plans filtered by trial or visibility.
141 *
142 * @author Daniele Alessandra (@danielealessandra)
143 *
144 * @param FS_Plugin_Plan[] $plans
145 * @param boolean $should_have_trials
146 * @param boolean $should_be_visible
147 *
148 * @return FS_Plugin_Plan[]
149 * @since 2.6.3
150 *
151 */
152 function get_filtered_plans( $plans, $should_have_trials = false, $should_be_visible = false ) {
153 $filtered_plans = array();
154
155 if ( is_array( $plans ) && count( $plans ) > 0 ) {
156 foreach ( $plans as $plan ) {
157 if ( ( $should_have_trials && ! $plan->has_trial() ) || ( $should_be_visible && $plan->is_hidden ) ) {
158 continue;
159 }
160 $filtered_plans[] = $plan;
161 }
162 }
163
164 return $filtered_plans;
165 }
166
167 /**
168 * Check if plugin has any trial plan.
169 *
170 * @author Vova Feldman (@svovaf)
171 * @since 1.0.9
172 *
173 * @param FS_Plugin_Plan[] $plans
174 *
175 * @return bool
176 */
177 function has_trial_plan( $plans ) {
178 if ( ! is_array( $plans ) || 0 === count( $plans ) ) {
179 return true;
180 }
181
182 /**
183 * @var FS_Plugin_Plan[] $plans
184 */
185 for ( $i = 0, $len = count( $plans ); $i < $len; $i ++ ) {
186 if ( $plans[ $i ]->has_trial() ) {
187 return true;
188 }
189 }
190
191 return false;
192 }
193 }