mirror of
				https://github.com/getgrav/grav-plugin-admin.git
				synced 2025-10-31 02:16:26 +01:00 
			
		
		
		
	Added some debugging messages (turned off by default)
This commit is contained in:
		| @@ -5,6 +5,7 @@ namespace Grav\Plugin\Admin; | ||||
| use DateTime; | ||||
| use Grav\Common\Data; | ||||
| use Grav\Common\Data\Data as GravData; | ||||
| use Grav\Common\Debugger; | ||||
| use Grav\Common\File\CompiledYamlFile; | ||||
| use Grav\Common\Flex\Users\UserObject; | ||||
| use Grav\Common\GPM\GPM; | ||||
| @@ -52,8 +53,9 @@ define('LOGIN_REDIRECT_COOKIE', 'grav-login-redirect'); | ||||
|  | ||||
| class Admin | ||||
| { | ||||
|     const MEDIA_PAGINATION_INTERVAL = 20; | ||||
|     const TMP_COOKIE_NAME = 'tmp-admin-message'; | ||||
|     public const DEBUG = 1; | ||||
|     public const MEDIA_PAGINATION_INTERVAL = 20; | ||||
|     public const TMP_COOKIE_NAME = 'tmp-admin-message'; | ||||
|  | ||||
|     /** @var Grav */ | ||||
|     public $grav; | ||||
| @@ -182,6 +184,17 @@ class Admin | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @param string $message | ||||
|      * @param array $data | ||||
|      */ | ||||
|     public static function addDebugMessage(string $message, $data = []) | ||||
|     { | ||||
|         /** @var Debugger $debugger */ | ||||
|         $debugger = Grav::instance()['debugger']; | ||||
|         $debugger->addMessage($message, 'debug', $data); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Return the languages available in the admin | ||||
|      * | ||||
| @@ -400,6 +413,8 @@ class Admin | ||||
|             return; | ||||
|         } | ||||
|  | ||||
|         Admin::DEBUG && Admin::addDebugMessage("Admin redirect: {$redirectCode} {$redirect}"); | ||||
|  | ||||
|         $redirect = '/' . ltrim(preg_replace('`//+`', '/', $redirect), '/'); | ||||
|         $base = $this->base; | ||||
|         $root = Grav::instance()['uri']->rootUrl(); | ||||
| @@ -536,11 +551,15 @@ class Admin | ||||
|  | ||||
|         // Check rate limit for both IP and user, but allow each IP a single try even if user is already rate limited. | ||||
|         if ($rateLimiter->isRateLimited($ipKey, 'ip') || ($attempts && $rateLimiter->isRateLimited($userKey))) { | ||||
|             Admin::DEBUG && Admin::addDebugMessage('Admin login: rate limit, redirecting', $credentials); | ||||
|  | ||||
|             $this->setMessage(static::translate(['PLUGIN_LOGIN.TOO_MANY_LOGIN_ATTEMPTS', $rateLimiter->getInterval()]), 'error'); | ||||
|  | ||||
|             $this->grav->redirect('/'); | ||||
|         } | ||||
|  | ||||
|         Admin::DEBUG && Admin::addDebugMessage('Admin login', $credentials); | ||||
|  | ||||
|         // Fire Login process. | ||||
|         $event = $login->login( | ||||
|             $credentials, | ||||
| @@ -549,6 +568,8 @@ class Admin | ||||
|         ); | ||||
|         $user = $event->getUser(); | ||||
|  | ||||
|         Admin::DEBUG && Admin::addDebugMessage('Admin login: user', $user); | ||||
|  | ||||
|         if ($user->authenticated) { | ||||
|             $rateLimiter->resetRateLimit($ipKey, 'ip')->resetRateLimit($userKey); | ||||
|             if ($user->authorized) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user