Codulle - L'explorateur de code sources

Accueil>> AlBulle >> AlBulle0.4 >> medias

Informations fichier

Nom du fichier : explore.php
Taille du fichier : 20 Ko (469 lignes)
Language : PHP

  1. span style="color: #808080; font-style: italic;">////////////////////////////////////////
  2. // Encodage du fichier : UTF-8
  3. // Utilisation des tabulations : Oui
  4. // 1 tabulation = 4 caractères
  5. // Fins de lignes = LF (Unix)
  6. ////////////////////////////////////////
  7.  
  8. ///////////////////////////////
  9. // LICENCE
  10. ///////////////////////////////
  11. //
  12. // © DUCARRE Cedric, Bubulles Creations, (09/05/2005)
  13. //
  14. // webmaster@jebulle.net
  15. // http://jebulle.net
  16. //
  17. // AlBulle est un programme de galerie photos pour site internet.
  18. //
  19. // Ce logiciel est régi par la licence CeCILL soumise au droit français et
  20. // respectant les principes de diffusion des logiciels libres. Vous pouvez
  21. // utiliser, modifier et/ou redistribuer ce programme sous les conditions
  22. // de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
  23. // sur le site "http://www.cecill.info".
  24. //
  25. // En contrepartie de l'accessibilité au code source et des droits de copie,
  26. // de modification et de redistribution accordés par cette licence, il n'est
  27. // offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,
  28. // seule une responsabilité restreinte pèse sur l'auteur du programme, le
  29. // titulaire des droits patrimoniaux et les concédants successifs.
  30. //
  31. // A cet égard l'attention de l'utilisateur est attirée sur les risques
  32. // associés au chargement, à l'utilisation, à la modification et/ou au
  33. // développement et à la reproduction du logiciel par l'utilisateur étant
  34. // donné sa spécificité de logiciel libre, qui peut le rendre complexe à
  35. // manipuler et qui le réserve donc à des développeurs et des professionnels
  36. // avertis possédant des connaissances informatiques approfondies. Les
  37. // utilisateurs sont donc invités à charger et tester l'adéquation du
  38. // logiciel à leurs besoins dans des conditions permettant d'assurer la
  39. // sécurité de leurs systèmes et ou de leurs données et, plus généralement,
  40. // à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
  41. //
  42. // Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
  43. // pris connaissance de la licence CeCILL, et que vous en avez accepté les
  44. // termes.
  45. //
  46. ///////////////////////////////
  47.  
  48. /**
  49. * AlBulle - Galerie photos
  50. *
  51. * @author SamRay1024
  52. * @copyright Bubulles Creations
  53. * @link http://jebulle.net
  54. * @name AlBulle
  55. * @since 25/01/2006
  56. * @version 0.8
  57. */
  58.  
  59. // ====================
  60. // DEFINITION RACINE
  61. //
  62. // Constante à modifier si vous incluez AlBulle depuis un autre script.
  63. // /!\ Si vous faites cette modification ici, faites-là aussi dans download.php et popup.php
  64. 'JB_AL_ROOT', '' );
  65.  
  66. // ====================
  67. // INCLUSION DES FICHIERS NECESSAIRES
  68. //
  69. 'includes/config.php''classes/panierdefichiers.class.php''classes/util.class.php' );
  70.  
  71.  
  72. // ====================
  73. // INITIALISATIONS
  74. //
  75. $sVersion = '0.8''''_miniatures'// Envoi des entêtes HTTP que si on n'est pas en intégration et que si les entêtes n'ont pas déjà été envoyées
  76. 'Content-type: text/html; charset=utf-8' ); // Force l'encodage de sortie à l'UTF-8
  77.  
  78.  
  79. // ====================
  80. // VERIFICATIONS
  81. //
  82.  
  83. // Fonction qui affiche les erreurs et quitte le programme
  84. '# ALBULLE # <strong>[ Erreur ]</strong> => ''gd' ) )
  85. erreur( 'La librairie GD n\'est pas chargée sur votre serveur PHP. Elle est obligatoire pour
  86. assurer le fonctionnement d\'AlBulle. Activez-la dans le fichier <em>php.ini</em> ou
  87. contactez votre administrateur si vous n\'êtes pas propriétaire du serveur. <br /><br />
  88. Rendez-vous sur les forums de JeBulle.Net pour visualiser <a href="http://forums.jebulle.net/viewtopic.php?id=417">
  89. ce message</a> (Lisez l\'erreur 1) qui concerne cette erreur.'// existence dossier des photos
  90. erreur( 'Le dossier <em>''</em> est introuvable.
  91. Vérifiez la configuration dans le fichier <strong>config.php</strong>. Il s\'agit
  92. du répertoire qui doit contenir vos albums photos !'// est-ce que le dossier des photos est autorisé en écriture
  93. erreur( 'Le dossier <em>''</em> n\'est pas autorisé en écriture ce qui peut
  94. engendrer des disfonctionnements. Changez ses droits ainsi que ses sous-dossiers pour qu\'ils soient
  95. autorisés en écriture.'// existence thème spécifié
  96. erreur( 'Le fichier du thème <em>''</em> est introuvable.
  97. Vérifiez la configuration dans le fichier <strong>config.php</strong>.'// existence fichier accueil
  98. erreur( 'Le fichier <em>''</em> est introuvable.
  99. Vérifiez la configuration dans le fichier <strong>config.php</strong>. Si ce fichier
  100. n\'existe pas, créez-le et complétez-le pour bénéficier d\'un texte d\'accueil.'// Vérification dimensions de redimensionnement
  101. erreur( 'Les valeurs de hauteur et largeur pour le redimensionnement des photos pour la génération
  102. des miniatures ne peuvent être nulles. Veuillez modifier ces valeurs dans la configuration.'// nombre d'images par page
  103. erreur( 'Le nombre d\'images par page ne peut pas être nul. Veuillez corriger sa valeur dans la configuration.'// Vérification dossier centre de téléchargement
  104. 'Le dossier <em>''</em> est introuvable.
  105. Vérifiez la configuration dans le fichier <strong>config.php</strong>.' );
  106. }
  107.  
  108. // ====================
  109. // LECTURE DES PARAMETRES PASSES DANS L'URL
  110. //
  111. 'rep''rep'] )) : $sRep = '''page''page''act''act'] : $sAct = '''img''img'] )) : $sImg = '';
  112.  
  113.  
  114. // ====================
  115. // GESTION DU PANIER
  116. //
  117. // Lancement des actions.
  118. // L'action de télechargement est désormais située dans le fichier download.php (ou le nom que nous lui avez donné).
  119. 'ajouter''supprimer''vider'// ====================
  120. // GESTION DU CHEMIN PASSE EN PARAMETRE
  121. //
  122. $iNiveau = 0;
  123.  
  124. // Nettoyage du chemin (pour éviter les failles d'accès)
  125. // On récupère la liste des dossiers de ce chemin pour pouvoir connaitre le niveau dans lequel on se trouve
  126. // Vérification que le dossier passé dans l'url existe sinon on l'efface
  127. // ce qui a pour effet de revenir à la page d'accueil.
  128. ''// ====================
  129. // CALCUL NIVEAU DANS L'ARBORESCENCE
  130. //
  131. // ====================
  132. // GESTION DE LA LISTE DES DOSSIERS DE PHOTOS
  133. //
  134. // AlBulle permet désormais de gérer une arborescence de dossiers pour pouvoir classer plus finement les photos.
  135. // Cette arborescence est à 2 niveaux seulement.
  136. $sRepCourant = $sRep; // pour la construction de l'arborescence on prend une autre variable car elle va être modifiée.
  137. $sResultat = $oOutils->SousChaineGauche( $sRepCourant, '/', 1 );
  138. $sRepParent = ( $sResultat === $sRepCourant ) ? '' : $sResultat;
  139.  
  140. // Détermination du premier niveau à lire selon ce qui a été demandé et où l'utilisateur se trouve.
  141. // lecture répertoires
  142. 'TOUT'// lecture nombre dossiers lus
  143. 'dir'] );
  144.  
  145. // S'il n'y a pas de dossiers.
  146. '<li class="puceNoDossier">Il n\'y a pas de photos actuellement</li>''<li class="puceRemonter">
  147. <a href="''PHP_SELF'].'?rep='"\">Remonter</a></li>\n";
  148.  
  149. // Création liste dossiers
  150. '''dir'][$i] : $sRepParent.'/''dir''''';
  151. // lecture sous dossiers du dossier courant
  152. '/''dir'][$i], 'TOUT'// lecture nombre sous-dossiers lus
  153. 'dir'] );
  154. // test si on se trouve sur le dossier courant pour le mettre en gras
  155. '<strong>''</strong> ''file'];
  156. }
  157.  
  158. // lien dossier parent
  159. '<em>(''file'] ).')</em>' : '';
  160. // Application filtres sur le nom du dossier si actif
  161. 'dir''dir''<li class="pucePhotos">
  162. <a href="''PHP_SELF'].'?rep=''">''_', ' ', $sNomRep )
  163. ."$sGrasFin</a> $sNbPhoto</li>\n";
  164. // Concaténation sous-liste (uniquement pour le dossier courant si la config est définie comme telle)
  165. // on ne calcule le nombre de photo d'un dossier que si autorisé dans la config
  166. '/''dir'][$i].'/''dir'][$j], 'FICHIERS_SEULEMENT''<em>('')</em>''';
  167.  
  168. // Application filtres sur le nom du dossier si actif
  169. 'dir''dir''<li class="puceSousDossier">
  170. <a href="''PHP_SELF'].'?rep=''/''dir'][$j] )).'">''_', ' ', $sNomSousRep )
  171. ."</a> $sNbPhoto</li>\n";
  172. }
  173. }
  174. }
  175.  
  176. // ====================
  177. // GESTION DE LA LISTE DES PHOTOS (si un répertoire est défini)
  178. //
  179. // calcul du nombre de pages
  180. // génération de la pagination
  181. 'PHP_SELF'].'?rep='// creation du dossier des miniatures s'il n'existe pas
  182. '/''# ALBULLE # <strong>[ Erreur ]</strong> => Impossible de cr&eacute;er le dossier des miniatures. V&eacute;rifiez les droits d\'acc&egrave;s.'// CREATION DES VIGNETTES
  183. // compteur pour le tableau (il doit être indépendant du compteur de boucle)
  184. // vérification qu'on ne dépasse pas la taille du tableau
  185. // pour chaque photo dans l'intervalle de la page
  186. '/''/min_'//
  187. // Gestion du panier : si on demande la sélection de toutes les images de la page
  188. // avant d'afficher chaque vignette, on l'ajoute au panier. Idem si on demande le
  189. // retrait.
  190. //
  191. 'tout''rien'// si la miniature n'existe pas ou que la photo est plus récente que la miniature => création ou remplacement
  192. '.''jpg''jpeg''jpe': $sTypeMime = 'image/jpeg''gif': $sTypeMime = 'image/gif''png': $sTypeMime = 'image/png''# ALBULLE # <strong>[ Erreur ]</strong> =>
  193. Un fichier non supporté (autre que GIF, JPEG ou PNG) se trouve dans ce répertoire.
  194. Il se peut que cela soit un fichier caché que vous avez envoyé avec vos photos.
  195. Veuillez le supprimer.'''// lecture taille photo
  196. // définition des chaines d'ajout et de retrait des images dans le panier
  197. '.''<a href="''PHP_SELF'].'?rep=''&amp;page='.$iPage.'&amp;act=ajouter&amp;img=''" class="puceAjout" title="Ajouter l\'image">+</a>';
  198. $sRetrait = '<a href="''PHP_SELF'].'?rep=''&amp;page='.$iPage.'&amp;act=supprimer&amp;img=''" class="puceRetrait" title="Retirer l\'image">-</a>''<a href="''PHP_SELF'].'?rep=''&amp;page='.$iPage.'&amp;act=ajouter&amp;img=''" class="puceAjout" title="Ajouter l\'image">+</a>';
  199. $sRetrait = '<a href="''PHP_SELF'].'?rep=''&amp;page='.$iPage.'&amp;act=supprimer&amp;img=''" class="puceRetrait" title="Retirer l\'image">-</a>';
  200. }
  201. // Si ouverture des photos demandé avec target="_blank"
  202. 'target="_blank"' : '';
  203. // Si ouverture demandée par Popup Javascript (Ouverture prioritaire par rapport au target blank)
  204. "javascript:popup( '$sCheminPhoto', {$aImgInfos[0]}, {$aImgInfos[1]} );"'LIEN_PHOTO'] = "<a href=\"$sLienHref\" $sTargetBlank>".'<img src="''" class="miniature" alt="Photo ''" /></a>''NOM_PHOTO''<br />' : '''DIM_PHOTO'' x '.$aImgInfos[1].'<br />' : '''SIZE_PHOTO'' Octets'' Ko' ) : '''AJOUT_PANIER'// Application filtres
  205. 'NOM_PHOTO''NOM_PHOTO''NOM_PHOTO''_', ' ''NOM_PHOTO''NOM_PHOTO''NOM_PHOTO'], '.', 1 ).'<br />';
  206. $j++;
  207. }
  208. }
  209.  
  210.  
  211. // ====================
  212. // GESTION DES LIENS DU PANIER
  213. //
  214.  
  215. // création des liens si des fichiers se trouvent dans le panier
  216. '<ul class="menu">'."\n";
  217. $sMenuPanier .= '<li class="puceDownload"><a href="''download.php">T&eacute;l&eacute;charger les images</a></li>'."\n";
  218. $sMenuPanier .= '<li class="puceVider"><a href="''PHP_SELF'].'?rep=''&amp;page='.$iPage.'&amp;act=vider">Vider le panier</a></li>'."\n";
  219. $sMenuPanier .= "</ul>\n";
  220. }
  221.  
  222. // définition du nombre de fichiers dans le panier et des liens pour les ajouts / suppressions multiples
  223. $sNbFichiersDansLePanier = ( $oPanier->PanierPlein() ) ? '<span style="color: red;">'.$oPanier->CompterFichiers().'(Panier plein)</span>' : $oPanier->CompterFichiers();
  224. $sPanierLienToutAjouter = ( $iNbPhotos > 0 ) ? '<a href="''PHP_SELF'].'?rep=''&amp;page='.$iPage.'&amp;act=tout" class="puceAjoutPage" title="Ajouter toutes les images de la page">+</a>' : '';
  225. $sPanierLienToutSupprimer = ( $iNbPhotos > 0 ) ? '<a href="''PHP_SELF'].'?rep=''&amp;page='.$iPage.'&amp;act=rien" class="puceRetraitPage" title="Retirer toutes les images de la page">-</a>' : '';
  226.  
  227.  
  228. // ====================
  229. // INITIALISATIONS DIVERSES POUR L'HTML
  230. //
  231.  
  232. // Nettoyage préfixe et tirets bas
  233. '_', ' ''Accueil' : "Photos de $sTitreFiltre";
  234.  
  235. // liens sur le titre qui contient le chemin où l'utilisateur se trouve
  236. 'Accueil'''// Nettoyage préfixe
  237. '/''<a href="''PHP_SELF'].'?rep=''">''_', ' ''</a> > ';
  238. }
  239. // Nettoyage préfixe
  240. '_', ' '// pour la version
  241. ' v'.$sVersion : '';
  242.  
  243. // pour le lien de retour vers un site principal (si défini)
  244. '' ) ? '<a href="''">'"</a><br /><br />\n" : '';
  245.  
  246. // ====================
  247. // Inclusion de la partie HTML pour l'affichage
  248. //
  249.  

Liste des projets

Téléchargez Codulle

Publié par Codulle - v0.1.1 - © Bubulles Creations