Inject WPFunctions to FieldNameObfuscator using DI
[MAILPOET-2665]
This commit is contained in:
committed by
Jack Kitterhing
parent
7d596e3407
commit
d0acad5c3b
@@ -68,6 +68,9 @@ class Subscribers extends APIEndpoint {
|
||||
/** @var SubscriptionUrlFactory */
|
||||
private $subscriptionUrlFactory;
|
||||
|
||||
/** @var FieldNameObfuscator */
|
||||
private $fieldNameObfuscator;
|
||||
|
||||
public function __construct(
|
||||
Listing\BulkActionController $bulkActionController,
|
||||
SubscribersListings $subscribersListings,
|
||||
@@ -79,7 +82,8 @@ class Subscribers extends APIEndpoint {
|
||||
SettingsController $settings,
|
||||
CaptchaSession $captchaSession,
|
||||
ConfirmationEmailMailer $confirmationEmailMailer,
|
||||
SubscriptionUrlFactory $subscriptionUrlFactory
|
||||
SubscriptionUrlFactory $subscriptionUrlFactory,
|
||||
FieldNameObfuscator $fieldNameObfuscator
|
||||
) {
|
||||
$this->bulkActionController = $bulkActionController;
|
||||
$this->subscribersListings = $subscribersListings;
|
||||
@@ -92,6 +96,7 @@ class Subscribers extends APIEndpoint {
|
||||
$this->captchaSession = $captchaSession;
|
||||
$this->confirmationEmailMailer = $confirmationEmailMailer;
|
||||
$this->subscriptionUrlFactory = $subscriptionUrlFactory;
|
||||
$this->fieldNameObfuscator = $fieldNameObfuscator;
|
||||
}
|
||||
|
||||
public function get($data = []) {
|
||||
@@ -271,8 +276,7 @@ class Subscribers extends APIEndpoint {
|
||||
}
|
||||
|
||||
private function deobfuscateFormPayload($data) {
|
||||
$obfuscator = new FieldNameObfuscator();
|
||||
return $obfuscator->deobfuscateFormPayload($data);
|
||||
return $this->fieldNameObfuscator->deobfuscateFormPayload($data);
|
||||
}
|
||||
|
||||
private function validateCaptcha($captchaSettings, $data) {
|
||||
|
@@ -9,9 +9,16 @@ class FieldNameObfuscator {
|
||||
const OBFUSCATED_FIELD_PREFIX = 'form_field_';
|
||||
const HASH_LENGTH = 12;
|
||||
|
||||
/** @var WPFunctions */
|
||||
private $wp;
|
||||
|
||||
public function __construct(WPFunctions $wp) {
|
||||
$this->wp = $wp;
|
||||
}
|
||||
|
||||
public function obfuscate($name) {
|
||||
$authKey = defined('AUTH_KEY') ? AUTH_KEY : '';
|
||||
$hash = substr(md5($authKey . WPFunctions::get()->homeUrl() . $name), 0, self::HASH_LENGTH);
|
||||
$hash = substr(md5($authKey . $this->wp->homeUrl() . $name), 0, self::HASH_LENGTH);
|
||||
return self::OBFUSCATED_FIELD_PREFIX . base64_encode($hash . '_' . $name);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user