magic_strip.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. # ***** BEGIN LICENSE BLOCK *****
  3. # This file is part of DotClear.
  4. # Copyright (c) 2004 Olivier Meunier and contributors. All rights
  5. # reserved.
  6. #
  7. # DotClear is free software; you can redistribute it and/or modify
  8. # it under the terms of the GNU General Public License as published by
  9. # the Free Software Foundation; either version 2 of the License, or
  10. # (at your option) any later version.
  11. #
  12. # DotClear is distributed in the hope that it will be useful,
  13. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. # GNU General Public License for more details.
  16. #
  17. # You should have received a copy of the GNU General Public License
  18. # along with DotClear; if not, write to the Free Software
  19. # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  20. #
  21. # ***** END LICENSE BLOCK *****
  22. /* cassage des magic_quotes */
  23. function magicStrip(&$k,$key)
  24. {
  25. if(get_magic_quotes_gpc()) {
  26. $k = handleMagicQuotes($k);
  27. }
  28. }
  29. function handleMagicQuotes(&$value)
  30. {
  31. if (get_magic_quotes_gpc()) {
  32. if (is_array($value)) {
  33. $result = array();
  34. foreach ($value as $k => $v)
  35. {
  36. if (is_array($v)) {
  37. $result[$k] = handleMagicQuotes($v);
  38. } else {
  39. $result[$k] = stripslashes($v);
  40. }
  41. }
  42. return $result;
  43. } else {
  44. return stripslashes($value);
  45. }
  46. }
  47. return $value;
  48. }
  49. if(!empty($_GET)) {
  50. array_walk($_GET,'magicStrip');
  51. }
  52. if(!empty($_POST)) {
  53. array_walk($_POST,'magicStrip');
  54. }
  55. if(!empty($_REQUEST)) {
  56. array_walk($_REQUEST,'magicStrip');
  57. }
  58. if(!empty($_COOKIE)) {
  59. array_walk($_COOKIE,'magicStrip');
  60. }
  61. ?>