All checks were successful
		
		
	
	Build and push / Pulling repo on server (push) Successful in 3s
				
		
			
				
	
	
		
			99 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| class Login extends Page {
 | |
| 
 | |
|     function setMenu()
 | |
|     {
 | |
|         if($_SESSION['user'])
 | |
|         {
 | |
|             $this->menu_text = $_SESSION['userid'];
 | |
|         }
 | |
|         else
 | |
|             $this->menu_text = 'Login';
 | |
|         $this->menu_image = 'far fa-user';
 | |
|         $this->menu_priority = 99;
 | |
|     }
 | |
| 
 | |
|     function setSubmenu()
 | |
|     {
 | |
|         if($_SESSION['user'])
 | |
|         {
 | |
|             $this->addSubmenuItem('Settings', '/settings', 'fas fa-cog');
 | |
|             $this->addSubmenuItem('Logout', '/login/logout', 'fas fa-sign-out-alt', 'bg-red-500');
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     
 | |
| 
 | |
|     function index()
 | |
|     {
 | |
|         
 | |
|         $this->set('template', 'login.html');
 | |
|         //return print_r($_REQUEST, true);
 | |
|     }
 | |
| 
 | |
|     function test()
 | |
|     {
 | |
|         return nl2br(print_r([
 | |
|             'uuid' => gen_ulid(),
 | |
|             'timestamp' => ulid_to_timestamp("01HD9XN98F8SGT01X527KBNHRN"),
 | |
|             'freshtime' => ulid_to_timestamp(gen_ulid())
 | |
|         ],true));
 | |
|     }
 | |
| 
 | |
|     function logout()
 | |
|     {
 | |
|         session_destroy();
 | |
|         $this->redirect('/');
 | |
|     }
 | |
| 
 | |
|     function validate()
 | |
|     {
 | |
|         $email = trim($_REQUEST['email']);
 | |
|         $password = trim($_REQUEST['password']);
 | |
|         $remember = $_REQUEST['remember'];
 | |
| 
 | |
|         $error = false;
 | |
| 
 | |
|         $u = new User();
 | |
| 
 | |
|         if(!$email || !$password)
 | |
|             $error = 'Bitte gib deine E-Mail-Adresse und dein Passwort ein';
 | |
|         else if(!filter_var($email, FILTER_VALIDATE_EMAIL))
 | |
|             $error = 'Bitte gib eine gültige E-Mail-Adresse ein';
 | |
|         else if(!$u->exists($email))
 | |
|             $error = 'Benutzer nicht gefunden. Schon registriert?';
 | |
|         else {
 | |
|             
 | |
|             try{
 | |
|                 $u->load($email);
 | |
|             }
 | |
|             catch(Exception $e){
 | |
|                 $error = $e->getMessage();
 | |
|             }
 | |
|             if(!password_verify($password, $u->data['password']))
 | |
|                 $error = 'E-Mail-Adresse oder Passwort falsch';
 | |
|             else if($u->data['active'] == 0)
 | |
|                 $error = 'Dein Account ist noch nicht aktiviert';
 | |
|             else
 | |
|             {
 | |
|                 $u->login();
 | |
|                 if($_SERVER['HTTP_HX_CURRENT_URL'] && !endsWith($_SERVER['HTTP_HX_CURRENT_URL'],'/login'))
 | |
|                     $this->redirect($_SERVER['HTTP_HX_CURRENT_URL']);
 | |
|                 else
 | |
|                     $this->redirect('/');
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         if($error)
 | |
|         {
 | |
|             $this->set('template', '/templates/partials/error.html');
 | |
|             $this->set('errorTitle', 'Error');
 | |
|             $this->set('errorMessage', $error);
 | |
|         }
 | |
|         
 | |
| 
 | |
|         //return print_r(['email'=>$email,'password'=>$password,'remember'=>$remember], true);
 | |
|     }
 | |
| 
 | |
| } |