Codulle - L'explorateur de code sources
Accueil |
Rootulle
Rootulle Informations fichier
Nom du fichier : explore.phpTaille du fichier : 14 Ko (384 lignes)
Language : PHP
span style="color: #808080; font-style: italic;">//////////////////////////////////////// // Encodage du fichier : UTF-8 // Utilisation des tabulations : Oui // 1 tabulation = 4 caractères // Fins de lignes = LF (Unix) //////////////////////////////////////// /////////////////////////////// // LICENCE /////////////////////////////// // // © DUCARRE Cedric, Bubulles Creations, (09/05/2005) // // webmaster@jebulle.net // http://jebulle.net // // Ce logiciel est un programme de galerie photos pour site internet. // // Ce logiciel est régi par la licence CeCILL soumise au droit français et // respectant les principes de diffusion des logiciels libres. Vous pouvez // utiliser, modifier et/ou redistribuer ce programme sous les conditions // de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA // sur le site "http://www.cecill.info". // // En contrepartie de l'accessibilité au code source et des droits de copie, // de modification et de redistribution accordés par cette licence, il n'est // offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, // seule une responsabilité restreinte pèse sur l'auteur du programme, le // titulaire des droits patrimoniaux et les concédants successifs. // // A cet égard l'attention de l'utilisateur est attirée sur les risques // associés au chargement, à l'utilisation, à la modification et/ou au // développement et à la reproduction du logiciel par l'utilisateur étant // donné sa spécificité de logiciel libre, qui peut le rendre complexe à // manipuler et qui le réserve donc à des développeurs et des professionnels // avertis possédant des connaissances informatiques approfondies. Les // utilisateurs sont donc invités à charger et tester l'adéquation du // logiciel à leurs besoins dans des conditions permettant d'assurer la // sécurité de leurs systèmes et ou de leurs données et, plus généralement, // à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. // // Le fait que vous puissiez accéder à cet en-tête signifie que vous avez // pris connaissance de la licence CeCILL, et que vous en avez accepté les // termes. // /////////////////////////////// /** * AlBulles - Gallerie photos * * @author SamRay1024 * @copyright Bubulles Creations * @link http://jebulle.net * @name AlBulles * @since 31/08/2005 * @version 0.6 */ // ==================== // INCLUSION DES FICHIERS NECESSAIRES // 'config.php''./classes/panierdefichiers.class.php''./classes/util.class.php' ); // ==================== // INITIALISATIONS // $sVersion = '0.6''''_miniatures''Content-type: text/html; charset=utf-8' ); // ==================== // VERIFICATIONS // // existence dossier des photos '# ALBULLES # <strong>[ Erreur ]</strong> => Le dossier <em>''</em> est introuvable. Vérifiez la configuration dans le fichier <strong>config.php</strong>.'// existence thème spécifié '# ALBULLES # <strong>[ Erreur ]</strong> => Le fichier du thème <em>'.$sAccesTheme.$sFichierHtml.'</em> est introuvable. Vérifiez la configuration dans le fichier <strong>config.php</strong>.' ); // ==================== // LECTURE DES PARAMETRES PASSES DANS L'URL // 'rep''rep'] )) : $sRep = '''page''page''act''act'] : $sAct = '''img''img'] )) : $sImg = ''; // ==================== // GESTION DU PANIER // // Lancement des actions. // L'action de télechargement est désormais située dans le fichier download.php (ou le nom que nous lui avez donné). 'ajouter''supprimer''vider'// ==================== // GESTION DU CHEMIN PASSE EN PARAMETRE // $iNiveau = 0; // Protection de l'accès aux répertoires '/', $sRep ); // on calcul le nombres de dossiers passés dans l'url (qui sera le niveau dans l'arborescence) // nettoyage des dossiers, pour enlever les chaines vides et les accès du type ./ et ../ // L'accès aux dossiers miniatures est aussi interdit. '''/^[.]+$|''/'// reconstruction des index du tableau // Reconstruction de la chaine d'accès nettoyée '/'// Vérification que le dossier passé dans l'url existe sinon on l'efface // ce qui a pour effet de revenir à la page d'accueil. ''// on recalcule le niveau aps nettoyage // ==================== // GESTION DE LA LISTE DES DOSSIERS DE PHOTOS // // AlBulles permet désormais de gérer une arborescence de dossiers pour pouvoir classer plus finement les photos. // Cette arborescence est à 2 niveaux seulement. // pour la construction de l'arborescence on prend une autre variable car elle va être modifiée. $sResultat = $oOutils->SousChaineGauche( $sRepCourant, '/', 1 ); $sRepParent = ( $sResultat === $sRepCourant ) ? '' : $sResultat; // Détermination du premier niveau à lire selon ce qui a été demandé et où l'utilisateur se trouve. // lecture répertoires 'TOUT'// lecture nombre dossiers lus 'dir'] ); // S'il n'y a pas de dossiers. '<li class="puceNoDossier">Il n\'y a pas de photos actuellement</li>''<li class="puceRemonter"> <a href="''PHP_SELF'].'?rep='"\">Remonter</a></li>\n"; // Création liste dossiers '''dir'][$i] : $sRepParent.'/''dir'''''; // lecture sous dossiers du dossier courant '/''dir'][$i], 'TOUT'// lecture nombre sous-dossiers lus 'dir'] ); // test si on se trouve sur le dossier courant pour le mettre en gras '<strong>''</strong> ''file']; } // lien dossier parent '<em>(''file'] ).')</em>' : '''<li class="pucePhotos"> <a href="''PHP_SELF'].'?rep=''">''_', ' ''dir'][$i] ) ."$sGrasFin</a> $sNbPhoto</li>\n"; // Concaténation sous-liste // on ne calcule le nombre de photo d'un dossier que si autorisé dans la config '/''dir'][$i].'/''dir'][$j], 'FICHIERS_SEULEMENT''<em>('')</em>''''<li class="puceSousDossier"> <a href="''PHP_SELF'].'?rep=''/''dir'][$j] )).'">''_', ' ''dir'][$j] ) ."</a> $sNbPhoto</li>\n"; } } // ==================== // GESTION DE LA LISTE DES PHOTOS (si un répertoire est défini) // // calcul du nombre de pages // génération de la pagination 'PHP_SELF'].'?rep='// creation du dossier des miniatures s'il n'existe pas '/''# ALBULLES # <strong>[ Erreur ]</strong> => Impossible de créer le dossier des miniatures. Vérifiez les droits d\'accès.'// CREATION DES VIGNETTES // compteur pour le tableau (il doit être indépendant du compteur de boucle) // vérification qu'on ne dépasse pas la taille du tableau $iImgAAfficher = ( ( ($iPage-1) * $iImgParPage ) >$iNbPhotos - $iImgParPage ) ? $iNbPhotos - ( ($iPage-1) * $iImgParPage ) : $iImgParPage; // pour chaque photo dans l'intervalle de la page '/''/min_'// // Gestion du panier : si on demande la sélection de toutes les images de la page // avant d'afficher chaque vignette, on l'ajoute au panier. Idem si on demande le // retrait. // 'tout''rien'// si la miniature n'existe pas ou que la photo est plus récente que la miniature => création ou remplacement '.''jpg''jpeg''jpe': $sTypeMime = 'image/jpeg''gif': $sTypeMime = 'image/gif''png': $sTypeMime = 'image/png''# ALBULLES # <strong>[ Erreur ]</strong> => Un fichier non supporté (autre que GIF, JPEG ou PNG) se trouve dans ce répertoire. Veuillez le supprimer.'''// lecture taille photo // définition des chaines d'ajout et de retrait des images dans le panier $sAjout = '<a href="''PHP_SELF'].'?rep=''&page='.$iPage.'&act=ajouter&img=''" class="puceAjout" title="Ajouter l\'image">+</a>'; $sRetrait = '<a href="''PHP_SELF'].'?rep=''&page='.$iPage.'&act=supprimer&img=''" class="puceRetrait" title="Retirer l\'image">-</a>'; // création du lien de la miniature 'target="_blank"' : '''LIEN_PHOTO'] = "<a href=\"$sCheminPhoto\" $sTargetBlank>".'<img src="''" class="miniature" alt="Photo ''" /></a>''DIM_PHOTO'] = $aImgInfos[0].' x ''SIZE_PHOTO'' Octets'' Ko''AJOUT_PANIER'// ==================== // GESTION DES LIENS DU PANIER // // création des liens si des fichiers se trouvent dans le panier '<ul class="menu">'."\n"; $sMenuPanier .= '<li class="puceDownload"><a href="''">Télécharger les images</a></li>'."\n"; $sMenuPanier .= '<li class="puceVider"><a href="''PHP_SELF'].'?rep=''&page='.$iPage.'&act=vider">Vider le panier</a></li>'."\n"; $sMenuPanier .= "</ul>\n"; } // définition du nombre de fichiers dans le panier et des liens pour les ajouts / suppressions multiples $sNbFichiersDansLePanier = ( $oPanier->PanierPlein() ) ? '<span style="color: red;">'.$oPanier->CompterFichiers().'(Panier plein)</span>' : $oPanier->CompterFichiers(); $sPanierLienToutAjouter = '<a href="''PHP_SELF'].'?rep=''&page='.$iPage.'&act=tout" class="puceAjoutPage" title="Ajouter toutes les images de la page">+</a>'; $sPanierLienToutSupprimer = '<a href="''PHP_SELF'].'?rep=''&page='.$iPage.'&act=rien" class="puceRetraitPage" title="Retirer toutes les images de la page">-</a>'; // ==================== // INITIALISATIONS DIVERSES POUR L'HTML // 'Accueil' : "Photos de {$aDossiers[$iNiveau-1]}"; // liens sur le titre qui contient le chemin où l'utilisateur se trouve 'Accueil''''/''<a href="''PHP_SELF'].'?rep=''">''_', ' ''</a> > ''_', ' '// pour la version ' v'.$sVersion : ''; // ==================== // Inclusion de la partie HTML pour l'affichage //