PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents / 1.7.3
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents v1.7.3
4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 trunk 1.0.0 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.5.0 1.6.0 1.6.1 1.6.2 1.6.3 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.2.0 2.2.1 2.2.2 2.3.0 2.3.1 2.3.2 2.3.3 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.1.3 3.2.0 3.2.1 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.14 3.9.15 3.9.16 3.9.17 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9 4.0.0 4.0.1 4.0.10 4.0.11 4.0.12 4.0.13 4.0.14 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.10 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.3.0 4.3.1 4.4.0 4.4.1 4.4.10 4.4.11 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 4.4.8 4.4.9 4.5.0 4.5.1
embedpress / freemius / includes / entities / class-fs-pricing.php
embedpress / freemius / includes / entities Last commit date
class-fs-billing.php 9 years ago class-fs-entity.php 9 years ago class-fs-payment.php 9 years ago class-fs-plugin-info.php 9 years ago class-fs-plugin-license.php 9 years ago class-fs-plugin-plan.php 9 years ago class-fs-plugin-tag.php 9 years ago class-fs-plugin.php 9 years ago class-fs-pricing.php 9 years ago class-fs-scope-entity.php 9 years ago class-fs-site.php 9 years ago class-fs-subscription.php 9 years ago class-fs-user.php 9 years ago index.php 9 years ago
class-fs-pricing.php
141 lines
1 <?php
2 /**
3 * @package Freemius for EDD Add-On
4 * @copyright Copyright (c) 2015, Freemius, Inc.
5 * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
6 * @since 1.0.0
7 */
8
9 if ( ! defined( 'ABSPATH' ) ) {
10 exit;
11 }
12
13 class FS_Pricing extends FS_Entity {
14
15 #region Properties
16
17 /**
18 * @var number
19 */
20 public $plan_id;
21 /**
22 * @var int
23 */
24 public $licenses;
25 /**
26 * @var null|float
27 */
28 public $monthly_price;
29 /**
30 * @var null|float
31 */
32 public $annual_price;
33 /**
34 * @var null|float
35 */
36 public $lifetime_price;
37
38 #endregion Properties
39
40 /**
41 * @param object|bool $pricing
42 */
43 function __construct( $pricing = false ) {
44 parent::__construct( $pricing );
45 }
46
47 static function get_type() {
48 return 'pricing';
49 }
50
51 /**
52 * @author Vova Feldman (@svovaf)
53 * @since 1.1.8
54 *
55 * @return bool
56 */
57 function has_monthly() {
58 return ( is_numeric( $this->monthly_price ) && $this->monthly_price > 0 );
59 }
60
61 /**
62 * @author Vova Feldman (@svovaf)
63 * @since 1.1.8
64 *
65 * @return bool
66 */
67 function has_annual() {
68 return ( is_numeric( $this->annual_price ) && $this->annual_price > 0 );
69 }
70
71 /**
72 * @author Vova Feldman (@svovaf)
73 * @since 1.1.8
74 *
75 * @return bool
76 */
77 function has_lifetime() {
78 return ( is_numeric( $this->lifetime_price ) && $this->lifetime_price > 0 );
79 }
80
81 /**
82 * Check if unlimited licenses pricing.
83 *
84 * @author Vova Feldman (@svovaf)
85 * @since 1.1.8
86 *
87 * @return bool
88 */
89 function is_unlimited() {
90 return is_null( $this->licenses );
91 }
92
93
94 /**
95 * Check if pricing has more than one billing cycle.
96 *
97 * @author Vova Feldman (@svovaf)
98 * @since 1.1.8
99 *
100 * @return bool
101 */
102 function is_multi_cycle() {
103 $cycles = 0;
104 if ( $this->has_monthly() ) {
105 $cycles ++;
106 }
107 if ( $this->has_annual() ) {
108 $cycles ++;
109 }
110 if ( $this->has_lifetime() ) {
111 $cycles ++;
112 }
113
114 return $cycles > 1;
115 }
116
117 /**
118 * Get annual over monthly discount.
119 *
120 * @author Vova Feldman (@svovaf)
121 * @since 1.1.8
122 *
123 * @return int
124 */
125 function annual_discount_percentage() {
126 return floor( $this->annual_savings() / ( $this->monthly_price * 12 * ( $this->is_unlimited() ? 1 : $this->licenses ) ) * 100 );
127 }
128
129 /**
130 * Get annual over monthly savings.
131 *
132 * @author Vova Feldman (@svovaf)
133 * @since 1.1.8
134 *
135 * @return float
136 */
137 function annual_savings() {
138 return ( $this->monthly_price * 12 - $this->annual_price ) * ( $this->is_unlimited() ? 1 : $this->licenses );
139 }
140
141 }