35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
}
protected function getUserForLogin($login)
{
$champ_id = Config::getInstance()->get('champ_identifiant');
// Ne renvoie un membre que si celui-ci a le droit de se connecter
$query = 'SELECT id, %1$s AS login, passe AS password, secret_otp AS otp_secret
FROM membres AS m
INNER JOIN membres_categories AS mc ON mc.id = m.id_categorie
FROM membres
WHERE %1$s = ? AND mc.droit_connexion >= %2$d
LIMIT 1;';
$query = sprintf($query, $champ_id, Membres::DROIT_ACCES);
return $db->first($query, $login);
}
protected function getUserDataForSession($id)
{
return $this->db->first('SELECT m.*, c.droit_connexion, c.droit_wiki,
c.droit_membres, c.droit_compta, c.droit_config, c.droit_membres
FROM membres AS m
INNER JOIN membres_categories AS c ON m.id_categorie = c.id
WHERE m.id = ? LIMIT 1;', $id);
}
protected function storeRememberMeSelector($selector, $hash, \DateTime $expiry, $user_id)
{
return $this->db->insert('membres_sessions', [
'selecteur' => $selector,
'hash' => $hash,
'expire' => $expiry,
'id_membre' => $user_id,
]);
}
protected function expireRememberMeSelectors()
{
return $this->db->delete('membres_sessions', $this->db->where('expire', '<', new \DateTime));
}
protected function getRememberMeSelector($selector)
{
return $this->db->get('SELECT selecteur AS selector, hash,
id_membre AS user_id, m.passe AS user_password
FROM membres_sessions AS s
INNER JOIN membres AS m ON m.id = s.id_membre
WHERE s.selecteur = ? LIMIT 1;', $selector);
}
protected function deleteRememberMeSelector($selector)
{
|
|
<
|
|
|
|
|
|
|
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
}
protected function getUserForLogin($login)
{
$champ_id = Config::getInstance()->get('champ_identifiant');
// Ne renvoie un membre que si celui-ci a le droit de se connecter
$query = 'SELECT m.id, m.%1$s AS login, m.passe AS password, m.secret_otp AS otp_secret
FROM membres AS m
INNER JOIN membres_categories AS mc ON mc.id = m.id_categorie
WHERE m.%1$s = ? AND mc.droit_connexion >= %2$d
LIMIT 1;';
$query = sprintf($query, $champ_id, Membres::DROIT_ACCES);
return $this->db->first($query, $login);
}
protected function getUserDataForSession($id)
{
return $this->db->first('SELECT m.*, c.droit_connexion, c.droit_wiki,
c.droit_membres, c.droit_compta, c.droit_config, c.droit_membres
FROM membres AS m
INNER JOIN membres_categories AS c ON m.id_categorie = c.id
WHERE m.id = ? LIMIT 1;', $id);
}
protected function storeRememberMeSelector($selector, $hash, $expiry, $user_id)
{
return $this->db->insert('membres_sessions', [
'selecteur' => $selector,
'hash' => $hash,
'expire' => $expiry,
'id_membre' => $user_id,
]);
}
protected function expireRememberMeSelectors()
{
return $this->db->delete('membres_sessions', $this->db->where('expire', '<', time()));
}
protected function getRememberMeSelector($selector)
{
return $this->db->first('SELECT selecteur AS selector, hash,
id_membre AS user_id, m.passe AS user_password, expire AS expiry
FROM membres_sessions AS s
INNER JOIN membres AS m ON m.id = s.id_membre
WHERE s.selecteur = ? LIMIT 1;', $selector);
}
protected function deleteRememberMeSelector($selector)
{
|