datefilter.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. if (!defined("CONFIG")) die("Not defined");
  3. $datetime_start = new DateTime();
  4. if (empty($default_date_shift)) { $default_date_shift='d'; }
  5. if (!empty($_GET['date_start']) or !empty($_POST['date_start'])) {
  6. if (!empty($_GET['date_start'])) { $datetime_start = GetDateTimeFromString($_GET['date_start']); }
  7. if (!empty($_POST['date_start'])) { $datetime_start = GetDateTimeFromString($_POST['date_start']); }
  8. $date1 = $datetime_start->format('Y-m-d');
  9. $time_start = $datetime_start->getTimestamp();
  10. } else {
  11. if (!empty($_SESSION[$page_url]['date_start'])) {
  12. $date1 = $_SESSION[$page_url]['date_start'];
  13. $datetime_start = GetDateTimeFromString($date1);
  14. $time_start = $datetime_start->getTimestamp();
  15. } else {
  16. $date1 = $datetime_start->format('Y-m-d');
  17. $time_start = $datetime_start->getTimestamp();
  18. }
  19. }
  20. if (!empty($_POST['date_stop']) or !empty($_GET['date_stop'])) {
  21. if (!empty($_GET['date_stop'])) { $datetime_stop = GetDateTimeFromString($_GET['date_stop']); }
  22. if (!empty($_POST['date_stop'])) { $datetime_stop = GetDateTimeFromString($_POST['date_stop']); }
  23. $date2 = $datetime_stop->format('Y-m-d');
  24. $time_stop = $datetime_stop->getTimestamp();
  25. } else {
  26. if (!empty($_SESSION[$page_url]['date_stop'])) {
  27. $date2 = $_SESSION[$page_url]['date_stop'];
  28. $datetime_stop = GetDateTimeFromString($date2);
  29. $time_stop = $datetime_stop->getTimestamp();
  30. }
  31. }
  32. if (!empty($datetime_stop) and !empty($datetime_start)) {
  33. if (($time_stop - $time_start)/86400 <1) { $datetime_stop = NULL; }
  34. }
  35. if (!isset($datetime_stop) or empty($datetime_stop)) {
  36. if ($default_date_shift==='d') {
  37. $datetime_start->modify('+1 day');
  38. $time_stop = $datetime_start->getTimestamp();
  39. $date2 = $datetime_start->format('Y-m-d');
  40. }
  41. if ($default_date_shift==='m') {
  42. $datetime_stop = new DateTime($date1);
  43. $datetime_stop->modify('+1 day');
  44. $time_stop = $datetime_stop->getTimestamp();
  45. $date2 = $datetime_start->format('Y-m-d');
  46. $date1 = $datetime_start->format('Y-m-1');
  47. $datetime_start = new DateTime($date1);
  48. $time_start = $datetime_start->getTimestamp();
  49. }
  50. if (empty($datetime_stop)) {
  51. $datetime_stop = new DateTime();
  52. $datetime_stop->modify('+1 day');
  53. $time_stop = $datetime_stop->getTimestamp();
  54. $date2 = $datetime_start->format('Y-m-d');
  55. }
  56. } else {
  57. $date2 = $datetime_stop->format('Y-m-d');
  58. $time_stop = $datetime_stop->getTimestamp();
  59. }
  60. $days_shift = ceil(($time_stop - $time_start)/86400);
  61. $_SESSION[$page_url]['date_start']=$date1;
  62. $_SESSION[$page_url]['date_stop']=$date2;
  63. ?>