Database refactoring and improving blog comments, blog post history and more
This commit is contained in:
@@ -28,7 +28,7 @@
|
||||
return;
|
||||
}
|
||||
|
||||
$encryptedPassword = $this->getPasswordHash($password, $logindata['original_name']);
|
||||
$encryptedPassword = $this->getPasswordHash($password, $logindata['originalName']);
|
||||
|
||||
if ($encryptedPassword == $logindata['password']) {
|
||||
$this->startLoginSession($logindata, $rememberMe);
|
||||
@@ -40,15 +40,15 @@
|
||||
public function getLoginData($username)
|
||||
{
|
||||
$this->db->cache_off();
|
||||
$return = $this->db->query('SELECT * FROM users WHERE (username = lower(?) OR email = lower(?)) AND is_activated = TRUE LIMIT 1',
|
||||
$return = $this->db->query('SELECT u.ID, u.username, u.displayname, u.originalName, u.email, u.rank, u.loginMethod, u.password, u.isDeleted, s.profilePicture, s.showAds FROM users u INNER JOIN user_settings s ON s.ID = u.ID WHERE (username = lower(?) OR email = lower(?)) AND activated = TRUE LIMIT 1',
|
||||
[htmlspecialchars($username, ENT_QUOTES), $username])->result_array();
|
||||
$this->db->cache_on();
|
||||
return $return;
|
||||
}
|
||||
|
||||
public function getPasswordHash($password, $original_name)
|
||||
public function getPasswordHash($password, $originalName)
|
||||
{
|
||||
$salt = md5($original_name);
|
||||
$salt = md5($originalName);
|
||||
$passwordHash = hash('sha256', $salt . $password . $salt);
|
||||
return $passwordHash;
|
||||
}
|
||||
@@ -80,7 +80,7 @@
|
||||
'displayname' => $displayname,
|
||||
'rank' => $rank,
|
||||
'showAds' => $ads,
|
||||
'profile_picture' => $avatar,
|
||||
'profilePicture' => $avatar,
|
||||
) = $logindata;
|
||||
|
||||
$this->session->set_userdata('user', [
|
||||
@@ -131,7 +131,7 @@
|
||||
|
||||
public function isAvailable($username)
|
||||
{
|
||||
$registered = $this->db->query('SELECT * FROM users WHERE username = lower(?) OR original_name = lower(?)', [$username, $username])->result_array();
|
||||
$registered = $this->db->query('SELECT * FROM users WHERE username = lower(?) OR originalName = lower(?)', [$username, $username])->result_array();
|
||||
|
||||
if (empty($registered)) {
|
||||
return '';
|
||||
@@ -144,7 +144,7 @@
|
||||
{
|
||||
$encryptedPassword = $this->LoginModel->getPasswordHash($password, strtolower($username));
|
||||
$activation_key = hash("sha512", uniqid(rand(), true)) . hash("sha512", uniqid(rand(), true));
|
||||
$this->db->query('INSERT INTO users (original_name, username, displayname, login_method, password, email, rank, is_activated, activation_key) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)', [strtolower($username), strtolower($username), $username, $login_method, $encryptedPassword, $email, 1, false, $activation_key]);
|
||||
$this->db->query('INSERT INTO users (originalName, username, displayname, login_method, password, email, rank, activated, activation_key) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)', [strtolower($username), strtolower($username), $username, $login_method, $encryptedPassword, $email, 1, false, $activation_key]);
|
||||
|
||||
$this->db->cache_delete('admin', 'users');
|
||||
|
||||
@@ -178,7 +178,7 @@
|
||||
|
||||
public function hashMailExists($emailHash, $activation_key)
|
||||
{
|
||||
$results = $this->db->query('SELECT ID FROM users WHERE MD5(email) = ? AND is_activated = 0 AND activation_key = ?', [$emailHash, $activation_key])->result_array();
|
||||
$results = $this->db->query('SELECT ID FROM users WHERE MD5(email) = ? AND activated = 0 AND activation_key = ?', [$emailHash, $activation_key])->result_array();
|
||||
if (!empty($results)) {
|
||||
return $results[0]['ID'];
|
||||
} else {
|
||||
@@ -188,7 +188,7 @@
|
||||
|
||||
public function activateMail($id)
|
||||
{
|
||||
$this->db->query('UPDATE users SET is_activated = 1, activation_key = NULL WHERE ID = ? LIMIT 1', [$id]);
|
||||
$this->db->query('UPDATE users SET activated = 1, activation_key = NULL WHERE ID = ? LIMIT 1', [$id]);
|
||||
|
||||
// Clear cached queries
|
||||
$username = $this->db->query('SELECT username FROM users WHERE ID = ?', [$id])->result_array();
|
||||
@@ -199,14 +199,14 @@
|
||||
public function changeMailAddress($email, $username)
|
||||
{
|
||||
$activation_key = hash("sha512", uniqid(rand(), true)) . hash("sha512", uniqid(rand(), true));
|
||||
$this->db->query('UPDATE users SET email = lower(?), is_activated = FALSE, activation_key = ? WHERE username = ?', [$email, $activation_key, $username]);
|
||||
$this->db->query('UPDATE users SET email = lower(?), activated = FALSE, activation_key = ? WHERE username = ?', [$email, $activation_key, $username]);
|
||||
$this->db->cache_delete('admin', 'users');
|
||||
}
|
||||
|
||||
public function changePassword($newPassword, $original_name)
|
||||
public function changePassword($newPassword, $originalName)
|
||||
{
|
||||
$encryptedPassword = $this->getPasswordHash($newPassword, $original_name);
|
||||
$this->db->query('UPDATE users SET password = ? WHERE original_name = ?', [$encryptedPassword, $original_name]);
|
||||
$encryptedPassword = $this->getPasswordHash($newPassword, $originalName);
|
||||
$this->db->query('UPDATE users SET password = ? WHERE originalName = ?', [$encryptedPassword, $originalName]);
|
||||
}
|
||||
|
||||
public function checkPassword($password)
|
||||
|
Reference in New Issue
Block a user