mirror of
https://github.com/getgrav/grav-plugin-admin.git
synced 2025-11-01 10:56:08 +01:00
Feature: Ability to Login with Email
Thanks to @gsumpster for https://github.com/getgrav/grav-plugin-admin/pull/685 * implemented email-login, close #674 * changed placeholder text * Fix Utils namespace thing * Drop use * Cleanup styling
This commit is contained in:
36
classes/utils.php
Normal file
36
classes/utils.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
namespace Grav\Plugin\Admin;
|
||||
|
||||
use Grav\Common\Grav;
|
||||
use Grav\Common\User\User;
|
||||
|
||||
/**
|
||||
* Admin utils class
|
||||
*
|
||||
* @license MIT
|
||||
*/
|
||||
class Utils
|
||||
{
|
||||
/**
|
||||
* Matches an email to a user
|
||||
*
|
||||
* @return User
|
||||
*/
|
||||
public static function findUserbyEmail($email)
|
||||
{
|
||||
$account_dir = Grav::instance()['locator']->findResource('account://');
|
||||
$files = array_diff(scandir($account_dir), ['.', '..']);
|
||||
|
||||
foreach ($files as $file) {
|
||||
if (strpos($file, '.yaml') !== false) {
|
||||
$user = User::load(trim(substr($file, 0, -5)));
|
||||
if ($user['email'] == $email) {
|
||||
return $user;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If a User with the provided email cannot be found, then load user with that email as the username
|
||||
return User::load($email);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user