Subversion Repositories public

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4 andreas 1
<?
2
require_once('version.inc');
3
require_once('dbaccess.inc');
4
require_once('language.inc');
5
require_once('header.inc');
6
require_once('settings.inc');
7
require_once('crypt.inc');
8
require_once('helper.inc');
9
 
10
if (isset($_REQUEST['kunde'])) { $knopf = 43; $headline = 34; }
11
if (isset($_REQUEST['kgroup'])) { $knopf = 48; $headline = 39; }
12
/*
13
0: Verwalter
14
1: Administrator
15
2: Projektleiter
16
3: Mitarbeiter
17
4: Kontroller
18
5: Kein Zugang!
19
6: Ressourcenmanager
20
7: Revisor
21
*/
22
$drm = array(true, false, true, true, false, true, true, true);
23
 
24
require_once('menu.inc');
25
 
26
# Erzeugt eine Liste aller Kunden in der Datenbank. Der Anwender kann mittels
27
# einiger Buttons neue Eintraege hinzufuegen, bestehende aendern, oder
28
# loeschen.
29
function ListKunde() {
30
	global $headline;
31
	global $menu;
32
	global $rstufe;
33
	global $fixkunde;
34
 
35
	# Zunaechst pruefen wir, ob der Anwender ueberhaupt dazu berechtigt
36
	# ist.
37
	if ($rstufe != 1 && $rstufe != 4) {
38
	   Error("Berechtigungsfehler!\n");
39
	   return;
40
	}
41
 
42
	$nav = "menu=$menu&headline=$headline";
43
	echo "<form name=\"ekunde\" action=\"kunden.php\" method=\"post\">\n";
44
	echo "<input type=\"hidden\" name=\"headline\" value=\"$headline\">\n";
45
	echo "<input type=\"hidden\" name=\"menu\" value=\"$menu\">\n";
46
	echo "<input type=\"hidden\" name=\"func\" value=\"new\">\n";
47
	echo "<table class=\"indent\"><tr><td>\n";
48
	Button("Neuer Kunde", "ekunde");
49
	echo "</td></tr></table>\n";
50
 
51
	$db = OpenDB();
52
	$query = "select count(*) from kunde";
53
	$result = QueryDB($db, $query);
54
	$data = fetchDB($result, 0);
55
 
56
	if ($data[0] > 0) {
57
	   echo "<table class=\"sel\">\n";
58
	   echo "<tr><th class=\"sel\">Aktion</th><th class=\"sel\">Firma</th>";
59
	   echo "<th class=\"sel\">Name</th><th class=\"sel\">Kostenstelle</th>";
60
 
61
	   if ($fixkunde)
62
	      echo "<th class=\"sel\">Anteil</th><th class=\"sel\">G&uuml;ltig ab</th>";
63
 
64
	   echo "</tr>\n";
65
 
66
	   $query = "select ku_num, ku_firma, ku_nname, ku_vname, ku_costloc,";
67
	   $query .= "kc_costloc from kunde left join key_costloc on kc_num = ku_costloc ";
68
	   $query .= "order by ku_firma, ku_nname, ku_vname";
69
	   $result = QueryDB($db, $query);
70
	   $numrows = numrowsDB($result);
71
	   $row = 0;
72
	   $anz = 0;
73
 
74
	   while ($row < $numrows) {
75
	      $data = fetchDB($result, $row);
76
	      $ku_num = $data[0];
77
	      $ku_firma = $data[1];
78
	      $ku_nname = $data[2];
79
	      $ku_vname = $data[3];
80
	      $ku_costloc = $data[4];
81
	      $kc_costloc = $data[5];
82
 
83
	      # Pruefen, ob der Kunde bereits einer Gruppe zugeordnet
84
	      # wurde.
85
	      $query = "select count(*) from kgsammel where ks_kunum = $ku_num";
86
 
87
	      if (!($reskg = QueryDB($db, $query))) {
88
		 closeDB($db);
89
		 return;
90
	      }
91
 
92
	      $data = fetchDB($reskg, 0);
93
	      $anz = $data[0];
94
 
95
	      if ($fixkunde) {
96
		 $dtdb = GetDBDateFormat();
97
		 $query = "select fx_proz, to_char(fx_valid_from, '$dtdb') ";
98
		 $query .= "from fixanteil where fx_valid_to is NULL ";
99
		 $query .= "and fx_kunum = $ku_num";
100
 
101
		 if (!($resfx = QueryDB($db, $query))) {
102
		    closeDB($db);
103
		    return;
104
		 }
105
 
106
		 if (numrowsDB($resfx) > 0) {
107
		    $data = fetchDB($resfx, 0);
108
		    $fx_proz = $data[0];
109
		    $fx_valid_from = $data[1];
110
		 } else {
111
		    $fx_proz = 0.0;
112
		    $fx_valid_from = "&nbsp;";
113
		 }
114
	      }
115
 
116
	      echo "<tr><td class=\"selakt\"><a href=\"#\" onClick=\"javascript:MoveTo('kunden.php','func=edit&ku_num=$ku_num&$nav')\"><img src=\"image/edit.png\" border=0 alt=\"Edit\"></a>";
117
 
118
	      if ($anz <= 0)
119
	         echo "<a href=\"#\" onClick=\"javascript:MoveTo('kunden.php','func=del&ku_num=$ku_num&$nav')\"><img src=\"image/editdelete.png\" border=0 alt=\"Loeschen\"></a>";
120
 
121
	      echo "</td>\n";
122
	      echo "<td class=\"sel\">$ku_firma</td>\n";
123
	      echo "<td class=\"sel\">$ku_nname $ku_vname</td>\n";
124
 
125
	      if (isset($ku_costloc) || isset($kc_costloc))
126
	         echo "<td class=\"sel\">$ku_costloc: $kc_costloc</td>\n";
127
	      else
128
	         echo "<td class=\"sel\">&nbsp;</td>\n";
129
 
130
	      if ($fixkunde) {
131
	         echo "<td class=\"selnum\">" . FormatNum($fx_proz, 3) . "</td>\n";
132
	         echo "<td class=\"sel\">$fx_valid_from</td>\n";
133
	      }
134
 
135
	      echo "</tr>\n";
136
	      $row++;
137
	   }
138
 
139
	   echo "</table>\n";
140
	   echo "<table class=\"indent\"><tr><td>\n";
141
	   Button("Neuer Kunde", "ekunde");
142
	   echo "</td></tr></table>\n";
143
	}
144
 
145
	echo "</form>\n";
146
	closeDB($db);
147
}
148
 
149
# Die folgende Funktion stellt eine Maske zum Editieren eines einzelnen
150
# Kunden bereit. Die Funktion kann mit neuen Eintraegen als auch mit
151
# bestehenden Eintraegen umgehen.
152
#
153
function EditKunde() {
154
	global $headline;
155
	global $menu;
156
	global $fixkunde;
157
	global $VisualDate;
158
	global $dtformatshort;
159
 
160
	$ku_num = $_REQUEST['ku_num'];
161
	$db = OpenDB();
162
	$art = 0;	// 0 = neu, 1 = edit, 2 = ausbessern
163
 
164
	if (isset($ku_num) && $ku_num > 0) {
165
	   $art = 1;
166
	   $query = "select ku_firma, ku_anrede, ka_anrede, ku_nname, ku_vname, ";
167
	   $query .= "ku_strasse, ku_hnum, ku_ort, ku_plz, ku_costloc, ";
168
	   $query .= "kc_costloc from kunde ";
169
	   $query .= "left join key_anrede on ka_num = ku_anrede ";
170
	   $query .= "left join key_costloc on kc_num = ku_costloc ";
171
	   $query .= "where ku_num = $ku_num";
172
 
173
	   if (!($result = QueryDB($db, $query))) {
174
	      closeDB($db);
175
	      return false;
176
	   }
177
 
178
	   $data = fetchDB($result, 0);
179
	   $ku_firma = $data[0];
180
	   $ku_anrede = $data[1];
181
	   $ka_anrede = $data[2];
182
	   $ku_nname = $data[3];
183
	   $ku_vname = $data[4];
184
	   $ku_strasse = $data[5];
185
	   $ku_hnum = $data[6];
186
	   $ku_ort = $data[7];
187
	   $ku_plz = $data[8];
188
	   $ku_costloc = $data[9];
189
	   $kc_costloc = $data[10];
190
 
191
	   # Aktuellen Prozentsatz der Beteiligung ermitteln.
192
	   if ($fixkunde) {
193
	      $dtdb = GetDBDateFormat();
194
	      $query = "select fx_num, fx_proz, to_char(fx_valid_from, '$dtdb') from fixanteil where ";
195
	      $query .= "fx_valid_to is NULL and fx_kunum = $ku_num order by fx_valid_from desc";
196
 
197
	      if (!($result = QueryDB($db, $query))) {
198
	         closeDB($db);
199
	         return false;
200
	      }
201
 
202
	      if (numrowsDB($result) > 0) {
203
		 $data = fetchDB($result, 0);
204
		 $fx_num = $data[0];
205
		 $fx_proz = $data[1];
206
		 $fx_valid_from = $data[2];
207
	      } else {
208
		 $fx_num = 0;
209
		 $fx_proz = 0.0;
210
		 $fx_valid_from = date($dtformatshort);
211
	      }
212
	   }
213
	} else {
214
	   $ku_num = $_REQUEST['ku_num'];
215
 
216
	   if (isset($ku_num) && $ku_num > 0)
217
	      $art = 2;
218
	   else
219
	      $art = 0;
220
 
221
	   $ku_firma = $_REQUEST['ku_firma'];
222
	   $ku_anrede = $_REQUEST['ku_anrede'];
223
	   $ku_nname = $_REQUEST['ku_nname'];
224
	   $ku_vname = $_REQUEST['ku_vname'];
225
	   $ku_strasse = $_REQUEST['ku_strasse'];
226
	   $ku_hnum = $_REQUEST['ku_hnum'];
227
	   $ku_ort = $_REQUEST['ku_ort'];
228
	   $ku_plz = $_REQUEST['ku_plz'];
229
	   $ku_costloc = $_REQUEST['ku_costloc'];
230
 
231
	   if ($fixkunde) {
232
	      $fx_num = $_REQUEST['fx_num'];
233
	      $fx_proz = $_REQUEST['fx_proz'];
234
	      $fx_valid_from = $_REQUEST['fx_valid_from'];
235
	   }
236
	}
237
 
238
	$nav = "menu=$menu&headline=$headline";
239
?>
240
<form name="kedit" action="kunden.php" method="post">
241
   <input type="hidden" name="menu" value="<? echo "$menu"; ?>">
242
   <input type="hidden" name="headline" value="<? echo "$headline"; ?>">
243
   <input type="hidden" name="ku_num" value="<? echo "$ku_num"; ?>">
244
   <input type="hidden" name="fx_num" value="<? echo "$fx_num"; ?>">
245
   <input type="hidden" name="func" value="SaveKunde">
246
<table class="input">
247
   <tr>
248
      <th class="sel" colspan=2>
249
<?
250
	switch($art) {
251
	   case 0: echo "Neuerfassung eines Kunden"; break;
252
	   case 1: echo "Editieren eines Kunden"; break;
253
	   case 2: echo "Korrektur eines Kunden"; break;
254
	}
255
?>
256
      </th>
257
   </tr>
258
   <tr>
259
      <td>Firmenname:</td>
260
      <td><input type="text" name="ku_firma" value="<? echo "$ku_firma"; ?>" size=40 maxlength=80></td>
261
   </tr>
262
   <tr>
263
      <td>Anrede:</td>
264
      <td><select name="ku_anrede">
265
             <option value=""></option>
266
<?
267
	$query = "select ka_num, ka_anrede from key_anrede order by ka_anrede";
268
 
269
	if (!($reska = QueryDB($db, $query))) {
270
	   closeDB($db);
271
	   return false;
272
	}
273
 
274
	$rows = numrowsDB($reska);
275
	$j = 0;
276
 
277
	while ($j < $rows) {
278
	   $data = fetchDB($reska, $j);
279
	   $ka_num = $data[0];
280
	   $ka_anrede = $data[1];
281
 
282
	   if (isset($ku_anrede) && $ku_anrede == $ka_num)
283
	      echo "<option value=\"$ka_num\" selected>$ka_anrede</option>\n";
284
	   else
285
	      echo "<option value=\"$ka_num\">$ka_anrede</option>\n";
286
 
287
	   $j++;
288
	}
289
?>
290
          </select>
291
      </td>
292
   </tr>
293
   <tr>
294
      <td>Nachname:</td>
295
      <td><input type="text" name="ku_nname" value="<? echo "$ku_nname"; ?>" size=40 maxlength=60></td>
296
   </tr>
297
   <tr>
298
      <td>Vorname:</td>
299
      <td><input type="text" name="ku_vname" value="<? echo "$ku_vname"; ?>" size=40 maxlength=60></td>
300
   </tr>
301
   <tr>
302
      <td>Stra&szlig;e</td>
303
      <td><input type="text" name="ku_strasse" value="<? echo "$ku_strasse"; ?>" size=40 maxlength=60></td>
304
   </tr>
305
   <tr>
306
      <td>Hausnummer:</td>
307
      <td><input type="text" name="ku_hnum" value="<? echo "$ku_hnum"; ?>" size=10 maxlength=10></td>
308
   </tr>
309
   <tr>
310
      <td>Postleitzahl / Ort:</td>
311
      <td><table border=0 cellspacing=0 cellpadding=0>
312
             <tr>
313
	        <td><input type="text" name="ku_plz" value="<? echo "$ku_plz"; ?>" size=16 maxlength=16></td>
314
		<td><input type="text" name="ku_ort" value="<? echo "$ku_ort"; ?>" size=40 maxlength=60></td>
315
	     </tr>
316
	  </table>
317
      </td>
318
   </tr>
319
   <tr>
320
      <td>Kostenstelle:</td>
321
      <td><select name="ku_costloc">
322
             <option value=""></option>
323
<?
324
	$query = "select kc_num, kc_costloc from key_costloc order by kc_costloc";
325
 
326
	if (!($reskc = QueryDB($db, $query))) {
327
	   closeDB($db);
328
	   return false;
329
	}
330
 
331
	$rows = numrowsDB($reskc);
332
	$j = 0;
333
 
334
	while ($j < $rows) {
335
	   $data = fetchDB($reskc, $j);
336
	   $kc_num = $data[0];
337
	   $kc_costloc = $data[1];
338
 
339
	   if (isset($ku_costloc) && $kc_num == $ku_costloc)
340
	      echo "<option value=\"$kc_num\" selected>$kc_num: $kc_costloc</option>\n";
341
	   else
342
	      echo "<option value=\"$kc_num\">$kc_num: $kc_costloc</option>\n";
343
 
344
	   $j++;
345
	}
346
?>
347
          </select>
348
      </td>
349
   </tr>
350
<?
351
	if ($fixkunde) {
352
?>
353
   <tr>
354
      <td>Anteil in Prozent:</td>
355
      <td><input type="text" class="inputmust" name="fx_proz" value="<? echo FormatNum($fx_proz, 2); ?>" size=6 maxlength=6 onChange="javascript:NumRange(this, 0.0, 100.0)">%</td>
356
   </tr>
357
   <tr>
358
      <td>Anteil g&uuml;ltig ab (<? echo "$VisualDate"; ?>):</td>
359
      <td><input type="text" class="inputmust" name="fx_valid_from" value="<? echo "$fx_valid_from"; ?>" size=10 maxlength=10 onChange="javascript:CheckDate(this, false)"></td>
360
   </tr>
361
<?
362
	}
363
?>
364
</table>
365
<table class="indent">
366
   <tr><td>
367
<?
368
	ButtonSubmit("Speichern", "kedit");
369
	echo "</td></tr></table>\n";
370
	return true;
371
}
372
 
373
# Folgende Funktion speichert einen zuvor neu erfassten, oder editierten
374
# Kunden in die Datenbank.
375
#
376
function SaveKunde() {
377
	global $fixkunde;
378
 
379
	$ku_num = $_REQUEST['ku_num'];
380
	$ku_firma = $_REQUEST['ku_firma'];
381
	$ku_anrede = $_REQUEST['ku_anrede'];
382
	$ku_nname = $_REQUEST['ku_nname'];
383
	$ku_vname = $_REQUEST['ku_vname'];
384
	$ku_strasse = $_REQUEST['ku_strasse'];
385
	$ku_hnum = $_REQUEST['ku_hnum'];
386
	$ku_ort = $_REQUEST['ku_ort'];
387
	$ku_plz = $_REQUEST['ku_plz'];
388
	$ku_costloc = $_REQUEST['ku_costloc'];
389
 
390
	if ($fixkunde) {
391
	   $fx_num = $_REQUEST['fx_num'];
392
	   $fx_proz = $_REQUEST['fx_proz'];
393
	   $fx_valid_from = $_REQUEST['fx_valid_from'];
394
 
395
	   if (strlen($fx_proz) > 0)
396
	      $fx_proz = str_replace(",", ".", $fx_proz);
397
	}
398
 
399
	$err = 0;
400
 
401
	if (isset($ku_num) && $ku_num > 0)
402
	   $update = true;
403
	else
404
	   $update = false;
405
 
406
	if ((!isset($ku_nname) || !isset($ku_vname)) && !isset($ku_firma)) {
407
	   Error("Es muss ein Nachname und ein Vorname, oder ein Firmenname eingegeben werden!");
408
	   $err = 1;
409
	}
410
 
411
	if ((!strlen($ku_nname) || !strlen($ku_vname)) && !strlen($ku_firma)) {
412
	   Error("Es muss ein Nachname und ein Vorname, oder ein Firmenname eingegeben werden!");
413
	   $err = 1;
414
	}
415
 
416
	if ($err)
417
	   return false;
418
 
419
	if (!isset($ku_anrede) || strlen($ku_anrede) == 0)
420
	   $ku_anrede = "NULL";
421
 
422
	if (!isset($ku_costloc) || strlen($ku_costloc) == 0)
423
	   $ku_costloc = "NULL";
424
 
425
	$db = OpenDB();
426
 
427
	if ($update) {
428
	   if (!QueryDB($db, "begin")) {
429
	      closeDB($db);
430
	      return false;
431
	   }
432
 
433
	   $query = "update kunde set ku_firma = '$ku_firma', ";
434
	   $query .= "ku_anrede = $ku_anrede";
435
	   $query .= ", ku_vname = '$ku_vname', ";
436
	   $query .= "ku_nname = '$ku_nname', ku_strasse = '$ku_strasse', ";
437
	   $query .= "ku_hnum = '$ku_hnum', ku_ort = '$ku_ort', ";
438
	   $query .= "ku_plz = '$ku_plz' ";
439
	   $query .= ", ku_costloc = $ku_costloc ";
440
	   $query .= "where ku_num = $ku_num";
441
 
442
	   if (!QueryDB($db, $query)) {
443
	      closeDB($db);
444
	      return false;
445
	   }
446
 
447
	   if ($fixkunde && isset($fx_num) && $fx_num > 0) {
448
	      $query = "select fx_proz, to_char(fx_valid_from, 'YYYY-MM-DD') ";
449
	      $query .= "from fixanteil where fx_num = $fx_num";
450
 
451
	      if (!($result = QueryDB($db, $query))) {
452
		 QueryDB($db, "rollback");
453
		 closeDB($db);
454
		 return false;
455
	      }
456
 
457
	      $data = fetchDB($result, 0);
458
	      $fx_proz_old = $data[0];
459
	      $fx_valid_from_old = $data[1];
460
	   } else if ($fixkunde) {
461
	      $fx_proz_old = -1;
462
	      $fx_valid_from_old = "";
463
	   }
464
 
465
	   if ($fixkunde && ($fx_proz_old != $fx_proz || $fx_valid_from_old != DateToDBDate($fx_valid_from))) {
466
	      if ($fx_valid_from_old != DateToDBDate($fx_valid_from)) {
467
		 $query = "select co_fixanteil from counter";
468
 
469
		 if (!($result = QueryDB($db, $query))) {
470
		    QueryDB($db, "rollback");
471
		    closeDB($db);
472
		    return false;
473
		 }
474
 
475
		 $data = fetchDB($result, 0);
476
		 $co_fixanteil = $data[0] + 1;
477
 
478
		 $query = "insert into fixanteil (fx_num, fx_valid_from, fx_kunum,";
479
		 $query .= "fx_proz) values ($co_fixanteil, '". DateToDBDate($fx_valid_from) . "',";
480
		 $query .= "$ku_num, $fx_proz)";
481
 
482
		 if (!QueryDB($db, $query)) {
483
		    QueryDB($db, "rollback");
484
		    closeDB($db);
485
		    return false;
486
		 }
487
 
488
		 if (isset($fx_num) && $fx_num > 0) {
489
		    $query = "update fixanteil set fx_valid_to = '" . DateToDBDate($fx_valid_from) . "' ";
490
		    $query .= "where fx_num = $fx_num";
491
 
492
		    if (!QueryDB($db, $query)) {
493
		       QueryDB($db, "rollback");
494
		       closeDB($db);
495
		       return false;
496
		    }
497
		 }
498
 
499
		 $query = "update counter set co_fixanteil = $co_fixanteil";
500
 
501
		 if (!QueryDB($db, $query)) {
502
		    QueryDB($db, "rollback");
503
		    closeDB($db);
504
		    return false;
505
		 }
506
	      } else {
507
		 $query = "update fixanteil set fx_proz = $fx_proz where ";
508
		 $query .= "fx_num = $fx_num";
509
 
510
		 if (!QueryDB($db, $query)) {
511
		    QueryDB($db, "rollback");
512
		    closeDB($db);
513
		    return false;
514
		 }
515
	      }
516
	   }
517
 
518
	   QueryDB($db, "commit");
519
	} else {
520
	   $query = "select co_kunde from counter";
521
 
522
	   if (!($result = QueryDB($db, $query))) {
523
	      closeDB($db);
524
	      return false;
525
	   }
526
 
527
	   $data = fetchDB($result, 0);
528
	   $co_kunde = $data[0] + 1;
529
 
530
	   if (!QueryDB($db, "begin")) {
531
	      closeDB($db);
532
	      return false;
533
	   }
534
 
535
	   $query = "insert into kunde (ku_num, ku_firma";
536
 
537
	   if (isset($ku_anrede) && $ku_anrede > 0)
538
	      $query .= ", ku_anrede";
539
 
540
	   $query .= ", ku_vname, ku_nname, ku_strasse, ku_hnum, ku_ort, ku_plz ";
541
 
542
	   if (isset($ku_costloc) && $ku_costloc > 0)
543
	      $query .= ", ku_costloc";
544
 
545
	   $query .= ") values ($co_kunde, '$ku_firma'";
546
 
547
	   if (isset($ku_anrede) && $ku_anrede > 0)
548
	      $query .= ", $ku_anrede ";
549
 
550
	   $query .= ", '$ku_vname', '$ku_nname', '$ku_strasse', '$ku_hnum', ";
551
	   $query .= "'$ku_ort', '$ku_plz'";
552
 
553
	   if (isset($ku_costloc) && $ku_costloc > 0)
554
	      $query .= ", $ku_costloc";
555
 
556
	   $query .= ")";
557
 
558
	   if (!QueryDB($db, $query)) {
559
	      QueryDB($db, "rollback");
560
	      closeDB($db);
561
	      return false;
562
	   }
563
 
564
	   $query = "update counter set co_kunde = $co_kunde";
565
 
566
	   if (!QueryDB($db, $query)) {
567
	      QueryDB($db, "rollback");
568
	      closeDB($db);
569
	      return false;
570
	   }
571
 
572
	   if ($fixkunde) {
573
	      $query = "select co_fixanteil from counter";
574
 
575
	      if (!($result = QueryDB($db, $query))) {
576
		 QueryDB($db, "rollback");
577
		 closeDB($db);
578
		 return false;
579
	      }
580
 
581
	      $data = fetchDB($result, 0);
582
	      $co_fixanteil = $data[0] + 1;
583
 
584
	      $query = "insert into fixanteil (fx_num, fx_valid_from, fx_kunum,";
585
	      $query .= "fx_proz) values ($co_fixanteil, '". DateToDBDate($fx_valid_from) . "',";
586
	      $query .= "$co_kunde, $fx_proz)";
587
 
588
	      if (!QueryDB($db, $query)) {
589
		 QueryDB($db, "rollback");
590
		 closeDB($db);
591
		 return false;
592
	      }
593
 
594
	      $query = "update counter set co_fixanteil = $co_fixanteil";
595
 
596
	      if (!QueryDB($db, $query)) {
597
		 QueryDB($db, "rollback");
598
		 closeDB($db);
599
		 return false;
600
	      }
601
	   }
602
 
603
	   QueryDB($db, "commit");
604
	}
605
 
606
	closeDB($db);
607
	return true;
608
}
609
 
610
# Wenn der Anwender auf den Loeschknopf gedrueckt hat, wird die folgende
611
# Funktion aufgerufen, welche den Anwender um die Verifizierung der Loeschung
612
# fragt. Bereits die Funktion ListKunde() stellt sicher, dass nur jene Kunden
613
# geloescht werden koennen, welche noch in keiner Kundengruppe sind.
614
#
615
function AskDelKunde() {
616
	global $menu;
617
	global $headline;
618
 
619
	$ku_num = $_REQUEST['ku_num'];
620
 
621
	if (!isset($ku_num) || $ku_num <= 0) {
622
	   Error("AskDelKunde: Interner Fehler: Kundennummer wurde nicht &uuml;bergeben!");
623
	   return;
624
	}
625
 
626
	$nav = "func=SaveKundeReal&ku_num=$ku_num&menu=$menu&headline=$headline";
627
	$db = OpenDB();
628
	$query = "select ku_firma, ku_nname, ku_vname from kunde where ku_num = $ku_num";
629
 
630
	if (!($result = QueryDB($db, $query))) {
631
	   closeDB($db);
632
	   return;
633
	}
634
 
635
	$data = fetchDB($result, 0);
636
	$ku_firma = $data[0];
637
	$ku_nname = $data[1];
638
	$ku_vname = $data[2];
639
?>
640
<br>
641
<form action="kunden.php" method="post">
642
<table border=2 class="alarm">
643
   <tr><td colspan=2><big>Warnung!</big><br><br>
644
           Wollen Sie den Kunden 
645
	   <font color="white"><? echo "$ku_firma / $ku_nname $ku_vname"; ?></font>
646
	   wirklich unwiederbringlich l&ouml;schen?
647
      </td>
648
   </tr>
649
   <tr>
650
      <td><center><input type="button" name="yes" value="Kunden Löschen" onClick="javascript:MoveTo('kunden.php','yes=yes&<? echo "$nav"; ?>')"></center></td>
651
      <td><center><input type="button" name="no" value="Abbruch" onClick="javascript:MoveTo('kunden.php','no=no&<? echo "$nav"; ?>')"></center></td>
652
   </tr>
653
</table>
654
</form>
655
<?php
656
}
657
 
658
# Folgende Funktion loescht einen Kunden aus der Datenbank. Eine Loeschung
659
# ist nur dann moeglich, wenn selbige zuvor durch den Anwender ausdruecklich
660
# gewuenscht wurde.
661
#
662
function DelKunde() {
663
	global $fixkunde;
664
 
665
	$ku_num = $_REQUEST['ku_num'];
666
 
667
	if (!isset($ku_num) || $ku_num <= 0) {
668
	   Error("DelKunde: Interner Fehler: Kundennummer wurde nicht &uuml;bergeben!");
669
	   return;
670
	}
671
 
672
	$db = OpenDB();
673
 
674
	if (!QueryDB($db, "begin")) {
675
	   closeDB($db);
676
	   return;
677
	}
678
 
679
	if ($fixkunde) {
680
	   $query = "delete from fixanteil where fx_kunum = $ku_num";
681
 
682
	   if (!QueryDB($db, $query)) {
683
	      QueryDB($db, "rollback");
684
	      closeDB($db);
685
	      return;
686
	   }
687
	}
688
 
689
	$query = "delete from kunde where ku_num = $ku_num";
690
 
691
	if (!QueryDB($db, $query)) {
692
	   QueryDB($db, "rollback");
693
	   closeDB($db);
694
	   return;
695
	}
696
 
697
	QueryDB($db, "commit");
698
	closeDB($db);
699
}
700
 
701
/*----------------------------------------------------------------------------*/
702
# Folgende Funktion erzeugt eine Liste aller Kundengruppen, und stellt die
703
# Moeglichkeit zur Anlage neuer Kundengruppen, sowie deren Editierung zur
704
# Verfuegung.
705
#
706
function ListKGroups() {
707
	global $rstufe;
708
	global $menu;
709
	global $headline;
710
 
711
	if ($rstufe != 1 && $rstufe != 4) {
712
	   Error("Berechtigungsfehler!");
713
	   return;
714
	}
715
 
716
	$nav = "menu=$menu&headline=$headline";
717
	$db = OpenDB();
718
	$query = "select kg_num, kg_name, kg_prnum from kgroup ";
719
	$query .= "order by kg_name";
720
 
721
	if (!($result = QueryDB($db, $query))) {
722
	   closeDB($db);
723
	   return;
724
	}
725
 
726
	$rows = numrowsDB($result);
727
	$j = 0;
728
	echo "<table class=\"indent\"><tr><td>\n";
729
	ButtonLink("Neue Kundengruppe", "kunden.php", "func=NewKGroup&$nav");
730
	echo "</td></tr></table>\n";
731
?>
732
<table class="sel">
733
   <tr>
734
      <th class="sel">Aktion</th>
735
      <th class="sel">Kundengruppe</th>
736
      <th class="sel">Projekt</th>
737
   </tr>
738
<?
739
	while ($j < $rows) {
740
	   $data = fetchDB($result, $j);
741
	   $kg_num = $data[0];
742
	   $kg_name = $data[1];
743
	   $kg_prnum = $data[2];
744
 
745
	   $query = "select count(*) from kgsammel where ";
746
	   $query .= "ks_kgnum = $kg_num";
747
 
748
	   if (!($resks = QueryDB($db, $query))) {
749
	      closeDB($db);
750
	      return;
751
	   }
752
 
753
	   $data = fetchDB($resks, 0);
754
	   $anz = $data[0];
755
 
756
	   echo "<tr><td class=\"selakt\">";
757
	   ButtonImageMove("edit.png", "Editieren", "kunden.php",
758
	   	"func=EditKGroup&kg_num=$kg_num&kg_name=$kg_name&kg_prnum=$kg_prnum&$nav");
759
 
760
	   if ($anz <= 0)
761
	      ButtonImageMove("editdelete.png", "Loeschen", "kunden.php", "func=DelKGroup&kg_num=$kg_num&$nav");
762
 
763
	   echo "</td>\n";
764
	   echo "<td class=\"sel\">$kg_name</td>\n";
765
 
766
	   if (isset($kg_prnum) && $kg_prnum > 0) {
767
	      $query = "select pr_name from project where pr_num = $kg_prnum";
768
 
769
	      if (!($respr = QueryDB($db, $query))) {
770
	         closeDB($db);
771
	         return;
772
	      }
773
 
774
	      $data = fetchDB($respr, 0);
775
	      $pr_name = $data[0];
776
	      echo "<td class=\"sel\">$kg_prnum $pr_name</td></tr>\n";
777
	   } else
778
	      echo "<td class=\"sel\">&nbsp;</td></tr>\n";
779
 
780
	   $j++;
781
	}
782
 
783
	echo "</table>\n";
784
	echo "<table class=\"indent\"><tr><td>\n";
785
	ButtonLink("Neue Kundengruppe", "kunden.php", "func=NewKGroup&$nav");
786
	echo "</td></tr></table>\n";
787
	closeDB($db);
788
}
789
 
790
# Folgende Funktion fuegt einer Kundengruppe einen neuen Kunden hinzu. Die
791
# Funktion listet alle kunden auf, welche noch nicht der Gruppe zugeordnet
792
# wurden und erlaubt eine Auswahl aus der Liste.
793
#
794
# Der Aufruf der Funktion erfolgt aus EditKGroup()
795
#
796
function AddKunde($db=-1) {
797
	global $fixkunde;
798
	global $menu;
799
	global $headline;
800
 
801
	$kg_num = $_REQUEST['kg_num'];
802
	$kg_name = $_REQUEST['kg_name'];
803
	$kg_prnum = $_REQUEST['kg_prnum'];
804
 
805
	if (!isset($kg_num) || $kg_num <= 0) {
806
	   Error("AddKunde: Interner Fehler: Gruppennummer wurde nicht &uuml;bergeben!");
807
	   return;
808
	}
809
 
810
	if ($db == -1)
811
	   $db = OpenDB();
812
 
813
	$query = "select ku_num, ku_firma, ku_vname, ku_nname from kunde ";
814
	$query .= "where ku_num not in (select ks_kunum from kgsammel where ";
815
	$query .= "ks_kgnum = $kg_num) order by ku_firma, ku_nname, ku_vname";
816
 
817
	if (!($result = QueryDB($db, $query))) {
818
	   closeDB($db);
819
	   return;
820
	}
821
 
822
	$rows = numrowsDB($result);
823
	$j = 0;
824
 
825
	if ($rows > 0) {
826
?>
827
   <tr>
828
      <td class="input_ltb">Neuer Kunde:</td>
829
      <td class="input_rtb">
830
         <table border=0 cellspacing=0 cellpadding=0><tr><td>
831
          <select name="ku_num">
832
<?
833
	   while ($j < $rows) {
834
	      $data = fetchDB($result, $j);
835
	      $ku_num = $data[0];
836
	      $ku_firma = $data[1];
837
	      $ku_vname = $data[2];
838
	      $ku_nname = $data[3];
839
	      echo "<option value=\"$ku_num\">$ku_firma";
840
 
841
	      if (isset($ku_nname) && strlen($ku_nname) > 0)
842
		 echo " / $ku_nname $ku_vname";
843
 
844
	      echo "</option>\n";
845
	      $j++;
846
	   }
847
?>
848
          </select></td>
849
          <td>
850
<?
851
	   Button("Kunde hinzuf&uuml;gen", "kgroup", "func", "AddGroupKunde");
852
?>
853
         </td></tr></table>
854
      </td>
855
   </tr>
856
   <tr>
857
      <th class="sel" colspan=2>Kundenliste</td>
858
   </tr>
859
   <tr>
860
      <td colspan = 2>
861
      <table class="sel">
862
         <tr>
863
            <th class="sel">Akt.</th>
864
            <th class="sel">Firma</th>
865
            <th class="sel">Name</th>
866
<?
867
	   if ($fixkunde) {
868
?>
869
            <th class="sel">Anteil Schl.</th>
870
            <th class="sel">Anteil Proj.</th>
871
<?
872
	   }
873
?>
874
         </tr>
875
<?
876
	   $query = "select ks_num, ks_kunum, ku_firma, ku_vname, ku_nname from ";
877
	   $query .= "kgsammel, kunde where ku_num = ks_kunum and ";
878
	   $query .= "ks_kgnum = $kg_num order by ku_firma, ku_nname, ku_vname";
879
 
880
	   if (!($result = QueryDB($db, $query))) {
881
	      closeDB($db);
882
	      return;
883
	   }
884
 
885
	   $rows = numrowsDB($result);
886
	   $j = 0;
887
 
888
	   if ($fixkunde) {
889
	      $query = "select sum(fx_proz) from fixanteil where ";
890
	      $query .= "fx_valid_to is NULL and fx_kunum in ";
891
	      $query .= "(select ks_kunum from kgsammel where ks_kgnum = $kg_num)";
892
 
893
	      if (!($resks = QueryDB($db, $query))) {
894
		 closeDB($db);
895
		 return;
896
	      }
897
 
898
	      $data = fetchDB($resks, 0);
899
	      $sum_proz = $data[0];
900
	      $sum_ant1 = 0.0;
901
	      $sum_ant2 = 0.0;
902
	   }
903
 
904
	   while ($j < $rows) {
905
	      $data = fetchDB($result, $j);
906
	      $ks_num = $data[0];
907
	      $ks_kunum = $data[1];
908
	      $ku_firma = $data[2];
909
	      $ku_vname = $data[3];
910
	      $ku_nname = $data[4];
911
 
912
	      echo "<tr><td class=\"selakt\">";
913
	      ButtonImageMove("editdelete.png", "Loeschen", "kunden.php",
914
		"ks_num=$ks_num&kg_num=$kg_num&kg_name=" . urlencode($kg_name) .
915
		"&kg_prnum=$kg_prnum&menu=$menu&headline=$headline&func=DelSammel");
916
	      echo "</td>\n";
917
	      echo "<td class=\"sel\">$ku_firma</td>\n";
918
	      echo "<td class=\"sel\">$ku_nname $ku_vname</td>\n";
919
 
920
	      if ($fixkunde) {
921
		 $query = "select fx_proz from fixanteil where fx_valid_to is NULL ";
922
		 $query .= "and fx_kunum = $ks_kunum order by fx_valid_from desc";
923
 
924
		 if (!($resfx = QueryDB($db, $query))) {
925
		    closeDB($db);
926
		    return;
927
		 }
928
 
929
		 if (numrowsDB($resfx) > 0) {
930
		    $data = fetchDB($resfx, 0);
931
		    $fx_proz = $data[0];
932
 
933
		    if (!isset($fx_proz))
934
		       $fx_proz = 0.0;
935
		 } else
936
		    $fx_proz = 0.0;
937
 
938
		 if ($sum_proz > 0.0)
939
		    $real_proz = $fx_proz / $sum_proz * 100.0;
940
		 else
941
		    $real_proz = 0.0;
942
 
943
		 echo "<td class=\"selnum\">" . FormatNum($fx_proz, 3) . "</td>\n";
944
		 echo "<td class=\"selnum\">" . FormatNum($real_proz, 3) . "</td>\n";
945
		 $sum_ant1 += $fx_proz;
946
		 $sum_ant2 += $real_proz;
947
	      }
948
 
949
	      echo "</tr>\n";
950
	      $j++;
951
	   }
952
 
953
	   if ($fixkunde) {
954
	      echo "<tr><td class=\"selnum\" colspan=3><b>Summen:</b></td>\n";
955
	      echo "<td class=\"selnum\"><b>" . FormatNum($sum_ant1, 3) . "</b></td>\n";
956
	      echo "<td class=\"selnum\"><b>" . FormatNum($sum_ant2, 3) . "</b></td></tr>\n";
957
	   }
958
 
959
	   echo "</table>\n</td></tr>\n";
960
	} else {
961
	   echo "<tr><td class=\"selakt\" colspan=2>Derzeit existieren noch keine Kunden!<br>";
962
	   echo "Bitte tragen Sie zuerst unter dem Men&uuml;punkt \"";
963
	   echo "Verwaltung&minus;&gt;Kunden\" einen oder mehrere Kunden ein.</td></tr>\n";
964
	   return;
965
	}
966
}
967
 
968
# Folgende Funktion gibt eine Maske aus, um den Namen einer Kundengruppe zu
969
# erfassen, oder zu editieren.
970
#
971
function EditKGroup() {
972
	global $menu;
973
	global $headline;
974
 
975
	$nav = "menu=$menu&headline=$headline";
976
	$kg_num = $_REQUEST['kg_num'];
977
	$kg_name = $_REQUEST['kg_name'];
978
	$kg_prnum = $_REQUEST['kg_prnum'];
979
 
980
	if (isset($kg_num) && $kg_num > 0)
981
	   $update = true;
982
	else
983
	   $update = false;
984
?>
985
<form name="kgroup" action="kunden.php" method="post">
986
   <input type="hidden" name="menu" value="<? echo "$menu"; ?>">
987
   <input type="hidden" name="headline" value="<? echo "$headline"; ?>">
988
   <input type="hidden" name="func" value="SaveKGroup">
989
   <input type="hidden" name="update" value="<? echo "$update"; ?>">
990
<?
991
	if ($update)
992
	   echo "   <input type=\"hidden\" name=\"kg_num\" value=\"$kg_num\">\n";
993
?>
994
<table class="input">
995
   <tr>
996
      <th class="sel" colspan=2>
997
<?
998
	if ($update)
999
	   echo "Editieren der Kundengruppe";
1000
	else
1001
	   echo "Neue Kundengruppe";
1002
?>
1003
      </th>
1004
   </tr>
1005
   <tr>
1006
      <td>Gruppenname:</td>
1007
      <td><input type="text" class="inputmust" name="kg_name" value="<? echo "$kg_name"; ?>" size=40 maxlength=60></td>
1008
   </tr>
1009
   <tr>
1010
      <td>Projekt:</td>
1011
      <td><select name="kg_prnum">
1012
             <option value=""></option>
1013
<?
1014
	$db = OpenDB();
1015
	$query = "select distinct pr_num, pr_name from project, plan where ";
1016
	$query .= "pl_prnum = pr_num and pr_status = 0 and pl_status in (2,3,4)";
1017
 
1018
	if (!($result = QueryDB($db, $query))) {
1019
	   closeDB($db);
1020
	   return;
1021
	}
1022
 
1023
	$rows = numrowsDB($result);
1024
	$j = 0;
1025
 
1026
	while ($j < $rows) {
1027
	   $data = fetchDB($result, $j);
1028
	   $pr_num = $data[0];
1029
	   $pr_name = $data[1];
1030
 
1031
	   if ($update && $kg_prnum == $pr_num)
1032
	      echo "<option value=\"$pr_num\" selected>$pr_num $pr_name</option>\n";
1033
	   else
1034
	      echo "<option value=\"$pr_num\">$pr_num $pr_name</option>\n";
1035
 
1036
	   $j++;
1037
	}
1038
?>
1039
          </select>
1040
      </td>
1041
   </tr>
1042
<?
1043
	if ($update)
1044
	   AddKunde($db);
1045
?>
1046
</table>
1047
<table class="indent"><tr><td>
1048
<?
1049
	ButtonSubmit("Speichern", "kgroup");
1050
	echo "</td></tr></table>\n</form>\n";
1051
	closeDB($db);
1052
}
1053
 
1054
# Folgende Funktion speichert den Namen einer neuen Kundengruppe. Anschliessend
1055
# koennen der Gruppe Kunden hinzugefuegt werden.
1056
#
1057
function SaveKGroup() {
1058
	$kg_num = $_REQUEST['kg_num'];
1059
	$kg_name = $_REQUEST['kg_name'];
1060
	$kg_prnum = $_REQUEST['kg_prnum'];
1061
	$update = $_REQUEST['update'];
1062
 
1063
	if (!isset($kg_name) || strlen($kg_name) <= 0) {
1064
	   Error("Sie m&uuml;ssen unbegingt einen Kundengruppennamen eigeben!");
1065
	   return false;
1066
	}
1067
 
1068
	if ($update && (!isset($kg_num) || strlen($kg_num) <= 0)) {
1069
	   Error("SaveKGroup: Interner Fehler: Kundengruppennummer fehlt!");
1070
	   return false;
1071
	}
1072
 
1073
	if (!isset($kg_prnum) || strlen($kg_prnum) <= 0)
1074
	   $kg_prnum = "NULL";
1075
 
1076
	$db = OpenDB();
1077
 
1078
	if ($update) {
1079
	   $query = "update kgroup set kg_name = '$kg_name', ";
1080
	   $query .= "kg_prnum = $kg_prnum where kg_num = $kg_num";
1081
 
1082
	   if (!QueryDB($db, $query)) {
1083
	      closeDB($db);
1084
	      return false;
1085
	   }
1086
	} else {
1087
	   $query = "select co_kgroup from counter";
1088
 
1089
	   if (!($result = QueryDB($db, $query))) {
1090
	      closeDB($db);
1091
	      return false;
1092
	   }
1093
 
1094
	   $data = fetchDB($result, 0);
1095
	   $co_kgroup = $data[0] + 1;
1096
 
1097
	   if (!QueryDB($db, "begin")) {
1098
	      closeDB($db);
1099
	      return false;
1100
	   }
1101
 
1102
	   $query = "insert into kgroup (kg_num, kg_name, kg_prnum) values ";
1103
	   $query .= "($co_kgroup, '$kg_name', $kg_prnum)";
1104
 
1105
	   if (!QueryDB($db, $query)) {
1106
	      QueryDB($db, "rollback");
1107
	      closeDB($db);
1108
	      return false;
1109
	   }
1110
 
1111
	   $query = "update counter set co_kgroup = $co_kgroup";
1112
 
1113
	   if (!QueryDB($db, $query)) {
1114
	      QueryDB($db, "rollback");
1115
	      closeDB($db);
1116
	      return false;
1117
	   }
1118
 
1119
	   QueryDB($db, "commit");
1120
	}
1121
 
1122
	closeDB($db);
1123
	return true;
1124
}
1125
 
1126
function AddGroupKunde() {
1127
	global $fixkunde;
1128
 
1129
	$kg_num = $_REQUEST['kg_num'];
1130
	$ku_num = $_REQUEST['ku_num'];
1131
 
1132
	if (!isset($kg_num) || $kg_num <= 0) {
1133
	   Error("AddGroupKunde: Interner Fehler: Gruppennummer fehlt!");
1134
	   return false;
1135
	}
1136
 
1137
	if (!isset($ku_num) || $ku_num <= 0) {
1138
	   Error("AddGroupKunde: Interner Fehler: Kundennummer fehlt!");
1139
	   return false;
1140
	}
1141
 
1142
	$db = OpenDB();
1143
	# Sicherstellen, dass der gewuenschte Kunde nicht bereits in der
1144
	# aktuellen Gruppe vorhanden ist.
1145
	$query = "select count(*) from kgsammel where ks_kgnum = $kg_num and ks_kunum = $ku_num";
1146
 
1147
	if (!($result = QueryDB($db, $query))) {
1148
	   closeDB($db);
1149
	   return false;
1150
	}
1151
 
1152
	$data = fetchDB($result, 0);
1153
 
1154
	if ($data[0] > 0) {
1155
	   Error("Error: Der Kunde ist bereits in der Gruppe enthalten!");
1156
	   closeDB($db);
1157
	   return false;
1158
	}
1159
 
1160
	# Da der Kunde noch nicht in der Gruppe enthalten ist, fuegen wir
1161
	# ihn nun tatsaechlich in den Kontainer ein.
1162
	$query = "select co_kgsammel from counter";
1163
 
1164
	if (!($result = QueryDB($db, $query))) {
1165
	   closeDB($db);
1166
	   return false;
1167
	}
1168
 
1169
	$data = fetchDB($result, 0);
1170
	$co_kgsammel = $data[0] + 1;
1171
 
1172
	if (!QueryDB($db, "begin")) {
1173
	   closeDB($db);
1174
	   return false;
1175
	}
1176
 
1177
	$query = "insert into kgsammel (ks_num, ks_kgnum, ks_kunum) values ";
1178
	$query .= "($co_kgsammel, $kg_num, $ku_num)";
1179
 
1180
	if (!QueryDB($db, $query)) {
1181
	   QueryDB($db, "rollback");
1182
	   closeDB($db);
1183
	   return false;
1184
	}
1185
 
1186
	$query = "update counter set co_kgsammel = $co_kgsammel";
1187
 
1188
	if (!QueryDB($db, $query)) {
1189
	   QueryDB($db, "rollback");
1190
	   closeDB($db);
1191
	   return false;
1192
	}
1193
 
1194
	QueryDB($db, "commit");
1195
	closeDB($db);
1196
	return true;
1197
}
1198
 
1199
function DelSammel() {
1200
	$kg_num = $_REQUEST['kg_num'];
1201
	$ks_num = $_REQUEST['ks_num'];
1202
 
1203
	if (!isset($kg_num) || $kg_num <= 0) {
1204
	   Error("DelSammel: Interner Fehler: Kundengruppennummer wurde nicht &uuml;bergeben!");
1205
	   return;
1206
	}
1207
 
1208
	if (!isset($ks_num) || $ks_num <= 0) {
1209
	   Error("DelSammel: Interner Fehler: Kontainernummer wurde nicht &uuml;bergeben!");
1210
	   return;
1211
	}
1212
 
1213
	$db = OpenDB();
1214
	$query = "delete from kgsammel where ks_num = $ks_num";
1215
 
1216
	QueryDB($db, $query);
1217
}
1218
 
1219
function AskDelKGroup() {
1220
	global $menu;
1221
	global $headline;
1222
 
1223
	$kg_num = $_REQUEST['kg_num'];
1224
 
1225
	if (!isset($kg_num) || $kg_num <= 0) {
1226
	   Error("AskDelKunde: Interner Fehler: Kundengruppennummer wurde nicht &uuml;bergeben!");
1227
	   return;
1228
	}
1229
 
1230
	$nav = "func=DelKGroupReal&kg_num=$kg_num&menu=$menu&headline=$headline";
1231
?>
1232
<br>
1233
<form action="kunden.php" method="post">
1234
<table border=2 class="alarm">
1235
   <tr><td colspan=2><big>Warnung!</big><br><br>
1236
           Wollen Sie diese Kundengruppe wirklich unwiederbringlich
1237
	   l&ouml;schen?
1238
      </td>
1239
   </tr>
1240
   <tr>
1241
      <td><center><input type="button" name="yes" value="Kundengruppe Löschen" onClick="javascript:MoveTo('kunden.php','yes=yes&<? echo "$nav"; ?>')"></center></td>
1242
      <td><center><input type="button" name="no" value="Abbruch" onClick="javascript:MoveTo('kunden.php','no=no&<? echo "$nav"; ?>')"></center></td>
1243
   </tr>
1244
</table>
1245
</form>
1246
<?php
1247
}
1248
 
1249
function DelKGroup() {
1250
	$kg_num = $_REQUEST['kg_num'];
1251
 
1252
	if (!isset($kg_num) || $kg_num <= 0) {
1253
	   Error("DelKGroup: Interner Fehler: Kundengruppennummer wurde nicht &uuml;bergeben!");
1254
	   return;
1255
	}
1256
 
1257
	$db = OpenDB();
1258
 
1259
	if (!QueryDB($db, "begin")) {
1260
	   closeDB($db);
1261
	   return;
1262
	}
1263
 
1264
	# Loeschen der Sammler
1265
	$query = "delete from kgsammel where ks_kgnum = $kg_num";
1266
 
1267
	if (!QueryDB($db, $query)) {
1268
	   QueryDB($db, "rollback");
1269
	   closeDB($db);
1270
	   return;
1271
	}
1272
 
1273
	# Loeschen der Kundengruppe selbst
1274
	$query = "delete from kgroup where kg_num = $kg_num";
1275
 
1276
	if (!QueryDB($db, $query)) {
1277
	   QueryDB($db, "rollback");
1278
	   closeDB($db);
1279
	   return;
1280
	}
1281
 
1282
	QueryDB($db, "commit");
1283
	closeDB($db);
1284
}
1285
 
1286
/*----------------------------------------------------------------------------*/
1287
# Ab hier steht die Steuerung fuer die einzelnen Funktionen.
1288
#
1289
if (isset($knopf) && $knopf == 43)	// Einfache Kundenliste
1290
   ListKunde();
1291
 
1292
if (isset($knopf) && $knopf == 48)
1293
   ListKGroups();
1294
 
1295
$func = $_REQUEST['func'];
1296
 
1297
if (isset($func) && strlen($func) > 0) {
1298
   # Steuerung fuer Einzelkunden
1299
   if ($func == "new")
1300
      EditKunde();
1301
 
1302
   if ($func == "SaveKunde") {
1303
      if (!SaveKunde())
1304
         EditKunde();
1305
      else
1306
         ListKunde();
1307
   }
1308
 
1309
   if ($func == "edit")
1310
      EditKunde();
1311
 
1312
   if ($func == "del")
1313
      AskDelKunde();
1314
 
1315
   if ($func == "SaveKundeReal") {
1316
      $yes = $_REQUEST['yes'];
1317
 
1318
      if ($yes == "yes")
1319
         DelKunde();
1320
 
1321
      ListKunde();
1322
   }
1323
 
1324
   # Steuerung fuer Kundengruppen
1325
   if ($func == "NewKGroup" || $func == "EditKGroup")
1326
      EditKGroup();
1327
 
1328
   if ($func == "SaveKGroup") {
1329
      if (!SaveKGroup())
1330
         ListKGroups();
1331
 
1332
      ListKGroups();
1333
   }
1334
 
1335
   if ($func == "AddGroupKunde") {
1336
      AddGroupKunde();
1337
      EditKGroup();
1338
   }
1339
 
1340
   if ($func == "DelSammel") {
1341
      DelSammel();
1342
      EditKGroup();
1343
   }
1344
 
1345
   if ($func == "DelKGroup")
1346
      AskDelKGroup();
1347
 
1348
   if ($func == "DelKGroupReal") {
1349
      $yes = $_REQUEST['yes'];
1350
 
1351
      if ($yes == "yes")
1352
         DelKGroup();
1353
 
1354
      ListKGroups();
1355
   }
1356
}
1357
 
1358
 
1359
require_once('footer.inc');
1360
?>
1361