Subversion-Projekte lars-tiefland.content-management

Revision

Zur aktuellen Revision | Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
    session_start();
3
    $self = basename( $PHP_SELF );
4
    $DB = "Features";
5
    define( "modul_name", "online_shop" );
6
    define( "tool_name", "optionen" );
7
 
8
    require_once  "Weban_Smarty.class.php";
9
    require_once  "connect2.php";
10
    require_once "language_pack.php";
11
 
12
    $row_span = 4;
13
    $col_span = 5;
14
 
15
    $Eigenschaften = array();
16
 
17
    for ( $Eigenschaft_nr = 1; $Eigenschaft_nr <= 6; $Eigenschaft_nr++ )
18
    {
19
        $Feld = "Eigenschaft_" . $Eigenschaft_nr;
20
        $Felddaten = explode( ";", $web_rechte["online_shop"]["artikel"][$Feld] );
21
        if ( ( isset( $user_rechte["online_shop"]["artikel"][$Feld] ) ) and
22
            ( $Felddaten[1] == "logistik" ) )
23
        {
24
            $Eigenschaften[] = $Eigenschaft_nr;
25
            $Eigenschaften_Namen[] = $Felddaten[0];
26
            $Eigenschaften_sel[$Eigenschaft_nr] = 0;
27
        }
28
    }
29
    $col_span += count( $Eigenschaften );
30
 
31
 
32
    $GLOBALS["ui"] = new Weban_Smarty();
33
    $GLOBALS["ui"]->compile_id = "Online-Shop|porto";
34
    $GLOBALS["ui"]->template_dir = "templates/porto";
35
    $GLOBALS["ui"]->compile_dir = $_SERVER["DOCUMENT_ROOT"] .
36
        "/templates_c/";
37
    $GLOBALS["ui"]->use_sub_dirs = true;
38
 
39
    if ( isset( $user_rechte["online_shop"]["porto"]["versand_abschlag"] ) )
40
    {
41
        $row_span += 2;
42
    }
43
    if ( isset( $user_rechte["online_shop"]["porto"]["beschreibung2"] ) )
44
    {
45
        $row_span++;
46
    }
47
 
48
    if ( $_GET["filter"] )
49
    {
50
        $_SESSION[$self]["filter"] = $_GET["filter"];
51
 
52
        $_SESSION[$self]["filter"]["shop"] = explode( ",", $_SESSION[$self]["filter"]["shop"] );
53
        if ( $_SESSION[$self]["filter"]["shop"][0] == "" )
54
        {
55
            unset( $_SESSION[$self]["filter"]["shop"] );
56
        }
57
    }
58
 
59
    if ( $_POST["new"] )
60
    {
61
        $query .= "
62
					INSERT INTO
63
						artikel
64
					(
65
						Language,
66
						Father,
67
						Rang,
68
						kurzbezeichnung,
69
						short_line_2,
70
						preis_neu1,
71
						preis_neu2,
72
						status,
73
						erstellt_am,
74
						erstellt_von,
75
						letzte_Aenderung_am,
76
						letzte_Aenderung_von
77
					)
78
					VALUES
79
					(
80
						'" . $_SESSION[$self]["filter"]["shop"][1] . "',
81
						-3,
82
						1,
83
						'Neue Versandoption',
84
						'',
85
						0.01,
86
						0.02,
87
						'" . $_SESSION[$self]["filter"]["shop"][0] . "',
88
						NOW(),
89
						'" . $PHP_AUTH_USER . "',
90
						NOW(),
91
						'" . $PHP_AUTH_USER . "'
92
					)
93
				";
94
        $result = mysql_query( $query ) or die( mysql_errno() . ": " .
95
            mysql_error() . "<hr>$query<hr>" );
96
    } elseif ( $_POST["del"] )
97
    {
98
        $rang = array_keys( $_POST["Rang"] );
99
        list( $ID, $Language ) = explode( ",", $rang[0] );
100
        $sql = "
101
            DELETE FROM
102
                artikel
103
            WHERE
104
                ID = '$ID'
105
            AND
106
                Language = '$Language'
107
        ";
108
        mysql_query( $sql );
109
    } elseif ( $_POST )
110
    {
111
        foreach ( array_keys( $_POST ) as $elem )
112
        {
113
            if ( ereg( "^preis", $elem ) )
114
            {
115
                //pre($_POST[$elem]);
116
                if ( ereg( "%$", $_POST[$elem] ) )
117
                {
118
                    $_POST[$elem] = abs( $_POST[$elem] ) * ( -1 );
119
                }
120
            }
121
        }
122
 
123
        $data = $_POST;
124
 
125
        foreach ( $data as $id => $value )
126
        {
127
            if ( !is_array( $data[$id] ) )
128
            {
129
                unset( $data[$id] );
130
            }
131
        }
132
        if ( is_array( $data["Lieferstatus"] ) )
133
        {
134
            foreach ( $data["Lieferstatus"] as $id => $value )
135
            {
136
                $data["Lieferstatus"][$id] = array_sum( $value );
137
            }
138
        }
139
 
140
        $tab_felder = array_keys( $data );
141
        $id_list = array_keys( $data[$tab_felder[0]] );
142
 
143
        foreach ( $id_list as $id )
144
        {
145
            list( $ID, $Language ) = explode( ",", $id );
146
            $query = "
147
                UPDATE
148
                    artikel
149
                SET
150
            ";
151
            foreach ( $tab_felder as $feld )
152
            {
153
                if ( ereg( "^preis", $feld ) )
154
                {
155
                    if ( ereg( "%$", $data[$feld][$id] ) )
156
                    {
157
                        $data[$feld][$id] = abs( $data[$feld][$id] ) * ( -1 );
158
                    }
159
                }
160
                $query .= "
161
                        $feld = '" . mysql_real_escape_string( str_replace("'","&rsquo;", $data[$feld][$id] )). "',
162
                ";
163
            }
164
            $query .= "
165
                    letzte_Aenderung_am=NOW(),
166
                    letzte_Aenderung_von='" . $PHP_AUTH_USER . "'
167
                WHERE
168
                    ID = '$ID'
169
                AND
170
                    Language = '$Language'
171
            ";
172
            $result = mysql_query( $query ) or die( mysql_errno() . ": " .
173
                mysql_error() . "<hr>$query<hr>" );
174
        }
175
    }
176
 
177
    $query = "
178
        SELECT
179
            *
180
        FROM
181
            shops
182
        ORDER BY
183
            ID
184
    ";
185
    $result = mysql_query( $query ) or die( mysql_errno() . ": " .
186
        mysql_error() . "<hr>$query<hr>" );
187
    unset( $shops );
188
    $shops[""] = "";
189
    while ( $zeile = mysql_fetch_array( $result ) )
190
    {
191
        $shops[$zeile["ID"] . "," . $zeile["Language"]] = $zeile["Name"];
192
    }
193
 
194
    if ( $_SESSION[$self]["filter"]["shop"] )
195
    {
196
        $GLOBALS["ui"]->assign( "shop_sel", implode( ",", $_SESSION[$self]["filter"]["shop"] ) );
197
    }
198
 
199
    $felder = array( "ID", "Language", "Lieferstatus" );
200
    if ( isset( $web_rechte["online_shop"]["artikel"]["kennung"] ) )
201
    {
202
        $felder[] = "kennung";
203
    }
204
    $felder[] = "Rang";
205
    $felder[] = "beschreibung";
206
    $felder[] = "kurzbezeichnung";
207
    $felder[] = "short_line_1";
208
    $felder[] = "short_line_2";
209
    $felder[] = "preis1";
210
    if ( isset( $web_rechte["online_shop"]["porto"]["aufschlag"] ) )
211
    {
212
        $felder[] = "preis2";
213
    }
214
    if ( isset( $web_rechte["online_shop"]["porto"]["beschreibung2"] ) )
215
    {
216
        $felder[] = "beschreibung2";
217
    }
218
    $felder[] = "preis_neu1";
219
    $felder[] = "preis_neu2";
220
    $felder[] = "preis_neu3";
221
    $felder[] = "preis_neu4";
222
    if ( isset( $user_rechte["online_shop"]["porto"]["versand_abschlag"] ) )
223
    {
224
        $felder[] = "versand_abschlag";
225
    }
226
    foreach ( $Eigenschaften as $Eigenschaft )
227
    {
228
        $felder[] = "Eigenschaft_$Eigenschaft";
229
    }
230
    $felder[] = "letzte_Aenderung_am";
231
    $felder[] = "letzte_Aenderung_von";
232
    $query = "
233
        SELECT
234
    ";
235
    $query .= implode( ", ", $felder );
236
 
237
    $query .= "
238
        FROM
239
            artikel
240
        WHERE
241
            Father = -3
242
    ";
243
    if ( $_SESSION[$self]["filter"]["shop"] )
244
    {
245
        $query .= "
246
            AND
247
                status=" . $_SESSION[$self]["filter"]["shop"][0] . "
248
            AND
249
                Language='" . $_SESSION[$self]["filter"]["shop"][1] . "'
250
        ";
251
    }
252
    else
253
    {
254
        $query .= "
255
            AND
256
                1=2
257
        ";
258
    }
259
    if ( $_SESSION[$self]["filter"]["zahlungsarten"] )
260
    {
261
        $query .= "
262
            AND
263
                short_line_1='" . $_SESSION[$self]["filter"]["zahlungsarten"] .
264
            "'
265
        ";
266
    }
267
    if ( $_SESSION[$self]["filter"]["Eigenschaften"] )
268
    {
269
        $query .= "
270
            AND
271
                Eigenschaft_" . $_SESSION[$self]["filter"]["Eigenschaften"] .
272
            "=1
273
        ";
274
    }
275
    if ( $_SESSION[$self]["filter"]["Lieferstatus"] )
276
    {
277
        $query .= "
278
            AND
279
                Lieferstatus &" . $_SESSION[$self]["filter"]["Lieferstatus"] .
280
            "
281
        ";
282
    }
283
    if ( $_GET["edit"] )
284
    {
285
        $query .= "
286
            AND
287
                ID = " . $_GET["edit"] . "
288
        ";
289
        $GLOBALS["ui"]->assign( "file", "detail.tpl" );
290
        $GLOBALS["ui"]->assign( "edit", true );
291
    }
292
    else
293
    {
294
        $GLOBALS["ui"]->assign( "file", "list.tpl" );
295
    }
296
 
297
    $query .= "
298
        ORDER BY
299
            Rang asc
300
    ";
301
    $result = mysql_query( $query ) or die( mysql_errno() . ": " .
302
        mysql_error() );
303
    $zahlungsarten_sel = $_SESSION[$self]["filter"]["zahlungsarten"];
304
    $GLOBALS["ui"]->assign( "eigenschaften_sel", $_SESSION[$self]["filter"]["Eigenschaften"] );
305
    $GLOBALS["ui"]->assign( "land_sel", $_SESSION[$self]["filter"]["Lieferstatus"] );
306
    while ( $zeile = mysql_fetch_assoc( $result ) )
307
    {
308
        $zeile["key"] = $zeile["ID"] . "," . $zeile["Language"];
309
        if ( $_GET["edit"] )
310
        {
311
            $zahlungsarten_sel_edit = $zeile["short_line_1"];
312
            $GLOBALS["ui"]->assign( "zahlungsarten_sel_edit", $zahlungsarten_sel_edit );
313
        }
314
        foreach ( $Eigenschaften as $key => $val )
315
        {
316
            $zeile["Eigenschaften"][] = ( int )$zeile["Eigenschaft_$val"];
317
            $Eigenschaften_sel[$val] = ( int )$zeile["Eigenschaft_$val"];
318
        }
319
        $artikel[] = $zeile;
320
    }
321
    $Laender = array( "Deutschland", "Niederlande", "&Ouml;sterreich",
322
        "Belgien", "Luxemburg", "D&auml;nemark", "Schweiz", "Frankreich",
323
        "Gro&szlig;britannien", "Italien", "Spanien", "Portugal", "Schweden",
324
        "Finnland", "Norwegen", "Irland", "Griechenland", "Estland",
325
        "Lettland", "Malta", "Litauen", "Polen", "Slowenien",
326
        "Tschechien/Slowakei", "Türkei", "Ungarn", "Zypern", "Kanada", "USA",
327
        "Kroatien", "Bulgarien", "Rumänien" );
328
    foreach ( $Laender as $counter => $Land )
329
    {
330
        $code = 1 << $counter;
331
        $Laender_codes[] = $code;
332
    }
333
 
334
    if ( ( $_GET["edit"] == $zeile["ID"] ) || $new == "true" )
335
    {
336
        $new = false;
337
    }
338
    if ( isset( $web_rechte["online_shop"]["porto"]["zahlungsarten"] ) )
339
    {
340
        $sql = "
341
            SELECT
342
                name,
343
                interner_name
344
            FROM
345
                zahlungsarten
346
        ";
347
        $res = mysql_query( $sql );
348
        while ( $row = mysql_fetch_assoc( $res ) )
349
        {
350
            $zahlungsarten[$row["interner_name"]] = $row["name"];
351
        }
352
    }
353
 
354
    $GLOBALS["ui"]->assign( "shops", $shops );
355
    $GLOBALS["ui"]->assign( "zahlungsarten", $zahlungsarten );
356
    $GLOBALS["ui"]->assign( "zahlungsarten_sel", $zahlungsarten_sel );
357
    $GLOBALS["ui"]->assign( "new", $new );
358
    $GLOBALS["ui"]->assign( "row_span", $row_span );
359
    $GLOBALS["ui"]->assign( "col_span", $col_span );
360
    $GLOBALS["ui"]->assign( "Eigenschaften", $Eigenschaften );
361
    $GLOBALS["ui"]->assign( "Eigenschaften_sel", $Eigenschaften_sel );
362
    $GLOBALS["ui"]->assign( "Eigenschaften_Namen", $Eigenschaften_Namen );
363
    $GLOBALS["ui"]->assign( "Laender", $Laender );
364
    $GLOBALS["ui"]->assign( "Laender_Codes", $Laender_codes );
365
    $GLOBALS["ui"]->assign( "artikel", $artikel );
366
    $GLOBALS["ui"]->assign( "kunde", $webs["kunde_bezeichnung"] );
367
    $GLOBALS["ui"]->assign( "webs", $webs );
368
    $GLOBALS["ui"]->assign( "web_rechte", $web_rechte );
369
    $GLOBALS["ui"]->assign( "user_rechte", $user_rechte );
370
    $GLOBALS["ui"]->display( "page.tpl" );
371
?>