Codulle - L'explorateur de code sources

Accueil>> AlBulle >> Albulle0.9.1 >> themes >> albulle >> css

Informations fichier

Nom du fichier : explore.php
Taille du fichier : 28 Ko (638 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 Cédric (SamRay1024), Bubulles Créations, (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 11/11/2006
  56. * @version 1.0rc1
  57. */
  58.  
  59. // Fonction qui affiche les erreurs et quitte le programme
  60. 'Content-type: text/html; charset=utf-8''
  61. <p style="background-color: papayawhip; border: 3px solid #c33; margin: 20px; padding: 20px;">
  62. <strong># ALBULLE #</strong> <strong style="color: #c33;">[ Erreur ]</strong> <br /><br />
  63. <strong>&raquo;</strong> '.$sMessage.
  64. '</p>
  65. <p style="background-color: azure; border: 3px solid steelblue; margin: 40px; padding: 10px; text-align: center;">
  66. N\'hésitez pas à vous rendre sur le forum d\'Albulle si vous n\'arrivez pas à trouver
  67. de solution à votre problème.<br />
  68. <strong>&raquo;</strong>
  69. <a href="http://forums.jebulle.net" style="text-decoration: none; color: steelblue;">http://forums.jebulle.net</a>
  70. <strong>&laquo;</strong>
  71. </p>'
  72. );
  73. }
  74.  
  75. // Fonction qui permet d'inclure un fichier
  76. 'Impossible de trouver le fichier <em>'.$sFichier.'</em>.
  77. Ce fichier est nécessaire pour le fonctionnement d\'Albulle.');
  78. }
  79.  
  80.  
  81. // Vérification que la racine est bien définie
  82. 'JB_AL_ROOT') )
  83. erreur( 'La constante JB_AL_ROOT doit être définie et pointer sur une installation valide d\'Albulle.''_JB_INCLUDE_AUTH', 1 );
  84.  
  85. // ====================
  86. // INCLUSION DES FICHIERS NECESSAIRES
  87. //
  88. inclure( 'config.php' );
  89. inclure( 'core/includes/fonctions.php' );
  90. inclure( 'core/includes/classes/panierdefichiers.class.php' );
  91. inclure( 'core/includes/classes/url.class.php' );
  92. inclure( 'core/includes/classes/util.class.php' );
  93.  
  94. // Vérifier si la galerie est ouverte
  95. 'lock''
  96. <p style="background-color: azure; border: 3px solid steelblue; margin: 40px; padding: 10px; text-align: center;">
  97. ''
  98. </p>'
  99. );
  100.  
  101.  
  102. // ====================
  103. // INITIALISATIONS
  104. //
  105. // Tableau qui contiendra toutes les variables nécessaires et disponibles pour l'affichage
  106. // Tableau qui contiendra les miniatures
  107. // Tableau qui contiendra les paramètres reçus dans l'URL
  108. // Tableau qui contiendra les paramètres reçus par les formulaires
  109. 's_version'] = '1.0rc1''s_acces_theme''s_arborescence''s_menu_panier'] = '''s_lien_panier_tout_ajouter''s_lien_panier_tout_supprimer'] = '''s_navigation''s_pagination'] = '''s_classe_css_vignette'] = '''s_texte_mode_affichage''s_lien_mode_affichage'] = '''b_defilement_auto''voir' => '', 'diaporama' => '' ); // Tableau des actions disponibles
  110. // Tableau qui contiendra la liste des dossiers du répertoire courant passé par l'url
  111. // Tableau qui contiendra la liste des photos pour la page courante
  112. 'rep', 'page', 'act', 'img', 'diapo', 'voir', 'diaporama''session.use_trans_sid', '0');
  113.  
  114. // 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
  115. 'Content-type: text/html; charset=utf-8' ); // Force l'encodage de sortie à l'UTF-8
  116.  
  117.  
  118. // ====================
  119. // VERIFICATIONS
  120. //
  121. // ====================
  122. // LECTURE DES PARAMETRES PASSES DANS L'URL
  123. //
  124. 's_rep_courant''rep''rep'] )) : '''i_page_courante''page''page''s_action''act''act'] : '''s_image''img''img'] )) : '''s_diapo_courante''diapo''diapo'] )) : '''b_voir_panier''voir''b_mode_diaporama''diaporama'] );
  125.  
  126. // Gestion diaporama
  127. 'b_mode_diaporama''b_mode_diaporama''b_mode_diaporama']) $aActions['diaporama'] = '&amp;diaporama';
  128.  
  129.  
  130. // ====================
  131. // GESTION DU PANIER
  132. //
  133. // Lancement des actions.
  134. // L'action de télechargement est désormais située dans le fichier download.php (ou le nom que nous lui avez donné).
  135. 's_action''ajouter''s_image''supprimer''s_image''b_voir_panier'] && // Si on visionne le panier ...
  136. 'b_mode_diaporama'] && // ... en mode diaporama ...
  137. 's_image''s_diapo_courante'] // ... et que l'image supprimée du panier est celle visionnée
  138. )
  139. // alors on efface la diapo courante ... pour ne pas réafficher l'image supprimée ;-)
  140. 's_diapo_courante'] = '''vider'// Gestion de l'exploration du panier :
  141. // si exploration du panier demandée et qu'il y a des fichiers dans le panier, on définit l'action pour l'url ; sinon
  142. // on désactive l'exporation du panier
  143. 'b_voir_panier'] && $oPanier->CompterFichiers() > 0) ? $aActions['voir'] = '&amp;voir''b_voir_panier'// ====================
  144. // GESTION DU CHEMIN PASSE EN PARAMETRE
  145. //
  146.  
  147. // Nettoyage du chemin (pour éviter les failles d'accès)
  148. // On récupère la liste des dossiers de ce chemin pour pouvoir connaitre le niveau dans lequel on se trouve
  149. 's_rep_courant''s_rep_courant''s_rep_courant_url''s_rep_courant']);
  150.  
  151. // Vérification que le dossier passé dans l'url existe sinon on l'efface
  152. // ce qui a pour effet de revenir à la page d'accueil.
  153. 's_rep_courant''s_rep_courant'] = '''s_rep_courant_url'] = '';
  154.  
  155.  
  156. // ====================
  157. // CALCUL NIVEAU DANS L'ARBORESCENCE
  158. //
  159. // ====================
  160. // GESTION DE LA LISTE DES DOSSIERS DE PHOTOS
  161. //
  162. // Albulle permet de gérer une arborescence multi-niveaux de dossiers pour pouvoir classer plus finement les photos.
  163. // Répertoire racine
  164. 's_rep_courant'], // Répertoire demandé
  165. $iNiveau, // Niveau de profondeur du répertoire demandé
  166. // Dossiers à ne pas afficher
  167. 'gif', 'jpe', 'jpeg', 'jpg', 'png' ), // Fichier autorisés
  168. // Afficher le nombre de fichiers par dossier
  169. // Afficher le nombre de fichiers même si dossier vide
  170. // Dérouler tous les dossiers ou seulement celui demandé
  171. // Filtrage activé ou non (cf. explications dans includes/config.php)
  172. // Séparateur des filtres
  173. 's_arborescence'] = $aResultats['arborescence_html''s_rappel_sous_dossiers'] = $aResultats['dossiers_rep_courant''b_voir_panier'] ? $aResultats['fichiers_dossier_courant'] : $oPanier->obtenirPanier();
  174.  
  175.  
  176. // ====================
  177. // GESTION DE LA LISTE DES PHOTOS (si un répertoire est défini)
  178. //
  179. // Si exploration du panier demandée, il faut nettoyer tous les chemins de la liste du panier
  180. // pour enlever le dossier racine des photos
  181. 'b_voir_panier''s_rep_courant''s_rep_courant''b_voir_panier']) && $iNbPhotos > 0 )
  182. {
  183. // Choix des dimensions des miniatures
  184. 'b_mode_diaporama''b_mode_diaporama'// calcul du nombre de pages
  185. // génération de la pagination
  186. 's_pagination''i_page_courante'], $oUrl->construireUrl( 'rep=''s_rep_courant_url'].$aActions['voir'].$aActions['diaporama'] ) );
  187.  
  188. // CREATION DES VIGNETTES
  189. // compteur pour le tableau (il doit être indépendant du compteur de boucle)
  190. 'i_diapo_courante'] = 0;
  191.  
  192. // vérification qu'on ne dépasse pas la taille du tableau
  193. 'i_page_courante''i_page_courante'//
  194. // Pour chaque image dans l'intervalle de la page
  195. //
  196. 'i_page_courante''i_page_courante''s_rep_courant']; // On utilise une variable car elle doit être modifiée en mode diaporama
  197.  
  198. // Si on se trouve en mode exploration du panier, il faut définir $sRepCourant à chaque fois,
  199. // et écraser le chemin de l'image pour qu'il n'y ai que le nom de l'image.
  200. 'b_voir_panier''/''/''/'));
  201. }
  202.  
  203. //
  204. // Definition chemin de la photo courante et de sa miniature
  205. //
  206. '.''/''_''x''_''.'.$sExtension;
  207.  
  208. //
  209. // Lectures infos image courante
  210. //
  211. ' Octets'' Ko';
  212.  
  213. //
  214. // Création miniature
  215. //
  216.  
  217. // Si l'image ne dépasse pas la limite de 5,3 millions de pixels, on peut lancer le traitement
  218. 'miniature';
  219.  
  220. // si la miniature n'existe pas ou que la photo est plus récente que la miniature => création ou remplacement
  221. ''// sinon, on écrase le chemin de la miniature pour afficher celle par défaut
  222. 'miniature_defaut''s_acces_theme'].(isIE() ? 'images/ie/miniature_defaut.gif' : 'images/miniature_defaut.png');
  223. }
  224.  
  225. //
  226. // Gestion du panier : si on demande la sélection de toutes les images de la page
  227. // avant d'afficher chaque vignette, on l'ajoute au panier. Idem si on demande le
  228. // retrait.
  229. //
  230. 's_action''tout''rien''b_voir_panier'//
  231. // Définition des chaines d'ajout et de retrait de l'image dans le panier
  232. //
  233. '.''rep=''s_rep_courant_url'].'&amp;page=''i_page_courante'].'&amp;act=ajouter&amp;img=''voir'].$aActions['diaporama'] );
  234. $sUrlRetrait = $oUrl->construireUrl( 'rep=''s_rep_courant_url'].'&amp;page=''i_page_courante'].'&amp;act=supprimer&amp;img=''voir'].$aActions['diaporama''s_diapo_courante'] !== '') ? '&amp;diapo=''s_diapo_courante']) : '';
  235.  
  236. $sUrlAjout = $oUrl->construireUrl( 'rep=''s_rep_courant_url'].'&amp;page=''i_page_courante'].$sParamDiapo.'&amp;act=ajouter&amp;img=''voir'].$aActions['diaporama'] );
  237. $sUrlRetrait = $oUrl->construireUrl( 'rep=''s_rep_courant_url'].'&amp;page=''i_page_courante'].$sParamDiapo.'&amp;act=supprimer&amp;img=''voir'].$aActions['diaporama'] );
  238. }
  239.  
  240. //
  241. // Sauvegarde l'indice de la photo visionnée si on est en mode diaporama
  242. // OU placement sur la première diapo s'il n'y en a pas de définie, uniquement quand on se trouve sur la 1ère itération de la boucle.
  243. //
  244. 'b_mode_diaporama''s_diapo_courante''s_diapo_courante''i_diapo_courante''s_diapo_courante''s_diapo_courante'//
  245. // Construction du lien de la vignette de la photo
  246. //
  247. // lien par défaut
  248.  
  249. $sLienHrefJS = $sBaliseLightBox = '';
  250.  
  251. // Si ouverture des photos demandé avec target="_blank"
  252. ' target="_blank"' : '';
  253.  
  254. // Ouverture avec Javascript sans Lightbox
  255. 'b_mode_diaporama''b_mode_diaporama'// Détermination de la largeur et de la hauteur de la popup si demandé dans la config
  256. // Réajustement des dimensions
  257. ' onclick="javascript:popup( encodeURI(\'''\'), '', '' ); return false;"';
  258. }
  259.  
  260. // Ouverture avec Javascript et Lightbox (pas besoin d'écraser le lien mais il faut construire la balise rel)
  261. 'b_mode_diaporama''b_mode_diaporama''_', ' ''.', 1 );
  262.  
  263. $sBaliseLightBox = ' rel="lightbox''b_mode_diaporama''' : '[albulle]').'" title="['.$aImgInfos[0].' x '.$aImgInfos[1].' | '.$sPoids.'] » ''"';
  264. }
  265.  
  266. // En mode diaporama, il faut écraser le lien pour afficher les images
  267. 'b_mode_diaporama'] ) {
  268. $sLienHref = $oUrl->construireUrl(
  269. 'rep=''s_rep_courant_url'].
  270. '&amp;page=''i_page_courante']
  271. .$aActions['voir'].
  272. $aActions['diaporama'].
  273. '&amp;diapo=''marqueur' );
  274. }
  275.  
  276.  
  277. //
  278. // Ajout de la vignette dans le tableau global
  279. //
  280. 'CHEMIN_PHOTO''CHEMIN_PHOTO_URL''LIEN_PHOTO''HREF' => $sLienHref,
  281. 'TARGET' => $sTargetBlank,
  282. 'JAVASCRIPT''b_mode_diaporama''',
  283. 'LIGHTBOX''b_mode_diaporama''',
  284. 'CHEMIN_MIN''CLASSE_CSS''ALT''NOM_PHOTO''b_mode_diaporama''''DIM_PHOTO'' x '.$aImgInfos[1] : '''SIZE_PHOTO''''TYPE_MIME''EXIF'// Lien pour l'ajout/retrait du panier
  285. 'PANIER']['MODE'] = 'retrait''PANIER']['URL''PANIER']['MODE'] = 'ajout''PANIER']['URL'] = $sUrlAjout;
  286. }
  287.  
  288. // Diapositive courante si mode diaporama actif
  289. 'b_mode_diaporama''LIEN_DIAPO''HREF''CHEMIN_PHOTO_URL'],
  290. 'TARGET' => $sTargetBlank,
  291. 'JAVASCRIPT' => $sLienHrefJS,
  292. 'LIGHTBOX''',
  293. 'ALT'//
  294. // Application filtres sur le nom de la photo
  295. //
  296. 'NOM_PHOTO''NOM_PHOTO''NOM_PHOTO''_', ' ''NOM_PHOTO''NOM_PHOTO''NOM_PHOTO'], '.', 1 );
  297.  
  298. $j++;
  299. }
  300. }
  301.  
  302. //echo '<pre>';
  303. //print_r($_MINIATURES);
  304. //echo '</pre>';
  305.  
  306. // ====================
  307. // GESTION DES LIENS DU PANIER
  308. //
  309.  
  310. // état du panier : plein ou pas, nombre de fichiers dans le panier, poids estimé de l'archive
  311. 'a_panier']['b_plein''a_panier']['i_nb_fichiers''a_panier']['s_poids_estime'' Octets'' Ko';
  312.  
  313. // création des liens si des fichiers se trouvent dans le panier
  314. 'a_panier']['i_nb_fichiers''a_menu_panier']['s_url_download''core/download.php''a_menu_panier']['s_url_voir'] = $oUrl->construireUrl( 'rep=''s_rep_courant_url'].'&amp;voir'.$aActions['diaporama''a_menu_panier']['s_url_vider'] = $oUrl->construireUrl(
  315. 'rep=''s_rep_courant_url''b_voir_panier'] ? '' : '&amp;page=''i_page_courante'])
  316. .'&amp;act=vider'
  317. .$aActions['diaporama']
  318. );
  319. }
  320.  
  321. // Liens pour les ajouts / retraits globaux
  322. 's_lien_panier_tout_ajouter''b_voir_panier'] ) ? $oUrl->construireUrl( 'rep=''s_rep_courant_url'].'&amp;page=''i_page_courante'].'&amp;act=tout'.$aActions['voir'].$aActions['diaporama'] ) : '''s_lien_panier_tout_supprimer''b_voir_panier'] ) ? $oUrl->construireUrl( 'rep=''s_rep_courant_url'].'&amp;page=''i_page_courante'].'&amp;act=rien'.$aActions['voir'].$aActions['diaporama'] ) : '';
  323.  
  324.  
  325. // ====================
  326. // INITIALISATIONS DIVERSES POUR L'HTML
  327. //
  328. 's_rep_courant''s_rep_courant''b_voir_panier''b_voir_panier'];
  329.  
  330. // Nettoyage préfixe et tirets bas
  331. 's_rep_courant''b_voir_panier''_', ' ''panier''s_titre_meta''s_rep_courant'] ) ) ? 'Accueil' : "Photos de $sTitreFiltre"'b_voir_panier''s_titre_meta''de', 'dans le''s_titre_meta']); // Pour remplacer le 'de' de la ligne précédente quand on visionne le contenu du panier.
  332.  
  333. // Construction de la chaine de navigation dans les dossiers
  334. 's_rep_courant''b_voir_panier''s_navigation'] = 'Accueil''''s_navigation'] = '<a href="''PHP_SELF'].'">Accueil</a> » ''b_voir_panier'] ; $i++ )
  335. {
  336. // Nettoyage préfixe
  337. '/''s_navigation'] .= '<a href="'.$oUrl->construireUrl( 'rep='.$oOutils->preparerUrl($sLien).$aActions['voir'].$aActions['diaporama'] ).'">''_', ' ''</a> » ';
  338. }
  339.  
  340. // Nettoyage préfixe
  341. 'b_voir_panier''Photos dans le panier''s_navigation''_', ' '// Lien modes galerie / diaporama
  342. 'b_mode_diaporama'] )
  343. {
  344. // Pour le défilement automatique
  345. 'DIAPORAMA_INTERVALLE''DIAPORAMA_INTERVALLE'] = 0;
  346.  
  347. // Si lancement défilement demandé
  348. 'diaporama_intervalle''DIAPORAMA_INTERVALLE''diaporama_intervalle''DIAPORAMA_INTERVALLE''DIAPORAMA_INTERVALLE''DIAPORAMA_INTERVALLE'] : 0;
  349.  
  350. // Si arrêt du défilement demandé
  351. 'arreter''DIAPORAMA_INTERVALLE'] = 0;
  352.  
  353. // Sauvegarde du temps du défilement et définition du drapeau qui nous servira pour les futurs tests
  354. 'i_intervalle_tps''DIAPORAMA_INTERVALLE''b_defilement_auto''DIAPORAMA_INTERVALLE'] > 0);
  355.  
  356. // Définition des attributs du bouton de défilement
  357. 'b_defilement_auto''s_defilement_submit_name'] = 'lancer''s_defilement_submit_value'] = 'Lancer !''s_defilement_submit_name'] = 'arreter''s_defilement_submit_value'] = 'Arrêter';
  358. }
  359.  
  360. // Construction liens précédente / suivante
  361. 's_url_img_precedente''s_url_img_suivante'] = '';
  362. $sPagePrecedente = $sPageSuivante = '&amp;page=';
  363.  
  364. // S'il y a des images précédentes
  365. 'i_page_courante''i_page_courante''i_page_courante''i_page_courante''s_url_img_precedente'] = $oUrl->construireUrl( 'rep=''s_rep_courant_url'].$sPagePrecedente.$aActions['voir'].$aActions['diaporama'].'&amp;diapo=''marqueur');
  366. }
  367.  
  368. // S'il y a des images qui suivent
  369. 'i_page_courante''i_page_courante''i_page_courante''s_url_img_suivante'] = $oUrl->construireUrl( 'rep=''s_rep_courant_url'].$sPageSuivante.$aActions['voir'].$aActions['diaporama'].'&amp;diapo=''marqueur''DIAPORAMA_INTERVALLE''s_lien_mode_affichage'] = $oUrl->construireUrl( 'rep=''s_rep_courant_url'].'&amp;page=''i_page_courante'].$aActions['voir''s_texte_mode_affichage'] = 'Mode galerie''s_classe_css_vignette'] = 'vignetteDiapo''s_lien_mode_affichage'] = $oUrl->construireUrl( 'rep=''s_rep_courant_url'].'&amp;page=''i_page_courante'].'&amp;diaporama'.$aActions['voir'], 'marqueur''s_texte_mode_affichage'] = 'Mode diaporama''s_classe_css_vignette'] = 'vignette';
  370. }
  371.  
  372. }
  373.  
  374.  
  375. // ====================
  376. // Affichage
  377. //
  378. 's_acces_theme'].'html.php''s_acces_theme'].'html.php''includes/html.php'

Liste des projets

Téléchargez Codulle

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