Codulle - L'explorateur de code sources

Accueil>> AlBulle >> Albulle1.0rc4 >> core >> includes

Informations fichier

Nom du fichier : url.class.php
Taille du fichier : 8 Ko (269 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. // Ce fichier fait partie d'AlBulle, script de gestion d'albums photos.
  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. /**
  50. * Objet de gestion de l'URL pour Albulle.
  51. *
  52. * @author SamRay1024
  53. * @copyright Bubulles Creation - http://jebulle.net
  54. * @since 12/11/2006
  55. * @version 1.0.1
  56. *
  57. *//**
  58. * Définit si l'on doit construire une Url en respectant $_SERVER['REQUEST_URI'] ou
  59. * en utilisant simplement $_SERVEUR['PHP_SELF'].
  60. *
  61. * Si cet attribut vaut True, alors il faut respecter $_SERVER['REQUEST_URI'].
  62. *
  63. * @var boolean
  64. * @access public
  65. *//**
  66. * Chaîne qui stockera les Url générées.
  67. *
  68. * @var string
  69. * @access public
  70. */'';
  71.  
  72. /**
  73. * Le fichier exécuté avec son chemin d'accès depuis la racine.
  74. * (pour http://hostname.com/dir1/dir2/index.php, $sPath vaudra '/dir1/dir2/index.php')
  75. *
  76. * @var string
  77. * @access public
  78. */'';
  79.  
  80. /**
  81. * Le tableau associatif qui contient les paramètres et leur valeurs passés dans l'Url.
  82. *
  83. * @var array
  84. * @access public
  85. *//**
  86. * Tableau indexé des paramètres qu'il faut systématiquement effacer de l'Url d'origine.
  87. *
  88. * @var array
  89. * @access public
  90. *//**
  91. * Tout ce qui se trouve après la hachure # (comme les ancres).
  92. *
  93. * @var string
  94. * @access public
  95. */'';
  96.  
  97. /**
  98. * Constructeur.
  99. *
  100. * @param boolean $bModeRequestUri Indique le mode de construction de l'Url.
  101. * @param array $aParamsToClean Tableau des paramètres qu'il faut systématiquement effacer de l'Url d'origine.
  102. * @return Url
  103. */'REQUEST_URI'] );
  104.  
  105. $this->sPath = $aUrl['path''fragment']) ? $aUrl['fragment'] : '''query''&', '&', $aUrl['query'/**
  106. * Construit une Url.
  107. *
  108. * @param string $sQuery Paramètres à ajouter dans l'url.
  109. * @param string $sFragment Element à ajouter après la hachure (remplace l'élément courant dans le cas du respect de REQUEST_URI).
  110. * @return string L'Url fraîchement créée. Elle se trouve aussi dans l'attribut $sUrl.
  111. */'''''PHP_SELF']
  112. .( $sQuery !== '' ? '?'.$sQuery : '' )
  113. .( $sFragment !== '' ? '#'.$sFragment : ''// Suppression des paramètres redéfinis dans la nouvelle chaîne du tableau des paramètres d'origine
  114. // Génération des paramètres originaux moins les nouveaux
  115. // Concaténation de l'url
  116. 'PHP_SELF''?''&''#'/**
  117. * Transforme la chaine des paramètres d'une Url en un tableau associatif.
  118. *
  119. * Le tableau est de la forme Tab['paramètre'] = valeur.
  120. *
  121. * @param string $sQuery Chaîne de paramètres de la forme param1=valeur1&param2=valeur2&...
  122. * @return array Le tableau associatif des paramètres.
  123. */'&''&', '&''='''/**
  124. * Transforme un tableau associatif de paramètres d'Url en une chaîne formatée pour une Url.
  125. *
  126. * Le tableau reçu doit être de la forme Tab['paramètre'] = valeur.
  127. *
  128. * @param array $aParams Le tableau associatif des paramètres.
  129. * @return string Chaîne de paramètres de la forme param1=valeur1&param2=valeur2&...
  130. */'='.$value : '''&', $aTemp ) : '');
  131. }
  132.  
  133. /**
  134. * Supprime les paramètres originaux qui sont redéfinis dans les nouveaux ainsi
  135. * que les paramètres qui doivent être effacés.
  136. *
  137. * @param array $aParams Tableau associatif des nouveaux paramètres.
  138. */// Récupérations paramètres originaux et nouveaux paramètres
  139. // Recherche paramètres originaux qui sont aussi dans les nouveaux paramètres
  140. // Recherche paramètres à supprimer
  141. // Suppression des paramètres en double
  142. // Suppression des paramètres qui doivent toujours être supprimés
  143. /**
  144. * Enlève de la chaine reçue les paramètres dont la valeur est vide.
  145. *
  146. * @param string $sQuery Chaîne de paramètres de la forme param1=valeur1&param2=valeur2&...
  147. * @return string La chaîne nettoyée.
  148. */'&''&', '&''`^.*=$`''&', $aClean);
  149. }
  150. }

Liste des projets

Téléchargez Codulle

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