Synchronisation des droits de fichier sur la page d'upload [Réglé]
VV-Albator Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre VV-Albator
- Inscrit le : 10/05/2014
- Site internet
Je sais que vous avez beaucoup de travail, mais j'ai détecté un petit problème sur la page d'upload que je dois absolument résoudre et qui sera certainement ajouté dans la prochaine mise à jour.
Mon cas :
Mes membres n'ont pas l'autorisation de gérer des fichiers ( afin de préserver mon espace disque ) mais ils ont tout le même le droit de contribuer à la section téléchargement du site en hébergement leurs fichiers sur un serveur de leurs choix et en indiquant le chemin dans le formulaire prévu à cet effet.

Mon problème :
Le problème se trouve dans l'URL de la petit disquette à droite ( celle qui mène au gestionnaire de fichier ) car si le membre clic dessus, une nouvelle page s'ouvrira avec une erreur 404. Ce qui est logique puisqu'il ne possède pas l'autorisation de gérer des fichiers.
Mes besoins :
Je souhaiterai ajouter une condition dans la page PHP d'ajout de fichier qui me permette de changer l'URL du lien de la petite disquette, afin d'y afficher une autre page, dans le cas ou l'utilisateur n'aurait pas le droit de gérer des fichiers.
Ainsi, la fenêtre s'ouvrira et affichera une page qui signalera à l'utilisateur qu'il n'a pas l'autorisation de gérer des fichiers, au lieu d'afficher une vulgaire erreur 404.
Ma requête :
J'aurai besoin du nom de la page à modifier ainsi que de la condition à ajouter afin d'obtenir ce résultat.
Si quelqu'un pouvait m'aider ce serai vraiment sympa car malgré mes connaissances dans les différents langages, j'ai encore du mal à me faire au système de template et de communication entre les modules.
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
Tu ne veux pas plutôt ne pas afficher la disquette pour ceux qui ne sont pas admin ?
VV-Albator Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre VV-Albator
- Inscrit le : 10/05/2014
- Site internet

Quelqu'un a une solution ?
ElenWii Membre non connecté
-
Administrateur
- Voir le profil du membre ElenWii
- Inscrit le : 14/08/2009
- Site internet
- Groupes :
-
Equipe Graphique
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
Pour éviter que ta modification soit effacée lors d'une éventuelle mise à jour, il ne faut modifier que le template de la page dans ton thème.
Pour cela, crée un dossier modules à la racine de ton thème, puis crée un dossier download.
Tu auras l'arborescence suivante : /templates/ton_theme/modules/download/.
Copies le fichier /download/templates/file_management.tpl dans le dossier que tu viens de créer puis édites-le.
Remplaces la ligne 104 par :
Code TPL :
# IF IS_ADMIN #<a title="{L_FILE_ADD}" href="#" onclick="window.open('{PATH_TO_ROOT}/user/upload.php?popup=1&fd=url&parse=true', '', 'height=500,width=720,resizable=yes,scrollbars=yes');return false;"><img src="{PATH_TO_ROOT}/templates/{THEME}/images/upload/files_add.png" alt="" /></a># ENDIF #
VV-Albator Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre VV-Albator
- Inscrit le : 10/05/2014
- Site internet
Merci de vous intéresser autant à nos questions, sachez que vous êtes d'une aide vraiment précieuse

Je vais utiliser votre astuce dès maintenant, et vous tenir informé de la situation.
Néanmoins, j'ai encore un dernier point à éclaircir :
La condition # IF IS_ADMIN # signifie "si l'utilisateur est un administrateur", j'aurai préféré obtenir une condition qui m'informe "si l'utilisateur à les droits de gérer des fichiers ou pas" ( et si c'est possible bien entendu ) car les Modérateurs et certains groupes doivent également avoir accès à ce lien.
Dans tous les cas, merci, vous m'avez déjà bien aidé.
Je continu mes recherches, si je trouve la réponse avant vous, je ne manquerai pas de la poster

( sympa ton Avatar julienseth78 )
---------------------------------------------------------------------------------------
Donc voici le résultat de mes expériences :
La condition que je cherchai est : IF C_USER_AUTH_FILES afin de pouvoir activer le lien si la personne a l'autorisation de traiter des fichiers.
J'ai donc tenté le coup en utilisant la méthode de julienseth78.
La lien a bel et bien disparu, le problème c'est que c'est aussi valable pour l'administrateur
Du coup, jais essayé en utilisant la condition que tu m'as donné, c'est à dire IF IS_ADMIN... même résultat...
J'en déduis que les variables C_USER_AUTH_FILES et IS_ADMIN ne sont pas initialisées, et sont donc égales à 0 ( FAUX ) si on les consultes à partir du fichier file_management.tpl
Il va donc falloir initialiser l'une de ces 2 variables à partir du fichier PHP qui est lié à file_management.tpl
J'ai également remarqué que ce lien apparait dans plusieurs formulaires. Ca risque de prendre beaucoup de temps pour les modifier.
Du coup je me demande si il ne vaut pas mieux revenir sur mon idée de départ qui est de simplement modifier le lien de destination.
Édité par VV-Albator Le 18/05/2014 à 23h15
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
Bizarre avec IS_ADMIN ça aurait du fonctionner, la variable est chargée par défaut (solution que j'ai donnée puisque tu m'as dit plus haut qu'il fallait cacher le bouton à ceux qui n'étaient pas admin).
je te donnais cette méthode pour n'avoir à modifier que le thème et rester compatible lors des mises à jour suivantes.
Il va falloir aller un peu plus loin dans le code pour faire ce que tu veux.
Pour être sur, est ce que afficher la disquette à tous ceux qui ont l'autorisation d'écriture t'irait ? (pour les autres qui ont quand même le droit d'ajouter, il y a l'autorisation de contribution).
VV-Albator Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre VV-Albator
- Inscrit le : 10/05/2014
- Site internet
Citation :
est ce que afficher la disquette à tous ceux qui ont l'autorisation d'écriture t'irait ?
C'est exactement ce que je cherche à faire

Je vais retenter avec IF C_USER_AUTH_FILES en utilisant ta méthode, histoire d'être sur que le problème ne vienne pas de moi.
Au fait, désolé de répondre si tard à chaque fois, je pense que tu as remarqué que je suis un nocturne
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
Code PHP :
'C_WRITE_AUTH' => $auth_write,
Dans /download/templates/file_management.tpl, remplaces la ligne 104 par :
Code TPL :
# IF C_WRITE_AUTH #<a title="{L_FILE_ADD}" href="#" onclick="window.open('{PATH_TO_ROOT}/user/upload.php?popup=1&fd=url&parse=true', '', 'height=500,width=720,resizable=yes,scrollbars=yes');return false;"><img src="{PATH_TO_ROOT}/templates/{THEME}/images/upload/files_add.png" alt="" /></a># ENDIF #
Supprimes la modif que je t'ai fait faire précédemment dans ton thème.
Ca devrait ensuite fonctionner comme tu veux.
Tiens nous au courant et passes le sujet en réglé si c'est bon.
VV-Albator Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre VV-Albator
- Inscrit le : 10/05/2014
- Site internet
C'est exactement l'effet que je recherchai

Non seulement ça m'enlève le lien à coté du champ URL, mais en plus, ça me l'enlève aussi à coté des icones du BBCode.
Du coup tout fonctionne exactement comme je le souhaite

Encore merci pour tout
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie