<?php
  session_start();
  
  function doAction($user, $pass, $akcja)
  {
    if(!($db = mysqli_connect("localhost", "php", "test")) || !mysqli_select_db($db, "testphp")){
      $_SESSION['komunikat'] = "Problem z połączeniem z bazą danych.";
      return false;
    }

    $user = mysqli_real_escape_string($db, $user);
    $pass = mysqli_real_escape_string($db, $pass);

    $query = "SELECT COUNT(*) FROM USERS WHERE nazwa = '$user'";
    
    if(!$result = mysqli_query($db, $query)){
      $_SESSION['komunikat'] = "Problem z bazą danych. Odrzucone zapytanie. (1)";
      mysqli_close($db);
      return false;
    }

    if(!$row = mysqli_fetch_row($result)){
      $_SESSION['komunikat'] = "Problem z bazą danych. Odrzucone zapytanie. (2)";
      mysqli_close($db);
      return false;
    }

    if($akcja == "add"){
      if($row[0] != 0){
        echo("Użytkownik o podanej nazwie już istnieje!");
      }
      else{
        $query = "INSERT INTO USERS(nazwa, haslo) VALUES('";
        $query .= $user."', '".$pass."')";
        $result = mysqli_query($db, $query);
        if(!$result){
          $_SESSION['komunikat'] = "Problem z bazą danych. Odrzucone zapytanie. (3)";
        }
        else{
          $_SESSION['komunikat'] = "Użytkownik $user został dodany do bazy.";
        }
      }
    }
    else if ($akcja == "remove"){
      if($row[0] != 1){
        $_SESSION['komunikat'] = "Nie ma użytkownika o podanej nazwie!";
      }
      else{
        $query = "DELETE FROM USERS WHERE nazwa='".$user."'";
        $result = mysqli_query($db, $query);
        if(!$result){
          $_SESSION['komunikat'] = "Problem z bazą danych. Odrzucone zapytanie. (4)";
        }
        else{
          $_SESSION['komunikat'] = "Użytkownik $user został usunięty z bazy.";
        }
      }
    }
    else if ($akcja == "modify"){
      if($row[0] != 1){
        $_SESSION['komunikat'] = "Nie ma użytkownika o podanej nazwie!";
      }
      else{
        $query = "UPDATE USERS SET haslo='$pass' WHERE nazwa='$user'";
        $result = mysqli_query($db, $query);
        if(!$result){
          $_SESSION['komunikat'] = "Problem z bazą danych. Odrzucone zapytanie. (5)";
        }
        else{
          $_SESSION['komunikat'] = "Dane użytkownika $user zostały zmodyfikowane.";
        }
      }
    }
    else{
      $_SESSION['komunikat'] = "Błędne dane: akcja=$akcja";
      return false;
    }
    mysqli_close($db);
  }

  if(isset($_POST["haslo"])){
    $pass = $_POST["haslo"];
  }
  else{
    $_SESSION['komunikat'] = "Brak pola hasło.";
    header('Location: passmanager.php');
    exit();
  }

  if(isset($_POST["user"])){
    $user = $_POST["user"];
  }
  else{
    $_SESSION['komunikat'] = "Brak pola użytkownik.";
    header('Location: passmanager.php');
    exit();
  }

  if(isset($_POST["akcja"])){
    $akcja = $_POST["akcja"];
  }
  else{
    $_SESSION['komunikat'] = "Brak pola akcja.";
    header('Location: passmanager.php');
    exit();
  }

  if($pass == "" && $akcja != "remove"){
    $_SESSION['komunikat'] = "Brak hasła!";
    header('Location: passmanager.php');
    exit;
  }
  if($user == ""){
    $_SESSION['komunikat'] = "Brak nazwy użytkownika!";
    header('Location: passmanager.php');
    exit;
  }

  doAction($user, $pass, $akcja);
  header('Location: passmanager.php');
?>
