Codulle - L'explorateur de code sources

Accueil>> AlBulle >> Albulle1.0rc2 >> core

Informations fichier

Nom du fichier : panierdefichiers.class.php
Taille du fichier : 9 Ko (295 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 29/11/2006
  51. * @version 1.0rc2
  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. * Dossier racine où sont stockés les fichiers ajoutés au panier.
  61. *
  62. * @var [STRING]
  63. * @access [PRIVATE]
  64. */'';
  65. /**
  66. * Nombre maximum de fichiers dans le panier.
  67. *
  68. * @var [INTEGER]
  69. * @access [PRIVATE]
  70. *//**
  71. * Poids maximum de l'archive en Mo.
  72. *
  73. * @var [FLOAT]
  74. * @access [PRIVATE]
  75. *//**
  76. * Constructeur de la classe.
  77. *
  78. * Peut recevoir un nombre maximum de fichiers pour limiter le contenu du panier.
  79. * Si aucun paramètre ou que le nombre passé vaut 0 ou est négatif le panier est illimité.
  80. *
  81. * @param [STRING] $sRoot Dossier racine où se situent les fichiers du panier.
  82. * @param [INTEGER] $iNbFichiersMax Nombre de fichiers que l'on peut mettre dans le panier.
  83. * @param [FLOAT] $fPoidsMax Poids maximum en Mo que peut prendre l'archive du panier.
  84. * @return [VOID]
  85. */// verification que le module de compression est actif sur le serveur
  86. 'zlib''# PANIER # <strong>[ Erreur fatale ]</strong> L\'extension \'zlib\' n\'est pas charg&eacute;e. Impossible d\'utiliser le panier sans elle.');
  87.  
  88. // s'il n'y a pas de session démarrée, il faut la créer
  89. ''// creation du panier s'il n'existe pas déjà
  90. // initialisation du nombre max de fichiers
  91. /**
  92. * Ajoute un fichier au panier que s'il n'y est pas déjà et si le panier n'est pas plein.
  93. * La recherche si le fichier se trouve déjà dans le panier s'effectue
  94. * avec le chemin complet du fichier (autorise alors deux noms de fichiers
  95. * identiques mais dans des dossiers différents).
  96. *
  97. * @param [STRING] $sCheminFichier Chemin du fichier.
  98. * @return [BOOLEAN] TRUE si le fichier a été ajouté, FALSE sinon.
  99. */// ajout du fichier s'il n'y est pas déjà et si le panier n'est pas plein
  100. /**
  101. * Supprime le fichier spécifié du panier.
  102. *
  103. * @param [STRING] $sCheminFichier Chemin du fichier à supprimer. (Idem méthode d'ajout)
  104. * @return [BOOLEAN] TRUE si le fichier a été supprimé, FALSE sinon.
  105. */// si l'image se trouve bien dans le panier on la supprime
  106. // Mise-à-jour des index des éléments pour éviter les trous dans l'indexation
  107. /**
  108. * Vide le panier.
  109. *
  110. * @param [VOID]
  111. * @return [VOID]
  112. *//**
  113. * Création de l'archive qui contient les fichiers du panier.
  114. *
  115. * L'archive est générée à la volée pour être directement envoyée à la sortie standard, soit
  116. * le navigateur du client qui demande le téléchargement de son panier.
  117. *
  118. * @param [STRING] $sNomArchive Nom à donner à l'archive sans extension. Valeur par défaut : 'Panier'.
  119. * @param [ARRAY] $aNomsInternes Utilisez ce tableau si la structure interne de l'archive doit être différente de la structure
  120. * des fichiers d'origine. Pour fonctionner, ce tableau doit contenir autant d'éléments que
  121. * le panier. Chacun d'eux correspond au nouveau chemin + nom de l'élément dans l'archive.
  122. * @return [VOID]
  123. */'Panier'// inclusion de la librairie de compression zip
  124. // Initialisation tableau des éléments
  125. // On place tous les éléments du panier dans un dossier racine du même nom que l'archive
  126. '/'// tri des index du panier qui peuvent n'être plus bon aps des suppressions
  127. // Envoi de l'archive du panier
  128. OnTheFlyZIP( $sNomArchive.'.zip'/**
  129. * Compte le nombre de fichiers dans le panier.
  130. *
  131. * @param [VOID]
  132. * @return [INTEGER] Retourne le nombre de fichiers dans le panier.
  133. *//**
  134. * Calcule le poids que fera l'archive qui contiendra les éléments du panier.
  135. *
  136. * @param [VOID]
  137. * @return [FLOAT] Retourne le poids du panier.
  138. */// On ramène le poids de l'archive à 97% de la taille totale (ratio généralement constaté pour zip & tar)
  139. }
  140.  
  141. /**
  142. * Vérifie l'existence d'un fichier dans le panier.
  143. *
  144. * @param [STRING] $sCheminFichier Chemin du fichier à vérifier.
  145. * @return [MIXED] La position de l'élément dans le panier si existant, FALSE sinon.
  146. *//**
  147. * Permet de savoir si le panier est plein.
  148. *
  149. * @param [VOID]
  150. * @return [BOOLEAN] TRUE si le panier est plein, FALSE sinon.
  151. */// si un nombre max de fichiers a été défini et que le panier est plein
  152. /**
  153. * Retourne le contenu du panier.
  154. *
  155. * @param [VOID]
  156. * @return [ARRAY] Le tableau qui représente le contenu du panier.
  157. *//**
  158. * Vérifie que les fichiers présents dans le panier existent.
  159. *
  160. * @param [VOID]
  161. * @return [VOID]
  162. *//**
  163. * Affiche le contenu du panier.
  164. * Fonction utile uniquement pour du déboguage.
  165. *
  166. * @param [VOID]
  167. * @return [VOID]
  168. */'<pre>''</pre>'

Liste des projets

Téléchargez Codulle

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