datetimefilter.php 3.8 KB

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