X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=DataObjects%2FCore_person.php;h=a31a60a6704cad556aa74db1a011360278ec7837;hb=14bff917b1d1497e8934dc0ed125ed7bb9a87176;hp=b8f53218198aa414fa4e4a01e90577fe70c07423;hpb=b9129b1f0103d2d96afe28f659080f66ccb091f5;p=Pman.Core diff --git a/DataObjects/Core_person.php b/DataObjects/Core_person.php index b8f53218..a31a60a6 100644 --- a/DataObjects/Core_person.php +++ b/DataObjects/Core_person.php @@ -306,16 +306,20 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject if (!empty($ff->Pman['local_autoauth']) && $ff->Pman['local_autoauth'] === true) { $auto_auth_allow = true; } - if ( - (!empty($_SERVER['SERVER_ADDR'])) && + if ( !empty($ff->Pman['local_autoauth']) + && + !empty($_SERVER['SERVER_ADDR']) && + !empty($_SERVER['REMOTE_ADDR']) && ( - $_SERVER['SERVER_ADDR'] == '127.0.0.1' && - $_SERVER['REMOTE_ADDR'] == '127.0.0.1' - ) - || - ( - $_SERVER['SERVER_ADDR'] == '::1' && - $_SERVER['REMOTE_ADDR'] == '::1' + ( + $_SERVER['SERVER_ADDR'] == '127.0.0.1' && + $_SERVER['REMOTE_ADDR'] == '127.0.0.1' + ) + || + ( + $_SERVER['SERVER_ADDR'] == '::1' && + $_SERVER['REMOTE_ADDR'] == '::1' + ) ) ){ @@ -323,7 +327,7 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject } - if (empty($_SERVER['PATH_INFO']) || $_SERVER['PATH_INFO'] == '/Login') { + if (empty($_SERVER['PATH_INFO']) || preg_match('#^(/Login$|/PasswordReset)#', $_SERVER['PATH_INFO'])) { $auto_auth_allow = false; } //var_dump($auto_auth_allow); @@ -349,11 +353,11 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject } //var_dump($ff->Pman['local_autoauth']); var_dump($_SERVER); exit; - $u = DB_DataObject::factory($this->tableName() + $u = DB_DataObject::factory($this->tableName()); $u->autoJoin(); $ff = HTML_FlexyFramework::get(); - if ($auto_auth_allow && + if ($auto_auth_allow && ($default_admin || $u->get('email', $ff->Pman['local_autoauth'])) ) { @@ -622,7 +626,8 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject if (!func_num_args()) { return $this->lang; } - $val = array_shift(func_get_args()); + $ar = func_get_args(); + $val = array_shift($ar); if ($val == $this->lang) { return; } @@ -689,7 +694,7 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject $aur['require_oath'] = 1; $s = DB_DataObject::Factory('core_setting'); - $oath_require = $s->lookup('core', 'two_factor_authentication_requirement'); + $oath_require = $s->lookup('core', 'two_factor_auth_required'); $aur['require_oath'] = $oath_require ? $oath_require->val : 0; return $aur; @@ -1487,4 +1492,23 @@ class Pman_Core_DataObjects_Core_person extends DB_DataObject return "data:image/png;base64,{$base64}"; } + static function test_ADMIN_PASSWORD_RESET($pg, $to) + { + $ff = HTML_FlexyFramework::get(); + $person = DB_DataObject::Factory('core_person'); + $person->id = -1; + + return array( + 'HTTP_HOST' => $_SERVER['SERVER_NAME'], + 'person' => $person, + 'authFrom' => 'FAKE_LINK', + 'authKey' => 'FAKE_KEY', + + 'rcpts' => $to->email, + ); + + return $content; + } + + }