Udt page telechargement

De Cms Made Simple France
Aller à : navigation, rechercher


Voici une balise utilisateur (UDT) qui liste le contenu d'un dossier situé dans uploads.

Elle filtre les extensions des fichiers et va chercher dans Filemanager les icônes en fonction du type de fichier.

Enfin, elle génére un lien de téléchargement du fichier.

Si vous nommez cette balise liste et que le dossier se nomme download vous pourrez l'utiliser de la façon suivante:

{liste doc="download"}
$config = cmsms()->GetConfig(); 
$realpath=$config["uploads_path"]."/".$params['doc']; 
$urlpath=$config["uploads_url"]."/".$params['doc']; 
[email protected]($realpath);
        if (!$dir) echo "Dossier introuvable";

while ($file=readdir($dir)) { $full_name=$realpath."/".$file; //nom complet

    if ($file=="." || $file==".." || $file[0]=="." || substr($file,0,6)=="thumb_" || is_dir($full_name)) continue;

    $info=array();
    $info["name"]=$file;
    $statinfo=stat($full_name); //recup des stats sur le fichier
            $info["size"]=$statinfo["size"];        
            $info["date"]=$statinfo["mtime"];
            $info["url"]=$urlpath."/".$file;
            $explodedfile=explode('.', $file);
            $info["ext"]=array_pop($explodedfile);
            $info["fileinfo"]=GetFileInfo($full_name,$info["ext"],false);

             if (!in_array(strtolower($info["ext"]),array("doc","xls","pdf","ppt"))) continue; // on filtre les extensions
             if (file_exists($config["root_path"]."/modules/FileManager/icons/themes/default/extensions/32px/".strtolower($info["ext"]).".png")) {
             $image="<img  style='border:0;' src='".$config["root_url"]."/modules/FileManager/icons/themes/default/extensions/32px/";
             $image.=strtolower($info["ext"]).".png' alt='fichier-".$info["ext"]."' title='fichier-".$info["ext"]."' align='absmiddle' />";
             } else {            
             $image="<img  style='border:0;' src='".$config["root_url"]."/modules/FileManager/icons/themes/default/extensions/32px/0.png' alt='fichier-";
             $image.=$info["ext"]."' title='fichier-".$info["ext"]."' align='absmiddle' />";
                    }
     echo "<p><a href='".$info["url"]."' >".$image." ".implode(".", $explodedfile)."</a></p>";

}

--Jissey 14 avril 2011 à 22:16 (CEST)