2025-04-07 13:21:35 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< ? php  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Combined  credentials  management  template 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Handles  both  password  changes  and  2 FA  management 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								?> 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< div  class = " container mt-4 " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < div  class = " row justify-content-center " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < div  class = " col-md-8 " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            <!--  Password  Management  --> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            < div  class = " card mb-4 " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                < div  class = " card-header " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    < h3 > change  password </ h3 > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                </ div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                < div  class = " card-body " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    < form  method = " post "  action = " ?page=credentials&item=password " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        < input  type = " hidden "  name = " csrf_token "  value = " <?php echo htmlspecialchars( $_SESSION['csrf_token'] ); ?> " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        < div  class = " form-group " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            < label  for = " current_password " > current  password </ label > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            < input  type = " password "  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                   class = " form-control "  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                   id = " current_password "  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                   name = " current_password "  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                   required > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        </ div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        < div  class = " form-group mt-3 " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            < label  for = " new_password " > new  password </ label > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            < input  type = " password "  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                   class = " form-control "  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                   id = " new_password "  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                   name = " new_password " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                   pattern = " . { 8,} " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                   title = " Password must be at least 8 characters long " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                   required > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            < small  class = " form-text text-muted " > minimum  8  characters </ small > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        </ div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        < div  class = " form-group mt-3 " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            < label  for = " confirm_password " > confirm  new  password </ label > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            < input  type = " password "  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                   class = " form-control "  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                   id = " confirm_password "  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                   name = " confirm_password " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                   pattern = " . { 8,} " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                   required > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        </ div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        < div  class = " mt-4 " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            < button  type = " submit "  class = " btn btn-primary " > change  password </ button > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        </ div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    </ form > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                </ div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            </ div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            <!--  2 FA  Management  --> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            < div  class = " card " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                < div  class = " card-header " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    < h3 > two - factor  authentication </ h3 > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                </ div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                < div  class = " card-body " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    < p  class = " mb-4 " > Two - factor  authentication  adds  an  extra  layer  of  security  to  your  account .  Once  enabled ,  you ' ll  need  to  enter  both  your  password  and  a  code  from  your  authenticator  app  when  signing  in .</ p > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    < ? php  if  ( $has2fa ) :  ?> 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        < div  class = " alert alert-success " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            < i  class = " fas fa-check-circle " ></ i >  two - factor  authentication  is  enabled 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        </ div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        < form  method = " post "  action = " ?page=credentials&item=2fa&action=disable " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            < input  type = " hidden "  name = " csrf_token "  value = " <?php echo htmlspecialchars( $_SESSION['csrf_token'] ); ?> " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            < button  type = " submit "  class = " btn btn-danger "  onclick = " return confirm('Are you sure you want to disable two-factor authentication? This will make your account less secure.') " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                disable  two - factor  authentication 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            </ button > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        </ form > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    < ? php  else :  ?> 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        < div  class = " alert alert-warning " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            < i  class = " fas fa-exclamation-triangle " ></ i >  two - factor  authentication  is  not  enabled 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        </ div > 
							 
						 
					
						
							
								
									
										
										
										
											2025-04-08 07:29:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                        < form  method = " post "  action = " ?page=credentials&item=2fa&action=setup " > 
							 
						 
					
						
							
								
									
										
										
										
											2025-04-07 13:21:35 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								                            < input  type = " hidden "  name = " csrf_token "  value = " <?php echo htmlspecialchars( $_SESSION['csrf_token'] ); ?> " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            < button  type = " submit "  class = " btn btn-primary " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                                set  up  two - factor  authentication 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            </ button > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        </ form > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    < ? php  endif ;  ?> 
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                </ div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            </ div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        </ div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    </ div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								</ div >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< script >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								document . getElementById ( 'confirm_password' ) . addEventListener ( 'input' ,  function ()  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( this . value  !==  document . getElementById ( 'new_password' ) . value )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        this . setCustomValidity ( 'Passwords do not match' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        this . setCustomValidity ( '' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}); </ script >