Quarky Posté(e) le 5 juillet 2006 Partager Posté(e) le 5 juillet 2006 J'avais oublié de préciser : // Génération du HTML if ($file_bool) { for ($i = 0; $i != $file_count; $i++) { $html_files .= "\n <div>\n"; $html_files .= " <div class=\"right\">\n"; $html_files .= " <div class=\"size\">".$file_array[$i]['size']."</div>\n"; if ($set_modif_date == 1) $html_files .= " <div class=\"date\">".$file_array[$i]['date']."</div>\n"; $html_files .= " </div>\n"; $html_files .= " <div class=\"".style($line)."\"><img src=\"".$file_array[$i]['icone']."\" alt=\"".strtoupper($file_array[$i]['ext'])."\" />\n"; $html_files .= " <a href=\"".$file_array[$i]['path']."\">".$file_array[$i]['name']."</a>\n"; $html_files .= " </div>\n"; $html_files .= " </div>\n"; $line++; } } à remplacer par // Génération du HTML if ($file_bool) { for ($i = 0; $i != $file_count; $i++) { $html_files .= "\n\t\t\t<div>\n"; $html_files .= "\t\t\t\t<div class=\"right\">\n"; $html_files .= "\t\t\t\t\t<div class=\"size\">".$file_array[$i]['size']."</div>\n"; if ($set_modif_date == 1) $html_files .= "\t\t\t\t\t<div class=\"date\">".$file_array[$i]['date']."</div>\n"; $html_files .= "\t\t\t\t</div>\n"; $html_files .= "\t\t\t\t<div class=\"".style($line)."\"><img src=\"".$file_array[$i]['icone']."\" alt=\"".strtoupper($file_array[$i]['ext'])."\" />\n"; $html_files .= "\t\t\t\t\t<a href=\"".$file_array[$i]['path']."\">".$file_array[$i]['name']."</a>\n"; $html_files .= "\t\t\t\t</div>\n"; $html_files .= "\t\t\t</div>\n"; $line++; } } Voilà c'est plus propre encore ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
windu.2b Posté(e) le 5 juillet 2006 Partager Posté(e) le 5 juillet 2006 J'avais oublié de préciser : // Génération du HTML if ($file_bool) { for ($i = 0; $i != $file_count; $i++) { $html_files .= "\n <div>\n"; $html_files .= " <div class=\"right\">\n"; $html_files .= " <div class=\"size\">".$file_array[$i]['size']."</div>\n"; if ($set_modif_date == 1) $html_files .= " <div class=\"date\">".$file_array[$i]['date']."</div>\n"; $html_files .= " </div>\n"; $html_files .= " <div class=\"".style($line)."\"><img src=\"".$file_array[$i]['icone']."\" alt=\"".strtoupper($file_array[$i]['ext'])."\" />\n"; $html_files .= " <a href=\"".$file_array[$i]['path']."\">".$file_array[$i]['name']."</a>\n"; $html_files .= " </div>\n"; $html_files .= " </div>\n"; $line++; } } à remplacer par // Génération du HTML if ($file_bool) { for ($i = 0; $i != $file_count; $i++) { $html_files .= "\n\t\t\t<div>\n"; $html_files .= "\t\t\t\t<div class=\"right\">\n"; $html_files .= "\t\t\t\t\t<div class=\"size\">".$file_array[$i]['size']."</div>\n"; if ($set_modif_date == 1) $html_files .= "\t\t\t\t\t<div class=\"date\">".$file_array[$i]['date']."</div>\n"; $html_files .= "\t\t\t\t</div>\n"; $html_files .= "\t\t\t\t<div class=\"".style($line)."\"><img src=\"".$file_array[$i]['icone']."\" alt=\"".strtoupper($file_array[$i]['ext'])."\" />\n"; $html_files .= "\t\t\t\t\t<a href=\"".$file_array[$i]['path']."\">".$file_array[$i]['name']."</a>\n"; $html_files .= "\t\t\t\t</div>\n"; $html_files .= "\t\t\t</div>\n"; $line++; } } Voilà c'est plus propre encore ! Je me permets une petite remarque sur ton code (ne m'en veux pas, mais tu sais que j'aime faire mon chieur ): Tu utilises des doubles quotes, alors que des simple quotes suffiraient. Je m'explique: pour tous les passages qui ne concernent que du (X)HTML (ce qui est le cas sur chaque ligne de la boucle), tu remplaces les doubles quotes délimitant le début et la fin des chaines de caractères par des simples quotes et ainsi tu n'auras pas à backslasher les doubles quotes concernant les valeurs des attributs des balises (faites-moi signe quand vous êtes largués ). Je dis ca parce qu'en fait, ca a un impact (pardon, INpact ) sur la vitesse d'exécution du code: PHP interprète le contenu d'une chaine de caractères contenue entre double quotes, mais ne le fait pas pour des chaines entre simples quotes (c'est d'ailleurs pour ca qu'on peut placer des variables dans une chaine de caractère délimitée par des doubles quotes et la voir être interprétée). Ce qui entraine un temps d'analyse pour la chaine qui est inutile, vu qu'elle ne contient pas de variable. Le script en deviendrait à la fois plus lisible (les backslashes ca rend vite le code illisible, on sait plus où faut les mettre et pas les mettre) et ca rend le code plus rapide... Voilà, c'était ma minute chieur, merci d'avoir tenu jusqu'à la fini de mon commentaire Lien vers le commentaire Partager sur d’autres sites More sharing options...
Quarky Posté(e) le 5 juillet 2006 Partager Posté(e) le 5 juillet 2006 Ben raté : c'est pas de moi ca ! J'ai juste procédé aux indentations. En fait moi je préfère les avoir visibles et donc ne pas utiliser les "\t". Mais je me conforme à Absynthe à qui appartient l'appli. Pour les quotes j'ai le même raisonnement que toi et je l'applique pour mes projets ! Après pour tout ce genre de modifs, c'est un peu selon le goût de chacun donc à nous de procéder à des adaptations pour notre utilisation ! La licence GPL est la pour ca non ? Le "Mr Libre" de la promo aurait-il oublié ce que ca veut dire ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
legame Posté(e) le 5 juillet 2006 Partager Posté(e) le 5 juillet 2006 Il est possible de modifier l'apparence d'un repository (arborescence web) avec un .htaccess comme celui-ci non ? IndexOptions +NameWidth=* SuppressLastModified FancyIndexing IndexIgnore header.html icons IndexIgnore footer.html icons HeaderName header.html ReadmeName footer.html AddIcon http://www.monsite.com/.icones/Folder5.png ^^DIRECTORY^^ AddIcon http://www.monsite.com/.icones/Back2.png .. AddIcon http://www.monsite.com/.icones/Acrobat.png .pdf AddIcon http://www.monsite.com/.icones/Firefox.png .htm .html AddIcon http://www.monsite.com/.icones/exe.png .exe AddIcon http://www.monsite.com/.icones/iPhoto.png .jpeg AddIcon http://www.monsite.com/.icones/Preview.png .gif AddIcon http://www.monsite.com/.icones/TextEdit.png .txt .rtf Lien vers le commentaire Partager sur d’autres sites More sharing options...
Quarky Posté(e) le 7 juillet 2006 Partager Posté(e) le 7 juillet 2006 Suite de ma contribution : j'ai maintenant modifié la structure de la partie admin. Au programme : - Disparition de tableau au profit du css - Amélioration du code source généré + détails ... 1°) J'ai ajouté un bouton reset sur le formulaire d'authentification : ca sert toujours un peu ! ... 2°) Pour ceux que ca INtéresse, j'ai mis un lien vers la "Zone publique" juste à la gauche de la "map". Ca permet de vérifier l'appli en tant que visiteur suite à une modif par exemple ! Même si Absynthe ne le garde pas, demandez moi les modif nécessaires si cela vous dit ! Le template a été modifié (css) pour intégrer de nouveaux trucs pour l'admin. Pour info, j'ai été contraint de laisser un avertissement sur la validation du css . Cela est du à l'affichage du formulaire d'authentification : je l'ai voulu identique sur FF et IE, d'où le hack qui provoque le warning ! ... Les nouveaux fichiers : admin.php et template.php (zip ou tar). Au fait c'est quoi l' "image dynamique du dossier" ??? J'ai pas compris à quoi ca sert ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Absynthe Posté(e) le 7 juillet 2006 Auteur Partager Posté(e) le 7 juillet 2006 Merci pour ton boulot, ca sera inclut dans la 1.4.3 Pour ceux que ca INtéresse, j'ai mis un lien vers la "Zone publique" juste à la gauche de la "map". Ca permet de vérifier l'appli en tant que visiteur suite à une modif par exemple ! Même si Absynthe ne le garde pas, demandez moi les modif nécessaires si cela vous dit ! Ca je voit pas ou ca se trouve dans tes fichiers. Au fait c'est quoi l' "image dynamique du dossier" ???J'ai pas compris à quoi ca sert ... Ca sert a avoir un avatar dynamique, l'image change a chaque refresh de la page et c'est images sont prises dans le dossier spécifié dans l'url. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Quarky Posté(e) le 7 juillet 2006 Partager Posté(e) le 7 juillet 2006 Ca je voit pas ou ca se trouve dans tes fichiers. En fait je ne l'ai pas encore proposé ici. J'ai INtégré ca à la fonction map : // Fonction de génération du plan du site function map() { global $root_name; $script_name = $_SERVER['SCRIPT_NAME']; // Génération de la map pour l'index if (eregi('index.php', $script_name)) a remplacer par : // Fonction de génération du plan du site function map() { global $root; global $root_name; $script_name = $_SERVER['SCRIPT_NAME']; ///index.php $html_map = "<div class=\"map\">"; if ($script_name == "/admin.php") { $html_map .= "<a href='$root/index.php'>Zone publique</a> -- "; } // Génération de la map pour l'index if (eregi('index.php', $script_name)) Ceci donne donc ($root_name a la valeur "Accueil") : Ca sert a avoir un avatar dynamique, l'image change a chaque refresh de la page et c'est images sont prises dans le dossier spécifié dans l'url. Par "avatar", tu parles de favicon : l'image a gauche dans la barre d''url ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Absynthe Posté(e) le 7 juillet 2006 Auteur Partager Posté(e) le 7 juillet 2006 Non, non, je parle d'un avatar ou d'une image dynamique Exemple : http://nihil.is.free.fr/dynamic/Avatars/image.gif Lien vers le commentaire Partager sur d’autres sites More sharing options...
Quarky Posté(e) le 7 juillet 2006 Partager Posté(e) le 7 juillet 2006 Ok j'ai capté mais je vois pas trop l'INtérêt de l'utilisation de ca dans le cadre de l'appli ! ... tant pis laisse tomber ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Quarky Posté(e) le 8 juillet 2006 Partager Posté(e) le 8 juillet 2006 Petit ajout : j'ai fait apparaître en bas de listing le nombre de dossiers et fichiers. Il m'a fallu utiliser une nouvelle variable de façon à récupérer le nombre de chaque type d'items. Donc pour cela il faut l'intialiser (l.28 de scan.php) : $line = 1; $file_count = 0; $rep_count = 0; // <- LA NOUVELLE VARIABLE $file_bool = FALSE; $file_array = array(); $html_body = ""; $html_files = ""; puis on l'utilise à la ligne 78 : $file_bool = TRUE; $file_count++; $rep_count++; } et on procède à l'affichage différent selon la présence ou non de fichiers et dossiers (à la ligne 136): // Génération du HTML if ($file_bool) { for ($i = 0; $i != $file_count; $i++) { $html_files .= "\n\t\t\t<div>\n"; $html_files .= "\t\t\t\t<div class=\"right\">\n"; $html_files .= "\t\t\t\t\t<div class=\"size\">".$file_array[$i]['size']."</div>\n"; if ($set_modif_date == 1) $html_files .= "\t\t\t\t\t<div class=\"date\">".$file_array[$i]['date']."</div>\n"; $html_files .= "\t\t\t\t</div>\n"; $html_files .= "\t\t\t\t<div class=\"".style($line)."\"><img src=\"".$file_array[$i]['icone']."\" alt=\"".strtoupper($file_array[$i]['ext'])."\" />\n"; $html_files .= "\t\t\t\t\t<a href=\"".$file_array[$i]['path']."\">".$file_array[$i]['name']."</a>\n"; $html_files .= "\t\t\t\t</div>\n"; $html_files .= "\t\t\t</div>\n"; $line++; } // Nombre de fichiers et dossiers $nb_files = $file_count - $rep_count; if ($nb_files && $rep_count) { $html_files .= "<div class=\"description\">$rep_count dossiers & $nb_files fichiers</div>"; } elseif ($rep_count) { $html_files .= "<div class=\"description\">$rep_count dossiers</div>"; } elseif ($nb_files) { $html_files .= "<div class=\"description\">$nb_files fichiers</div>"; } } Voilà Lien vers le commentaire Partager sur d’autres sites More sharing options...
windu.2b Posté(e) le 9 juillet 2006 Partager Posté(e) le 9 juillet 2006 Il est en forme le Quarky!!! Par contre, le "Mr. Libre" a pas oublié le principe de la GPL rassure-toi Lien vers le commentaire Partager sur d’autres sites More sharing options...
Quarky Posté(e) le 17 juillet 2006 Partager Posté(e) le 17 juillet 2006 Alors ca avance ? Des modifs en cours ? J'ai commencé à réfléchir pour ajouter des liens de tris sur le nom, la date et le poids des fichiers et répertoires mais pas le temps de faire plus en ce moment ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Absynthe Posté(e) le 17 juillet 2006 Auteur Partager Posté(e) le 17 juillet 2006 Standby pour l'instant, formatage forcé m'as fait perdre pas mal de truc. Lien vers le commentaire Partager sur d’autres sites More sharing options...
viktor Posté(e) le 2 mars 2007 Partager Posté(e) le 2 mars 2007 bonjour a tous je viens d'installer clide sur un serveur web chez moi....et c'est vraiment bien foutu, bref beau travail. ça fonctionne vraiment tres bien, seulement je voudrai faire une ptite modification et je ne connait pas grand chose au php. voila : je voudrai que le player n'affiche plus les videos, musiques et qu'on puisse les télécharger directement en cliquant sur le fichier voulu dans l'arborescence. je voudrai seulement que le player fonctionne pour les images, photos,... aidez moi svp.....merci ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Space Posté(e) le 2 mars 2007 Partager Posté(e) le 2 mars 2007 J'avais jamais vu ce projet et c'est vraiment du très bon boulot. Je l'ai installé sur mon FTP free et c'est vraiment bien. Ca remplace bien le bon vieux apache. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Quarky Posté(e) le 2 mars 2007 Partager Posté(e) le 2 mars 2007 Malheureusement Absynthe n'est pas repassé ici depuis bien longtemps et le développement n'a pas avancé d'après ce que je peux voir. A l'époque de ma dernière modif', je crois que la chose n'avait pas été ajouté : il attendait la prochaine version il me semble. Lien vers le commentaire Partager sur d’autres sites More sharing options...
viktor Posté(e) le 2 mars 2007 Partager Posté(e) le 2 mars 2007 quelqu'un a une solution a mon probleme?? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Quarky Posté(e) le 2 mars 2007 Partager Posté(e) le 2 mars 2007 Le plus simple pour toi est de commenter les lignes permettant la lecture des vidéos via l player. De cette manière les vidéos seront proposées automatiquement au download (ce que tu souhaites) et tu conserves l'intégrité du code pour réactiver éventuellement cette fonction plus tard. Pour cela, sui les instructions suivantes : 1- ouvres le fichier config.php (dans le répertoire "system") et commentes les lignes 39 et 42 : $audio_played = "mp3|ogg|wma|wav"; // Extentions audio lues dans le player $video_played = "mpg|mpe|mpa|mpeg|asf|wmv|mov"; // Extentions vidéos lues dans le player deviennent //$audio_played = "mp3|ogg|wma|wav"; // Extentions audio lues dans le player //$video_played = "mpg|mpe|mpa|mpeg|asf|wmv|mov"; // Extentions vidéos lues dans le player 2- ouvres le fichier player.php et commentes les lignes 55 à 59 : if (eregi('\.('.$audio_played.')$', $path)) { $html_body .= "<div class=\"media\"><embed src=\"".urleencode(filepath().$path)."\" /></div>"; $html_body .= "<br /><div class=\"description\"><a href=\"".urleencode(filepath().$path)."\">$file_name</a></div>"; } devient /*if (eregi('\.('.$audio_played.')$', $path)) { $html_body .= "<div class=\"media\"><embed src=\"".urleencode(filepath().$path)."\" /></div>"; $html_body .= "<br /><div class=\"description\"><a href=\"".urleencode(filepath().$path)."\">$file_name</a></div>"; }*/ Dans ce même fichier, il faut aussi commenter les lignes 182 à 207 : else if ( eregi('\.('.$video_played.')$', $file) ) { if ( eregi('\.(mov|mpg|mpeg)$', $file) ) { // Code HTML pour streamer un fichier quicktime $html_body .= " <div class=\"media\"> <object classid=\"CLSID:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B\" codebase=\"http://www.apple.com/qtactivex/qtplugin.cab\"> <param name=\"controller\" value=\"true\" /> <param name=\"autoplay\" value=\"true\" /> <param name=\"src\" value=\"".urleencode(filepath().$path)."\" /> <embed width=\"$quicktime_width\" height=\"$quicktime_height\" src=\"".urleencode(filepath().$path)."\" type=\"video/quicktime\" controller=\"true\" autoplay=\"true\"></embed> </object> </div>"; $html_body .= "<br /><div class=\"description\"><a href=\"".urleencode(filepath().$path)."\">$file_name</a></div>"; } else { // Code HTML pour streamer un fichier vidéo $html_body .= "\n <div class=\"media\"> <embed src=\"".urleencode(filepath().$path)."\" width=\"$video_width\" height=\"$video_height\" autostart=\"1\" /> </div>"; $html_body .= "<br /><div class=\"description\"><a href=\"".urleencode(filepath().$path)."\">$file_name</a></div>"; } } devient /*else if ( eregi('\.('.$video_played.')$', $file) ) { if ( eregi('\.(mov|mpg|mpeg)$', $file) ) { // Code HTML pour streamer un fichier quicktime $html_body .= " <div class=\"media\"> <object classid=\"CLSID:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B\" codebase=\"http://www.apple.com/qtactivex/qtplugin.cab\"> <param name=\"controller\" value=\"true\" /> <param name=\"autoplay\" value=\"true\" /> <param name=\"src\" value=\"".urleencode(filepath().$path)."\" /> <embed width=\"$quicktime_width\" height=\"$quicktime_height\" src=\"".urleencode(filepath().$path)."\" type=\"video/quicktime\" controller=\"true\" autoplay=\"true\"></embed> </object> </div>"; $html_body .= "<br /><div class=\"description\"><a href=\"".urleencode(filepath().$path)."\">$file_name</a></div>"; } else { // Code HTML pour streamer un fichier vidéo $html_body .= "\n <div class=\"media\"> <embed src=\"".urleencode(filepath().$path)."\" width=\"$video_width\" height=\"$video_height\" autostart=\"1\" /> </div>"; $html_body .= "<br /><div class=\"description\"><a href=\"".urleencode(filepath().$path)."\">$file_name</a></div>"; } }*/ Voilà Lien vers le commentaire Partager sur d’autres sites More sharing options...
viktor Posté(e) le 2 mars 2007 Partager Posté(e) le 2 mars 2007 merci de m'avoir repondu...en plus c'est bien expliqué j'ai bien les modifications mais maintenant j'ai un message d'erreur qui s'affiche quand je rentre dans un dossier qui contient des photo, video... -> Warning: eregi() [function.eregi]: REG_EMPTY in F:\Serveur\www\root\system\fonctions.php on line 84 Lien vers le commentaire Partager sur d’autres sites More sharing options...
viktor Posté(e) le 2 mars 2007 Partager Posté(e) le 2 mars 2007 sinon, y a t-il un moyen de modifier le code pour pouvoir telecharger les photos ou les videos en faisant un clic droit dessus > telecharger. Car avec le code actuel ça fonctionne mais le fichier est illisible Lien vers le commentaire Partager sur d’autres sites More sharing options...
Quarky Posté(e) le 3 mars 2007 Partager Posté(e) le 3 mars 2007 C'est bizarre : j'ai pas ce warning chez moi et j'arrive pas à le reproduire. Bon essaies en modifiant la ligne 84 du fichier fonctions.php (répertoire system) : if ($set_player == 1 && eregi('\.('.$audio_played.'|'.$video_played.'|'.$picture_played.'|'.$picture_played.'|'.$text_played.'|'.$php_played.'|'.$flash_played.') , $file)) devient if ($set_player == 1 && eregi('\.('./*$audio_played.'|'.$video_played.'|'.*/$picture_played.'|'.$picture_played.'|'.$text_played.'|'.$php_played.'|'.$flash_played.') , $file)) Lien vers le commentaire Partager sur d’autres sites More sharing options...
viktor Posté(e) le 3 mars 2007 Partager Posté(e) le 3 mars 2007 j'ai appliqué la modif et ça fonctionne, seulement maintenant j'ai un autre probleme, des que je clic sur une photo pour l'afficher il me met le message d'erreur suivant : Parse error: parse error, unexpected T_ELSE in F:\Serveur\www\root\player.php on line 62 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Quarky Posté(e) le 3 mars 2007 Partager Posté(e) le 3 mars 2007 Oui évidemment. En fait j'ai la flemme de retester à chaque modif. else if (eregi('\.('.$picture_played.') , $file)) en if (eregi('\.('.$picture_played.') , $file)) Lien vers le commentaire Partager sur d’autres sites More sharing options...
viktor Posté(e) le 3 mars 2007 Partager Posté(e) le 3 mars 2007 merci quarky ça fonctionne... Lien vers le commentaire Partager sur d’autres sites More sharing options...
viktor Posté(e) le 3 mars 2007 Partager Posté(e) le 3 mars 2007 une derniere ptite question et apres j'arrete, c promis... comment rajouter l'heure de modifications des fichiers (comme dans apache)? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.