<commit_before><?php

include_once("functions.inc");

if(!isset($_SESSION['admin'])) header('Location: login.php');

$failed = 0;

if(isset($_POST['sent']) && csrf_validate($_POST['csrf'])) {

	$newname = $_POST['name'];
	$newlogin = $_POST['login']; 
	$newpass = $_POST['pass'];
	
	$link = mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_BASE);
	
	$newname = mysqli_real_escape_string($link, $newname);
	$newlogin = mysqli_real_escape_string($link, $newlogin);
	
	$newpass = mysqli_real_escape_string($link, $newpass);
	if(strlen($newpass) < 8) $failed = 1;
	$newpass = <PASSWORD>("<PASSWORD>", $newpass);
	
	$test = mysqli_query($link, "SELECT * FROM users WHERE login = '$newlogin'");
	if($test->num_rows > 0 || $failed) $failed = 1;
	
	else {

		mysqli_query($link, "INSERT INTO users (login, password, name) VALUES ('$newlogin','$newpass','$newname')");
		header("location: index.php?action=created");
	}
}

?>
<head>
<title>Nowy użytkownik - adminpanel</title>
<meta name="robots" content="nofollow, noindex">
</head>
<body style="text-align: center">
<h2>Wypełnij formularz, aby utworzyć nowe konto użytkownika!</h2>
<?php if($failed) echo "<h3 style='color: red'>Nie można utworzyć użytkownika. Sprawdź, czy login nie jest już w użyciu lub hasło nie jest krótsze niż 8 znaków.</h3>"; ?>
<div style="width: 60%; margin: 0 auto; font-size: 1.2em"><hr />
<form action=new.php method=post>
<input type=hidden name=csrf value="<?php echo $_SESSION['csrf']; ?>">
Login: <input type=text name=user required /><br/><br/>
Hasło: <input type=password name=pass required /><br/><br/>
Nazwa (imię): <input type=text name=name required /><br/><br/>
<input type=submit value="Utwórz użytkownika!" name=sent />
<br/><br/>
<a href="index.php">Anuluj operację!</a>
<hr/>
<img src="../img/watchdog.png" alt="Logo Watchdog" /><br/><br/>
</form>
</div>
</body>
<commit_msg>Fixed bug in new user mechanism<commit_after><?php

include_once("functions.inc");

if(!isset($_SESSION['admin'])) header('Location: login.php');

$failed = 0;

if(isset($_POST['sent']) && csrf_validate($_POST['csrf'])) {

	$newname = $_POST['name'];
	$newlogin = $_POST['user']; 
	$newpass = $_POST['pass'];
	
	$link = mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_BASE);
	
	$newname = mysqli_real_escape_string($link, $newname);
	$newlogin = mysqli_real_escape_string($link, $newlogin);
	
	$newpass = mysqli_real_escape_string($link, $newpass);
	if(strlen($newpass) < 8) $failed = 1;
	$newpass = hash("<PASSWORD>", $newpass);
	
	$test = mysqli_query($link, "SELECT * FROM users WHERE login = '$newlogin'");
	if($test->num_rows > 0 || $failed) $failed = 1;
	
	else {

		mysqli_query($link, "INSERT INTO users (login, password, name) VALUES ('$newlogin','$newpass','$newname')");
		header("location: index.php?action=created");
	}
}

?>
<head>
<title>Nowy użytkownik - adminpanel</title>
<meta name="robots" content="nofollow, noindex">
</head>
<body style="text-align: center">
<h2>Wypełnij formularz, aby utworzyć nowe konto użytkownika!</h2>
<?php if($failed) echo "<h3 style='color: red'>Nie można utworzyć użytkownika. Sprawdź, czy login nie jest już w użyciu lub hasło nie jest krótsze niż 8 znaków.</h3>"; ?>
<div style="width: 60%; margin: 0 auto; font-size: 1.2em"><hr />
<form action=new.php method=post>
<input type=hidden name=csrf value="<?php echo $_SESSION['csrf']; ?>">
Login: <input type=text name=user required /><br/><br/>
Hasło: <input type=password name=pass required /><br/><br/>
Nazwa (imię): <input type=text name=name required /><br/><br/>
<input type=submit value="Utwórz użytkownika!" name=sent />
<br/><br/>
<a href="index.php">Anuluj operację!</a>
<hr/>
<img src="../img/watchdog.png" alt="Logo Watchdog" /><br/><br/>
</form>
</div>
</body>

{'fraction_non_alphanumeric': 0.2042461703843053, 'fraction_numerical': 0.00806234883095942, 'mean_word_length': 6.049242424242424, 'pattern_counts': {'":': 0, '<': 84, '<?xml version=': 0, '>': 86, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6221027', 'n_tokens_mistral': 1473, 'n_tokens_neox': 1420, 'n_words': 317}