Subversion-Projekte lars-tiefland.content-management

Revision

Revision 1 | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
 
2 lars 3
    //$Id: auspraegung.php 4178 2012-02-06 14:33:19Z tiefland $
1 lars 4
 
5
    /**
6
     * @author Lars Tiefland <tiefland@weban.de>
7
     * @copyright 2009 Webagentur Niewerth
8
     * @package Content-management
2 lars 9
     * @version $Rev: 4178 $
1 lars 10
     * @license propietary
11
     * @filesource
12
     *
13
     */
14
 
15
    /**
16
     * Verwaltet die Ausprägungen der Verzeichnisse und Artikel
17
     * @author Lars Tiefland <tiefland@weban.de>
18
     * @copyright 2009 Webagentur Niewerth
19
     * @package Content-management
20
     */
21
 
22
    require_once "connect2.php";
23
    require_once "Weban_Smarty.class.php";
24
 
25
 
26
    $GLOBALS["ui"] = new Weban_Smarty();
27
 
28
    // ME: Abhängige Ausprägungen?
29
    if ( isset( $web_rechte['online_shop']['directory']['auspr_abhaengigkeiten'] ) )
30
    {
31
        $GLOBALS["ui"]->assign( "auspr_abhaengigkeiten", 1 );
32
        $auspr_abhaengigkeiten = 1;
33
    }
34
    // ME: sollen die Ausprägungen an Unterordner weitervererbt werden können?
35
    if ( isset( $web_rechte['online_shop']['directory']['auspr_vererbung'] ) )
36
    {
37
        $auspr_vererbung = 1;
38
        $GLOBALS["ui"]->assign( "auspr_vererbung", 1 );
39
    }
40
 
41
 
42
    $mode = filter_input( INPUT_POST, "mode", FILTER_SANITIZE_STRING );
43
 
44
 
45
    if ( isset( $mode ) )
46
    {
47
        $richtung = filter_input( INPUT_POST, "richtung", FILTER_SANITIZE_STRING );
48
        $id = filter_input( INPUT_POST, "id", FILTER_SANITIZE_NUMBER_INT );
49
        $a_id = filter_input( INPUT_POST, "a_id", FILTER_SANITIZE_NUMBER_INT );
50
        $type = filter_input( INPUT_POST, "type", FILTER_SANITIZE_NUMBER_INT );
51
 
52
        $val = filter_input( INPUT_POST, "value", FILTER_SANITIZE_STRING );
53
        $einheit = filter_input( INPUT_POST, "einheit", FILTER_SANITIZE_STRING );
54
        $erklaerung = filter_input( INPUT_POST, "erklaerung",
55
            FILTER_SANITIZE_STRING );
56
        $suchkriterim = filter_input( INPUT_POST, "suchkriterium",
57
            FILTER_SANITIZE_NUMBER_INT );
58
        $abh_auspr = filter_input( INPUT_POST, "abh_auspr",
59
            FILTER_SANITIZE_STRING );
60
        $vererbung = filter_input( INPUT_POST, "vererbung",
61
            FILTER_SANITIZE_NUMBER_INT );
62
 
63
        switch ( $type )
64
        {
65
            case 1:
66
                $werte = $_POST["wert"];
67
                break;
68
            case 3:
69
                $werte = $_POST["preis"];
70
                break;
71
            case 5:
72
            case 6:
73
            case 10:
74
                $werte = $_POST["auswahl"];
75
                break;
76
            case 11:
77
                $werte = $_POST["unterauswahl"];
78
                break;
79
        }
80
        $werte = serialize( $werte );
81
 
2 lars 82
        $flds = null;
1 lars 83
        if ( $auspr_abhaengigkeiten )
84
        {
2 lars 85
            $flds[0] = "abh_auspr";
1 lars 86
        }
87
        if ( $auspr_vererbung == 1 )
88
        {
2 lars 89
            $flds[1] = "vererbung";
1 lars 90
        }
91
        switch ( $mode )
92
        {
93
            case "save":
94
                if ( $type != 7 )
95
                {
96
                    $sql = "
97
                        SELECT
98
                            MAX(rang)+10 AS max_rang
99
                        FROM
100
                            directory_to_auspraegung
101
                        WHERE
102
                            directory=$id
103
                    ";
104
                    $res = mysql_query( $sql );
105
                    $row = mysql_fetch_assoc( $res );
106
                    $rang = $row["max_rang"];
107
                    if ( is_null( $rang ) )
108
                    {
109
                        $rang = 0;
110
                    }
111
                    $sql = "
112
                        INSERT INTO
113
                            auspraegung
114
                        (
115
                            name,
116
                            suchkriterium,
117
                            type,
118
                            einheit,
119
                    ";
120
                    if ( $type == 1 )
121
                    {
122
                        $sql .= "
123
                            richtung,
124
                        ";
125
                    }
126
                    if ( is_array( $flds ) )
127
                    {
128
                        $sql .= implode( ", ", $flds ) . ", ";
129
                    }
130
                    $sql .= "
131
                            erklaerung,
132
                            erstellt_am,
133
                            erstellt_von
134
                        )
135
                        VALUES
136
                        (
137
                            '$val',
138
                            $suchkriterium,
139
                            $type,
140
                            '$einheit',
141
                    ";
142
                    if ( $type == 1 )
143
                    {
144
                        $sql .= "
145
                            '" . $richtung . "',
146
                        ";
147
                    }
148
                    if ( $abh_auspr )
149
                    {
150
                        $sql .= "'" . $abh_auspr . "',";
151
                    }
152
                    if ( $auspr_vererbung == 1 and isset( $vererbung ) )
153
                    {
154
                        $sql .= $vererbung . ", ";
155
                    }
156
 
157
                    $sql .= "
158
                            '$erklaerung',
159
                            NOW(),
160
                            '" . $_SERVER["PHP_AUTH_USER"] . "'
161
                        )
162
                    ";
163
 
164
                    $res = mysql_query( $sql );
165
                    if ( $res )
166
                    {
167
                        $sql = "
168
                            INSERT INTO
169
                                directory_to_auspraegung
170
                            VALUES
171
                            (
172
                                $id,
173
                                " . mysql_insert_id() . ",
174
                                '$werte',
175
                                $rang
176
                            )
177
                        ";
178
                        $res = mysql_query( $sql );
179
                        echo mysql_error();
180
                    }
2 lars 181
                    else
182
                    {
183
                        weban_debug( mysql_error() . "<br>$sql" );
184
                    }
1 lars 185
                }
186
                else
187
                {
188
                    // EULabels einrichten
189
                    $e_label = filter_input( INPUT_POST, "eu_label",
190
                        FILTER_VALIDATE_INT );
191
                    switch ( $e_label )
192
                    {
193
                        case 1:
194
                            // Kühl- und Gefrierschränke
195
                            $auspraegungen[] = array( "EU-Label für Haushalts-Kühl- und Gefriergeräte",
2 lars 196
                                    7 );
1 lars 197
                            $auspraegungen[] = array( "Hersteller:", 0 );
198
                            $auspraegungen[] = array( "Modell:", 0 );
2 lars 199
                            $auspraegungen[] = array(
200
                                "Energieeffizienzklasse:",
201
                                10,
202
                                1,
203
                                serialize( array(
204
                                    "A+++",
205
                                    "A++",
206
                                    "A+",
207
                                    "A",
208
                                    "B",
209
                                    "C",
210
                                    "D",
211
                                    ) ) );
212
                            $auspraegungen[] = array(
213
                                "Stromverbrauch:",
214
                                1,
1 lars 215
                                "kWh/Jahr" );
2 lars 216
                            $auspraegungen[] = array(
217
                                "Nutzinahlt Kühlteil:",
218
                                1,
1 lars 219
                                "L" );
2 lars 220
                            $auspraegungen[] = array(
221
                                "Nutzinhalt Gefrierteil:",
222
                                1,
223
                                "L" );
224
                            $auspraegungen[] = array(
225
                                "Geräusch:",
226
                                1,
227
                                "dB(A)" );
1 lars 228
                            break;
229
                        case 2:
230
                            // Weinlagerschränke
231
                            $auspraegungen[] = array( "EU-Label für Weinlagerschrank",
2 lars 232
                                    7 );
1 lars 233
                            $auspraegungen[] = array( "Hersteller:", 0 );
234
                            $auspraegungen[] = array( "Modell:", 0 );
2 lars 235
                            $auspraegungen[] = array(
236
                                "Energieeffizienzklasse:",
237
                                10,
238
                                "",
239
                                serialize( array(
240
                                    "A+++",
241
                                    "A++",
242
                                    "A+",
243
                                    "A",
244
                                    "B",
245
                                    "C",
246
                                    "D",
247
                                    "E",
248
                                    "F",
249
                                    "G",
250
                                    ) ) );
251
                            $auspraegungen[] = array(
252
                                "Stromverbrauch:",
253
                                8,
1 lars 254
                                "kWh/Jahr" );
2 lars 255
                            $auspraegungen[] = array(
256
                                "Anzahl Flaschen:",
257
                                1,
1 lars 258
                                "Stück" );
2 lars 259
                            $auspraegungen[] = array(
260
                                "Geräusch:",
261
                                1,
262
                                "dB(A)" );
1 lars 263
                            break;
264
                        case 3:
265
                            // Waschmaschinen
266
                            $auspraegungen[] = array( "EU-Label für Haushalts-Waschmaschinen",
2 lars 267
                                    7 );
1 lars 268
                            $auspraegungen[] = array( "Hersteller:", 0 );
269
                            $auspraegungen[] = array( "Modell:", 0 );
2 lars 270
                            $auspraegungen[] = array(
271
                                "Energieeffizienzklasse:",
272
                                10,
273
                                "",
274
                                serialize( array(
275
                                    "A+++",
276
                                    "A++",
277
                                    "A+",
278
                                    "A",
279
                                    "B",
280
                                    "C",
281
                                    "D",
282
                                    ) ) );
283
                            $auspraegungen[] = array(
284
                                "Stromverbrauch:",
285
                                1,
1 lars 286
                                "kWh/Jahr" );
2 lars 287
                            $auspraegungen[] = array(
288
                                "Wasserverbrauch:",
289
                                1,
1 lars 290
                                "L/Jahr" );
2 lars 291
                            $auspraegungen[] = array(
292
                                "Fassungsvermögen:",
293
                                1,
1 lars 294
                                "kg" );
2 lars 295
                            $auspraegungen[] = array(
296
                                "Schleuderwirkung",
297
                                10,
298
                                "",
299
                                serialize( array(
300
                                    "A",
301
                                    "B",
302
                                    "C",
303
                                    "D",
304
                                    "E",
305
                                    "F",
306
                                    "G",
307
                                    ) ) );
308
                            $auspraegungen[] = array(
309
                                "Geräusch (Waschen):",
310
                                1,
1 lars 311
                                "dB(A)" );
2 lars 312
                            $auspraegungen[] = array(
313
                                "Geräusch (Schleudern):",
314
                                1,
315
                                "dB(A)" );
1 lars 316
                            break;
317
                        case 4:
318
                            // Geschirrspüler
319
                            $auspraegungen[] = array( "EU-Label Haushalts-Geschirrspüler",
2 lars 320
                                    7 );
1 lars 321
                            $auspraegungen[] = array( "Hersteller:", 0 );
322
                            $auspraegungen[] = array( "Modell:", 0 );
2 lars 323
                            $auspraegungen[] = array(
324
                                "Energieeffizienzklasse:",
325
                                10,
326
                                "",
327
                                serialize( array(
328
                                    "A+++",
329
                                    "A++",
330
                                    "A+",
331
                                    "A",
332
                                    "B",
333
                                    "C",
334
                                    "D",
335
                                    ) ) );
336
                            $auspraegungen[] = array(
337
                                "Stromverbrauch:",
338
                                1,
1 lars 339
                                "kWh/Jahr" );
2 lars 340
                            $auspraegungen[] = array(
341
                                "Wasserverbrauch:",
342
                                1,
1 lars 343
                                "L/Jahr" );
2 lars 344
                            $auspraegungen[] = array(
345
                                "Trocknungswirkung",
346
                                10,
347
                                "",
348
                                serialize( array(
349
                                    "A",
350
                                    "B",
351
                                    "C",
352
                                    "D",
353
                                    "E",
354
                                    "F",
355
                                    "G",
356
                                    ) ) );
357
                            $auspraegungen[] = array(
358
                                "Anzahl Maßgedecke:",
359
                                1,
1 lars 360
                                "Stück" );
2 lars 361
                            $auspraegungen[] = array(
362
                                "Geräusch:",
363
                                1,
364
                                "dB(A)" );
1 lars 365
                            break;
366
                        case 5:
367
                            // Fernseher
368
                            $auspraegungen[] = array( "EU-Label Fernsehgeräte",
2 lars 369
                                    7 );
1 lars 370
                            $auspraegungen[] = array( "Hersteller:", 0 );
371
                            $auspraegungen[] = array( "Modell:", 0 );
2 lars 372
                            $auspraegungen[] = array(
373
                                "Energieeffizienzklasse:",
374
                                10,
375
                                "",
376
                                serialize( array(
377
                                    "A+",
378
                                    "A",
379
                                    "B",
380
                                    "C",
381
                                    "D",
382
                                    "E",
383
                                    "F",
384
                                    ) ) );
1 lars 385
                            $auspraegungen[] = array( "Ein-/Ausschalter:", 2 );
2 lars 386
                            $auspraegungen[] = array(
387
                                "Leistungsaufnahme:",
388
                                1,
1 lars 389
                                "W" );
2 lars 390
                            $auspraegungen[] = array(
391
                                "Stromverbrauch:",
392
                                1,
1 lars 393
                                "kWh/Jahr" );
2 lars 394
                            $auspraegungen[] = array(
395
                                "Bildschirmdiagonale:",
396
                                1,
1 lars 397
                                "cm" );
2 lars 398
                            $auspraegungen[] = array(
399
                                "Bildschirmdiagonale:",
400
                                1,
1 lars 401
                                "Zoll" );
402
                            break;
403
                        case 6:
404
                            // Trockner
405
                            $auspraegungen[] = array( "EU-Label für Haushalts-Wäschetrockner",
2 lars 406
                                    7 );
1 lars 407
                            $auspraegungen[] = array( "Hersteller:", 0 );
408
                            $auspraegungen[] = array( "Modell:", 0 );
2 lars 409
                            $auspraegungen[] = array(
410
                                "Energieeffizienzklasse:",
411
                                10,
412
                                "",
413
                                serialize( array(
414
                                    "A++",
415
                                    "A+",
416
                                    "A",
417
                                    "B",
418
                                    "C",
419
                                    "D",
420
                                    "E",
421
                                    "F",
422
                                    "G",
423
                                    ) ) );
424
                            $auspraegungen[] = array(
425
                                "Stromverbrauch:",
426
                                1,
1 lars 427
                                "kWh/Jahr" );
2 lars 428
                            $auspraegungen[] = array(
429
                                "Trocknerart:",
430
                                5,
431
                                "",
432
                                serialize( array(
433
                                    "Ablufttrockner",
434
                                    "Kondenstrocker",
435
                                    "Wärmepumpetrockner" ) ) );
436
                            $auspraegungen[] = array(
437
                                "Fassungsvermögen:",
438
                                1,
1 lars 439
                                "kg" );
2 lars 440
                            $auspraegungen[] = array(
441
                                "Geräusch:",
442
                                1,
443
                                "dB(A)" );
1 lars 444
                            break;
445
                        case 7:
446
                            // Klimageräte
447
                            $auspraegungen[] = array( "EU-Label für Klimageräte",
2 lars 448
                                    7 );
1 lars 449
                            $auspraegungen[] = array( "Hersteller:", 0 );
450
                            $auspraegungen[] = array( "Modell:", 0 );
2 lars 451
                            $auspraegungen[] = array(
452
                                "Geräteart:",
453
                                5,
454
                                "",
1 lars 455
                                serialize( array( "Außengerät", "Innengerät" ) ) );
2 lars 456
                            $auspraegungen[] = array(
457
                                "Energieeffizienzklasse:",
458
                                10,
459
                                "",
460
                                serialize( array(
461
                                    "A++",
462
                                    "A+",
463
                                    "A",
464
                                    "B",
465
                                    "C",
466
                                    "D",
467
                                    "E",
468
                                    "F",
469
                                    "G",
470
                                    ) ) );
471
                            $auspraegungen[] = array(
472
                                "Stromverbrauch:",
473
                                1,
1 lars 474
                                "kWh/Jahr" );
2 lars 475
                            $auspraegungen[] = array(
476
                                "Kühlleistung:",
477
                                1,
478
                                "kW" );
479
                            $auspraegungen[] = array(
480
                                "Energieeffizienzklasse bei Vollast:",
481
                                10,
482
                                "",
483
                                serialize( array(
484
                                    "A",
485
                                    "B",
486
                                    "C",
487
                                    "D",
488
                                    "E",
489
                                    "F",
490
                                    "G",
491
                                    ) ) );
492
                            $auspraegungen[] = array(
493
                                "Typ:",
494
                                5,
495
                                "",
496
                                serialize( array( "Nur Kühlfunktion",
497
                                        "Kühl-/Heizfunktion" ) ) );
498
                            $auspraegungen[] = array(
499
                                "Typ+:",
500
                                5,
501
                                "",
502
                                serialize( array( "Luftkühlung", "Wasserkühlung" ) ) );
503
                            $auspraegungen[] = array(
504
                                "Geräusch:",
505
                                1,
506
                                "dB(A)" );
1 lars 507
                            break;
508
                    }
509
                    foreach ( $auspraegungen as $auspraegung )
510
                    {
511
                        $sql = "
512
                            SELECT
513
                                MAX(rang)+10 AS max_rang
514
                            FROM
515
                                directory_to_auspraegung
516
                            WHERE
517
                                directory=$id
518
                        ";
519
                        $res = mysql_query( $sql );
520
                        $row = mysql_fetch_assoc( $res );
521
                        $rang = $row["max_rang"];
522
                        if ( is_null( $rang ) )
523
                        {
524
                            $rang = 0;
525
                        }
526
                        $sql = "
527
                            INSERT INTO
528
                                auspraegung
529
                            (
530
                                name,
531
                                type,
532
                                einheit,
533
                                eu_label_id
534
                            )
535
                            VALUES
536
                            (
537
                                '" . $auspraegung[0] . "',
538
                                " . $auspraegung[1] . ",
539
                                '" . $auspraegung[2] . "',
540
                                $eu_label
541
                            )
542
                        ";
543
                        $res = mysql_query( $sql );
544
                        $a_id = mysql_insert_id();
545
                        $sql = "
546
                            INSERT INTO
547
                                directory_to_auspraegung
548
                            (
549
                                directory,
550
                                auspraegung,
551
                                wertebereich,
552
                                rang
553
                            )
554
                            VALUES
555
                            (
556
                                $id,
557
                                $a_id,
558
                                '" . $auspraegung[3] . "',
559
                                $rang
560
                            )
561
                        ";
562
                        $res = mysql_query( $sql );
563
                    }
564
                }
565
                break;
566
            case "update":
567
                if ( $type < 7 || $type == 10 || $type == 11 )
568
                {
569
 
570
                    $sql = "
571
                        UPDATE
572
                            auspraegung
573
                        SET
574
                            name='$val',
575
                            type=$type,
576
                            einheit='$einheit',
577
                            suchkriterium=$suchkriterium,
578
                    ";
579
                    if ( $type == 1 )
580
                    {
581
                        $sql .= "
582
                            richtung='" . $richtung . "',
583
                        ";
584
                    }
585
                    if ( is_array( $flds ) and $abh_auspr )
586
                    {
587
                        $sql .= $flds[0] . "='" . $abh_auspr . "',";
588
                    }
589
                    if ( $auspr_vererbung && isset( $vererbung ) )
590
                    {
591
                        $sql .= $flds[1] . "=" . $vererbung . ",";
592
                    }
593
 
594
                    $sql .= "
595
                            erklaerung='$erklaerung',
596
                            geaendert_am=NOW(),
597
                            geaendert_von='" . $_SERVER["PHP_AUTH_USER"] . "'
598
                        WHERE
599
                            ID=$a_id
600
                    ";
601
 
602
                    $res = mysql_query( $sql );
603
                    if ( $res )
604
                    {
605
                        $sql = "
606
                            UPDATE
607
                                directory_to_auspraegung
608
                            SET
609
                                wertebereich='$werte'
610
                            WHERE
611
                                auspraegung=$a_id
612
                            AND
613
                                directory=$id
614
                        ";
615
                        $res = mysql_query( $sql );
616
                    }
617
                }
618
                else
619
                {
620
                    foreach ( $_POST["auspraegung"] as $a_id => $auspraegung )
621
                    {
622
                        $suchkriterim = $auspraegung["suchkriterium"];
623
                        $sql = "
624
                            UPDATE
625
                                auspraegung
626
                            SET
627
                                erklaerung='$erklaerung',
628
                                suchkriterium=" . $suchkriterim . "
629
                            WHERE
630
                                ID=$a_id
631
                        ";
632
                        mysql_query( $sql );
633
                    }
634
                }
635
                break;
636
        }
637
        header( "Location: directory.php?action=edit&ID=" . $id );
638
    }
639
    else
640
    {
641
 
642
        $type = $_REQUEST['type'];
643
        $GLOBALS["ui"]->assign( "type", $type );
644
 
645
 
646
        $types = getAuspraegungTypes( $eu_label );
647
        $GLOBALS["ui"]->assign( "options", $types );
2 lars 648
        $GLOBALS["ui"]->assign( "werte", array(
649
            "",
650
            "",
651
            "",
652
            "",
653
            "",
654
            "",
655
            "",
656
            "" ) );
657
        $GLOBALS["ui"]->assign( "preise", array(
658
            "",
659
            "",
660
            "",
661
            "",
662
            "",
663
            "",
664
            "",
665
            "" ) );
1 lars 666
        $GLOBALS["ui"]->assign( "labels", getEULabels() );
2 lars 667
        $GLOBALS["ui"]->assign( "richtungen", array(
668
            "" => "neutral",
669
            "minimal" => "minimal",
670
            "maximal" => "maximal" ) );
1 lars 671
        switch ( $_GET["mode"] )
672
        {
673
            case "edit":
674
                if ( !isset( $_GET["id"] ) || !isset( $_GET["a_id"] ) )
675
                {
676
                    $meld = "zu wenige Parameter angegeben!";
677
                    $error = true;
678
                    $tpl_f = "meld.tpl";
679
                }
680
                else
681
                {
682
                    $id = intval( $_GET["id"] );
683
                    $a_id = intval( $_GET["a_id"] );
684
                    $sql = "
685
                        SELECT
686
                            *
687
                        FROM
688
                            auspraegung a
689
                        JOIN
690
                            directory_to_auspraegung da
691
                        ON
692
                            a.ID=da.auspraegung
693
                        AND
694
                            a.ID=$a_id
695
                    ";
696
                    $res = mysql_query( $sql );
697
                    if ( $res )
698
                    {
699
                        $row = mysql_fetch_assoc( $res );
700
                        $GLOBALS["ui"]->assign( "val", $row["name"] );
701
                        $GLOBALS["ui"]->assign( "id", $id );
702
                        $GLOBALS["ui"]->assign( "a_id", $a_id );
703
                        $GLOBALS["ui"]->assign( "mode", "update" );
704
                        $GLOBALS["ui"]->assign( "einheit", $row["einheit"] );
705
                        $GLOBALS["ui"]->assign( "type", $row["type"] );
706
                        $GLOBALS["ui"]->assign( "suchkriterium", $row["suchkriterium"] );
707
                        $GLOBALS["ui"]->assign( "erklaerung", $row["erklaerung"] );
708
                        $GLOBALS["ui"]->assign( "sub_type", $row["eu_label_id"] );
709
                        $GLOBALS["ui"]->assign( "richtung", $row["richtung"] );
710
                        $GLOBALS["ui"]->assign( "abh_auspr", $row["abh_auspr"] );
711
                        $GLOBALS["ui"]->assign( "vererbung", $row["vererbung"] );
712
 
713
                        if ( $row["type"] == 7 )
714
                        {
715
                            $sql_eu = "SELECT
716
                                    a.*
717
                                FROM
718
                                    auspraegung a
719
                                JOIN
720
                                    directory_to_auspraegung da
721
                                ON
722
                                    da.auspraegung=a.id
723
                                WHERE
724
                                    da.directory=$id
725
                                AND
726
                                    a.eu_label_id=" . $row["eu_label_id"] . "
727
                            ";
728
                            $res_eu = mysql_query( $sql_eu );
729
                            while ( $row_eu = mysql_fetch_assoc( $res_eu ) )
730
                            {
2 lars 731
                                if ( in_array( $row_eu["type"], array(
732
                                    1,
733
                                    5,
734
                                    10 ) ) )
1 lars 735
                                {
736
                                    $sub_ausp[] = $row_eu;
737
                                }
738
                            }
739
                            $GLOBALS["ui"]->assign( "sub_ausp", $sub_ausp );
740
                        }
741
                        $werte = unserialize( stripslashes( $row["wertebereich"] ) );
742
 
743
                        if ( $row["type"] == 1 && is_array( $werte ) )
744
                        {
745
                            $GLOBALS["ui"]->assign( "werte", $werte );
2 lars 746
                        }
747
                        elseif ( ( $row["type"] == 5 || $row["type"] == 6 || $row["type"] ==
748
                            10 || $row["type"] == 11 ) && is_array( $werte ) )
1 lars 749
                        {
750
                            $GLOBALS["ui"]->assign( "auswahl", $werte );
751
                            if ( $auspr_abhaengigkeiten == 1 )
752
                            {
753
                                $GLOBALS["ui"]->assign( "unterauswahl", $werte );
754
                            }
755
                        }
756
                        else
757
                        {
758
                            $GLOBALS["ui"]->assign( "preise", $werte );
759
                        }
760
                    }
761
                }
762
                break;
763
            case "add":
764
                if ( !isset( $_GET["id"] ) )
765
                {
766
                    $meld = "zu wenige Parameter angegeben!";
767
                    $error = true;
768
                    $tpl_f = "meld.tpl";
769
                }
770
                else
771
                {
772
                    $id = intval( $_GET["id"] );
773
                    $GLOBALS["ui"]->assign( "val", "" );
774
                    $GLOBALS["ui"]->assign( "id", $id );
775
                    $GLOBALS["ui"]->assign( "mode", "save" );
776
                }
777
                break;
778
            case "delete":
779
                $sql = "SELECT
780
                        *
781
                    FROM
782
                        auspraegung
783
                    WHERE
784
                        id=$a_id
785
                ";
786
                $res = mysql_query( $sql );
787
                $row = mysql_fetch_assoc( $res );
788
                if ( $row["eu_label_id"] && $row["type"] == 7 )
789
                {
790
                    $sql = "
791
                        DELETE FROM
792
                            auspraegung
793
                        WHERE
794
                            eu_label_id=" . $row["eu_label_id"] . "
795
                    ";
796
                }
797
                else
798
                {
799
                    $sql = "
800
                        DELETE FROM
801
                            auspraegung
802
                        WHERE
803
                            ID=" . $a_id . "
804
                    ";
805
                }
806
                $res = mysql_query( $sql );
807
                //echo mysql_error();
808
                header( "Location: directory.php?action=edit&ID=" . $id );
809
                break;
810
            case "down":
811
                $sql = "
812
                    SELECT
813
                        MAX(rang) AS max_rang
814
                    FROM
815
                        directory_to_auspraegung
816
                    WHERE
817
                        directory=$id
818
                ";
819
                $res = mysql_query( $sql );
820
                $row = mysql_fetch_assoc( $res );
821
                $max_rang = $row["max_rang"];
822
                $sql = "
823
                    SELECT
824
                        rang
825
                    FROM
826
                        directory_to_auspraegung
827
                    WHERE
828
                        directory=$id
829
                    AND
830
                        auspraegung=$a_id
831
                ";
832
                $res = mysql_query( $sql );
833
                $row = mysql_fetch_assoc( $res );
834
                $cur_rang = $row["rang"];
835
 
836
                $sql = "
837
                    SELECT
838
                        rang
839
                    FROM
840
                        directory_to_auspraegung
841
                    WHERE
842
                        directory=$id
843
                    AND
844
                        rang > $cur_rang
845
                    ORDER BY
846
                        rang
847
                ";
848
                $res = mysql_query( $sql );
849
                $row = mysql_fetch_assoc( $res );
850
                $rang = $row["rang"];
851
 
852
                $sql = "
853
                    UPDATE
854
                        directory_to_auspraegung
855
                    SET
856
                        rang = $cur_rang
857
                    WHERE
858
                        directory=$id
859
                    AND
860
                        rang = $rang
861
                ";
862
                $res = mysql_query( $sql );
863
                //echo $sql;
864
                $sql = "
865
                    UPDATE
866
                        directory_to_auspraegung
867
                    SET
868
                        rang = $rang
869
                    WHERE
870
                        directory=$id
871
                    AND
872
                        auspraegung = $a_id
873
                ";
874
                $res = mysql_query( $sql );
875
                //echo $sql;
876
                header( "Location: directory.php?action=edit&ID=" . $id );
877
                break;
878
            case "up":
879
                //ersten Eintrag bestimmen
880
                $sql = "
881
                    SELECT
882
                        MIN(rang) AS min_rang
883
                    FROM
884
                        directory_to_auspraegung
885
                    WHERE
886
                        directory=$id
887
                ";
888
                $res = mysql_query( $sql );
889
                $row = mysql_fetch_assoc( $res );
890
                $min_rang = $row["min_rang"];
891
                //akutelle Position bestimmen
892
                $sql = "
893
                    SELECT
894
                        rang
895
                    FROM
896
                        directory_to_auspraegung
897
                    WHERE
898
                        auspraegung=$a_id
899
                ";
900
                $res = mysql_query( $sql );
901
                $row = mysql_fetch_assoc( $res );
902
                $cur_rang = $row["rang"];
903
                $sql = "
904
                    SELECT
905
                        rang
906
                    FROM
907
                        directory_to_auspraegung
908
                    WHERE
909
                        directory=$id
910
                    AND
911
                        rang < $cur_rang
912
                    ORDER BY
913
                        rang DESC
914
                ";
915
                //header( "Location: directory.php?action=edit&ID=" . $id );
916
                $res = mysql_query( $sql );
917
                $row = mysql_fetch_assoc( $res );
918
                $rang = $row["rang"];
919
                $sql = "
920
                    UPDATE
921
                        directory_to_auspraegung
922
                    SET
923
                        rang=$cur_rang
924
                    WHERE
925
                        rang=$rang
926
                    AND
927
                        directory=$id
928
                ";
929
                mysql_query( $sql );
930
                $sql = "
931
                    UPDATE
932
                        directory_to_auspraegung
933
                    SET
934
                        rang=$rang
935
                    WHERE
936
                        auspraegung=$a_id
937
                    AND
938
                        directory=$id
939
                ";
940
                mysql_query( $sql );
941
                header( "Location: directory.php?action=edit&ID=$id" );
942
                break;
943
            default:
944
                $meld = "Skript wurde falsch aufgerufen!";
945
                $error = true;
946
                $tpl_f = "meld.tpl";
947
                break;
948
        }
949
    }
950
    $GLOBALS["ui"]->assign( "meld", $meld );
951
    $GLOBALS["ui"]->assign( "error", $error );
952
    $GLOBALS["ui"]->assign( "tpl_f", ( $tpl_f ) ? $tpl_f : "auspraegung.tpl" );
953
    $GLOBALS["ui"]->display( "page.tpl" );
954
 
955
    function getEULabels()
956
    {
957
        $sql = "SELECT
958
                id,
959
                name
960
            FROM
961
                eu_labels
962
        ";
963
        $res = mysql_query( $sql );
964
        while ( $row = mysql_fetch_assoc( $res ) )
965
        {
966
            $eulabels[$row["id"]] = $row["name"];
967
        }
968
        return $eulabels;
969
    }
970
 
971
    function getAuspraegungTypes()
972
    {
973
        $sql = "SELECT
974
                id,
975
                name
976
            FROM
977
                auspraegung_typ
978
            WHERE
979
                in_list=1
980
        ";
981
        if ( $_GET["mode"] == "edit" )
982
        {
983
            $sql .= "
984
            OR
985
                id=10
986
            ";
987
        }
988
        $res = mysql_query( $sql );
989
        while ( $row = mysql_fetch_assoc( $res ) )
990
        {
991
            $ret[$row["id"]] = $row["name"];
992
        }
993
        return $ret;
994
    }
995
?>