Permet d'afficher sous forme HTML le contenu partiel ou complet d'un répertoire. On utilise si elles sont disponibles les méta-données de chaque fichier pour afficher un lien. Tous les types de fichier ne sont pas supportés.
% pear install pxxo/Pxxo_Widgets_Directory
| Nom | Valeur | Description |
|---|---|---|
| title | - | Titre affiché |
| description | - | Description affichée |
| path | . | Chemin physique du répertoire que l'on souhaite afficher |
| regex | (.*) | Expression régulière (type Perl) pour filtrer les fichiers à afficher |
| format | %s | Format (type printf) pour générer un lien. %s correspond au nom du fichier extrait par l'expression régulière (cf. regex) |
| %name% - %mtime% | Format d'affichage pour afficher le label d'un lien. Les varibales disponnibles correspondent au méta données extraite (%title%, %matched% %filename%, etc…) | |
| showatstartup | true | Mettre false pour n’afficher qu’une barre contenant le titre |
| types | array(file) | Tableau contenant les types de fichier à filtrer : file, directory. Si la liste est vide aucun filtre n'est appliqué |
Astuce : Il est possible de paramétrer finement l'affichage au moyen de l'expression régulière 'regex' et du paramètre 'print'. En effet, une expression régulière peut “capturer” des motifs dans la chaîne de départ (avec l'aide de parenthèses), nous pouvons utiliser ces captures pour personnaliser l'affichage du lien en donnant au paramètre 'print' les valeurs : %regex1% %regex2% … correspondant aux captures. Exemple :
$params['regex'] = '([a-z]+)-([0-9]+)'; $params['print'] = '%regex1% (%regex2%)';
La plus simple utilisation de ce Widget est de créer un fichier index.php que l'on placera dans le répertoire que l'on souhaite syndiquer :
<?php require_once 'Pxxo/Widgets/Directory/Browse.php'; $params['format'] = '/tester/%s/'; $params['print'] = '%matched%'; $params['regex'] = '(Pxxo_.*)\.php$'; $params['title'] = 'Que des fichiers PHP commençant par Pxxo_'; $params['description'] = 'On génère un lien avec une partie du nom du fichier'; $o = new Pxxo_Widgets_Directory_Browse(); $o->main(); $o->dump(); ?>
Autre exemple :
<?php require_once 'Pxxo/Widgets/Directory/Browse.php'; $params = array(); $params['print'] = '%name%'; $params['title'] = 'des répertoires'; $params['regex'] = '([^.]+)'; $params['format'] = '%s/'; $params['description'] = 'On affiche uniquement les répertoires'; $params['types'] = array('directory'); $o = new Pxxo_Widgets_Directory_Browse($params); $o->main(); $o->dump(); ?>