Codulle - L'explorateur de code sources

Accueil>> AlBulle >> Albulle0.9.2

Informations fichier

Nom du fichier : panierdefichiers.class.php
Taille du fichier : 8 Ko (260 lignes)
Language : PHP

  1. span style="color: #808080; font-style: italic;">///////////////////////////////
  2. // LICENCE
  3. ///////////////////////////////
  4. //
  5. // © DUCARRE Cédric (SamRay1024), Bubulles Créations, (09/05/2005)
  6. //
  7. // webmaster@jebulle.net
  8. // http://jebulle.net
  9. //
  10. // Ce logiciel est un programme servant à gérer un panier de fichiers pour
  11. // sites internet.
  12. //
  13. // Ce logiciel est régi par la licence CeCILL soumise au droit français et
  14. // respectant les principes de diffusion des logiciels libres. Vous pouvez
  15. // utiliser, modifier et/ou redistribuer ce programme sous les conditions
  16. // de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
  17. // sur le site "http://www.cecill.info".
  18. //
  19. // En contrepartie de l'accessibilité au code source et des droits de copie,
  20. // de modification et de redistribution accordés par cette licence, il n'est
  21. // offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,
  22. // seule une responsabilité restreinte pèse sur l'auteur du programme, le
  23. // titulaire des droits patrimoniaux et les concédants successifs.
  24. //
  25. // A cet égard l'attention de l'utilisateur est attirée sur les risques
  26. // associés au chargement, à l'utilisation, à la modification et/ou au
  27. // développement et à la reproduction du logiciel par l'utilisateur étant
  28. // donné sa spécificité de logiciel libre, qui peut le rendre complexe à
  29. // manipuler et qui le réserve donc à des développeurs et des professionnels
  30. // avertis possédant des connaissances informatiques approfondies. Les
  31. // utilisateurs sont donc invités à charger et tester l'adéquation du
  32. // logiciel à leurs besoins dans des conditions permettant d'assurer la
  33. // sécurité de leurs systèmes et ou de leurs données et, plus généralement,
  34. // à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
  35. //
  36. // Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
  37. // pris connaissance de la licence CeCILL, et que vous en avez accepté les
  38. // termes.
  39. //
  40. ///////////////////////////////
  41.  
  42. /**
  43. * Classe de gestion de panier de fichiers.
  44. *
  45. * Permet d'ajouter des fichiers à un panier virtuel et de créer une archive
  46. * télechargeable de ces fichiers.
  47. *
  48. * @author SamRay1024
  49. * @copyright Bubulles Creation - http://jebulle.net
  50. * @since 05/09/2006
  51. * @version 0.8 (PHP4)
  52. *
  53. */
  54.  
  55. // nom de la variable du panier dans la session
  56. 'NOM_PANIER_SESSION', 'JB_PANIER_FICHIERS' );
  57.  
  58. // chemin d'accès à la librairie de compression
  59. 'COMPRESS_LIB', 'OMzip.php'/**
  60. * Nombre maximum de fichiers dans le panier.
  61. *
  62. * @var [INTEGER]
  63. * @access [PRIVATE]
  64. *//**
  65. * Poids maximum de l'archive en Mo.
  66. *
  67. * @var [FLOAT]
  68. * @access [PRIVATE]
  69. *//**
  70. * Constructeur de la classe.
  71. *
  72. * Peut recevoir un nombre maximum de fichiers pour limiter le contenu du panier.
  73. * Si aucun paramètre ou que le nombre passé vaut 0 ou est négatif le panier est illimité.
  74. *
  75. * @param [INTEGER] $iNbFichiersMax Nombre de fichiers que l'on peut mettre dans le panier.
  76. * @param [FLOAT] $fPoidsMax Poids maximum en Mo que peut prendre l'archive du panier.
  77. * @return [VOID]
  78. */// verification que le module de compression est actif sur le serveur
  79. 'zlib''# PANIER # <strong>[ Erreur fatale ]</strong> L\'extension \'zlib\' n\'est pas charg&eacute;e. Impossible d\'utiliser le panier sans elle.');
  80.  
  81. // s'il n'y a pas de session démarrée, il faut la créer
  82. ''// creation du panier s'il n'existe pas déjà
  83. // initialisation du nombre max de fichiers
  84. /**
  85. * Ajoute un fichier au panier que s'il n'y est pas déjà et si le panier n'est pas plein.
  86. * La recherche si le fichier se trouve déjà dans le panier s'effectue
  87. * avec le chemin complet du fichier (autorise alors deux noms de fichiers
  88. * identiques mais dans des dossiers différents).
  89. *
  90. * @param [STRING] $sCheminFichier Chemin du fichier.
  91. * @return [BOOLEAN] TRUE si le fichier a été ajouté, FALSE sinon.
  92. */// ajout du fichier s'il n'y est pas déjà et si le panier n'est pas plein
  93. /**
  94. * Supprime le fichier spécifié du panier.
  95. *
  96. * @param [STRING] $sCheminFichier Chemin du fichier à supprimer. (Idem méthode d'ajout)
  97. * @return [BOOLEAN] TRUE si le fichier a été supprimé, FALSE sinon.
  98. */// si l'image se trouve bien dans le panier on la supprime
  99. // Mise-à-jour des index des éléments pour éviter les trous dans l'indexation
  100. /**
  101. * Vide le panier.
  102. *
  103. * @param [VOID]
  104. * @return [VOID]
  105. *//**
  106. * Création de l'archive qui contient les fichiers du panier.
  107. *
  108. * L'archive est générée à la volée pour être directement envoyée à la sortie standard, soit
  109. * le navigateur du client qui demande le téléchargement de son panier.
  110. *
  111. * @param [STRING] $sNomArchive Nom à donner à l'archive sans extension. Valeur par défaut : 'Panier'.
  112. * @param [ARRAY] $aChangerPanier Utilisez ce tableau si vous avez besoin de modifier les éléments du panier
  113. * sans modifier le panier pour que l'archive puisse être créée.
  114. * L'utilisation de ce tableau devient prioritaire sur le tableau
  115. * interne du panier.
  116. * @return [VOID]
  117. */'Panier'// inclusion de la librairie de compression zip
  118. // Initialisation tableau des éléments
  119. // tri des index du panier qui peuvent n'être plus bon aps des suppressions
  120. // Envoi de l'archive du panier
  121. OnTheFlyZIP( $sNomArchive.'.zip', $aElementsPourArchive );
  122. }
  123.  
  124. /**
  125. * Compte le nombre de fichiers dans le panier.
  126. *
  127. * @param [VOID]
  128. * @return [INTEGER] Retourne le nombre de fichiers dans le panier.
  129. *//**
  130. * Calcule le poids que fera l'archive qui contiendra les éléments du panier.
  131. *
  132. * @param [VOID]
  133. * @return [FLOAT] Retourne le poids du panier.
  134. */// On ramène le poids de l'archive à 97% de la taille totale (ratio généralement constaté pour zip & tar)
  135. }
  136.  
  137. /**
  138. * Vérifie l'existence d'un fichier dans le panier.
  139. *
  140. * @param [STRING] $sCheminFichier Chemin du fichier à vérifier.
  141. * @return [MIXED] La position de l'élément dans le panier si existant, FALSE sinon.
  142. *//**
  143. * Permet de savoir si le panier est plein.
  144. *
  145. * @param [VOID]
  146. * @return [BOOLEAN] TRUE si le panier est plein, FALSE sinon.
  147. */// si un nombre max de fichiers a été défini et que le panier est plein
  148. /**
  149. * Retourne le contenu du panier.
  150. *
  151. * @param [VOID]
  152. * @return [ARRAY] Le tableau qui représente le contenu du panier.
  153. *//**
  154. * Affiche le contenu du panier.
  155. * Fonction utile uniquement pour du déboguage.
  156. *
  157. * @param [VOID]
  158. * @return [VOID]
  159. */'<pre>''</pre>'

Liste des projets

Téléchargez Codulle

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