Au temps pour moi: j'avais pas (re)lu ton mail avec le lien vers la doc... :-S
J'ai modifié les fichiers common.php et login.php (ci-joints) pour que ça fonctionne, avec 2 bémols:
- je ne me rends pas bien compte des impacts sur les autres pages (commentaires, etc), à tester un peu mieux donc,
- dans le lien direct, il faut utiliser les numéro pour indiquer les répertoires et/ou fichiers:
http://localhost/dmanager/php/browser.php?login=public&pass=public&dir=10
passe
http://localhost/dmanager/php/browser.php?login=public&pass=public&dir=/documents_publics/
ne passe pas.
J'ajoute un diff des fichiers, si les "gurus" PHP de la Guilde y voient des choses à corriger, merci d'informer le petit
scarabée que je suis ! :-)
J'envoie tout ça aux auteurs...en espérant avoir une réponse ! ;-)
@+
Fernando
---------- Original Message -----------
From: Frédéric <frederic.mantegazza@???>
To: guilde@???
Sent: Fri, 12 Feb 2010 14:23:11 +0100
Subject: Re: Document Manager
> Le vendredi 12 février 2010, Fernando a écrit :
>
> > Qu'est-ce que tu entends par "un lien direct" ? D'après la doc [1] il
> > faut tout de même indiquer le login/mdp dans le lien direct...
>
> Oui, bien sûr, je met bien le login/password dans le lien, mais ça ne marche
> pas (sauf si je suis déjà logué, logique)...
>
> --
> Frédéric
>
> http://www.gbiloba.org
------- End of Original Message -------
diff -ur dmanager/php/common.php /var/www/dmanager/php/common.php
--- dmanager/php/common.php 2010-02-14 01:29:49.000000000 +0100
+++ /var/www/dmanager/php/common.php 2010-02-14 00:41:33.000000000 +0100
@@ -64,7 +64,11 @@
{
$_SESSION = array();
session_write_close();
- header ("Location: login.php");
+ if (isset($_SERVER['QUERY_STRING'])&&($_SERVER['QUERY_STRING']!='')) {
+ header ("Location: login.php?".substr($_SERVER['QUERY_STRING'],0,2048));
+ } else {
+ header ("Location: login.php");
+ }
exit();
}
diff -ur dmanager/php/login.php /var/www/dmanager/php/login.php
--- dmanager/php/login.php 2010-02-14 01:30:25.000000000 +0100
+++ /var/www/dmanager/php/login.php 2010-02-14 01:18:40.000000000 +0100
@@ -25,8 +25,9 @@
//$doc->users_add("admin","admin", "a", "admin@localhost", 2);
$fields = array (
- "login" => array ("post", "string", ""),
- "pass" => array ("post", "string", ""),
+ "login" => array ("request", "string", ""),
+ "pass" => array ("request", "string", ""),
+ "file" => array ("get", "integer", 0),
);
getFields($fields);
@@ -44,7 +45,16 @@
$_SESSION["Suser_ccp"] = $userInfo["user_ccp"];
$_SESSION["Sshow_com"] = $userInfo["user_showcom"];
session_write_close();
- header ("Location: browser.php");
+ if (empty($file)) {//redirect to directory or /
+ $redirection="browser.php";
+ } else {//download file
+ $redirection="download.php";
+ }
+ if (isset($_SERVER['QUERY_STRING'])&&($_SERVER['QUERY_STRING']!='')) {
+ header ("Location: ".$redirection."?".substr($_SERVER['QUERY_STRING'],0,2048));
+ } else {
+ header ("Location: ".$redirection);
+ }
exit();
}
else