Masquer un dossier
Résolu/Fermé
christophedortel
Messages postés
3
Date d'inscription
vendredi 1 décembre 2000
Statut
Membre
Dernière intervention
29 juin 2008
-
5 févr. 2008 à 19:20
lud1979 Messages postés 51 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 27 juillet 2013 - 14 févr. 2008 à 12:28
lud1979 Messages postés 51 Date d'inscription dimanche 19 mars 2006 Statut Membre Dernière intervention 27 juillet 2013 - 14 févr. 2008 à 12:28
A voir également:
- Masquer un dossier
- Dossier appdata - Guide
- Mettre un mot de passe sur un dossier - Guide
- Impossible de supprimer un dossier - Guide
- Comment faire un dossier pdf - Guide
- Comment dézipper un dossier - Guide
7 réponses
lud1979
Messages postés
51
Date d'inscription
dimanche 19 mars 2006
Statut
Membre
Dernière intervention
27 juillet 2013
7
12 févr. 2008 à 14:03
12 févr. 2008 à 14:03
Salut,
J'ai téléchargé et testé ce script, je sais pas qui a pondu ca mais il est très fort.
Pour répondre à ta question, c'est très simple.
Tu ne touche pas ton fichier index, mais tu configures ton fichier config.inc
1] tu t'arranges à récupérer dans un tableau ($tabnomdosstot[]) la totalité de tes noms de dossier.)
2] dans un autre tableau($tabdossesion[]) , tu t'arranges à récupérer tous les noms de dossier correspondant à ton utilisateur.
3] tu te crée ton tableau de dossier à câcher ($tabsessionhidden[]) au début de config.inc comme ça :
J'espère avoir bien compris le sens de ta question et y avoir répondu, n'hésite pas à me recontacter
Ludwig
J'ai téléchargé et testé ce script, je sais pas qui a pondu ca mais il est très fort.
Pour répondre à ta question, c'est très simple.
Tu ne touche pas ton fichier index, mais tu configures ton fichier config.inc
1] tu t'arranges à récupérer dans un tableau ($tabnomdosstot[]) la totalité de tes noms de dossier.)
2] dans un autre tableau($tabdossesion[]) , tu t'arranges à récupérer tous les noms de dossier correspondant à ton utilisateur.
3] tu te crée ton tableau de dossier à câcher ($tabsessionhidden[]) au début de config.inc comme ça :
$cpt = 0; $cptbis = 0; $cptter = 0; $btrouve = 0; While ($cpt < siezof ($tabnomdosstot)) { while ($cptbis < siezof ($tabdossesion)) AND ( $btrouve == 0) { if (strstr ($tabnomdosstot[$cpt], $tabdossesion[$cptbis])) { $btrouve = 1; } $cptbis ++; } if( $btrouve == 0) { $tabsessionhidden [$cptter] = $tabnomdosstot[$cpt]; $cptter ++; } $cpt ++; } // La suite de ton config.inc : $i=-1; $i++; $cfg[$i]["user"]='admin1';// nom d'utilisateur de ta session $cfg[$i]["password"]='admin1';// son mot de passe de ta session $cfg[$i]["basefic"]='./base1/';// le répertoire de base par rapport à l'application (laisser un / à la fin) $cfg[$i]["dossiers_hidden"]= $tabsessionhidden ; //** Le tableau hidden que tu viens de construire **// $cfg[$i]["dossiers_readonly"]=array('readonly','testro1','testro2','testro3'); $cfg[$i]["dossiers_upload"]=array('uploadonly','upload1','upload2');
J'espère avoir bien compris le sens de ta question et y avoir répondu, n'hésite pas à me recontacter
Ludwig
Merci Ludwig .
Je vais tester tout ça .
En tout les cas, tu as bien compris ma question . La logique est tout à fait respectée .
Maintenant, je dois faire un beau copier-coller !
Il faut savoir que :
1- je ne suis pas du tout developpeur
2- franchement sous-doué dans le domaine du php ...
donc pourrais-je te recontacter si des messages d'erreure etranges apparaissaient ?
Quoiqu'il en soit je donnerais le résultat ici pour ceux que ça pourrait interresser .
Cordialement
Christophe
Je vais tester tout ça .
En tout les cas, tu as bien compris ma question . La logique est tout à fait respectée .
Maintenant, je dois faire un beau copier-coller !
Il faut savoir que :
1- je ne suis pas du tout developpeur
2- franchement sous-doué dans le domaine du php ...
donc pourrais-je te recontacter si des messages d'erreure etranges apparaissaient ?
Quoiqu'il en soit je donnerais le résultat ici pour ceux que ça pourrait interresser .
Cordialement
Christophe
Et bien voilà la premiere preuve que je suis sous-doué :
Comment creer les 2 tableaux ($tabnomdosstot[]) et ($tabdossesion[]) ?
Et je suis en train de me rendre compte d'une chose : ($tabnomdosstot[]) et le dossier de base ne seraient ils pas les memes ?
Merci
Cordialement
Christophe
Comment creer les 2 tableaux ($tabnomdosstot[]) et ($tabdossesion[]) ?
Et je suis en train de me rendre compte d'une chose : ($tabnomdosstot[]) et le dossier de base ne seraient ils pas les memes ?
Merci
Cordialement
Christophe
Voilà le script tel qu'il est actuelement :
Et voilà le message d'erreure :
Parse error: syntax error, unexpected T_LOGICAL_AND in /home.10.28/christopq/www/Expconfigbis.inc.php on line 52
( la ligne 52 est la ligne commençant par "while" ) .
Tout ça pour un novice est bien compliqué !
Une idée ?
Merci d'avance
Christophe
$tabnomdosstot[] = $_SESSION['dossier00']; $tabdossesion[] = $_SESSION['dossier00']; // il faudrait rajouter ici : $_session['dossier01'] ... $_session['dossier05'] $cpt = 0; $cptbis = 0; $cptter = 0; $btrouve = 0; While ($cpt < siezof ($tabnomdosstot)) { while ($cptbis < siezof ($tabdossesion)) AND ( $btrouve == 0) { if (strstr ($tabnomdosstot[$cpt], $tabdossesion[$cptbis])) { $btrouve = 1; } $cptbis ++; } if( $btrouve == 0) { $tabsessionhidden [$cptter] = $tabnomdosstot[$cpt]; $cptter ++; } $cpt ++; } $i=-1; $i++; $cfg[$i]["user"]=$_SESSION['login'];// nom d'utilisateur $cfg[$i]["password"]=$_SESSION['pass'];// son mot de passe $cfg[$i]["basefic"]=$_SESSION['dossier00'];// le répertoire de base par rapport à l'application (laisser un / à la fin) $cfg[$i]["dossiers_hidden"]= $tabsessionhidden ; //** Le tableau hidden que tu viens de construire $cfg[$i]["dossiers_readonly"]=array('Upload','testro1','testro2','testro3'); $cfg[$i]["dossiers_upload"]=array('uploadonly','upload1','upload2'); ?>
Et voilà le message d'erreure :
Parse error: syntax error, unexpected T_LOGICAL_AND in /home.10.28/christopq/www/Expconfigbis.inc.php on line 52
( la ligne 52 est la ligne commençant par "while" ) .
Tout ça pour un novice est bien compliqué !
Une idée ?
Merci d'avance
Christophe
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lud1979
Messages postés
51
Date d'inscription
dimanche 19 mars 2006
Statut
Membre
Dernière intervention
27 juillet 2013
7
13 févr. 2008 à 13:23
13 févr. 2008 à 13:23
Oui bien sur tu peux me contacter dq tu veux, mais étant un peu pris par le boulo,
laisse moi un peu de temps pour te répondre.
1°) si tu es sur que $_SESSION['dossier00'] contient la totalité de tes dossiers
et que $_session['dossier01'] contient tous les dossiers "autorisé" de l'utilisateur,
dans l'affirmative, tu inialises mes variables comme ca :
fais qd même un echo pour vérifier.
2°) J'ai fais effectivement une erreur de parenthèse sur mon 2ème while
(j'ai rien testé je t'ai fais ça en 2 min pour que tu vois l'esprit).
remplace le par ca :
3°) Pour la suite :
Tel que c'est écrit ca ne marchera certainement pas, il faudra l'intégrer dans le
while général, pour que je puisse mieux t'aider, donne moi le nom de tes viariables
contenant le nom d'utilisateur et mot de passe comme ca je te l'intègre dans le while
et tu ne drais plus être embété .
@+ et bonne journée
Ludwig
laisse moi un peu de temps pour te répondre.
1°) si tu es sur que $_SESSION['dossier00'] contient la totalité de tes dossiers
et que $_session['dossier01'] contient tous les dossiers "autorisé" de l'utilisateur,
dans l'affirmative, tu inialises mes variables comme ca :
$tabnomdosstot[] = $_SESSION['dossier00']; $tabdossesion[] = $_SESSION['dossier01'];
fais qd même un echo pour vérifier.
2°) J'ai fais effectivement une erreur de parenthèse sur mon 2ème while
(j'ai rien testé je t'ai fais ça en 2 min pour que tu vois l'esprit).
remplace le par ca :
while (($cptbis < siezof ($tabdossesion)) AND ( $btrouve == 0))
3°) Pour la suite :
$i=-1; $i++; $cfg[$i]["user"]=$_SESSION['login'];// nom d'utilisateur $cfg[$i]["password"]=$_SESSION['pass'];// son mot de passe $cfg[$i]["basefic"]=$_SESSION['dossier00'];// le répertoire de base par rapport à l'application (laisser un / à la fin) $cfg[$i]["dossiers_hidden"]= $tabsessionhidden ; //** Le tableau hidden que tu viens de construire $cfg[$i]["dossiers_readonly"]=array('Upload','testro1','testro2','testro3'); $cfg[$i]["dossiers_upload"]=array('uploadonly','upload1','upload2');
Tel que c'est écrit ca ne marchera certainement pas, il faudra l'intégrer dans le
while général, pour que je puisse mieux t'aider, donne moi le nom de tes viariables
contenant le nom d'utilisateur et mot de passe comme ca je te l'intègre dans le while
et tu ne drais plus être embété .
@+ et bonne journée
Ludwig
Voilà tout le script tel qu'il est exactement en ce moment .
Et voilà l'erreure :
Fatal error: Call to undefined function: siezof() in /home.10.28/christopq/www/Expconfigbis.inc.php on line 50
( la ligne 50 est celle-ci : While ($cpt < siezof ($tabnomdosstot)) )
Le site est architecturé ainsi :
Racine du Site
--Utilisateurs ( c'est le dossier ou se trouve les sous dossiers propres aux utilisateurs et le dossier Partage )
----UtilisateurA
----UtilisateurB
----UtilisateurC
----Partage ( c'est le dossier ou se trouve les sous dossiers partagés )
------PartageX
------PartageY
------PartageZ
Dans ma bdd, pour l'utilisateur A, "Dossier00" est "Utlisateurs/UtilisateurA" et aucun autre utilisateur .
les "Dossier01" à "Dossiers05" sont des dossier qui peuvent etre partagés et sont ecrit dans la bdd "Utilisateurs/Partage/PartageX" et chaque utilisateur peut avoir 5 dossiers partagés maximum .
Dossier00 ne contient donc pas tous les dossiers autorisés à 1 utilisateur .
Serait il + pratique pour toi que Dossier00 soit le dossier "Utilisateurs" pour tout le monde ? Car ainsi, tous les dossiers sont dans dossier00 et l'application peut faire le filtre pour afficher les dossiers autorisés .
Fais moi savoir si cette modif peut t'arranger ou pas ( et peut etre est elle necessaire ... ) .
Si ça peut t'aider, je peux te faire parvenir une copie d'ecran de la bdd et de l'architecture du site .
Merci encore
Christophe
<?php require_once('Connections/connect.php'); ?> <?php session_start(); // On relaye la session if (session_is_registered("authentification")&&($_SESSION['privilege'] == "uploader")) { } elseif (session_is_registered("authentification")&&($_SESSION['privilege'] == "admin")) { } elseif (session_is_registered("authentification")&&($_SESSION['privilege'] == "devel")) { } else { header("Location:../Login.php?erreur=intru"); // redirection en cas d'echec } ?> <?php // Le paramètre 'basefic' est le répertoire de base relative // à la racine de l'application (laisser un / à la fin) // Attention : Il faut changer ces répertoires (voir l'explication plus bas) // ----------- // exemple1 : $cfg[$i]['basefic']='../../base/'; // exemple2 : $cfg[$i]['basefic']='./base/'; // paramétrer aussi les dossier caches, les dossier en readonly, et les dossiers en upload only // Voir l'exemple de admin3 qui n'a pas ce genre de dossier, il a entièrement accès à '/base1' //----------------------< Attention > --------------------------- // Le nom du répertoire de base de l'utilisateur ne doit jamais être // connu de l'utilisateur si ce répertoire est accessible par http. // Pourquoi ?. // L'application permet d'effectuer des upload de fichiers sur un espace de travail fixé. // L'utilisateur peut donc y mettre un fichier php (qui est un exécutable). // Il ne faut pas qu'il ait la possibilité de l'exécuter. // Ceci peut être fait via l'interface web, uniquement s'il connait l'url de son espace de travail. // S'il y arrive, il pourrait exécuter des scripts php qui permettent de tout effacer sur le serveur. // Pour évitez ça. // - Mettez un nom de répertoire assez compliqué. // - Veuillez à ce que ce nom de répertoire n'apparaisse jamais à l'écran // (Même dans un éventuel message d'erreur de fonctionnement). // S'il apparait, il ne faut plus utiliser cette application (sauf à des utilisateurs sûr). // Envoyez moi, dans ce cas, un contact pour me prévenir du problème. //------------------------------------------------------------------------ // $tabnomdosstot[] = $_SESSION['dossier00']; $tabdossesion[] = $_SESSION['dossier01']; // il faudrait rajouter ici : $_session['dossier01'] ... $_session['dossier05'] $cpt = 0; $cptbis = 0; $cptter = 0; $btrouve = 0; While ($cpt < siezof ($tabnomdosstot)) { while (($cptbis < siezof ($tabdossesion)) AND ( $btrouve == 0)) { if (strstr ($tabnomdosstot[$cpt], $tabdossesion[$cptbis])) { $btrouve = 1; } $cptbis ++; } if( $btrouve == 0) { $tabsessionhidden [$cptter] = $tabnomdosstot[$cpt]; $cptter ++; } $cpt ++; } $i=-1; $i++; $cfg[$i]["user"]=$_SESSION['login'];// nom d'utilisateur $cfg[$i]["password"]=$_SESSION['pass'];// son mot de passe $cfg[$i]["basefic"]=$_SESSION['dossier00'];// le répertoire de base par rapport à l'application (laisser un / à la fin) $cfg[$i]["dossiers_hidden"]= $tabsessionhidden ; //** Le tableau hidden que tu viens de construire $cfg[$i]["dossiers_readonly"]=array('Upload','testro1','testro2','testro3'); $cfg[$i]["dossiers_upload"]=array('uploadonly','upload1','upload2'); ?>
Et voilà l'erreure :
Fatal error: Call to undefined function: siezof() in /home.10.28/christopq/www/Expconfigbis.inc.php on line 50
( la ligne 50 est celle-ci : While ($cpt < siezof ($tabnomdosstot)) )
Le site est architecturé ainsi :
Racine du Site
--Utilisateurs ( c'est le dossier ou se trouve les sous dossiers propres aux utilisateurs et le dossier Partage )
----UtilisateurA
----UtilisateurB
----UtilisateurC
----Partage ( c'est le dossier ou se trouve les sous dossiers partagés )
------PartageX
------PartageY
------PartageZ
Dans ma bdd, pour l'utilisateur A, "Dossier00" est "Utlisateurs/UtilisateurA" et aucun autre utilisateur .
les "Dossier01" à "Dossiers05" sont des dossier qui peuvent etre partagés et sont ecrit dans la bdd "Utilisateurs/Partage/PartageX" et chaque utilisateur peut avoir 5 dossiers partagés maximum .
Dossier00 ne contient donc pas tous les dossiers autorisés à 1 utilisateur .
Serait il + pratique pour toi que Dossier00 soit le dossier "Utilisateurs" pour tout le monde ? Car ainsi, tous les dossiers sont dans dossier00 et l'application peut faire le filtre pour afficher les dossiers autorisés .
Fais moi savoir si cette modif peut t'arranger ou pas ( et peut etre est elle necessaire ... ) .
Si ça peut t'aider, je peux te faire parvenir une copie d'ecran de la bdd et de l'architecture du site .
Merci encore
Christophe
lud1979
Messages postés
51
Date d'inscription
dimanche 19 mars 2006
Statut
Membre
Dernière intervention
27 juillet 2013
7
14 févr. 2008 à 12:28
14 févr. 2008 à 12:28
1°)Pour l'erreur, j'ai fais une faute de frappe c'est sizeof qu'il faut mettre à la place de siezof.
Attention les même erreur est présente 2 fois dans les 2 boucles while.
2°) En effet comme Dossier00 ne contient pas tous les dossiers autorisés à 1 utilisateur, ca ne fonctionnera pas.
3°) Comme tu me l'a proposé envoie moi l'architecture de ta bdd et de ton site et aussi ton fichier Connections/connect.php En cachant
bien sur tes loggin et pass de connexion à ta bdd.
4°) JE T'AI ENVOYE DANS UN MESSAGE PRIVE AVEC MON MAIL ET MON MSN
5°) Si j'ai bien compris ta config, prenons l'exemple ou c'est l'utilisateur A qui est connecté
il doit seulement voir les dossiers suivants:
6°) Ton système est-il limité à seulement 3 utilisateurs ou plus?
7°) Tu m'a demandé : Fais moi savoir si cette modif peut t'arranger ou pas ( et peut etre est elle necessaire ... ) .
NON NE CHANGE RIEN
Attention les même erreur est présente 2 fois dans les 2 boucles while.
2°) En effet comme Dossier00 ne contient pas tous les dossiers autorisés à 1 utilisateur, ca ne fonctionnera pas.
3°) Comme tu me l'a proposé envoie moi l'architecture de ta bdd et de ton site et aussi ton fichier Connections/connect.php En cachant
bien sur tes loggin et pass de connexion à ta bdd.
4°) JE T'AI ENVOYE DANS UN MESSAGE PRIVE AVEC MON MAIL ET MON MSN
5°) Si j'ai bien compris ta config, prenons l'exemple ou c'est l'utilisateur A qui est connecté
il doit seulement voir les dossiers suivants:
utilisateurs/utilisateurA DROITS : lecture/écriture UPLOAD DOWNLOAD utilisateurs/Partage/PartageX/dossier01 DROITS : lecture/écriture UPLOAD DOWNLOAD " " utilisateurs/Partage/PartageX/dossier05 DROITS : lecture/écriture UPLOAD DOWNLOAD utilisateurs/Partage/PartageY/dossier01 DROITS : lecture seule DOWNLOAD " " utilisateurs/Partage/PartageY/dossier05 DROITS : lecture seule DOWNLOAD utilisateurs/Partage/PartageZ/dossier01 DROITS : lecture seule DOWNLOAD " " utilisateurs/Partage/PartageZ/dossier05 DROITS : lecture seule DOWNLOAD
6°) Ton système est-il limité à seulement 3 utilisateurs ou plus?
7°) Tu m'a demandé : Fais moi savoir si cette modif peut t'arranger ou pas ( et peut etre est elle necessaire ... ) .
NON NE CHANGE RIEN