Re: Document Manager

Page principale

Répondre à ce message
Auteur: Fernando
Date:  
À: guilde
Sujet: Re: Document Manager
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