Bonjour,

J'ai découvert l'application "Relay" (http://ecosmear.com/relay/), explorateur de fichier en PHP/AJAX/PERL, plutôt géniale à mon sens. C'est exactement ce dont j'ai besoin pour mes échanges de fichiers avec mes clients. Le problème (il en fallait bien un), c'est que j'ai testé sur ma version standalone (c'est pour ça que j'ai un doute) de IE6, et la page de login ne marche pas. J'ai un double redirection : redirection vers la page d'accueil (login réussi) et tout de suite après (1/2 seconde) reredirection vers la page de login. Sur IE7, pas de pb. Ca me suprend vraiment parce que ce bug n'est reporté nulle part sur le wiki des développeurs. J'ai essayé de les contacter mais le développement semble avoir cessé il y a un an.

En attendant, si quelqu'un a une "vraie" version de IE6 (pas la standalone), peut il tester ? Sur cette page de démo : http://ecosmear.com/relay/demo/

Si ce bug se vérifie, pitié si quelqu'un sait d'où ça peut venir ! voilà les codes qui semblent gérer le login sur index.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
	<script type="text/javascript">
		var url = 'relay.php';
		var mainsite = 'relay.html';
		var ajax = new Ajax.Request(url, {onSuccess: userLogin_handler, method: 'post', parameters: 'relay=checkLogin'});
 
		function userLogin(){
			var params = $H({ relay: 'userLogin', username: $('username').value, password: $('password').value });
 
			var ajax = new Ajax.Request(url,{
				onSuccess: userLogin_handler,
				method: 'post', 
				parameters: params.toQueryString()
			});
 
		}
 
		function userLogin_handler(response){      
			var json_data = response.responseText;
			eval("var jsonObject = ("+json_data+")");
			var status = jsonObject.bindings[0];
			//alert(json_data);
			//return false;
			if(status.login == 'true')
				document.location = mainsite;
			else if($('password').value != '') {
				$('warning').style.display="block";
				Effect.Shake('login');
			}
		}
		function submitenter(myfield,e) {
			var keycode;
			if (window.event) keycode = window.event.keyCode;
			else if (e) keycode = e.which;
			else return true;
 
			if (keycode == 13) {
			   userLogin();
			   return false;
			  }
			else return true;
		}
		window.onload = function() {
			Field.activate('username');
		}
	</script>
Et dans le fichier relay.js, inclut dans la page d'accueil après le login, on retrouve ce bout de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
windowLoader = function () {
	root = new Directory('', '', false, $('fileList'));
 
	root.getContents();
	getQuery('path');
 
	new UploadManager('fileUpload');
	cart = new Cart('cart');
 
	setInterval("updateAll(root)", 60000);
	search = new Search('searcharea');
	//Field.activate('searchbar');
 
	var ajax = new Ajax.Request('relay.php', {onSuccess: userLogin_handler_check, method: 'post', parameters: 'relay=checkLogin'});
}
 
function userLogin_handler_check(response){      
	var json_data = response.responseText;
	eval("var jsonObject = ("+json_data+")");
	var status = jsonObject.bindings[0];
	if(status.login != 'true'){		
		document.location = "index.php";
	}
}
 
window.onload = windowLoader;
MErci d'avance pour ceux qui peuvent tester et ceux peuvent éventuellement débuguer !