summaryrefslogtreecommitdiff
path: root/includes/funktion_schichtplan_Tage.php
blob: 2c21a99267bebf93c3e01a0026d25bf34d89ce58 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php
  if(!function_exists("DatumUm1TagErhoehen")) {
    function DatumUm1TagErhoehen( $Datum) {
      $Jahr = substr($Datum, 0, 4);
      $Monat = substr($Datum, 5, 2);
      $Tag = substr($Datum, 8, 2);

      $Tag++;

      switch( $Monat) {
        case 1:
          $Mmax = 31;
          break;
        case 2:
          $Mmax = 28;
          break;
        case 3:
          $Mmax = 31;
          break;
        case 4:
          $Mmax = 30;
          break;
        case 5:
          $Mmax = 31;
          break;
        case 6:
          $Mmax = 30;
          break;
        case 7:
          $Mmax = 31;
          break;
        case 8:
          $Mmax = 31;
          break;
        case 9:
          $Mmax = 30;
          break;
        case 10:
          $Mmax = 31;
          break;
        case 11:
          $Mmax = 30;
          break;
        case 12:
          $Mmax = 31;
          break;
      }

      if($Tag > $Mmax) {
        $Tag = 1;
        $Monat++;
      }

      if($Monat > 12) {
        $Monat = 1;
        $Jahr++;
      }

      $Tag = strlen( $Tag ) == 1 ? "0".$Tag : $Tag;
      $Monat = strlen( $Monat ) == 1 ? "0".$Monat : $Monat;

      return ("$Jahr-$Monat-$Tag");
    }
  }

  // suchen den ersten eintrags
  $SQL = "SELECT `DateS` FROM `Shifts` ORDER BY `DateS` LIMIT 1";
  $Erg = mysql_query($SQL, $con);

  $Pos = 0;

  if(mysql_num_rows($Erg) > 0) {
    do {
      // Startdatum einlesen und link ausgeben
      $DateS = substr(mysql_result($Erg, 0 , 0), 0,10);
      $VeranstaltungsTage[$Pos++] = $DateS;
  
      // auslesen den endes und eventuelle weitere tage ausgeben
      $SQL2 = "SELECT MAX(`DateE`) FROM `Shifts` WHERE ( (`DateS` like '$DateS%') AND NOT (`DateE` like '%00:00:00'))";
      $Erg2 = mysql_query($SQL2, $con);
      $DateE = substr(mysql_result($Erg2, 0 , 0), 0,10);

      if(strlen($DateE) == 0)
        $DateE = $DateS;
      else
        while( $DateS != $DateE) {
          $DateS = DatumUm1TagErhoehen( $DateS);
          $VeranstaltungsTage[$Pos++] = $DateS;
        }

        // suchen den naesten eintrag
        $SQL = "SELECT `DateS` FROM `Shifts` ".
               "WHERE (`DateS` > '$DateE 23:59:59' ) ".
               "ORDER BY `DateS` ".
               "LIMIT 1";
        $Erg = mysql_query($SQL, $con);
    } while( mysql_fetch_row($Erg) > 0);
  }

  $VeranstaltungsTageMax = $Pos - 1;
?>