fix bug d'include de javascript lorsqu'on essaie de se logger depuis des pages comme...
[platal.git] / templates / javascript / do_challenge_response.js.tpl
CommitLineData
0337d704 1/***************************************************************************
50a40a33 2 * Copyright (C) 2003-2006 Polytechnique.org *
0337d704 3 * http://opensource.polytechnique.org/ *
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the Free Software *
17 * Foundation, Inc., *
18 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
19 ***************************************************************************/
20
cdfe0063 21document.write('<script language="javascript" src="{rel}/javascript/secure_hash.js.php"></script>');
46bde4d1 22
cdfe0063 23{literal}
0337d704 24function correctUserName() {
25 var u = document.forms.login.username;
26 // login with no space
27 if (u.value.indexOf(' ') < 0) return true;
28 var mots = u.value.split(' ');
29 // jean paul.du pont -> jean-paul.du-pont
30 if (u.value.indexOf('.') > 0) { u.value = mots.join('-'); return true; }
31 // jean dupont -> jean.dupont
32 if (mots.length == 2) { u.value = mots[0]+"."+mots[1]; return true; }
33 // jean dupont 2001 -> jean.dupont.2001
34 if (mots.length == 3 && mots[2] > 1920 && mots[2] < 3000) { u.value = mots.join('.'); return true; }
35 // jean de la vallee -> jean.de-la-vallee
36 if (mots[1].toUpperCase() == 'DE') { u.value = mots[0]+"."+mots.join('-').substr(mots[0].length+1); return true; }
37 // jean paul dupont -> jean-paul.dupont
38 if (mots.length == 3 && mots[0].toUpperCase() == 'JEAN') { u.value = mots[0]+"-"+mots[1]+"."+mots[2]; return true; }
39
40 alert('Ton email ne doit pas contenir de blanc.\nLe format standard est\n\nprenom.nom.promotion\n\nSi ton nom ou ton prenom est composé,\nsépare les mots par des -');
41
42 return false;
43}
44
45function doChallengeResponse() {
46
47 if (!correctUserName()) return false;
48
46bde4d1 49 var new_pass = hash_encrypt(document.forms.login.password.value);
50 var old_pass = MD5(document.forms.login.password.value);
51
0337d704 52 str = document.forms.login.username.value + ":" +
46bde4d1 53 new_pass + ":" +
0337d704 54 document.forms.loginsub.challenge.value;
55
46bde4d1 56 document.forms.loginsub.response.value = hash_encrypt(str);
57 document.forms.loginsub.xorpass.value = hash_xor(new_pass, old_pass);
0337d704 58 document.forms.loginsub.username.value = document.forms.login.username.value;
59 document.forms.loginsub.remember.value = document.forms.login.remember.checked;
60 document.forms.loginsub.domain.value = document.forms.login.domain.value;
61 document.forms.login.password.value = "";
62 document.forms.loginsub.submit();
63
64}
cdfe0063 65{/literal}