From 26710f262e777ca3245ae5d3d0ad3d5c39356061 Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Fri, 26 Jun 2020 09:39:41 -0400 Subject: [PATCH] Minor updates to Tfa class --- wire/core/Tfa.php | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/wire/core/Tfa.php b/wire/core/Tfa.php index beb00978..344fcb16 100644 --- a/wire/core/Tfa.php +++ b/wire/core/Tfa.php @@ -207,7 +207,7 @@ class Tfa extends WireData implements Module, ConfigurableModule { * */ public function init() { - if($this->className() != 'Tfa') $this->initHooks(); + $this->initHooks(); } /** @@ -1192,9 +1192,13 @@ class Tfa extends WireData implements Module, ConfigurableModule { * */ protected function initHooks() { - $this->addHookBefore('InputfieldForm::render', $this, 'hookInputfieldFormRender'); - $this->addHookBefore('InputfieldForm::processInput', $this, 'hookBeforeInputfieldFormProcess'); - $this->addHookAfter('InputfieldForm::processInput', $this, 'hookAfterInputfieldFormProcess'); + if($this->className() === 'Tfa') { + $this->addHookBefore('InputfieldForm::render', $this, 'hookInputfieldFormRender'); + } else { + $this->addHookBefore('InputfieldForm::render', $this, 'hookInputfieldFormRender'); + $this->addHookBefore('InputfieldForm::processInput', $this, 'hookBeforeInputfieldFormProcess'); + $this->addHookAfter('InputfieldForm::processInput', $this, 'hookAfterInputfieldFormProcess'); + } } /** @@ -1319,7 +1323,7 @@ class Tfa extends WireData implements Module, ConfigurableModule { $inputfields = $event->object; // if form does not have a “tfa_type” field, then exit - $inputfield = $inputfields->getChildByName($this->userFieldName); + $inputfield = $inputfields->getChildByName($this->userFieldName); if(!$inputfield) return; /** @var InputfieldRadios $inputfield */ @@ -1877,14 +1881,11 @@ class RememberTfa extends Wire { public function ___getFingerprintArray() { $agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'noagent'; - - if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { - $fwip = $_SERVER['HTTP_X_FORWARDED_FOR']; - } else if(isset($_SERVER['HTTP_CLIENT_IP'])) { - $fwip = $_SERVER['HTTP_CLIENT_IP']; - } else { - $fwip = 'nofwip'; - } + + $fwip = ''; + if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $fwip .= $_SERVER['HTTP_X_FORWARDED_FOR']; + if(isset($_SERVER['HTTP_CLIENT_IP'])) $fwip .= ' ' . $_SERVER['HTTP_CLIENT_IP']; + if(empty($fwip)) $fwip = 'nofwip'; $fingerprints = array( 'agent' => $agent,