1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
<?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.3 */
if ( ! defined( 'ABSPATH' ) ) { exit; }
class FS_Plugin extends FS_Scope_Entity { /** * @since 1.0.6 * @var null|number */ public $parent_plugin_id; /** * @var string */ public $title; /** * @var string */ public $slug; /** * @author Leo Fajardo (@leorw) * @since 2.2.1 * * @var string */ public $premium_slug; /** * @since 1.2.2 * * @var string 'plugin' or 'theme' */ public $type; /** * @author Leo Fajardo (@leorw) * * @since 1.2.3 * * @var string|false false if the module doesn't have an affiliate program or one of the following: 'selected', 'customers', or 'all'. */ public $affiliate_moderation; /** * @var bool Set to true if the free version of the module is hosted on WordPress.org. Defaults to true. */ public $is_wp_org_compliant = true; /** * @author Leo Fajardo (@leorw) * @since 2.2.5 * * @var int */ public $premium_releases_count;
#region Install Specific Properties
/** * @var string */ public $file; /** * @var string */ public $version; /** * @var bool */ public $auto_update; /** * @var FS_Plugin_Info */ public $info; /** * @since 1.0.9 * * @var bool */ public $is_premium; /** * @author Leo Fajardo (@leorw) * @since 2.2.1 * * @var string */ public $premium_suffix; /** * @since 1.0.9 * * @var bool */ public $is_live; /** * @since 2.2.3 * @var null|number */ public $bundle_id;
const AFFILIATE_MODERATION_CUSTOMERS = 'customers';
#endregion Install Specific Properties
/** * @param stdClass|bool $plugin */ function __construct( $plugin = false ) { parent::__construct( $plugin );
$this->is_premium = false; $this->is_live = true;
if ( empty( $this->premium_slug ) && ! empty( $plugin->slug ) ) { $this->premium_slug = "{$this->slug}-premium"; }
if ( empty( $this->premium_suffix ) ) { $this->premium_suffix = '(Premium)'; }
if ( isset( $plugin->info ) && is_object( $plugin->info ) ) { $this->info = new FS_Plugin_Info( $plugin->info ); } }
/** * Check if plugin is an add-on (has parent). * * @author Vova Feldman (@svovaf) * @since 1.0.6 * * @return bool */ function is_addon() { return isset( $this->parent_plugin_id ) && is_numeric( $this->parent_plugin_id ); }
/** * @author Leo Fajardo (@leorw) * @since 1.2.3 * * @return bool */ function has_affiliate_program() { return ( ! empty( $this->affiliate_moderation ) ); }
static function get_type() { return 'plugin'; } }
|