Subversion Repositories public

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4 andreas 1
<?php
2
function GetStrEinheit($einheit, $short=true) {
3
	switch ($einheit) {
4
	   case 1:
5
	      if ($short)
6
	         $sein = "S";
7
	      else
8
	         $sein = "Stunde";
9
	   break;
10
 
11
	   case 2:
12
	      if ($short)
13
	         $sein = "T";
14
	      else
15
	         $sein = "Tage";
16
	   break;
17
 
18
	   case 3:
19
	      if ($short)
20
	         $sein = "W";
21
	      else
22
	         $sein = "Wochen";
23
	   break;
24
 
25
	   case 4:
26
	      if ($short)
27
	         $sein = "M";
28
	      else
29
	         $sein = "Monate";
30
	   break;
31
 
32
	   case 5:
33
	      if ($short)
34
	         $sein = "Q";
35
	      else
36
	         $sein = "Quartale";
37
	   break;
38
 
39
	   case 6:
40
	      if ($short)
41
	         $sein = "J";
42
	      else
43
	         $sein = "Jahre";
44
	   break;
45
 
46
	   default: $sein = "NaN";
47
	}
48
 
49
	return $sein;
50
}
51
 
52
function GetStrMonth($mon, $short=true) {
53
	switch ($mon) {
54
	   case 1:
55
	      if ($short)
56
	         $sm = "Jan";
57
	      else
58
	         $sm = "J%auml;nner";
59
	   break;
60
 
61
	   case 2:
62
	      if ($short)
63
	         $sm = "Feb";
64
	      else
65
	         $sm = "Februar";
66
	   break;
67
 
68
	   case 3:
69
	      if ($short)
70
	         $sm = "M&auml;r";
71
	      else
72
	         $sm = "M&auml;rz";
73
	   break;
74
 
75
	   case 4:
76
	      if ($short)
77
	         $sm = "Apr";
78
	      else
79
	         $sm = "April";
80
	   break;
81
 
82
	   case 5:
83
	         $sm = "Mai";
84
	   break;
85
 
86
	   case 6:
87
	      if ($short)
88
	         $sm = "Jun";
89
	      else
90
	         $sm = "Juni";
91
	   break;
92
 
93
	   case 7:
94
	      if ($short)
95
	         $sm = "Jul";
96
	      else
97
	         $sm = "Juli";
98
	   break;
99
 
100
	   case 8:
101
	      if ($short)
102
	         $sm = "Aug";
103
	      else
104
	         $sm = "August";
105
	   break;
106
 
107
	   case 9:
108
	      if ($short)
109
	         $sm = "Sep";
110
	      else
111
	         $sm = "September";
112
	   break;
113
 
114
	   case 10:
115
	      if ($short)
116
	         $sm = "Okt";
117
	      else
118
	         $sm = "Oktober";
119
	   break;
120
 
121
	   case 11:
122
	      if ($short)
123
	         $sm = "Nov";
124
	      else
125
	         $sm = "November";
126
	   break;
127
 
128
	   case 12:
129
	      if ($short)
130
	         $sm = "Dez";
131
	      else
132
	         $sm = "Dezember";
133
	   break;
134
 
135
	   default: $sm = "NaN";
136
	}
137
 
138
	return $sm;
139
}
140
 
141
# Errechne das Endedatum ausgehend von einem gegebenen Datum, abhaengig
142
# von der eingestellten Einheit.
143
#
144
function GetEDate($einheit, $dt, $len) {
145
	switch ($einheit) {
146
	   case 1: $edate = $dt + (3600 * $len); break;
147
	   case 2: $edate = $dt + (86400 * $len); break;
148
	   case 3: $edate = $dt + ((86400 * 7) * $len); break;
149
	   case 4: $edate = $dt + ((86400 * 30) * $len); break;
150
	   case 5: $edate = $dt + ((86400 * 91) * $len); break;
151
	   case 6: $edate = $dt + ((86400 * 364) * $len); break;
152
	}
153
 
154
	return $edate;
155
}
156
 
157
# Setze den Tag immer auf den Letzten der eingestellten Periode.
158
#
159
function GetUltimo($dt) {
160
	global $periode;
161
 
162
	$day = gmdate("j", $dt);
163
	$mon = gmdate("n", $dt);
164
	$year = gmdate("Y", $dt);
165
 
166
	switch($periode) {
167
	   case 1:			// Jahr
168
	      $dat = gmmktime(0, 0, 0, 12, 31, $year);
169
	   break;
170
 
171
	   case 2:			// Quartal
172
	      if ($mon <= 3)
173
	         $dat = gmmktime(0, 0, 0, 3, daysinmonth(3, $year), $year);
174
	      else if ($mon <= 6)
175
	         $dat = gmmktime(0, 0, 0, 6, daysinmonth(6, $year), $year);
176
	      else if ($mon <= 9)
177
	         $dat = gmmktime(0, 0, 0, 9, daysinmonth(9, $year), $year);
178
	      else
179
	         $dat = gmmktime(0, 0, 0, 12, 31, $year);
180
	   break;
181
 
182
	   case 3:			// Monat
183
	      $dat = gmmktime(0, 0, 0, $mon, daysinmonth($mon, $year), $year);
184
	   break;
185
 
186
	   case 4:			// Woche
187
	      $darr = getdate($dt);
188
	      $wday = $darr["wday"];
189
 
190
	      if ($wday == 0)
191
	         $wday = 7;
192
 
193
	      $miss = 7 - $wday;
194
	      $j = 0;
195
 
196
	      while ($j < $miss) {
197
	         $day++;
198
 
199
		 if (!checkdate($mon, $day, $year)) {
200
		    $day = 1;
201
		    $mon++;
202
 
203
		    if ($mon > 12) {
204
		       $mon = 1;
205
		       $year++;
206
		    }
207
		 }
208
 
209
		 $j++;
210
	      }
211
 
212
	      $dat = gmmktime(0, 0, 0, $mon, $day, $year);
213
	   break;
214
 
215
	   case 5:			// Tag
216
	      $dat = $dt;
217
	   break;
218
	}
219
 
220
	return $dat;
221
}
222
 
223
# Erhoehe das Datum um die laenge der angegebenen Periode.
224
#
225
function IncDate($periode, $dt) {
226
	$amon = array(31,28,31,30,31,30,31,31,30,31,30,31);
227
 
228
	$tm = gmdate("j.n.Y", $dt);
229
	$ad = explode(".", $tm);
230
 
231
	switch ($periode) {
232
	   case 1:			// Jahr
233
	      $ad[2]++;
234
	   break;
235
 
236
	   case 2:			// Quartal
237
	      $ad[1] += 3;
238
 
239
	      if ($ad[1] > 12) {
240
	         $ad[1] = 12 - $ad[1];
241
		 $ad[2]++;
242
	      }
243
	   break;
244
 
245
	   case 3:			// Monat
246
	      $ad[1]++;
247
 
248
	      if ($ad[1] > 12) {
249
		 $ad[1] = 1;
250
		 $ad[2]++;
251
	      }
252
 
253
	      if (!checkdate($ad[1], $ad[0], $ad[2]) && $ad[1] > 28)
254
	         $ad[0] = daysinmonth($ad[1], $ad[2]);
255
	      else
256
	         $ad[0] = 1;
257
	   break;
258
 
259
	   case 4:			// Woche
260
	      $ad[0] += 7;
261
 
262
	      if ($ad[0] > daysinmonth($ad[1], $ad[2])) {
263
		 $ad[0] = 7 - $ad[0];
264
		 $ad[1]++;
265
 
266
	         if ($ad[1] > 12) {
267
		    $ad[1] = 1;
268
		    $ad[2]++;
269
		 }
270
	      }
271
	   break;
272
 
273
	   case 5:			// Tag
274
	      $ad[0]++;
275
 
276
	      if ($ad[0] > daysinmonth($ad[1], $ad[2])) {
277
	         $ad[0] = 1;
278
		 $ad[1]++;
279
 
280
		 if ($ad[1] > 12) {
281
	            $ad[1] = 1;
282
		    $ad[2]++;
283
		 }
284
	      }
285
	   break;
286
	}
287
 
288
	$dt = gmmktime(0, 0, 0, $ad[1], $ad[0], $ad[2]);
289
	return $dt;
290
}
291
 
292
# Vergleiche zwei Datum abhaengig von der eingestellten Periode. Aehnlich
293
# wie die Funktion strcmp() wird das Datum1 vom Datum2 abgezogen und das
294
# Ergebnis an die aufrufende Funktion zurueckgegeben.
295
#
296
function PerDateComp($dt1, $dt2) {
297
	global $periode;
298
 
299
	$day = gmdate("j", $dt1);
300
	$mon = gmdate("n", $dt1);
301
	$year = gmdate("Y", $dt1);
302
	$ndt1 = gmmktime(0, 0, 0, $mon, $day, $year);
303
	$day = gmdate("j", $dt2);
304
	$mon = gmdate("n", $dt2);
305
	$year = gmdate("Y", $dt2);
306
	$ndt2 = gmmktime(0, 0, 0, $mon, $day, $year);
307
 
308
	if ($periode == 5 || $periode == 4) {	// Tag, Woche
309
	   return $ndt2 - $ndt1;
310
	}
311
 
312
	if ($periode == 3 || $periode == 2) {	// Monat, Quartal
313
	   $dst1 = gmdate("j.n.Y", $ndt1);
314
	   $dst2 = gmdate("j.n.Y", $ndt2);
315
	   $da1 = explode(".", $dst1);
316
	   $da2 = explode(".", $dst2);
317
	   $ndt1 = gmmktime(0, 0, 0, $da1[1], 1, $da1[2]);
318
	   $ndt2 = gmmktime(0, 0, 0, $da2[1], 1, $da2[2]);
319
	   return $ndt2 - $ndt1;
320
	}
321
 
322
	$dst1 = gmdate("Y", $dt1);
323
	$dst2 = gmdate("Y", $dt2);
324
	return $dst2 - $dst1;
325
}
326
 
327
# folgende Funktion gibt die Periode zurueck, in die das uebergebene Datum
328
# faellt.
329
#
330
function GetPeriode($datum) {
331
	global $periode;
332
 
333
	$tm = gmdate("j.n.Y", $datum);
334
	$dt = explode(".", $tm);
335
 
336
	switch ($periode) {
337
	   case 1:		// Jahr
338
	      return $dt[2];
339
	   break;
340
 
341
	   case 2:		// Quartal
342
	      $xx = $dt[1] / 3;
343
 
344
	      if (($dt[1] % 3) != 0)
345
	         $xx += 1;
346
 
347
	      return (integer)$xx;
348
	   break;
349
 
350
	   case 3:		// Monat
351
	      return $dt[1];
352
	   break;
353
 
354
	   case 4:		// Woche
355
	      $xa = getdate($datum);
356
	      $xx = $xa["yday"] / 7;
357
 
358
	      if (($xa["yday"] % 7) != 0)
359
	         $xx += 1;
360
 
361
	      return (integer)$xx;
362
	   break;
363
 
364
	   case 5:		// Tag
365
	      $xa = getdate($datum);
366
	      return $xa["yday"];
367
	   break;
368
	}
369
 
370
	return 0;
371
}
372
 
373
function daysinmonth($month, $year)
374
{
375
   $days = 31;
376
   while($days > 0 && !checkdate($month, $days, $year)) $days--;
377
   return $days;
378
}
379
 
380
function GetDateRange($per, $fdate, $ldate) {
381
	 global $periode;
382
 
383
	 $mon = gmdate("n", $per);
384
	 $year = gmdate("Y", $per);
385
	 $days = 0;
386
 
387
	 switch ($periode) {
388
	    case 1:	    // Jahr
389
		  $fdate = gmmktime(0, 0, 0, 1, 1, $year);
390
		  $ldate = gmmktime(0, 0, 0, 12, 31, $year);
391
            break;
392
 
393
            case 2:	   // Quartal
394
               switch ($mon) {
395
                  case 1:
396
                  case 2:
397
                  case 3:
398
                     $days = daysinmonth(3, $year);
399
		     $fdate = gmmktime(0, 0, 0, 1, 1, $year);
400
		     $ldate = gmmktime(0, 0, 0, 3, $days, $year);
401
                  break;
402
 
403
                  case 4:
404
                  case 5:
405
                  case 6:
406
                     $days = daysinmonth(6, $year);
407
		     $fdate = gmmktime(0, 0, 0, 4, 1, $year);
408
		     $ldate = gmmktime(0, 0, 0, 6, $days, $year);
409
                  break;
410
 
411
                  case 7:
412
                  case 8:
413
                  case 9:
414
                     $days = daysinmonth(9, $year);
415
		     $fdate = gmmktime(0, 0, 0, 7, 1, $year);
416
		     $ldate = gmmktime(0, 0, 0, 9, $days, $year);
417
                  break;
418
 
419
                  case 10:
420
                  case 11:
421
                  case 12:
422
		     $fdate = gmmktime(0, 0, 0, 10, 1, $year);
423
		     $ldate = gmmktime(0, 0, 0, 12, 31, $year);
424
                  break;
425
              }
426
           break;
427
 
428
           case 3:	      // Monat
429
              $days = daysinmonth($mon, $year);
430
	      $fdate = gmmktime(0, 0, 0, $mon, 1, $year);
431
	      $ldate = gmmktime(0, 0, 0, $mon, $days, $year);
432
           break;
433
 
434
           case 4:    		// Woche
435
              $dt = getdate($per);
436
              $tag = gmdate("j", $per);
437
              $fdate = gmmktime(0, 0, 0, $mon, $tag - $dt['wday'], $year);
438
              $ldate = gmmktime(0, 0, 0, $mon, ($tag - $dt['wday']) + 7, $year);
439
           break;
440
 
441
           case 5:    	 	// Tag
442
              $fdate = $per;
443
              $ldate = $per;
444
           break;
445
	}
446
 
447
	$days = ($ldate - $fdate) / 86400;
448
	return $days;
449
}
450
 
451
# Folgende Funktion liefert den Abstand zwischen zwei Datum, abhaengig von
452
# der Periode und dem Kennzeichen $pmlight. Ist Letzteres gesetzt, wird
453
# nur eine Periodengenaue Eingabe ermoeglicht, andernfalls eine Tagesgenaue.
454
#
455
function GetAnzEntries($von, $bis) {
456
	global $periode;
457
	global $pmlight;
458
 
459
	$day = gmdate("j", $von);
460
	$mon = gmdate("n", $von);
461
	$year = gmdate("Y", $von);
462
	$nvon = gmmktime(0, 0, 0, $mon, $day, $year);
463
	$day = gmdate("j", $bis);
464
	$mon = gmdate("n", $bis);
465
	$year = gmdate("Y", $bis);
466
	$nbis = gmmktime(0, 0, 0, $mon, $day, $year);
467
 
468
	if ($nvon > $nbis)
469
	   return 0;
470
 
471
	if ($nvon == $nbis)
472
	   return 1;
473
 
474
	if ($pmlight) {
475
	   $vmon = gmdate("n", $nvon);
476
	   $bmon = gmdate("n", $nbis);
477
 
478
	   if ($periode == 2) {
479
	      if ($vmon >= 1 && $vmon <= 3)
480
	         $vmon = 1;
481
	      else if ($vmon >= 4 && $vmon <= 6)
482
	         $vmon = 4;
483
	      else if ($vmon >= 7 && $vmon <= 9)
484
	         $vmon = 7;
485
	      else
486
	         $vmon = 10;
487
 
488
	      if ($bmon >= 1 && $bmon <= 3)
489
	         $bmon = 3;
490
	      else if ($vmon >= 4 && $vmon <= 6)
491
	         $vmon = 6;
492
	      else if ($vmon >= 7 && $vmon <= 9)
493
	         $vmon = 9;
494
	      else
495
	         $vmon = 12;
496
	   }
497
 
498
	   $vyear = gmdate("Y", $nvon);
499
	   $byear = gmdate("Y", $nbis);
500
	   $r = 1;
501
 
502
	   while ($vmon != $bmon || $vyear != $byear) {
503
	      if ($periode == 2)
504
	         $vmon += 3;
505
	      else if ($periode == 1)
506
	         $year++;
507
	      else
508
	         $vmon++;
509
 
510
	      if ($vmon > 12) {
511
		 $vyear++;
512
		 $vmon = 1;
513
	      }
514
 
515
	      $r++;
516
	   }
517
 
518
	   return $r;
519
	}
520
 
521
	# Vollversion ist immer Taggenau!
522
	# Aufgrund der Sommerzeit wird hier scheinbar kryptisch verfahren.
523
	# FIXME! Laufzeiten ueber mehrere Jahre funtionieren nicht!!!
524
	#
525
	$yday_von = gmstrftime("%j", $nvon);
526
	$yday_bis = gmstrftime("%j", $nbis);
527
	$year_von = gmdate("Y", $nvon);
528
	$year_bis = gmdate("Y", $nbis);
529
 
530
	if ($year_von == $year_bis)
531
	   return $yday_bis - $yday_von + 1;
532
	else {
533
	   $mon_von = gmdate("n", $nvon);
534
	   $mon_bis = gmdate("n", $nbis);
535
	   $yend = gmmktime(0, 0, 0, 12, 31, $year_von);
536
	   $yday_end = gmstrftime("%j", $yend);
537
	   $diff = ($yday_end - $yday_von) + $yday_bis + 1;
538
	}
539
 
540
	return $diff;
541
}
542
 
543
# Folgende Funktion gibt einen String zurueck, welcher in Bildschirmmasken
544
# dazu verwendet wird um dem Anwender zu zeigen wie er das Datum
545
# einzugeben hat.
546
#
547
function GetVisualDate ($dt, $pl = false) {
548
	if (!$pl) {
549
	   switch ($dt) {
550
	      case "j.n.Y":
551
	      case "d.m.Y":
552
	         return "TT.MM.JJJJ";
553
	      break;
554
 
555
	      case "j.n.y":
556
	      case "d.m.y":
557
	         return "TT.MM.JJ";
558
	      break;
559
 
560
	      case "Y-m-d":
561
	         return "YYYY-MM-DD";
562
	      break;
563
 
564
	      case "m/d/Y":
565
	         return "MM/DD/YYYY";
566
	      break;
567
 
568
	      case "m/d/y":
569
	         return "MM/DD/YY";
570
	      break;
571
	   }
572
	} else {
573
	   switch ($dt) {
574
	      case "j.n.Y":
575
	      case "d.m.Y":
576
	         return "MM.JJJJ";
577
	      break;
578
 
579
	      case "j.n.y":
580
	      case "d.m.y":
581
	         return "MM.JJ";
582
	      break;
583
 
584
	      case "Y-m-d":
585
	         return "YYYY-MM";
586
	      break;
587
 
588
	      case "m/d/Y":
589
	         return "MM/YYYY";
590
	      break;
591
 
592
	      case "m/d/y":
593
	         return "MM/YY";
594
	      break;
595
	   }
596
	}
597
 
598
	return "???";
599
}
600
 
601
function GetDBDateFormat ($time=false, $pl=false) {
602
	global $dtformatshort;
603
 
604
	$str = "";
605
 
606
	if (!$pl) {
607
	   switch ($dtformatshort) {
608
	      case "j.n.Y":
609
	      case "d.m.Y":
610
		 $str = "DD.MM.YYYY";
611
		 if ($time) $str .= " HH24:MI";
612
	      break;
613
 
614
	      case "j.n.y":
615
	      case "d.m.y":
616
		 $str = "DD.MM.YY";
617
		 if ($time) $str .= " HH24:MI";
618
	      break;
619
 
620
	      case "Y-m-d":
621
		 $str = "YYYY-MM-DD";
622
		 if ($time) $str .= " HH24:MI";
623
	      break;
624
 
625
	      case "m/d/Y":
626
		 $str = "MM/DD/YYYY";
627
		 if ($time) $str .= " HH24:MI";
628
	      break;
629
 
630
	      case "m/d/y":
631
		 $str = "MM/DD/YYYY";
632
		 if ($time) $str .= " HH24:MI";
633
	      break;
634
 
635
	      default:
636
		 $str = "YYYY-MM-DD";
637
		 if ($time) $str .= " HH24:MI";
638
	   }
639
	} else {
640
	   switch ($dtformatshort) {
641
	      case "j.n.Y":
642
	      case "d.m.Y":
643
	         return "MM.YYYY";
644
	      break;
645
 
646
	      case "j.n.y":
647
	      case "d.m.y":
648
	         return "MM.YY";
649
	      break;
650
 
651
	      case "Y-m-d":
652
	         return "YYYY-MM";
653
	      break;
654
 
655
	      case "m/d/Y":
656
	         return "MM/YYYY";
657
	      break;
658
 
659
	      case "m/d/y":
660
	         return "MM/YY";
661
	      break;
662
 
663
	      default:
664
		 $str = "YYYY-MM-DD";
665
		 if ($time) $str .= " HH24:MI";
666
	   }
667
	}
668
 
669
	return $str;
670
}
671
 
672
function DateToDBDate($dt) {
673
	global $dtformatshort;
674
 
675
	switch ($dtformatshort) {
676
	   case "j.n.Y":
677
	   case "d.m.Y":
678
	      $darr = explode(".", $dt);
679
	      $str = sprintf("%04d-%02d-%02d", $darr[2], $darr[1], $darr[0]);
680
	   break;
681
 
682
	   case "j.n.y":
683
	   case "d.m.y":
684
	      $darr = explode(".", $dt);
685
 
686
	      if ($darr[2] < 50)
687
		 $year = 2000 + $darr[2];
688
	      else
689
		 $year = 1900 + $darr[2];
690
 
691
	      $str = sprintf("%04d-%02d-%02d", $year, $darr[1], $darr[0]);
692
	   break;
693
 
694
	   case "Y-m-d":
695
	      $str = $dt;
696
	   break;
697
 
698
	   case "m/d/Y":
699
	      $darr = explode("/", $dt);
700
	      $str = sprintf("%04d-%02d-%02d", $darr[2], $darr[0], $darr[1]);
701
	   break;
702
 
703
	   case "m/d/y":
704
	      $darr = explode("/", $dt);
705
 
706
	      if ($darr[2] < 50)
707
		 $year = 2000 + $darr[2];
708
	      else
709
		 $year = 1900 + $darr[2];
710
 
711
	      $str = sprintf("%04d-%02d-%02d", $year, $darr[0], $darr[1]);
712
	   break;
713
 
714
	   default:
715
	      $str = "ERROR";
716
	}
717
 
718
	return $str;
719
}
720
 
721
function GetShortDate($datum) {
722
	global $dtformatshort;
723
 
724
	switch ($dtformatshort) {
725
	   case "j.n.Y": $sd = "n.Y"; break;
726
	   case "d.m.Y": $sd = "m.Y"; break;
727
	   case "j.n.y": $sd = "n.y"; break;
728
	   case "d.m.y": $sd = "m.y"; break;
729
	   case "Y-m-d": $sd = "Y-m"; break;
730
	   case "m/d/Y": $sd = "m/Y"; break;
731
	   case "m/d/y": $sd = "m/y"; break;
732
	   default: $sd = "n.Y";
733
	}
734
 
735
	return gmdate($sd, $datum);
736
}
737
 
738
function GetShortDateYear($datum) {
739
	global $dtformatshort;
740
 
741
	switch ($dtformatshort) {
742
	   case "j.n.Y": $sd = "j.n.y"; break;
743
	   case "d.m.Y": $sd = "d.m.y"; break;
744
	   case "Y-m-d": $sd = "y-m-d"; break;
745
	   case "m/d/Y": $sd = "m/d/y"; break;
746
	   default: $sd = $dtformatshort;
747
	}
748
 
749
	return gmdate($sd, $datum);
750
}
751
 
752
function GetDateSep() {
753
	global $dtformatshort;
754
 
755
	switch ($dtformatshort) {
756
	   case "j.n.Y":
757
	   case "d.m.Y":
758
	   case "j.n.y":
759
	   case "d.m.y": return ".";
760
	   case "Y-m-d": return "-";
761
	   case "m/d/Y": 
762
	   case "m/d/y": return "/";
763
	   default: return ".";
764
	}
765
}
766
 
767
# Folgende Funktion gibt die Tage einer Periode wieder. Die Laenge einer
768
# Periode haengt von der eingestellten Einheit ab.
769
#
770
function GetPerLen($dt) {
771
	global $einheit;
772
	global $periode;
773
 
774
	$day = gmdate("j", $dt);
775
	$mon = gmdate("n", $dt);
776
	$year = gmdate("Y", $dt);
777
 
778
	switch ($einheit) {
779
	   case 1: return 3600;
780
	   case 2: return 86400;
781
	   case 3: return 86400 * 7;
782
 
783
	   case 4:	// Monat
784
	      $mon = gmdate("n", $dt);
785
	      $year = gmdate("Y", $dt);
786
	      return daysinmonth($mon, $year);
787
 
788
	   case 5:	// Quartal
789
	      $mon = gmdate("n", $dt);
790
	      $year = gmdate("Y", $dt);
791
 
792
	      if ($mon >= 1 && $mon <= 3) {
793
	         $dat1 = gmmktime(0, 0, 0, 1, 1, $year);
794
	         $dat2 = gmmktime(0, 0, 0, 3, 31, $year);
795
	      } else if ($mon >= 4 && $mon <= 6) {
796
	         $dat1 = gmmktime(0, 0, 0, 4, 1, $year);
797
	         $dat2 = gmmktime(0, 0, 0, 6, 30, $year);
798
	      } else if ($mon >= 7 && $mon <= 9) {
799
	         $dat1 = gmmktime(0, 0, 0, 7, 1, $year);
800
	         $dat2 = gmmktime(0, 0, 0, 9, 31, $year);
801
	      } else {
802
	         $dat1 = gmmktime(0, 0, 0, 10, 1, $year);
803
	         $dat2 = gmmktime(0, 0, 0, 12, 31, $year);
804
	      }
805
 
806
	      return ($dat2 - $dat1) / 86400;
807
 
808
	   case 6:	// Jahr
809
	      $dat1 = gmmktime(0, 0, 0, 1, 1, $year);
810
	      $dat2 = gmmktime(0, 0, 0, 12, 31, $year);
811
	      return ($dat2 - $dat1) / 86400;
812
	}
813
 
814
	return 0;
815
}
816
 
817
# Folgende Variablen stehen nach Einbindung dieses Includes "global" zur
818
# Verfuegung:
819
#
820
$ini_array = parse_ini_file("setup/settings.dat");
821
$periode = $ini_array['periode'];
822
$verteil = $ini_array['verteil'];
823
$einheit = $ini_array['einheit'];
824
$leneinheit = $ini_array['leneinheit'];
825
$phase = $ini_array['phase'];
826
$numphase = $ini_array['numphase'];
827
$dtformatshort = $ini_array['dtformatshort'];
828
$dtformatlong = $ini_array['dtformatlong'];
829
$datetime = $ini_array['datetime'];
830
$pmlight = $ini_array['pmlight'];
831
$role = $ini_array['role'];
832
$ist_erledigung = $ini_array['ist_erledigung'];
833
$menucolor = $ini_array['menucolor'];
834
$title_str = urldecode($ini_array['title']);
835
$ist_future = $ini_array['ist_future'];
836
$pj_lock = $ini_array['pj_lock'];
837
$statusbericht = $ini_array['statusbericht'];
838
$shortcuts = $ini_array['shortcuts'];
839
$verrmodul = $ini_array['verrmodul'];
840
$fixkunde = $ini_array['fixkunde'];
841
$stdwhg = $ini_array['stdwhg'];
842
$language = $ini_array['language'];
843
$pjcopy = $ini_array['pjcopy'];
844
 
845
if (!isset($phase))
846
   $phase = 0;
847
 
848
if (!isset($numphase))
849
   $numphase = 0;
850
 
851
if (!isset($dtformatshort))
852
   $dtformatshort = "j.n.Y";
853
 
854
if (!isset($dtformatlong))
855
   $dtformatlong = "d F Y";
856
 
857
if (!isset($datetime))
858
   $datetime = "d.m.Y H:i:s";
859
 
860
if (!isset($pmlight))
861
   $pmlight = 0;
862
 
863
if (!isset($role))
864
   $role = false;
865
 
866
if (!isset($menucolor))
867
   $menucolor = "black";
868
 
869
if (!isset($title_str))
870
   $title_str = "TheoPlan";
871
 
872
if (!isset($ist_erledigung))
873
   $ist_erledigung = 1;
874
 
875
if (!isset($ist_future))
876
   $ist_future = 0;
877
 
878
if (!isset($pj_lock))
879
   $pj_lock = 0;
880
 
881
if (!isset($statusbericht))
882
   $statusbericht = false;
883
 
884
if (!isset($shortcuts))
885
   $shortcuts = true;
886
 
887
if (!isset($verrmodul))
888
   $verrmodul = false;
889
 
890
if (!isset($fixkunde))
891
   $fixkunde = false;
892
 
893
if (!isset($stdwhg))
894
   $stdwhg = 42;		// EUR - Euro
895
 
896
if (!isset($language))
897
   $language = "ger";
898
 
899
# 1 = User waehlt das Datum aus
900
# 2 = Abschluss bis Ultimo Vormonat (15ner Regelung!)
901
# 3 = Abschluss bis letzter Teilprojektabschluss
902
#
903
if (!isset($pjcopy))
904
   $pjcopy = 3;
905
 
906
$VisualDate = GetVisualDate ($dtformatshort);
907
?>