PluginProbe
Passster – Password Protect Pages and Content / 4.3.17
Passster – Password Protect Pages and Content v4.3.17
4.3.17 4.3.16 4.3.15 4.3.14 4.3.12 4.3.13 4.3.11 4.3.10 4.3.9 4.3.8 4.3.7 4.3.6 4.3.5 trunk 3.5.4 3.5.5.2 3.5.5.8 3.5.5.9 4.0 4.1.4 4.2.10 4.2.11 4.2.12 4.2.13 4.2.14 All 49 releases
← All changes | inc/freemius/includes/entities/class-fs-payment.php +227 -169 4.3.8 → 4.3.17 View file →
@@ -1,169 +1,227 @@
1 -<?php
2 - /**
3 - * @package Freemius
4 - * @copyright Copyright (c) 2016, Freemius, Inc.
5 - * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
6 - * @since 1.0.0
7 - */
8 -
9 - if ( ! defined( 'ABSPATH' ) ) {
10 - exit;
11 - }
12 -
13 - class FS_Payment extends FS_Entity {
14 -
15 - #region Properties
16 -
17 - /**
18 - * @var number
19 - */
20 - public $plugin_id;
21 - /**
22 - * @var number
23 - */
24 - public $user_id;
25 - /**
26 - * @var number
27 - */
28 - public $install_id;
29 - /**
30 - * @var number
31 - */
32 - public $subscription_id;
33 - /**
34 - * @var number
35 - */
36 - public $plan_id;
37 - /**
38 - * @var number
39 - */
40 - public $license_id;
41 - /**
42 - * @var float
43 - */
44 - public $gross;
45 - /**
46 - * @author Leo Fajardo (@leorw)
47 - * @since 2.3.0
48 - *
49 - * @var string One of the following: `usd`, `gbp`, `eur`.
50 - */
51 - public $currency;
52 - /**
53 - * @var number
54 - */
55 - public $bound_payment_id;
56 - /**
57 - * @var string
58 - */
59 - public $external_id;
60 - /**
61 - * @var string
62 - */
63 - public $gateway;
64 - /**
65 - * @var string ISO 3166-1 alpha-2 - two-letter country code.
66 - *
67 - * @link http://www.wikiwand.com/en/ISO_3166-1_alpha-2
68 - */
69 - public $country_code;
70 - /**
71 - * @var string
72 - */
73 - public $vat_id;
74 - /**
75 - * @var float Actual Tax / VAT in $$$
76 - */
77 - public $vat;
78 - /**
79 - * @var int Payment source.
80 - */
81 - public $source = 0;
82 -
83 - #endregion Properties
84 -
85 - const CURRENCY_USD = 'usd';
86 - const CURRENCY_GBP = 'gbp';
87 - const CURRENCY_EUR = 'eur';
88 -
89 - /**
90 - * @param object|bool $payment
91 - */
92 - function __construct( $payment = false ) {
93 - parent::__construct( $payment );
94 - }
95 -
96 - static function get_type() {
97 - return 'payment';
98 - }
99 -
100 - /**
101 - * @author Vova Feldman (@svovaf)
102 - * @since 1.0.0
103 - *
104 - * @return bool
105 - */
106 - function is_refund() {
107 - return ( parent::is_valid_id( $this->bound_payment_id ) && 0 > $this->gross );
108 - }
109 -
110 - /**
111 - * Checks if the payment was migrated from another platform.
112 - *
113 - * @author Vova Feldman (@svovaf)
114 - * @since 2.0.2
115 - *
116 - * @return bool
117 - */
118 - function is_migrated() {
119 - return ( 0 != $this->source );
120 - }
121 -
122 - /**
123 - * Returns the gross in this format:
124 - * `{symbol}{amount | 2 decimal digits} {currency | uppercase}`
125 - *
126 - * Examples: £9.99 GBP, -£9.99 GBP.
127 - *
128 - * @author Leo Fajardo (@leorw)
129 - * @since 2.3.0
130 - *
131 - * @return string
132 - */
133 - function formatted_gross()
134 - {
135 - $price = $this->gross + $this->vat;
136 - return (
137 - ( $price < 0 ? '-' : '' ) .
138 - $this->get_symbol() .
139 - number_format( abs( $price ), 2, '.', ',' ) . ' ' .
140 - strtoupper( $this->currency )
141 - );
142 - }
143 -
144 - /**
145 - * A map between supported currencies with their symbols.
146 - *
147 - * @var array<string,string>
148 - */
149 - static $CURRENCY_2_SYMBOL;
150 -
151 - /**
152 - * @author Leo Fajardo (@leorw)
153 - * @since 2.3.0
154 - *
155 - * @return string
156 - */
157 - private function get_symbol() {
158 - if ( ! isset( self::$CURRENCY_2_SYMBOL ) ) {
159 - // Lazy load.
160 - self::$CURRENCY_2_SYMBOL = array(
161 - self::CURRENCY_USD => '$',
162 - self::CURRENCY_GBP => '&pound;',
163 - self::CURRENCY_EUR => '&euro;',
164 - );
165 - }
166 -
167 - return self::$CURRENCY_2_SYMBOL[ $this->currency ];
168 - }
169 - }
1 +<?php
2 + /**
3 + * @package Freemius
4 + * @copyright Copyright (c) 2016, Freemius, Inc.
5 + * @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
6 + * @since 1.0.0
7 + */
8 +
9 + if ( ! defined( 'ABSPATH' ) ) {
10 + exit;
11 + }
12 +
13 + class FS_Payment extends FS_Entity {
14 +
15 + #region Properties
16 +
17 + /**
18 + * @var number
19 + */
20 + public $plugin_id;
21 + /**
22 + * @var number
23 + */
24 + public $user_id;
25 + /**
26 + * @var number
27 + */
28 + public $install_id;
29 + /**
30 + * @var number
31 + */
32 + public $subscription_id;
33 + /**
34 + * @var number
35 + */
36 + public $plan_id;
37 + /**
38 + * @var number
39 + */
40 + public $license_id;
41 + /**
42 + * @var float
43 + */
44 + public $gross;
45 + /**
46 + * @author Leo Fajardo (@leorw)
47 + * @since 2.3.0
48 + *
49 + * @var string One of the following: `usd`, `gbp`, `eur`.
50 + */
51 + public $currency;
52 + /**
53 + * @var number
54 + */
55 + public $bound_payment_id;
56 + /**
57 + * @var string
58 + */
59 + public $external_id;
60 + /**
61 + * @var string
62 + */
63 + public $gateway;
64 + /**
65 + * @var string ISO 3166-1 alpha-2 - two-letter country code.
66 + *
67 + * @link http://www.wikiwand.com/en/ISO_3166-1_alpha-2
68 + */
69 + public $country_code;
70 + /**
71 + * @var string
72 + */
73 + public $vat_id;
74 + /**
75 + * @var float Actual Tax / VAT in $$$
76 + */
77 + public $vat;
78 + /**
79 + * @var int Payment source.
80 + */
81 + public $source = 0;
82 +
83 + /**
84 + * Presentment payment information for customer-facing currency display.
85 + *
86 + * @var object|null
87 + */
88 + public $presentment;
89 +
90 + #endregion Properties
91 +
92 + const CURRENCY_USD = 'usd';
93 + const CURRENCY_GBP = 'gbp';
94 + const CURRENCY_EUR = 'eur';
95 + const CURRENCY_ILS = 'ils';
96 + const CURRENCY_CAD = 'cad';
97 + const CURRENCY_AUD = 'aud';
98 + const CURRENCY_PLN = 'pln';
99 +
100 + /**
101 + * @param object|bool $payment
102 + */
103 + function __construct( $payment = false ) {
104 + parent::__construct( $payment );
105 + }
106 +
107 + static function get_type() {
108 + return 'payment';
109 + }
110 +
111 + /**
112 + * @author Vova Feldman (@svovaf)
113 + * @since 1.0.0
114 + *
115 + * @return bool
116 + */
117 + function is_refund() {
118 + return ( parent::is_valid_id( $this->bound_payment_id ) && 0 > $this->gross );
119 + }
120 +
121 + /**
122 + * Checks if the payment was migrated from another platform.
123 + *
124 + * @author Vova Feldman (@svovaf)
125 + * @since 2.0.2
126 + *
127 + * @return bool
128 + */
129 + function is_migrated() {
130 + return ( 0 != $this->source );
131 + }
132 +
133 + /**
134 + * @return bool
135 + */
136 + private function has_presentment()
137 + {
138 + return is_object( $this->presentment );
139 + }
140 +
141 + /**
142 + * @return float
143 + */
144 + private function get_display_gross()
145 + {
146 + return $this->has_presentment() ?
147 + (float) $this->presentment->gross :
148 + (float) $this->gross;
149 + }
150 +
151 + /**
152 + * @return float
153 + */
154 + private function get_display_vat()
155 + {
156 + return $this->has_presentment() ?
157 + (float) $this->presentment->vat :
158 + (float) $this->vat;
159 + }
160 +
161 + /**
162 + * @return string
163 + */
164 + private function get_display_currency()
165 + {
166 + return $this->has_presentment() ?
167 + $this->presentment->currency :
168 + $this->currency;
169 + }
170 +
171 + /**
172 + * Returns the gross in this format:
173 + * `{symbol}{amount | 2 decimal digits} {currency | uppercase}`
174 + *
175 + * Examples: £9.99 GBP, -£9.99 GBP.
176 + *
177 + * @author Leo Fajardo (@leorw)
178 + * @since 2.3.0
179 + *
180 + * @return string
181 + */
182 + function formatted_gross()
183 + {
184 + $price = $this->get_display_gross() + $this->get_display_vat();
185 +
186 + return (
187 + ( $price < 0 ? '-' : '' ) .
188 + $this->get_symbol() .
189 + number_format( abs( $price ), 2, '.', ',' ) . ' ' .
190 + strtoupper( $this->get_display_currency() )
191 + );
192 + }
193 +
194 + /**
195 + * A map between supported currencies with their symbols.
196 + *
197 + * @var array<string,string>
198 + */
199 + static $CURRENCY_2_SYMBOL;
200 +
201 + /**
202 + * @author Leo Fajardo (@leorw)
203 + * @since 2.3.0
204 + *
205 + * @return string
206 + */
207 + private function get_symbol() {
208 + if ( ! isset( self::$CURRENCY_2_SYMBOL ) ) {
209 + // Lazy load.
210 + self::$CURRENCY_2_SYMBOL = array(
211 + self::CURRENCY_USD => '$',
212 + self::CURRENCY_GBP => '&pound;',
213 + self::CURRENCY_EUR => '&euro;',
214 + self::CURRENCY_ILS => '₪',
215 + self::CURRENCY_CAD => '$',
216 + self::CURRENCY_AUD => '$',
217 + self::CURRENCY_PLN => 'zł',
218 + );
219 + }
220 +
221 + $currency = $this->get_display_currency();
222 +
223 + return isset( self::$CURRENCY_2_SYMBOL[ $currency ] )
224 + ? self::$CURRENCY_2_SYMBOL[ $currency ]
225 + : strtoupper( $currency ) . ' ';
226 + }
227 + }