[Réglé] Listing dossier avec résultats en template PHPBB3

Ce forum aborde toutes les questions qu'un codeur ou webmaster pourrait se poser, et n'ayant aucun rapport direct avec phpBB.
Tout ce qui peut concerner la récupération des sessions de phpBB sur votre site, doit se faire dans cette section.

Modérateur: Equipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com

[Réglé] Listing dossier avec résultats en template PHPBB3

Messagepar o77 » 24 Jan 2009 à 19:31

Bonjour,

Je réalise un intranet et dans cet intranet, ancienne version, j'ai un script qui fait un scan d'un dossier et donen les fichiers, en liens à télécharger (.doc, .txt etc..)

Je voudrais le faire également via le système de PHPBB3, car on vient de passer le forum en phpbb3.0.4 ainsi que les pages portail.
Il ne reste plus que ce système ..

voici le code :
Code: Tout sélectionner
<?php
echo '<ul>';
$dir = 'dossier1/'; //Le chemin vers le dossier
if ($open_dir = opendir($dir))
{
while (($rdir = readdir($open_dir)) !== false)
{
if (is_file($dir . $rdir))
{
echo '<li><a href="' . $dir . $rdir . '" title="Télécharger ce fichier">' . $rdir . '</a></li>';
}
}
closedir($open_dir);
}
else
{
echo 'Impossible d\'ouvrir le dossier ' . $dir;
}
echo '</ul>
?>

Peut on réaliser le même avec le système PHPBB3 ? Car tout y a changé, et je n'ai découvert que PHP à la version 3.0.0 , jamais travaillé sur le 2.0.x

Merci pour votre aide !
Modifié en dernier par o77 le 26 Jan 2009 à 11:42, modifié 2 fois.
phpBB forums.. what else ?
Avatar de l’utilisateur
o77
Roi des posts
Roi des posts
 
Messages: 588
Enregistré le: 14 Mar 2008 à 08:50
Localisation: Belgique

Re: Listing dossier

Messagepar spitfire pat » 24 Jan 2009 à 19:59

quand tu parles de "réaliser le même avec le système phpBB3", tu veux faire quoi exactement ? un lien sur ton forum vers une page de téléchargements qui effectuerait le script que tu as indiqué ?
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15297
Enregistré le: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: Listing dossier avec résultats en template PHPBB3

Messagepar o77 » 24 Jan 2009 à 20:34

C'est inclure ce script dans une page déjà existante d'un portail... et que le template reprenne la liste de ces fichiers trouvés

C'est comme si je créais un bloc spécial dans un portail, appelons le BLOC FICHIERS COMPTA, et que ce bloc affiche les fichiers trouvés dans un dossier appelé COMPTA.
Je ferais plusieurs blocs comme ça, les fichiers sont envoyés depuis ftp sur le serveur.

On avait étudié la possibilité de faire des attachements depuis le forum, mais cela ne va pas.
N'importe qui , autorisé bien sur, peut ajouter et / ou retirer des fichiers des dossiers accessibles sur le portail depuis un ftp.
Et commencer a faire changer les habitudes des chefs etc, cela ne va pas. d'autant que tout le système intranet est géré comme cela.
phpBB forums.. what else ?
Avatar de l’utilisateur
o77
Roi des posts
Roi des posts
 
Messages: 588
Enregistré le: 14 Mar 2008 à 08:50
Localisation: Belgique

Re: Listing dossier avec résultats en template PHPBB3

Messagepar spitfire pat » 25 Jan 2009 à 11:59

en premier lieu, ton script php devra lancer une session phpBB (voir le tuto sur les sessions phpBB dans le forum de documentation)
ton template devra comporter
Code: Tout sélectionner
<ul>
<!-- BEGIN file -->
<li><a href="{file.U_LINK}" title="{L_DOWNLOAD}">{file.NAME}</a></li>
<!-- END file -->
</ul>

prévoir dans language/fr/common.php une clé DOWNLOAD
Code: Tout sélectionner
'DOWNLOAD' => 'Télécharger ce fichier',

et dans ton script php
Code: Tout sélectionner
$dir = 'dossier1/'; //Le chemin vers le dossier
if ($open_dir = opendir($dir))
{
      while (($rdir = readdir($open_dir)) !== false)
      {
            $template->assign_block_vars('file', array(
                  'U_LINK' => $dir.$rdir,
                  'NAME' => $rdir
            ));
      }
}

Ce code n'est pas complet, il y manque l'affectation au template par $template->set_filenames et l'affichage du template, mais je ne sais pas comment est organisé ton script

à noter qu'il manque dans ton code l'éventualité ou $rdir est '.' ou '..'
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15297
Enregistré le: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: Listing dossier avec résultats en template PHPBB3

Messagepar o77 » 25 Jan 2009 à 20:45

Bonsoir spitfire pat,

Merci pour ce code, il fonctionne. Merci aussi pour donner un peu de ton temps, un dimanche ! :)
J'ai bien les dossiers et fichiers qui s'affichent en lien dans la page !
Seul petit hic, c'est qu'avant les fichiers, j'ai les premières lignes avec
    .
    ..
+ le fichier index.html qui est vide (comme ceux donnés par phpbb3)
La première ligne ne renvoie à rien, l'autre liste le dossier mais comme si c etait un explorateur.. donc hors template etc..
L'ancien script n'affichait pas ce système ..
D'ou cela vient il ? Peut on supprimer ces liens vers les dossiers, et l'affichage du .html, j'ai exploré le code donné mais rien trouvé. :?
phpBB forums.. what else ?
Avatar de l’utilisateur
o77
Roi des posts
Roi des posts
 
Messages: 588
Enregistré le: 14 Mar 2008 à 08:50
Localisation: Belgique

Re: Listing dossier avec résultats en template PHPBB3

Messagepar spitfire pat » 26 Jan 2009 à 11:17

telesat a écrit:Seul petit hic, c'est qu'avant les fichiers, j'ai les premières lignes avec
    .
    ..

relis mon message, je t'avais prévenu de cette éventualité (mais tu devais déjà avoir ça en utilisant le script sans passer par phpBB)
pour éviter ça, $template->assign_block_vars ne doit être éxécuté que si cette condition est remplie:
Code: Tout sélectionner
if($rdir != '.' && $rdir != '..')


sinon pour index.html, je ne comprends pas trop le sens de ta demande
Avatar de l’utilisateur
spitfire pat
MOD Contest Winner
MOD Contest Winner
 
Messages: 15297
Enregistré le: 18 Sep 2004 à 15:43
Localisation: bourgogne

Re: Listing dossier avec résultats en template PHPBB3

Messagepar o77 » 26 Jan 2009 à 11:35

Pour index.html, en fait je voulais dire que le script n'affiche pas les fichiers avec extensions telles que .html, .zip..
j'ai rajouté
Code: Tout sélectionner
&& $rdir != 'index.htm' 
pour ne pas afficher un fichier nommé index.htm et cela fonctionne...

Merci ! 8)
phpBB forums.. what else ?
Avatar de l’utilisateur
o77
Roi des posts
Roi des posts
 
Messages: 588
Enregistré le: 14 Mar 2008 à 08:50
Localisation: Belgique

Re: Listing dossier avec résultats en template PHPBB3

Messagepar ErnadoO » 26 Jan 2009 à 12:37

telesat a écrit:Pour index.html, en fait je voulais dire que le script n'affiche pas les fichiers avec extensions telles que .html, .zip..
j'ai rajouté
Code: Tout sélectionner
&& $rdir != 'index.htm' 

Ton ajout ne correspond pas à ton désir, pour répondre à tes besoins e serait plutot:
Code: Tout sélectionner
&& !preg_match('/^.*?\.html$/'$dir
ErnadoO
 


Retourner vers Coding, Webmastering et Sécurité informatique

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Exabot [Bot] et 1 invité