You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			80 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			PHP
		
	
			
		
		
	
	
			80 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			PHP
		
	
<?php
 | 
						|
 | 
						|
include_once( 'includes/status_messages.php' );
 | 
						|
 | 
						|
function DisplayAuthConfig($username, $password){
 | 
						|
  $status = new StatusMessages();
 | 
						|
  if (isset($_POST['UpdateAdminPassword'])) {
 | 
						|
    if (CSRFValidate()) {
 | 
						|
      if (password_verify($_POST['oldpass'], $password)) {
 | 
						|
        $new_username=trim($_POST['username']);
 | 
						|
        if ($_POST['newpass'] !== $_POST['newpassagain']) {
 | 
						|
          $status->addMessage('New passwords do not match', 'danger');
 | 
						|
        } else if ($new_username == '') {
 | 
						|
          $status->addMessage('Username must not be empty', 'danger');
 | 
						|
        } else {
 | 
						|
          if (!file_exists(RASPI_ADMIN_DETAILS)) {
 | 
						|
              $tmpauth = fopen(RASPI_ADMIN_DETAILS, 'w');
 | 
						|
              fclose($tmpauth);
 | 
						|
          }
 | 
						|
 | 
						|
          if ($auth_file = fopen(RASPI_ADMIN_DETAILS, 'w')) {
 | 
						|
            fwrite($auth_file, $new_username.PHP_EOL);
 | 
						|
            fwrite($auth_file, password_hash($_POST['newpass'], PASSWORD_BCRYPT).PHP_EOL);
 | 
						|
            fclose($auth_file);
 | 
						|
            $username = $new_username;
 | 
						|
            $status->addMessage('Admin password updated');
 | 
						|
          } else {
 | 
						|
            $status->addMessage('Failed to update admin password', 'danger');
 | 
						|
          }
 | 
						|
        }
 | 
						|
      } else {
 | 
						|
        $status->addMessage('Old password does not match', 'danger');
 | 
						|
      }
 | 
						|
    } else {
 | 
						|
      error_log('CSRF violation');
 | 
						|
    }
 | 
						|
  }
 | 
						|
?>
 | 
						|
  <div class="row">
 | 
						|
    <div class="col-lg-12">
 | 
						|
      <div class="panel panel-primary">
 | 
						|
        <div class="panel-heading"><i class="fa fa-lock fa-fw"></i><?php echo _("Configure Auth"); ?></div>
 | 
						|
        <div class="panel-body">
 | 
						|
          <p><?php $status->showMessages(); ?></p>
 | 
						|
          <form role="form" action="?page=auth_conf" method="POST">
 | 
						|
            <?php CSRFToken() ?>
 | 
						|
            <div class="row">
 | 
						|
              <div class="form-group col-md-4">
 | 
						|
                <label for="username"><?php echo _("Username"); ?></label>
 | 
						|
                <input type="text" class="form-control" name="username" value="<?php echo htmlspecialchars($username, ENT_QUOTES); ?>"/>
 | 
						|
              </div>
 | 
						|
            </div>
 | 
						|
            <div class="row">
 | 
						|
              <div class="form-group col-md-4">
 | 
						|
                <label for="password"><?php echo _("Old password"); ?></label>
 | 
						|
                <input type="password" class="form-control" name="oldpass"/>
 | 
						|
              </div>
 | 
						|
            </div>
 | 
						|
            <div class="row">
 | 
						|
              <div class="form-group col-md-4">
 | 
						|
                <label for="password"><?php echo _("New password"); ?></label>
 | 
						|
                <input type="password" class="form-control" name="newpass"/>
 | 
						|
              </div>
 | 
						|
            </div>
 | 
						|
            <div class="row">
 | 
						|
              <div class="form-group col-md-4">
 | 
						|
                <label for="password"><?php echo _("Repeat new password"); ?></label>
 | 
						|
                <input type="password" class="form-control" name="newpassagain"/>
 | 
						|
              </div>
 | 
						|
            </div>
 | 
						|
            <input type="submit" class="btn btn-outline btn-primary" name="UpdateAdminPassword" value="<?php echo _("Save settings"); ?>" />
 | 
						|
          </form>
 | 
						|
        </div><!-- /.panel-body -->
 | 
						|
      </div><!-- /.panel-default -->
 | 
						|
    </div><!-- /.col-lg-12 -->
 | 
						|
  </div><!-- /.row -->
 | 
						|
<?php 
 | 
						|
}
 | 
						|
 |