datefilter.php 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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'])) { $date_str1 = str_replace('"','',$_GET['date_start']); }
  7. if (!empty($_POST['date_start'])) { $date_str1 = str_replace('"','',$_POST['date_start']); }
  8. $datetime_start = DateTime::createFromFormat('Y-m-d',$date_str1);
  9. if (!$datetime_start) { $datetime_start = DateTime::createFromFormat('Y-m-d H:i:s',$date_str1); }
  10. if (!$datetime_start) { $datetime_start = DateTime::createFromFormat('Y.m.d',$date_str1); }
  11. if (!$datetime_start) { $datetime_start = DateTime::createFromFormat('Y.m.d H:i:s',$date_str1); }
  12. if (!empty($datetime_start)) {
  13. $date1 = $datetime_start->format('Y-m-d');
  14. $time_start = $datetime_start->getTimestamp();
  15. }
  16. } else {
  17. if (!empty($_SESSION[$page_url]['date_start'])) {
  18. $date1 = $_SESSION[$page_url]['date_start'];
  19. $datetime_start = DateTime::createFromFormat('Y-m-d',$date1);
  20. $time_start = $datetime_start->getTimestamp();
  21. } else {
  22. $date1 = $datetime_start->format('Y-m-d');
  23. $time_start = $datetime_start->getTimestamp();
  24. }
  25. }
  26. if (!empty($_POST['date_stop']) or !empty($_GET['date_stop'])) {
  27. if (!empty($_GET['date_stop'])) { $date_str2 = str_replace('"','',$_GET['date_stop']); }
  28. if (!empty($_POST['date_stop'])) { $date_str2 = str_replace('"','',$_POST['date_stop']); }
  29. $datetime_stop = DateTime::createFromFormat('Y-m-d',$date_str2);
  30. if (!$datetime_stop) { $datetime_stop = DateTime::createFromFormat('Y-m-d H:i:s',$date_str2); }
  31. if (!$datetime_stop) { $datetime_stop = DateTime::createFromFormat('Y.m.d H:i:s',$date_str2); }
  32. if (!$datetime_stop) { $datetime_stop = DateTime::createFromFormat('Y.m.d H:i:s',$date_str2); }
  33. if (!empty($datetime_stop)) {
  34. $date2 = $datetime_stop->format('Y-m-d');
  35. $time_stop = $datetime_stop->getTimestamp();
  36. }
  37. } else {
  38. if (!empty($_SESSION[$page_url]['date_stop'])) {
  39. $date2 = $_SESSION[$page_url]['date_stop'];
  40. $datetime_stop = DateTime::createFromFormat('Y-m-d',$date2);
  41. $time_stop = $datetime_stop->getTimestamp();
  42. }
  43. }
  44. if (!isset($datetime_stop) or empty($datetime_stop)) {
  45. if ($default_date_shift==='d') {
  46. $datetime_start->modify('+1 day');
  47. $time_stop = $datetime_start->getTimestamp();
  48. $date2 = $datetime_start->format('Y-m-d');
  49. }
  50. if ($default_date_shift==='m') {
  51. $datetime_stop = new DateTime($date1);
  52. $datetime_stop->modify('+1 day');
  53. $time_stop = $datetime_stop->getTimestamp();
  54. $date2 = $datetime_start->format('Y-m-d');
  55. $date1 = $datetime_start->format('Y-m-1');
  56. $datetime_start = new DateTime($date1);
  57. $time_start = $datetime_start->getTimestamp();
  58. }
  59. if (empty($datetime_stop)) {
  60. $datetime_stop = new DateTime();
  61. $datetime_stop->modify('+1 day');
  62. $time_stop = $datetime_stop->getTimestamp();
  63. $date2 = $datetime_start->format('Y-m-d');
  64. }
  65. } else {
  66. $date2 = $datetime_stop->format('Y-m-d');
  67. $time_stop = $datetime_stop->getTimestamp();
  68. }
  69. $days_shift = ceil(($time_stop - $time_start)/86400);
  70. $_SESSION[$page_url]['date_start']=$date1;
  71. $_SESSION[$page_url]['date_stop']=$date2;
  72. ?>