Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/clients/a38b86744e455b1f2e763fe46170a4c9/web/jebulle.net/sources/classes/geshi.php on line 2013
.: Codulle : Source de url.class.php :.

Codulle - L'explorateur de code sources

Accueil>> AlBulle >> Albulle0.9.2 >> includes >> classes

Informations fichier

Nom du fichier : url.class.php
Taille du fichier : 7 Ko (231 lignes)
Language : PHP

  1. <?php
  2.  
  3. ////////////////////////////////////////
  4. // Encodage du fichier : UTF-8
  5. // Utilisation des tabulations : Oui
  6. // 1 tabulation = 4 caractères
  7. // Fins de lignes = LF (Unix)
  8. ////////////////////////////////////////
  9.  
  10. ///////////////////////////////
  11. // LICENCE
  12. ///////////////////////////////
  13. //
  14. // © DUCARRE Cédric (SamRay1024), Bubulles Créations, (09/05/2005)
  15. //
  16. // webmaster@jebulle.net
  17. // http://jebulle.net
  18. //
  19. // Ce fichier fait partie d'AlBulle, script de gestion d'albums photos.
  20. //
  21. // Ce logiciel est régi par la licence CeCILL soumise au droit français et
  22. // respectant les principes de diffusion des logiciels libres. Vous pouvez
  23. // utiliser, modifier et/ou redistribuer ce programme sous les conditions
  24. // de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
  25. // sur le site "http://www.cecill.info".
  26. //
  27. // En contrepartie de l'accessibilité au code source et des droits de copie,
  28. // de modification et de redistribution accordés par cette licence, il n'est
  29. // offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,
  30. // seule une responsabilité restreinte pèse sur l'auteur du programme, le
  31. // titulaire des droits patrimoniaux et les concédants successifs.
  32. //
  33. // A cet égard l'attention de l'utilisateur est attirée sur les risques
  34. // associés au chargement, à l'utilisation, à la modification et/ou au
  35. // développement et à la reproduction du logiciel par l'utilisateur étant
  36. // donné sa spécificité de logiciel libre, qui peut le rendre complexe à
  37. // manipuler et qui le réserve donc à des développeurs et des professionnels
  38. // avertis possédant des connaissances informatiques approfondies. Les
  39. // utilisateurs sont donc invités à charger et tester l'adéquation du
  40. // logiciel à leurs besoins dans des conditions permettant d'assurer la
  41. // sécurité de leurs systèmes et ou de leurs données et, plus généralement,
  42. // à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
  43. //
  44. // Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
  45. // pris connaissance de la licence CeCILL, et que vous en avez accepté les
  46. // termes.
  47. //
  48. ///////////////////////////////
  49.  
  50.  
  51. /**
  52. * Objet de gestion de l'URL pour Albulle.
  53. *
  54. * @author SamRay1024
  55. * @copyright Bubulles Creation - http://jebulle.net
  56. * @since 03/10/2006
  57. * @version 1.0
  58. *
  59. */
  60.  
  61. class Url {
  62. /**
  63. * Définit si l'on doit construire une Url en respectant $_SERVER['REQUEST_URI'] ou
  64. * en utilisant simplement $_SERVEUR['PHP_SELF'].
  65. *
  66. * Si cet attribut vaut True, alors il faut respecter $_SERVER['REQUEST_URI'].
  67. *
  68. * @var boolean
  69. * @access public
  70. */
  71. var $bRequestUri = false;
  72. /**
  73. * Chaîne qui stockera les Url générées.
  74. *
  75. * @var string
  76. * @access public
  77. */
  78. var $sUrl = '';
  79. /**
  80. * Le fichier exécuté avec son chemin d'accès depuis la racine.
  81. * (pour http://hostname.com/dir1/dir2/index.php, $sPath vaudra '/dir1/dir2/index.php')
  82. *
  83. * @var string
  84. * @access public
  85. */
  86. var $sPath = '';
  87. /**
  88. * Le tableau associatif qui contient les paramètres et leur valeurs passés dans l'Url.
  89. *
  90. * @var array
  91. * @access public
  92. */
  93. var $aQuery = array();
  94. /**
  95. * Tout ce qui se trouve après la hachure # (comme les ancres).
  96. *
  97. * @var string
  98. * @access public
  99. */
  100. var $sFragment = '';
  101. /**
  102. * Constructeur.
  103. *
  104. * @param boolean $bModeRequestUri Indique le mode de construction de l'Url.
  105. * @return Url
  106. */
  107. function Url( $bModeRequestUri )
  108. {
  109. if( !is_bool($bModeRequestUri) ) $bModeRequestUri = false;
  110. if( ($this->bRequestUri = $bModeRequestUri) === true )
  111. {
  112. $aUrl = parse_url( $_SERVER['REQUEST_URI'] );
  113. $this->sPath = $aUrl['path'];
  114. $this->sFragment = $aUrl['fragment'];
  115. $this->aQuery = $this->explodeParams( $aUrl['query'] );
  116. }
  117. }
  118. /**
  119. * Contruit une Url.
  120. *
  121. * @param string $sQuery Paramètres à ajouter dans l'url.
  122. * @param string $sFragment Element à ajouter après la hachure (remplace l'élément courant dans le cas du respect de REQUEST_URI).
  123. * @return string L'Url fraîchement créée. Elle se trouve aussi dans l'attribut $sUrl.
  124. */
  125. function construireUrl( $sQuery, $sFragment = '' )
  126. {
  127. if( $sFragment !== '' ) $this->sFragment = $sFragment;
  128. if( $this->bRequestUri === false )
  129. $this->sUrl = $_SERVER['PHP_SELF']
  130. .( $sQuery !== '' ? '?'.$sQuery : '' )
  131. .( $sFragment !== '' ? '#'.$sFragment : '' );
  132. else {
  133. // Suppression des paramètres redéfinis dans la nouvelle chaîne du tableau des paramètres d'origine
  134. $this->verifierDoublons( $this->explodeParams($sQuery) );
  135. // Génération des paramètres originaux moins les nouveaux
  136. $sOriginalQuery = $this->implodeParams($this->aQuery);
  137. // Concaténation de l'url
  138. $this->sUrl = $_SERVER['PHP_SELF'];
  139. if( !empty($sOriginalQuery) || !empty($sQuery) ) $this->sUrl .= '?';
  140. if( !empty($sOriginalQuery) && empty($sQuery) ) $this->sUrl .= $sOriginalQuery;
  141. if( empty($sOriginalQuery) && !empty($sQuery) ) $this->sUrl .= $sQuery;
  142. if( !empty($sOriginalQuery) && !empty($sQuery) ) $this->sUrl .= $sOriginalQuery.'&amp;'.$sQuery;
  143. if( !empty($this->sFragment) ) $this->sUrl .= '#'.$this->sFragment;
  144. }
  145. return $this->sUrl;
  146. }
  147. /**
  148. * Transforme la chaine des paramètres d'une Url en un tableau associatif.
  149. *
  150. * Le tableau est de la forme Tab['paramètre'] = valeur.
  151. *
  152. * @param string $sQuery Chaîne de paramètres de la forme param1=valeur1&param2=valeur2&...
  153. * @return array Le tableau associatif des paramètres.
  154. */
  155. function explodeParams( $sQuery )
  156. {
  157. $aParams = array();
  158. $aTemp = explode( '&', $sQuery );
  159. foreach( $aTemp as $key => $value )
  160. {
  161. $aParam = explode('=', $value);
  162. $aParams[$aParam[0]] = (sizeof($aParam) > 0 ? $aParam[1] : '');
  163. }
  164. return $aParams;
  165. }
  166. /**
  167. * Transforme un tableau associatif de paramètres d'Url en une chaîne formatée pour une Url.
  168. *
  169. * Le tableau reçu doit être de la forme Tab['paramètre'] = valeur.
  170. *
  171. * @param array $aParams Le tableau associatif des paramètres.
  172. * @return string Chaîne de paramètres de la forme param1=valeur1&param2=valeur2&...
  173. */
  174. function implodeParams( $aParams )
  175. {
  176. $aTemp = array();
  177. foreach($aParams as $key => $value)
  178. if( !empty($key) )
  179. $aTemp[] = $key.( !empty($value) ? '='.$value : '' );
  180. return (sizeof($aTemp) > 0 ? implode( '&amp;', $aTemp ) : '');
  181. }
  182. /**
  183. * Supprime les paramètres originaux qui sont redéfinis dans les nouveaux.
  184. *
  185. * @param array $aParams Tableau associatif des nouveaux paramètres.
  186. */
  187. function verifierDoublons( $aParams )
  188. {
  189. // Récupérations paramètres originaux et nouveaux paramètres
  190. $aParamsOriginaux = array_keys( $this->aQuery );
  191. $aParamsNouveaux = array_keys( $aParams );
  192. // Recherche paramètres originaux qui sont aussi dans les nouveaux paramètres
  193. $aParamsDoubles = array_intersect( $aParamsOriginaux, $aParamsNouveaux );
  194. // Suppression des paramètres en double
  195. foreach( $aParamsDoubles as $key => $value )
  196. unset( $this->aQuery[$value] );
  197. }
  198. function pre($tab)
  199. {
  200. echo '<pre>';
  201. print_r($tab);
  202. echo '</pre>';
  203. }
  204. }

Liste des projets

Téléchargez Codulle

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