private function checkPassword($uname, $login, $response, $login_type)
{
- $res = XDB::query('SELECT a.uid, a.password
- FROM accounts AS a
- INNER JOIN aliases AS l ON (l.uid = a.uid AND l.type != \'homonyme\')
- WHERE l.' . $login_type . ' = {?} AND a.state = \'active\'',
- $login);
+ if ($login_type == 'alias') {
+ $res = XDB::query('SELECT a.uid, a.password
+ FROM accounts AS a
+ INNER JOIN aliases AS l ON (l.uid = a.uid AND l.type != \'homonyme\')
+ WHERE l.alias = {?} AND a.state = \'active\'',
+ $login);
+ } else {
+ $res = XDB::query('SELECT uid, password
+ FROM accounts
+ WHERE ' . $login_type . ' = {?}',
+ $login);
+ }
if (list($uid, $password) = $res->fetchOneRow()) {
$expected_response = sha1("$uname:$password:" . S::v('challenge'));
/* Deprecates len(password) > 10 conversion. */
*/
if (S::suid()) {
$login = $uname = S::suid('uid');
+ $loginType = 'uid';
$redirect = false;
} else {
- $uname = Env::v('username');
- if (Env::v('domain') == "alias") {
+ $uname = Post::v('username');
+ if (Post::s('domain') == "alias") {
$res = XDB::query('SELECT redirect
FROM virtual
INNER JOIN virtual_redirect USING(vid)
} else {
$login = '';
}
+ $loginType = 'alias';
+ } else if (Post::s('domain') == "ax") {
+ $login = $uname;
+ $redirect = false;
+ $loginType = 'hruid';
} else {
$login = $uname;
$redirect = false;
+ $loginType = 'alias';
}
}
- $uid = $this->checkPassword($uname, $login, Post::v('response'), (!$redirect && is_numeric($uname)) ? 'uid' : 'alias');
+ $uid = $this->checkPassword($uname, $login, Post::v('response'), $loginType);
if (!is_null($uid) && S::suid()) {
if (S::suid('uid') == $uid) {
$uid = S::i('uid');
S::set('auth', AUTH_MDP);
if (!S::suid()) {
if (Post::has('domain')) {
- if (($domain = Post::v('domain', 'login')) == 'alias') {
+ $domain = Post::v('domain', 'login');
+ if ($domain == 'alias') {
Cookie::set('domain', 'alias', 300);
+ } else if ($domain == 'ax') {
+ Cookie::set('domain', 'ax', 300);
} else {
Cookie::kill('domain');
}
</th>
</tr>
<tr>
- <td class="titre">Nom complet</td>
+ <td class="titre">Nom complet<br />
+ <span class="smaller">Prénom NOM</span>
+ </br></td>
<td>{if $hasProfile}{$user->fullName()}{else}<input type="text" name="full_name" maxlength="255" value="{$user->fullName()}" />{/if}</td>
</tr>
<tr>
- <td class="titre">Nom annuaire</td>
+ <td class="titre">Nom annuaire<br />
+ <span class="smaller">NOM Prénom</span>
+ </td>
<td>{if $hasProfile}{$user->directoryName()}{else}<input type="text" name="directory_name" maxlength="255" value="{$user->directoryName()}" />{/if}</td>
</tr>
<tr>
</tr>
<tr style="white-space: nowrap">
<td class="titre">
- Adresse email :
+ Identifiant :
</td>
<td>
- <input type="text" name="username" size="20" maxlength="50" value="{insert name="getUserName"}" /> @ <select name="domain">
- <option value="login">{#globals.mail.domain#} / {#globals.mail.domain2#}</option>
+ <input type="text" name="username" size="20" maxlength="50" value="{insert name="getUserName"}" />
+ <select name="domain">
+ <option value="login">@ {#globals.mail.domain#} / {#globals.mail.domain2#}</option>
<option value="alias" {if t($smarty.cookies.ORGdomain) eq "alias"}selected="selected"{/if}>
- {#globals.mail.alias_dom#} / {#globals.mail.alias_dom2#}
+ @ {#globals.mail.alias_dom#} / {#globals.mail.alias_dom2#}
+ </option>
+ <option value="ax" {if t($smarty.cookies.ORGdomain) eq "ax"}selected="selected"{/if}>
+ Identifiant
</option>
</select>
</td>