47 lines
1.1 KiB
PHP
47 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Blog\Model;
|
|
|
|
use Blog\Model\Database;
|
|
use PDOException;
|
|
use Random\RandomException;
|
|
|
|
class UserModel extends Database
|
|
{
|
|
/**
|
|
* @throws RandomException
|
|
*/
|
|
public function createUser($values)
|
|
{
|
|
|
|
$salt = bin2hex(random_bytes(16));
|
|
|
|
$hash = hash('sha256', $values["password"] . $salt);
|
|
|
|
$guid = $this->createUUID();
|
|
|
|
$pdo = $this->linkDB();
|
|
|
|
$sql = "INSERT INTO users (`id`,`vorname`,`name`,`email`,`passwort`,`salt`,`role`)
|
|
VALUES (:guid, :name, :lastname, :email, :password, :salt, :role)";
|
|
|
|
try {
|
|
$sth = $pdo->prepare($sql);
|
|
$sth->execute(array
|
|
(":guid" => $guid,
|
|
(":name") => $values["name"],
|
|
":lastname" => $values["lastname"],
|
|
":email" => $values["email"],
|
|
":password" => $hash,
|
|
":salt" => $salt,
|
|
":role" => $values["role"]
|
|
));
|
|
} catch (PDOException $e) {
|
|
new \Blog\Library\ErrorMsg("Fehler beim Schreiben der Daten.", $e);
|
|
die;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
} |