Version Description
= v160801 =
(Maintenance Release) Upgrade immediately.
Download this release
Release Info
Developer | clavaque |
Plugin | s2Member Framework (Member Roles, Capabilities, Membership, PayPal Members) |
Version | 201225 |
Comparing to | |
See all releases |
Code changes from version 200301 to 201225
- readme.txt +24 -4
- s2member.php +12 -8
- src/includes/classes/constants.inc.php +2 -2
- src/includes/classes/login-customizations.inc.php +2 -1
- src/includes/classes/paypal-notify-in-subscr-or-wa-w-level.inc.php +3 -0
- src/includes/classes/paypal-return-in-subscr-or-wa-w-level.inc.php +3 -3
- src/includes/classes/paypal-utilities.inc.php +5 -3
- src/includes/menu-pages/paypal-buttons.inc.php +1 -1
- src/includes/translations/s2member.pot +23 -23
- src/vendor/autoload.php +2 -2
- src/vendor/composer/ClassLoader.php +46 -14
- src/vendor/composer/LICENSE +1 -1
- src/vendor/composer/autoload_real.php +31 -17
- src/vendor/composer/autoload_static.php +37 -0
- src/vendor/composer/installed.json +51 -51
readme.txt
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
=== s2Member Framework (Member Roles, Capabilities, Membership, PayPal Members) ===
|
2 |
|
3 |
-
Version:
|
4 |
-
Stable tag:
|
5 |
-
Tested up to: 5.
|
6 |
Requires at least: 4.2
|
7 |
Requires PHP: 5.6.2
|
8 |
-
Tested up to PHP: 7.
|
9 |
License: GNU General Public License v2 or later.
|
10 |
Contributors: WebSharks, JasWSInc, raamdev, clavaque
|
11 |
Author: WP Sharks
|
@@ -137,6 +137,26 @@ Released under the terms of the [GNU General Public License](http://www.gnu.org/
|
|
137 |
|
138 |
== Changelog ==
|
139 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
= v200301 =
|
141 |
|
142 |
- (s2Member Pro) **Enhancement:** Added "Powered by Stripe" to Stripe pro-form's payment card field. Kudos to Josh, see [post 6716](https://f.wpsharks.com/t/6716).
|
1 |
=== s2Member Framework (Member Roles, Capabilities, Membership, PayPal Members) ===
|
2 |
|
3 |
+
Version: 201225
|
4 |
+
Stable tag: 201225
|
5 |
+
Tested up to: 5.7
|
6 |
Requires at least: 4.2
|
7 |
Requires PHP: 5.6.2
|
8 |
+
Tested up to PHP: 7.4.6
|
9 |
License: GNU General Public License v2 or later.
|
10 |
Contributors: WebSharks, JasWSInc, raamdev, clavaque
|
11 |
Author: WP Sharks
|
137 |
|
138 |
== Changelog ==
|
139 |
|
140 |
+
= v201225 =
|
141 |
+
|
142 |
+
- (s2Member Framework) **Bug Fix**: View Password icon WP's login page was not displaying correctly. Kudos to Beee4life for reporting it. See [issue #1187](https://github.com/wpsharks/s2member/issues/1187)
|
143 |
+
|
144 |
+
- (s2Member Framework and Pro) **Enhancement**: Refactored PHP's deprecated _create_function_ with anonymous functions. Kudos to Berry for reporting it, see [post 6069](https://f.wpsharks.com/t/6069)
|
145 |
+
|
146 |
+
- (s2Member Framework) **Bug Fix**: Added a check for empty return variable before trying to use it in paypal-utilities.inc.php.
|
147 |
+
|
148 |
+
- (s2Member Framework) **Bug Fix**: Added checks for undefined indexes before trying to use them in paypal-return-in-subscr-or-wa-w-level.inc.php.
|
149 |
+
|
150 |
+
- (s2Member Framework) **Bug Fix:** Added a check for undefined index before using it to define a couple of s2 constants. Kudos to Berry for reporting it, see [post 8181](https://f.wpsharks.com/t/8181/)
|
151 |
+
|
152 |
+
- (s2Member Pro) **Bug Fix**: s2's payment notification when creating a Stripe subscription, was being sent twice. Added a check to ignore the webhook for the subscription's on-session first payment; s2's webhook endpoint is for off-session events.
|
153 |
+
|
154 |
+
- (s2Member Framework) **Enhancement**: Added a new hook for the payment notification on subscription creation or buy now payments.
|
155 |
+
|
156 |
+
- (s2Member Pro) **Bug Fix**: Stripe paid trials were accumulating on failed payment attempts, causing a larger charge when it finally succeeded. Kudos to Alan for his help through the many attempts to fix this one, see [post 7002](https://f.wpsharks.com/t/7002).
|
157 |
+
|
158 |
+
- (s2Member Pro) **Enhancement**: Stripe duplicate payments were happening randomly to a few site owners, apparently from bad communication between their server and Stripe's. Added idempotency to prevent duplicates. Kudos to Alan and everyone in the forum that reported and gave details on this behavior, see [post 7002](https://f.wpsharks.com/t/7002)
|
159 |
+
|
160 |
= v200301 =
|
161 |
|
162 |
- (s2Member Pro) **Enhancement:** Added "Powered by Stripe" to Stripe pro-form's payment card field. Kudos to Josh, see [post 6716](https://f.wpsharks.com/t/6716).
|
s2member.php
CHANGED
@@ -20,8 +20,8 @@
|
|
20 |
*/
|
21 |
/* -- This section for WordPress parsing. ------------------------------------------------------------------------------
|
22 |
|
23 |
-
Version:
|
24 |
-
Stable tag:
|
25 |
|
26 |
SSL Compatible: yes
|
27 |
bbPress Compatible: yes
|
@@ -36,11 +36,11 @@ PayPal Pro Compatible: yes w/s2Member Pro
|
|
36 |
Authorize.Net Compatible: yes w/s2Member Pro
|
37 |
ClickBank Compatible: yes w/s2Member Pro
|
38 |
|
39 |
-
Tested up to: 5.
|
40 |
Requires at least: 4.2
|
41 |
|
42 |
Requires PHP: 5.6.2
|
43 |
-
Tested up to PHP: 7.
|
44 |
|
45 |
Copyright: © 2009 WP Sharks
|
46 |
License: GNU General Public License
|
@@ -77,7 +77,7 @@ if(!defined('WPINC')) // MUST have WordPress.
|
|
77 |
*
|
78 |
* @var string
|
79 |
*/
|
80 |
-
${__FILE__}['tmp'] = '
|
81 |
if(!defined('WS_PLUGIN__S2MEMBER_VERSION'))
|
82 |
define('WS_PLUGIN__S2MEMBER_VERSION', ${__FILE__}['tmp']);
|
83 |
/**
|
@@ -110,7 +110,7 @@ if(!defined('WS_PLUGIN__S2MEMBER_MIN_WP_VERSION'))
|
|
110 |
*
|
111 |
* @var string
|
112 |
*/
|
113 |
-
${__FILE__}['tmp'] = '
|
114 |
if(!defined('WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION'))
|
115 |
define('WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION', ${__FILE__}['tmp']);
|
116 |
/*
|
@@ -174,11 +174,15 @@ else if(is_admin()) // Admin compatibility errors.
|
|
174 |
{
|
175 |
if(!version_compare(PHP_VERSION, WS_PLUGIN__S2MEMBER_MIN_PHP_VERSION, '>='))
|
176 |
{
|
177 |
-
add_action('all_admin_notices',
|
|
|
|
|
178 |
}
|
179 |
else if(!version_compare(get_bloginfo('version'), WS_PLUGIN__S2MEMBER_MIN_WP_VERSION, '>='))
|
180 |
{
|
181 |
-
add_action('all_admin_notices',
|
|
|
|
|
182 |
}
|
183 |
}
|
184 |
unset(${__FILE__}); // Housekeeping.
|
20 |
*/
|
21 |
/* -- This section for WordPress parsing. ------------------------------------------------------------------------------
|
22 |
|
23 |
+
Version: 201225
|
24 |
+
Stable tag: 201225
|
25 |
|
26 |
SSL Compatible: yes
|
27 |
bbPress Compatible: yes
|
36 |
Authorize.Net Compatible: yes w/s2Member Pro
|
37 |
ClickBank Compatible: yes w/s2Member Pro
|
38 |
|
39 |
+
Tested up to: 5.7
|
40 |
Requires at least: 4.2
|
41 |
|
42 |
Requires PHP: 5.6.2
|
43 |
+
Tested up to PHP: 7.4.6
|
44 |
|
45 |
Copyright: © 2009 WP Sharks
|
46 |
License: GNU General Public License
|
77 |
*
|
78 |
* @var string
|
79 |
*/
|
80 |
+
${__FILE__}['tmp'] = '201225'; //version//
|
81 |
if(!defined('WS_PLUGIN__S2MEMBER_VERSION'))
|
82 |
define('WS_PLUGIN__S2MEMBER_VERSION', ${__FILE__}['tmp']);
|
83 |
/**
|
110 |
*
|
111 |
* @var string
|
112 |
*/
|
113 |
+
${__FILE__}['tmp'] = '201225'; //version//
|
114 |
if(!defined('WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION'))
|
115 |
define('WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION', ${__FILE__}['tmp']);
|
116 |
/*
|
174 |
{
|
175 |
if(!version_compare(PHP_VERSION, WS_PLUGIN__S2MEMBER_MIN_PHP_VERSION, '>='))
|
176 |
{
|
177 |
+
add_action('all_admin_notices', function(){
|
178 |
+
echo '<div class="error fade"><p>You need PHP v' . WS_PLUGIN__S2MEMBER_MIN_PHP_VERSION . '+ to use the s2Member plugin.</p></div>';
|
179 |
+
});
|
180 |
}
|
181 |
else if(!version_compare(get_bloginfo('version'), WS_PLUGIN__S2MEMBER_MIN_WP_VERSION, '>='))
|
182 |
{
|
183 |
+
add_action('all_admin_notices', function(){
|
184 |
+
echo '<div class="error fade"><p>You need WordPress v' . WS_PLUGIN__S2MEMBER_MIN_WP_VERSION . '+ to use the s2Member plugin.</p></div>';
|
185 |
+
});
|
186 |
}
|
187 |
}
|
188 |
unset(${__FILE__}); // Housekeeping.
|
src/includes/classes/constants.inc.php
CHANGED
@@ -545,7 +545,7 @@ if(!class_exists('c_ws_plugin__s2member_constants'))
|
|
545 |
* @see http://codex.wordpress.org/Function_Reference/get_user_option get_user_option()
|
546 |
*/
|
547 |
if(!defined('S2MEMBER_CURRENT_USER_PAID_REGISTRATION_TIME'))
|
548 |
-
define ('S2MEMBER_CURRENT_USER_PAID_REGISTRATION_TIME', ($c[] = (($user && (int)
|
549 |
|
550 |
/**
|
551 |
* The number of days the current User has been a paid Member.
|
@@ -597,7 +597,7 @@ if(!class_exists('c_ws_plugin__s2member_constants'))
|
|
597 |
* @see http://codex.wordpress.org/Function_Reference/get_user_option get_user_option()
|
598 |
*/
|
599 |
if(!defined('S2MEMBER_CURRENT_USER_PAID_REGISTRATION_DAYS'))
|
600 |
-
define ('S2MEMBER_CURRENT_USER_PAID_REGISTRATION_DAYS', ($c[] = (($user && (int)
|
601 |
|
602 |
/**
|
603 |
* The number of days the current User has had an account, period.
|
545 |
* @see http://codex.wordpress.org/Function_Reference/get_user_option get_user_option()
|
546 |
*/
|
547 |
if(!defined('S2MEMBER_CURRENT_USER_PAID_REGISTRATION_TIME'))
|
548 |
+
define ('S2MEMBER_CURRENT_USER_PAID_REGISTRATION_TIME', ($c[] = (($user && isset($paid_registration_times['level']) && !empty((int)$paid_registration_times['level'])) ? (int)$paid_registration_times['level'] : 0)));
|
549 |
|
550 |
/**
|
551 |
* The number of days the current User has been a paid Member.
|
597 |
* @see http://codex.wordpress.org/Function_Reference/get_user_option get_user_option()
|
598 |
*/
|
599 |
if(!defined('S2MEMBER_CURRENT_USER_PAID_REGISTRATION_DAYS'))
|
600 |
+
define ('S2MEMBER_CURRENT_USER_PAID_REGISTRATION_DAYS', ($c[] = (($user && isset($paid_registration_times['level']) && !empty((int)$paid_registration_times['level'])) ? (int)floor((strtotime('now') - (int)$paid_registration_times['level']) / 86400) : 0)));
|
601 |
|
602 |
/**
|
603 |
* The number of days the current User has had an account, period.
|
src/includes/classes/login-customizations.inc.php
CHANGED
@@ -108,7 +108,8 @@ if(!class_exists('c_ws_plugin__s2member_login_customizations'))
|
|
108 |
|
109 |
$a[] = 'body, body * { font-size:'.$GLOBALS['WS_PLUGIN__']['s2member']['o']['login_reg_font_size'].$i.'; }';
|
110 |
$a[] = 'body, body * { font-family:'.$GLOBALS['WS_PLUGIN__']['s2member']['o']['login_reg_font_family'].$i.'; }';
|
111 |
-
|
|
|
112 |
$a[] = 'div#login { width: 100% '.$i.'; max-width:'.$GLOBALS['WS_PLUGIN__']['s2member']['o']['login_reg_logo_src_width'].'px'.$i.'; }';
|
113 |
$a[] = 'div#login h1 a { background:url('.$GLOBALS['WS_PLUGIN__']['s2member']['o']['login_reg_logo_src'].') no-repeat top center'.$i.'; background-size:contain'.$i.'; }';
|
114 |
$a[] = 'div#login h1 a { display:block'.$i.'; width:100%'.$i.'; height:'.$GLOBALS['WS_PLUGIN__']['s2member']['o']['login_reg_logo_src_height'].'px'.$i.'; }';
|
108 |
|
109 |
$a[] = 'body, body * { font-size:'.$GLOBALS['WS_PLUGIN__']['s2member']['o']['login_reg_font_size'].$i.'; }';
|
110 |
$a[] = 'body, body * { font-family:'.$GLOBALS['WS_PLUGIN__']['s2member']['o']['login_reg_font_family'].$i.'; }';
|
111 |
+
$a[] = '.dashicons { font-family:dashicons'.$i.'; }';
|
112 |
+
|
113 |
$a[] = 'div#login { width: 100% '.$i.'; max-width:'.$GLOBALS['WS_PLUGIN__']['s2member']['o']['login_reg_logo_src_width'].'px'.$i.'; }';
|
114 |
$a[] = 'div#login h1 a { background:url('.$GLOBALS['WS_PLUGIN__']['s2member']['o']['login_reg_logo_src'].') no-repeat top center'.$i.'; background-size:contain'.$i.'; }';
|
115 |
$a[] = 'div#login h1 a { display:block'.$i.'; width:100%'.$i.'; height:'.$GLOBALS['WS_PLUGIN__']['s2member']['o']['login_reg_logo_src_height'].'px'.$i.'; }';
|
src/includes/classes/paypal-notify-in-subscr-or-wa-w-level.inc.php
CHANGED
@@ -797,6 +797,9 @@ if(!class_exists('c_ws_plugin__s2member_paypal_notify_in_subscr_or_wa_w_level'))
|
|
797 |
}
|
798 |
$paypal['s2member_log'][] = 'Payment Notification Emails have been processed.';
|
799 |
}
|
|
|
|
|
|
|
800 |
}
|
801 |
else if($processing // Process a payment now? Special cases for web_accept and/or Proxy requests with `subscr-signup-as-subscr-payment`.
|
802 |
&& (preg_match('/^web_accept$/i', $paypal['txn_type']) || ($_REQUEST['s2member_paypal_proxy'] && preg_match('/subscr-signup-as-subscr-payment/', $_REQUEST['s2member_paypal_proxy_use']) && $paypal['txn_id'] && $paypal['mc_gross'] > 0))
|
797 |
}
|
798 |
$paypal['s2member_log'][] = 'Payment Notification Emails have been processed.';
|
799 |
}
|
800 |
+
foreach(array_keys(get_defined_vars()) as $__v) $__refs[$__v] =& $$__v;
|
801 |
+
do_action('ws_plugin__s2member_during_paypal_notify_during_subscr_or_wa_payment', get_defined_vars());
|
802 |
+
unset($__refs, $__v);
|
803 |
}
|
804 |
else if($processing // Process a payment now? Special cases for web_accept and/or Proxy requests with `subscr-signup-as-subscr-payment`.
|
805 |
&& (preg_match('/^web_accept$/i', $paypal['txn_type']) || ($_REQUEST['s2member_paypal_proxy'] && preg_match('/subscr-signup-as-subscr-payment/', $_REQUEST['s2member_paypal_proxy_use']) && $paypal['txn_id'] && $paypal['mc_gross'] > 0))
|
src/includes/classes/paypal-return-in-subscr-or-wa-w-level.inc.php
CHANGED
@@ -95,8 +95,8 @@ if(!class_exists('c_ws_plugin__s2member_paypal_return_in_subscr_or_wa_w_level'))
|
|
95 |
{
|
96 |
$tracking_properties = TRUE; // Yes, these tracking properties ARE being set here.
|
97 |
|
98 |
-
$paypal['period1'] = (preg_match('/^[1-9]/', $paypal['period1'])) ? $paypal['period1'] : '0 D'; // Defaults to '0 D' (zero days).
|
99 |
-
$paypal['mc_amount1'] = (
|
100 |
|
101 |
if(preg_match('/^web_accept$/i', $paypal['txn_type']) /* Conversions for Lifetime & Fixed-Term sales. */)
|
102 |
{
|
@@ -107,7 +107,7 @@ if(!class_exists('c_ws_plugin__s2member_paypal_return_in_subscr_or_wa_w_level'))
|
|
107 |
$paypal['initial'] = (strlen($paypal['mc_amount1']) && preg_match('/^[1-9]/', $paypal['period1'])) ? $paypal['mc_amount1'] : $paypal['mc_amount3'];
|
108 |
$paypal['regular'] = $paypal['mc_amount3']; // This is the Regular Payment Amount that is charged to the Customer. Always required by PayPal.
|
109 |
$paypal['regular_term'] = $paypal['period3']; // This is just set to keep a standard; this way both initial_term & regular_term are available.
|
110 |
-
$paypal['recurring'] = ($paypal['recurring']) ? $paypal['mc_amount3'] : '0'; // If non-recurring, this should be zero, otherwise Regular.
|
111 |
$paypal['currency'] = strtoupper($paypal['mc_currency']); // Normalize input currency.
|
112 |
$paypal['currency_symbol'] = c_ws_plugin__s2member_utils_cur::symbol($paypal['currency']);
|
113 |
|
95 |
{
|
96 |
$tracking_properties = TRUE; // Yes, these tracking properties ARE being set here.
|
97 |
|
98 |
+
$paypal['period1'] = (isset($paypal['period1']) && preg_match('/^[1-9]/', $paypal['period1'])) ? $paypal['period1'] : '0 D'; // Defaults to '0 D' (zero days).
|
99 |
+
$paypal['mc_amount1'] = (isset($paypal['mc_amount1']) && $paypal['mc_amount1'] > 0) ? $paypal['mc_amount1'] : '0.00';
|
100 |
|
101 |
if(preg_match('/^web_accept$/i', $paypal['txn_type']) /* Conversions for Lifetime & Fixed-Term sales. */)
|
102 |
{
|
107 |
$paypal['initial'] = (strlen($paypal['mc_amount1']) && preg_match('/^[1-9]/', $paypal['period1'])) ? $paypal['mc_amount1'] : $paypal['mc_amount3'];
|
108 |
$paypal['regular'] = $paypal['mc_amount3']; // This is the Regular Payment Amount that is charged to the Customer. Always required by PayPal.
|
109 |
$paypal['regular_term'] = $paypal['period3']; // This is just set to keep a standard; this way both initial_term & regular_term are available.
|
110 |
+
$paypal['recurring'] = isset($paypal['recurring']) ? $paypal['mc_amount3'] : '0'; // If non-recurring, this should be zero, otherwise Regular.
|
111 |
$paypal['currency'] = strtoupper($paypal['mc_currency']); // Normalize input currency.
|
112 |
$paypal['currency_symbol'] = c_ws_plugin__s2member_utils_cur::symbol($paypal['currency']);
|
113 |
|
src/includes/classes/paypal-utilities.inc.php
CHANGED
@@ -61,9 +61,11 @@ if(!class_exists("c_ws_plugin__s2member_paypal_utilities"))
|
|
61 |
{
|
62 |
foreach(preg_split("/[\r\n]+/", preg_replace("/^SUCCESS/i", "", $response)) as $varline)
|
63 |
{
|
64 |
-
|
65 |
-
|
66 |
-
$
|
|
|
|
|
67 |
}
|
68 |
$postvars = self::paypal_postvars_back_compat($postvars); // From verified data.
|
69 |
|
61 |
{
|
62 |
foreach(preg_split("/[\r\n]+/", preg_replace("/^SUCCESS/i", "", $response)) as $varline)
|
63 |
{
|
64 |
+
if (!empty($varline)) {
|
65 |
+
list($key, $value) = preg_split("/\=/", $varline, 2);
|
66 |
+
if (strlen($key = trim($key)) && strlen($value = trim($value)))
|
67 |
+
$postvars[$key] = trim(stripslashes(urldecode($value)));
|
68 |
+
}
|
69 |
}
|
70 |
$postvars = self::paypal_postvars_back_compat($postvars); // From verified data.
|
71 |
|
src/includes/menu-pages/paypal-buttons.inc.php
CHANGED
@@ -505,7 +505,7 @@ if (!class_exists ("c_ws_plugin__s2member_menu_page_paypal_buttons"))
|
|
505 |
echo '<li><code>lang=""</code> Optional 5 character Button Language Code <em>(ake: Locale Code—ex: <code>en_US</code>)</em>. This controls the interface language of the PayPal Button itself. If unspecified, the language defaults to English (i.e., <code>en_US</code>; or to the value set by an optional MO translation file; which translates s2Member overall). See <a href="http://s2member.com/r/paypal-locale-codes/" target="_blank" rel="external">this list of possible Locale Codes</a>.</li>' . "\n";
|
506 |
echo '<li><code>lc=""</code> Optional 2 character Country/Locale Code <em>(i.e., Country Code—ex: <code>US</code>)</em>. This controls the interface language used at PayPal during checkout. If unspecified, the language is determined by PayPal when possible, defaulting to <code>US</code> <em>english</em> when not possible. See <a href="http://s2member.com/r/paypal-locale-codes/" target="_blank" rel="external">this list of possible Country Codes</a>. Not valid when <code>cancel="1"</code>.</li>' . "\n";
|
507 |
echo '<li><code>level="1"</code> Membership Level [1-4] <em>(or, up to the number of configured Levels)</em>. Only valid for Buttons providing paid Membership Level Access.' . ((is_multisite () && c_ws_plugin__s2member_utils_conds::is_multisite_farm () && !is_main_site ()) ? '' : ' Or, with Independent Custom Capabilities this MUST be set to <code>level="*"</code>, and <code>ccaps=""</code> must NOT be empty <em>(i.e., <code>level="*" ccaps="music,videos"</code>)</em>.') . '</li>' . "\n";
|
508 |
-
echo '<li><code>modify="0"</code> Modification directive. Only valid w/ Membership Level Access. Possible values: <code>0</code> = allows Customers to only create a new Subscription. Values <code>1</code> and <code>2</code> are <a href="https://developer.paypal.com/docs/
|
509 |
echo '<li><code>ns="0"</code> The <em>no_shipping</em> directive. Possible values: <code>0</code> = prompt for an address, but do not require one, <code>1</code> = do not prompt for a shipping address, <code>2</code> = prompt for an address, and require one. Not valid when <code>cancel="1"</code>.</li>' . "\n";
|
510 |
echo '<li><code>output="button"</code> Output Type. Possible values: <code>button</code> = PayPal Button w/hidden inputs, <code>anchor</code> = PayPal Button ( <a> anchor tag ) URL w/ ?query string, <code>url</code> = raw URL w/ ?query string.</li>' . "\n";
|
511 |
echo '<li><code>ps="paypal"</code> PayPal checkout Page Style. Not valid when <code>cancel="1"</code>.</li>' . "\n";
|
505 |
echo '<li><code>lang=""</code> Optional 5 character Button Language Code <em>(ake: Locale Code—ex: <code>en_US</code>)</em>. This controls the interface language of the PayPal Button itself. If unspecified, the language defaults to English (i.e., <code>en_US</code>; or to the value set by an optional MO translation file; which translates s2Member overall). See <a href="http://s2member.com/r/paypal-locale-codes/" target="_blank" rel="external">this list of possible Locale Codes</a>.</li>' . "\n";
|
506 |
echo '<li><code>lc=""</code> Optional 2 character Country/Locale Code <em>(i.e., Country Code—ex: <code>US</code>)</em>. This controls the interface language used at PayPal during checkout. If unspecified, the language is determined by PayPal when possible, defaulting to <code>US</code> <em>english</em> when not possible. See <a href="http://s2member.com/r/paypal-locale-codes/" target="_blank" rel="external">this list of possible Country Codes</a>. Not valid when <code>cancel="1"</code>.</li>' . "\n";
|
507 |
echo '<li><code>level="1"</code> Membership Level [1-4] <em>(or, up to the number of configured Levels)</em>. Only valid for Buttons providing paid Membership Level Access.' . ((is_multisite () && c_ws_plugin__s2member_utils_conds::is_multisite_farm () && !is_main_site ()) ? '' : ' Or, with Independent Custom Capabilities this MUST be set to <code>level="*"</code>, and <code>ccaps=""</code> must NOT be empty <em>(i.e., <code>level="*" ccaps="music,videos"</code>)</em>.') . '</li>' . "\n";
|
508 |
+
echo '<li><code>modify="0"</code> Modification directive. Only valid w/ Membership Level Access. Possible values: <code>0</code> = allows Customers to only create a new Subscription. Values <code>1</code> and <code>2</code> are <a href="https://developer.paypal.com/docs/paypal-payments-standard/integration-guide/Appx-websitestandard-htmlvariables/#deprecated-variables" target="_blank" rel="external">no longer valid</a>.</li>' . "\n";
|
509 |
echo '<li><code>ns="0"</code> The <em>no_shipping</em> directive. Possible values: <code>0</code> = prompt for an address, but do not require one, <code>1</code> = do not prompt for a shipping address, <code>2</code> = prompt for an address, and require one. Not valid when <code>cancel="1"</code>.</li>' . "\n";
|
510 |
echo '<li><code>output="button"</code> Output Type. Possible values: <code>button</code> = PayPal Button w/hidden inputs, <code>anchor</code> = PayPal Button ( <a> anchor tag ) URL w/ ?query string, <code>url</code> = raw URL w/ ?query string.</li>' . "\n";
|
511 |
echo '<li><code>ps="paypal"</code> PayPal checkout Page Style. Not valid when <code>cancel="1"</code>.</li>' . "\n";
|
src/includes/translations/s2member.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version:
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/s2member\n"
|
7 |
-
"POT-Creation-Date: 2020-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -20,7 +20,7 @@ msgstr ""
|
|
20 |
#: pro/src/includes/classes/coupons.inc.php:241
|
21 |
#: pro/src/includes/classes/gateways/authnet/authnet-utilities.inc.php:692
|
22 |
#: pro/src/includes/classes/gateways/paypal/paypal-utilities.inc.php:312
|
23 |
-
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:
|
24 |
msgctxt "s2member-front percentage-symbol"
|
25 |
msgid "%"
|
26 |
msgstr ""
|
@@ -1310,17 +1310,17 @@ msgstr ""
|
|
1310 |
#. with `ws_plugin__s2member_paypal_payflow_api_response`.
|
1311 |
#: pro/src/includes/classes/gateways/authnet/authnet-utilities.inc.php:96
|
1312 |
#: pro/src/includes/classes/gateways/authnet/authnet-utilities.inc.php:325
|
1313 |
-
#: src/includes/classes/paypal-utilities.inc.php:
|
1314 |
-
#: src/includes/classes/paypal-utilities.inc.php:
|
1315 |
msgctxt "s2member-front"
|
1316 |
msgid "Error #%1$s. %2$s."
|
1317 |
msgstr ""
|
1318 |
|
1319 |
#: pro/src/includes/classes/gateways/authnet/authnet-utilities.inc.php:99
|
1320 |
#: pro/src/includes/classes/gateways/authnet/authnet-utilities.inc.php:328
|
1321 |
-
#: src/includes/classes/paypal-utilities.inc.php:
|
1322 |
-
#: src/includes/classes/paypal-utilities.inc.php:
|
1323 |
-
#: src/includes/classes/paypal-utilities.inc.php:
|
1324 |
msgctxt "s2member-front"
|
1325 |
msgid "Error. Please contact Support for assistance."
|
1326 |
msgstr ""
|
@@ -1571,48 +1571,48 @@ msgctxt "s2member-front"
|
|
1571 |
msgid "Error: <strong>prepaid</strong> cards not accepted at this time. Please use a different card and try again."
|
1572 |
msgstr ""
|
1573 |
|
1574 |
-
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:
|
1575 |
msgctxt "s2member-front"
|
1576 |
msgid "Error code: <code>%1$s</code>. %2$s."
|
1577 |
msgstr ""
|
1578 |
|
1579 |
-
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:
|
1580 |
msgctxt "s2member-front"
|
1581 |
msgid "Invalid parameters to Stripe; please contact the site owner."
|
1582 |
msgstr ""
|
1583 |
|
1584 |
-
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:
|
1585 |
msgctxt "s2member-front"
|
1586 |
msgid "Invalid Stripe API keys; please contact the site owner."
|
1587 |
msgstr ""
|
1588 |
|
1589 |
-
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:
|
1590 |
msgctxt "s2member-front"
|
1591 |
msgid "Network communication failure with Stripe; please try again."
|
1592 |
msgstr ""
|
1593 |
|
1594 |
-
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:
|
1595 |
msgctxt "s2member-front"
|
1596 |
msgid "Stripe API error; please try again."
|
1597 |
msgstr ""
|
1598 |
|
1599 |
-
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:
|
1600 |
msgctxt "s2member-front"
|
1601 |
msgid "Stripe error; please try again."
|
1602 |
msgstr ""
|
1603 |
|
1604 |
-
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:
|
1605 |
-
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:
|
1606 |
msgctxt "s2member-front"
|
1607 |
msgid "Action required: 3D Secure authorization."
|
1608 |
msgstr ""
|
1609 |
|
1610 |
-
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:
|
1611 |
msgctxt "s2member-front"
|
1612 |
msgid "Please try again with a different card."
|
1613 |
msgstr ""
|
1614 |
|
1615 |
-
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:
|
1616 |
msgctxt "s2member-front"
|
1617 |
msgid "The payment failed, please try again with a different card."
|
1618 |
msgstr ""
|
@@ -4460,23 +4460,23 @@ msgstr ""
|
|
4460 |
#. by PayPal. Replace `%2$s` and `%3$s` with: `Unable to process, please try
|
4461 |
#. again`, or something to that affect. Or, if you prefer, you could Filter
|
4462 |
#. ``$response["__error"]`` with `ws_plugin__s2member_paypal_api_response`.
|
4463 |
-
#: src/includes/classes/paypal-utilities.inc.php:
|
4464 |
msgctxt "s2member-front"
|
4465 |
msgid "Error #%1$s. %2$s. %3$s."
|
4466 |
msgstr ""
|
4467 |
|
4468 |
-
#: src/includes/classes/paypal-utilities.inc.php:
|
4469 |
-
#: src/includes/classes/paypal-utilities.inc.php:
|
4470 |
msgctxt "s2member-front"
|
4471 |
msgid "Error #%s. Transaction declined. Please use an alternate funding source."
|
4472 |
msgstr ""
|
4473 |
|
4474 |
-
#: src/includes/classes/paypal-utilities.inc.php:
|
4475 |
msgctxt "s2member-front"
|
4476 |
msgid "Error #%s. Transaction declined. Express Checkout was NOT confirmed."
|
4477 |
msgstr ""
|
4478 |
|
4479 |
-
#: src/includes/classes/paypal-utilities.inc.php:
|
4480 |
msgctxt "s2member-front"
|
4481 |
msgid " Please contact PayPal Merchant Technical Support (www.paypal.com/mts) and request `Recurring Billing` service, and also ask to have `Reference Transactions` enabled for Recurring Billing via Express Checkout."
|
4482 |
msgstr ""
|
2 |
# This file is distributed under the same license as the package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: 201225\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/s2member\n"
|
7 |
+
"POT-Creation-Date: 2020-12-25 21:31:45+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
20 |
#: pro/src/includes/classes/coupons.inc.php:241
|
21 |
#: pro/src/includes/classes/gateways/authnet/authnet-utilities.inc.php:692
|
22 |
#: pro/src/includes/classes/gateways/paypal/paypal-utilities.inc.php:312
|
23 |
+
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:983
|
24 |
msgctxt "s2member-front percentage-symbol"
|
25 |
msgid "%"
|
26 |
msgstr ""
|
1310 |
#. with `ws_plugin__s2member_paypal_payflow_api_response`.
|
1311 |
#: pro/src/includes/classes/gateways/authnet/authnet-utilities.inc.php:96
|
1312 |
#: pro/src/includes/classes/gateways/authnet/authnet-utilities.inc.php:325
|
1313 |
+
#: src/includes/classes/paypal-utilities.inc.php:342
|
1314 |
+
#: src/includes/classes/paypal-utilities.inc.php:350
|
1315 |
msgctxt "s2member-front"
|
1316 |
msgid "Error #%1$s. %2$s."
|
1317 |
msgstr ""
|
1318 |
|
1319 |
#: pro/src/includes/classes/gateways/authnet/authnet-utilities.inc.php:99
|
1320 |
#: pro/src/includes/classes/gateways/authnet/authnet-utilities.inc.php:328
|
1321 |
+
#: src/includes/classes/paypal-utilities.inc.php:216
|
1322 |
+
#: src/includes/classes/paypal-utilities.inc.php:344
|
1323 |
+
#: src/includes/classes/paypal-utilities.inc.php:352
|
1324 |
msgctxt "s2member-front"
|
1325 |
msgid "Error. Please contact Support for assistance."
|
1326 |
msgstr ""
|
1571 |
msgid "Error: <strong>prepaid</strong> cards not accepted at this time. Please use a different card and try again."
|
1572 |
msgstr ""
|
1573 |
|
1574 |
+
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:756
|
1575 |
msgctxt "s2member-front"
|
1576 |
msgid "Error code: <code>%1$s</code>. %2$s."
|
1577 |
msgstr ""
|
1578 |
|
1579 |
+
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:759
|
1580 |
msgctxt "s2member-front"
|
1581 |
msgid "Invalid parameters to Stripe; please contact the site owner."
|
1582 |
msgstr ""
|
1583 |
|
1584 |
+
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:762
|
1585 |
msgctxt "s2member-front"
|
1586 |
msgid "Invalid Stripe API keys; please contact the site owner."
|
1587 |
msgstr ""
|
1588 |
|
1589 |
+
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:765
|
1590 |
msgctxt "s2member-front"
|
1591 |
msgid "Network communication failure with Stripe; please try again."
|
1592 |
msgstr ""
|
1593 |
|
1594 |
+
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:768
|
1595 |
msgctxt "s2member-front"
|
1596 |
msgid "Stripe API error; please try again."
|
1597 |
msgstr ""
|
1598 |
|
1599 |
+
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:770
|
1600 |
msgctxt "s2member-front"
|
1601 |
msgid "Stripe error; please try again."
|
1602 |
msgstr ""
|
1603 |
|
1604 |
+
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:1361
|
1605 |
+
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:1410
|
1606 |
msgctxt "s2member-front"
|
1607 |
msgid "Action required: 3D Secure authorization."
|
1608 |
msgstr ""
|
1609 |
|
1610 |
+
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:1366
|
1611 |
msgctxt "s2member-front"
|
1612 |
msgid "Please try again with a different card."
|
1613 |
msgstr ""
|
1614 |
|
1615 |
+
#: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:1415
|
1616 |
msgctxt "s2member-front"
|
1617 |
msgid "The payment failed, please try again with a different card."
|
1618 |
msgstr ""
|
4460 |
#. by PayPal. Replace `%2$s` and `%3$s` with: `Unable to process, please try
|
4461 |
#. again`, or something to that affect. Or, if you prefer, you could Filter
|
4462 |
#. ``$response["__error"]`` with `ws_plugin__s2member_paypal_api_response`.
|
4463 |
+
#: src/includes/classes/paypal-utilities.inc.php:213
|
4464 |
msgctxt "s2member-front"
|
4465 |
msgid "Error #%1$s. %2$s. %3$s."
|
4466 |
msgstr ""
|
4467 |
|
4468 |
+
#: src/includes/classes/paypal-utilities.inc.php:260
|
4469 |
+
#: src/includes/classes/paypal-utilities.inc.php:266
|
4470 |
msgctxt "s2member-front"
|
4471 |
msgid "Error #%s. Transaction declined. Please use an alternate funding source."
|
4472 |
msgstr ""
|
4473 |
|
4474 |
+
#: src/includes/classes/paypal-utilities.inc.php:263
|
4475 |
msgctxt "s2member-front"
|
4476 |
msgid "Error #%s. Transaction declined. Express Checkout was NOT confirmed."
|
4477 |
msgstr ""
|
4478 |
|
4479 |
+
#: src/includes/classes/paypal-utilities.inc.php:397
|
4480 |
msgctxt "s2member-front"
|
4481 |
msgid " Please contact PayPal Merchant Technical Support (www.paypal.com/mts) and request `Recurring Billing` service, and also ask to have `Reference Transactions` enabled for Recurring Billing via Express Checkout."
|
4482 |
msgstr ""
|
src/vendor/autoload.php
CHANGED
@@ -2,6 +2,6 @@
|
|
2 |
|
3 |
// autoload.php @generated by Composer
|
4 |
|
5 |
-
require_once __DIR__ . '/composer
|
6 |
|
7 |
-
return
|
2 |
|
3 |
// autoload.php @generated by Composer
|
4 |
|
5 |
+
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit1860e4a353d6520807d498a864305f09::getLoader();
|
src/vendor/composer/ClassLoader.php
CHANGED
@@ -53,8 +53,9 @@ class ClassLoader
|
|
53 |
|
54 |
private $useIncludePath = false;
|
55 |
private $classMap = array();
|
56 |
-
|
57 |
private $classMapAuthoritative = false;
|
|
|
|
|
58 |
|
59 |
public function getPrefixes()
|
60 |
{
|
@@ -271,6 +272,26 @@ class ClassLoader
|
|
271 |
return $this->classMapAuthoritative;
|
272 |
}
|
273 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
274 |
/**
|
275 |
* Registers this instance as an autoloader.
|
276 |
*
|
@@ -313,29 +334,34 @@ class ClassLoader
|
|
313 |
*/
|
314 |
public function findFile($class)
|
315 |
{
|
316 |
-
// work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731
|
317 |
-
if ('\\' == $class[0]) {
|
318 |
-
$class = substr($class, 1);
|
319 |
-
}
|
320 |
-
|
321 |
// class map lookup
|
322 |
if (isset($this->classMap[$class])) {
|
323 |
return $this->classMap[$class];
|
324 |
}
|
325 |
-
if ($this->classMapAuthoritative) {
|
326 |
return false;
|
327 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
328 |
|
329 |
$file = $this->findFileWithExtension($class, '.php');
|
330 |
|
331 |
// Search for Hack files if we are running on HHVM
|
332 |
-
if (
|
333 |
$file = $this->findFileWithExtension($class, '.hh');
|
334 |
}
|
335 |
|
336 |
-
if (
|
|
|
|
|
|
|
|
|
337 |
// Remember that this class does not exist.
|
338 |
-
|
339 |
}
|
340 |
|
341 |
return $file;
|
@@ -348,10 +374,14 @@ class ClassLoader
|
|
348 |
|
349 |
$first = $class[0];
|
350 |
if (isset($this->prefixLengthsPsr4[$first])) {
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
|
|
|
|
|
|
|
|
355 |
return $file;
|
356 |
}
|
357 |
}
|
@@ -399,6 +429,8 @@ class ClassLoader
|
|
399 |
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
|
400 |
return $file;
|
401 |
}
|
|
|
|
|
402 |
}
|
403 |
}
|
404 |
|
53 |
|
54 |
private $useIncludePath = false;
|
55 |
private $classMap = array();
|
|
|
56 |
private $classMapAuthoritative = false;
|
57 |
+
private $missingClasses = array();
|
58 |
+
private $apcuPrefix;
|
59 |
|
60 |
public function getPrefixes()
|
61 |
{
|
272 |
return $this->classMapAuthoritative;
|
273 |
}
|
274 |
|
275 |
+
/**
|
276 |
+
* APCu prefix to use to cache found/not-found classes, if the extension is enabled.
|
277 |
+
*
|
278 |
+
* @param string|null $apcuPrefix
|
279 |
+
*/
|
280 |
+
public function setApcuPrefix($apcuPrefix)
|
281 |
+
{
|
282 |
+
$this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
|
283 |
+
}
|
284 |
+
|
285 |
+
/**
|
286 |
+
* The APCu prefix in use, or null if APCu caching is not enabled.
|
287 |
+
*
|
288 |
+
* @return string|null
|
289 |
+
*/
|
290 |
+
public function getApcuPrefix()
|
291 |
+
{
|
292 |
+
return $this->apcuPrefix;
|
293 |
+
}
|
294 |
+
|
295 |
/**
|
296 |
* Registers this instance as an autoloader.
|
297 |
*
|
334 |
*/
|
335 |
public function findFile($class)
|
336 |
{
|
|
|
|
|
|
|
|
|
|
|
337 |
// class map lookup
|
338 |
if (isset($this->classMap[$class])) {
|
339 |
return $this->classMap[$class];
|
340 |
}
|
341 |
+
if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
|
342 |
return false;
|
343 |
}
|
344 |
+
if (null !== $this->apcuPrefix) {
|
345 |
+
$file = apcu_fetch($this->apcuPrefix.$class, $hit);
|
346 |
+
if ($hit) {
|
347 |
+
return $file;
|
348 |
+
}
|
349 |
+
}
|
350 |
|
351 |
$file = $this->findFileWithExtension($class, '.php');
|
352 |
|
353 |
// Search for Hack files if we are running on HHVM
|
354 |
+
if (false === $file && defined('HHVM_VERSION')) {
|
355 |
$file = $this->findFileWithExtension($class, '.hh');
|
356 |
}
|
357 |
|
358 |
+
if (null !== $this->apcuPrefix) {
|
359 |
+
apcu_add($this->apcuPrefix.$class, $file);
|
360 |
+
}
|
361 |
+
|
362 |
+
if (false === $file) {
|
363 |
// Remember that this class does not exist.
|
364 |
+
$this->missingClasses[$class] = true;
|
365 |
}
|
366 |
|
367 |
return $file;
|
374 |
|
375 |
$first = $class[0];
|
376 |
if (isset($this->prefixLengthsPsr4[$first])) {
|
377 |
+
$subPath = $class;
|
378 |
+
while (false !== $lastPos = strrpos($subPath, '\\')) {
|
379 |
+
$subPath = substr($subPath, 0, $lastPos);
|
380 |
+
$search = $subPath . '\\';
|
381 |
+
if (isset($this->prefixDirsPsr4[$search])) {
|
382 |
+
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
|
383 |
+
foreach ($this->prefixDirsPsr4[$search] as $dir) {
|
384 |
+
if (file_exists($file = $dir . $pathEnd)) {
|
385 |
return $file;
|
386 |
}
|
387 |
}
|
429 |
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
|
430 |
return $file;
|
431 |
}
|
432 |
+
|
433 |
+
return false;
|
434 |
}
|
435 |
}
|
436 |
|
src/vendor/composer/LICENSE
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
Copyright (c)
|
3 |
|
4 |
Permission is hereby granted, free of charge, to any person obtaining a copy
|
5 |
of this software and associated documentation files (the "Software"), to deal
|
1 |
|
2 |
+
Copyright (c) Nils Adermann, Jordi Boggiano
|
3 |
|
4 |
Permission is hereby granted, free of charge, to any person obtaining a copy
|
5 |
of this software and associated documentation files (the "Software"), to deal
|
src/vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -13,43 +13,57 @@ class ComposerAutoloaderInit711b2c2a772835e7aa55513ccb6228f5
|
|
13 |
}
|
14 |
}
|
15 |
|
|
|
|
|
|
|
16 |
public static function getLoader()
|
17 |
{
|
18 |
if (null !== self::$loader) {
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
-
$
|
27 |
-
|
28 |
-
|
29 |
-
}
|
30 |
|
31 |
-
|
32 |
-
|
33 |
-
$
|
34 |
-
|
|
|
|
|
35 |
|
36 |
-
|
37 |
-
|
38 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
}
|
40 |
|
41 |
$loader->register(true);
|
42 |
|
43 |
-
$
|
|
|
|
|
|
|
|
|
44 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
45 |
-
|
46 |
}
|
47 |
|
48 |
return $loader;
|
49 |
}
|
50 |
}
|
51 |
|
52 |
-
function
|
53 |
{
|
54 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
55 |
require $file;
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInit1860e4a353d6520807d498a864305f09
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
13 |
}
|
14 |
}
|
15 |
|
16 |
+
/**
|
17 |
+
* @return \Composer\Autoload\ClassLoader
|
18 |
+
*/
|
19 |
public static function getLoader()
|
20 |
{
|
21 |
if (null !== self::$loader) {
|
22 |
return self::$loader;
|
23 |
}
|
24 |
|
25 |
+
spl_autoload_register(array('ComposerAutoloaderInit1860e4a353d6520807d498a864305f09', 'loadClassLoader'), true, true);
|
26 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
27 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit1860e4a353d6520807d498a864305f09', 'loadClassLoader'));
|
28 |
|
29 |
+
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
30 |
+
if ($useStaticLoader) {
|
31 |
+
require_once __DIR__ . '/autoload_static.php';
|
|
|
32 |
|
33 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit1860e4a353d6520807d498a864305f09::getInitializer($loader));
|
34 |
+
} else {
|
35 |
+
$map = require __DIR__ . '/autoload_namespaces.php';
|
36 |
+
foreach ($map as $namespace => $path) {
|
37 |
+
$loader->set($namespace, $path);
|
38 |
+
}
|
39 |
|
40 |
+
$map = require __DIR__ . '/autoload_psr4.php';
|
41 |
+
foreach ($map as $namespace => $path) {
|
42 |
+
$loader->setPsr4($namespace, $path);
|
43 |
+
}
|
44 |
+
|
45 |
+
$classMap = require __DIR__ . '/autoload_classmap.php';
|
46 |
+
if ($classMap) {
|
47 |
+
$loader->addClassMap($classMap);
|
48 |
+
}
|
49 |
}
|
50 |
|
51 |
$loader->register(true);
|
52 |
|
53 |
+
if ($useStaticLoader) {
|
54 |
+
$includeFiles = Composer\Autoload\ComposerStaticInit1860e4a353d6520807d498a864305f09::$files;
|
55 |
+
} else {
|
56 |
+
$includeFiles = require __DIR__ . '/autoload_files.php';
|
57 |
+
}
|
58 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
59 |
+
composerRequire1860e4a353d6520807d498a864305f09($fileIdentifier, $file);
|
60 |
}
|
61 |
|
62 |
return $loader;
|
63 |
}
|
64 |
}
|
65 |
|
66 |
+
function composerRequire1860e4a353d6520807d498a864305f09($fileIdentifier, $file)
|
67 |
{
|
68 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
69 |
require $file;
|
src/vendor/composer/autoload_static.php
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload_static.php @generated by Composer
|
4 |
+
|
5 |
+
namespace Composer\Autoload;
|
6 |
+
|
7 |
+
class ComposerStaticInit1860e4a353d6520807d498a864305f09
|
8 |
+
{
|
9 |
+
public static $files = array (
|
10 |
+
'5255c38a0faeba867671b61dfda6d864' => __DIR__ . '/..' . '/paragonie/random_compat/lib/random.php',
|
11 |
+
);
|
12 |
+
|
13 |
+
public static $classMap = array (
|
14 |
+
'Defuse\\Crypto\\Core' => __DIR__ . '/..' . '/defuse/php-encryption/src/Core.php',
|
15 |
+
'Defuse\\Crypto\\Crypto' => __DIR__ . '/..' . '/defuse/php-encryption/src/Crypto.php',
|
16 |
+
'Defuse\\Crypto\\DerivedKeys' => __DIR__ . '/..' . '/defuse/php-encryption/src/DerivedKeys.php',
|
17 |
+
'Defuse\\Crypto\\Encoding' => __DIR__ . '/..' . '/defuse/php-encryption/src/Encoding.php',
|
18 |
+
'Defuse\\Crypto\\Exception\\BadFormatException' => __DIR__ . '/..' . '/defuse/php-encryption/src/Exception/BadFormatException.php',
|
19 |
+
'Defuse\\Crypto\\Exception\\CryptoException' => __DIR__ . '/..' . '/defuse/php-encryption/src/Exception/CryptoException.php',
|
20 |
+
'Defuse\\Crypto\\Exception\\EnvironmentIsBrokenException' => __DIR__ . '/..' . '/defuse/php-encryption/src/Exception/EnvironmentIsBrokenException.php',
|
21 |
+
'Defuse\\Crypto\\Exception\\IOException' => __DIR__ . '/..' . '/defuse/php-encryption/src/Exception/IOException.php',
|
22 |
+
'Defuse\\Crypto\\Exception\\WrongKeyOrModifiedCiphertextException' => __DIR__ . '/..' . '/defuse/php-encryption/src/Exception/WrongKeyOrModifiedCiphertextException.php',
|
23 |
+
'Defuse\\Crypto\\File' => __DIR__ . '/..' . '/defuse/php-encryption/src/File.php',
|
24 |
+
'Defuse\\Crypto\\Key' => __DIR__ . '/..' . '/defuse/php-encryption/src/Key.php',
|
25 |
+
'Defuse\\Crypto\\KeyOrPassword' => __DIR__ . '/..' . '/defuse/php-encryption/src/KeyOrPassword.php',
|
26 |
+
'Defuse\\Crypto\\KeyProtectedByPassword' => __DIR__ . '/..' . '/defuse/php-encryption/src/KeyProtectedByPassword.php',
|
27 |
+
'Defuse\\Crypto\\RuntimeTests' => __DIR__ . '/..' . '/defuse/php-encryption/src/RuntimeTests.php',
|
28 |
+
);
|
29 |
+
|
30 |
+
public static function getInitializer(ClassLoader $loader)
|
31 |
+
{
|
32 |
+
return \Closure::bind(function () use ($loader) {
|
33 |
+
$loader->classMap = ComposerStaticInit1860e4a353d6520807d498a864305f09::$classMap;
|
34 |
+
|
35 |
+
}, null, ClassLoader::class);
|
36 |
+
}
|
37 |
+
}
|
src/vendor/composer/installed.json
CHANGED
@@ -1,54 +1,4 @@
|
|
1 |
[
|
2 |
-
{
|
3 |
-
"name": "paragonie/random_compat",
|
4 |
-
"version": "v2.0.10",
|
5 |
-
"version_normalized": "2.0.10.0",
|
6 |
-
"source": {
|
7 |
-
"type": "git",
|
8 |
-
"url": "https://github.com/paragonie/random_compat.git",
|
9 |
-
"reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d"
|
10 |
-
},
|
11 |
-
"dist": {
|
12 |
-
"type": "zip",
|
13 |
-
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d",
|
14 |
-
"reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d",
|
15 |
-
"shasum": ""
|
16 |
-
},
|
17 |
-
"require": {
|
18 |
-
"php": ">=5.2.0"
|
19 |
-
},
|
20 |
-
"require-dev": {
|
21 |
-
"phpunit/phpunit": "4.*|5.*"
|
22 |
-
},
|
23 |
-
"suggest": {
|
24 |
-
"ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
|
25 |
-
},
|
26 |
-
"time": "2017-03-13 16:27:32",
|
27 |
-
"type": "library",
|
28 |
-
"installation-source": "dist",
|
29 |
-
"autoload": {
|
30 |
-
"files": [
|
31 |
-
"lib/random.php"
|
32 |
-
]
|
33 |
-
},
|
34 |
-
"notification-url": "https://packagist.org/downloads/",
|
35 |
-
"license": [
|
36 |
-
"MIT"
|
37 |
-
],
|
38 |
-
"authors": [
|
39 |
-
{
|
40 |
-
"name": "Paragon Initiative Enterprises",
|
41 |
-
"email": "security@paragonie.com",
|
42 |
-
"homepage": "https://paragonie.com"
|
43 |
-
}
|
44 |
-
],
|
45 |
-
"description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
|
46 |
-
"keywords": [
|
47 |
-
"csprng",
|
48 |
-
"pseudorandom",
|
49 |
-
"random"
|
50 |
-
]
|
51 |
-
},
|
52 |
{
|
53 |
"name": "defuse/php-encryption",
|
54 |
"version": "2.0.3",
|
@@ -72,7 +22,7 @@
|
|
72 |
"require-dev": {
|
73 |
"nikic/php-parser": "^2.0"
|
74 |
},
|
75 |
-
"time": "2016-10-
|
76 |
"type": "library",
|
77 |
"installation-source": "dist",
|
78 |
"autoload": {
|
@@ -109,5 +59,55 @@
|
|
109 |
"security",
|
110 |
"symmetric key cryptography"
|
111 |
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
}
|
113 |
]
|
1 |
[
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
{
|
3 |
"name": "defuse/php-encryption",
|
4 |
"version": "2.0.3",
|
22 |
"require-dev": {
|
23 |
"nikic/php-parser": "^2.0"
|
24 |
},
|
25 |
+
"time": "2016-10-10T15:20:26+00:00",
|
26 |
"type": "library",
|
27 |
"installation-source": "dist",
|
28 |
"autoload": {
|
59 |
"security",
|
60 |
"symmetric key cryptography"
|
61 |
]
|
62 |
+
},
|
63 |
+
{
|
64 |
+
"name": "paragonie/random_compat",
|
65 |
+
"version": "v2.0.10",
|
66 |
+
"version_normalized": "2.0.10.0",
|
67 |
+
"source": {
|
68 |
+
"type": "git",
|
69 |
+
"url": "https://github.com/paragonie/random_compat.git",
|
70 |
+
"reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d"
|
71 |
+
},
|
72 |
+
"dist": {
|
73 |
+
"type": "zip",
|
74 |
+
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d",
|
75 |
+
"reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d",
|
76 |
+
"shasum": ""
|
77 |
+
},
|
78 |
+
"require": {
|
79 |
+
"php": ">=5.2.0"
|
80 |
+
},
|
81 |
+
"require-dev": {
|
82 |
+
"phpunit/phpunit": "4.*|5.*"
|
83 |
+
},
|
84 |
+
"suggest": {
|
85 |
+
"ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
|
86 |
+
},
|
87 |
+
"time": "2017-03-13T16:27:32+00:00",
|
88 |
+
"type": "library",
|
89 |
+
"installation-source": "dist",
|
90 |
+
"autoload": {
|
91 |
+
"files": [
|
92 |
+
"lib/random.php"
|
93 |
+
]
|
94 |
+
},
|
95 |
+
"notification-url": "https://packagist.org/downloads/",
|
96 |
+
"license": [
|
97 |
+
"MIT"
|
98 |
+
],
|
99 |
+
"authors": [
|
100 |
+
{
|
101 |
+
"name": "Paragon Initiative Enterprises",
|
102 |
+
"email": "security@paragonie.com",
|
103 |
+
"homepage": "https://paragonie.com"
|
104 |
+
}
|
105 |
+
],
|
106 |
+
"description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
|
107 |
+
"keywords": [
|
108 |
+
"csprng",
|
109 |
+
"pseudorandom",
|
110 |
+
"random"
|
111 |
+
]
|
112 |
}
|
113 |
]
|