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
<?
2 lars 2
    require_once "Weban_Smarty.class.php";
3
 
4
    $GLOBALS["ui"] = new Weban_Smarty();
5
    $GLOBALS["ui"]->compile_id = "Online_Shop_quick_edit";
6
    $GLOBALS["ui"]->compile_dir = $_SERVER["DOCUMENT_ROOT"] . "/templates_c/";
7
    $preise = explode( ";", $web_rechte["online_shop"]["artikel"]["preise"] );
8
    $preis_anz = count( $preise );
9
    $GLOBALS["ui"]->assign( "user_rechte", $user_rechte );
10
    $GLOBALS["ui"]->assign( "web_rechte", $web_rechte );
11
    $GLOBALS["ui"]->assign( "preise", $preise );
12
    $GLOBALS["ui"]->assign( "preis_anz", $preis_anz );
13
    $GLOBALS["ui"]->assign( "site", $site );
1 lars 14
    function show_dir( $root, $Father_name )
15
    {
16
        global $dirs;
17
        global $webs;
18
 
19
        if ( $dirs[$root] )
20
        {
21
            $query_artikel_count = "SELECT * FROM artikel where Father = $root and Language = '" .
22
                $_SESSION[language] . "' order by " . $_SESSION["tree.php"]["output"]["artikel_sort"];
23
            $result_artikel_count = mysql_query( $query_artikel_count ) or die( mysql_errno
24
                () . ": " . mysql_error() . "<hr>$query_artikel_count<hr>" );
25
 
26
            if ( mysql_num_rows( $result_artikel_count ) > 0 )
27
            {
28
?>
29
<tr><td bgcolor="#<? echo $webs[bgcolor_links]
30
?>" colspan="<? echo count( $_SESSION["quick_edit_config.php"][artikel_properties] ) +
31
                2
32
?>"><font color="#<? echo $webs[font_color_links]
33
?>"><b><? echo $dirs[$root]
34
?></b></font></td></tr>
35
<?
36
            }
37
            show_artikel( $root );
38
            /*if ( ( $flag == true ) or ( func_num_args() > 2 ) )
39
            {
40
            show_dir( $zeile["ID"], $title, "override" );
41
            }*/
42
            //else
43
            {
44
                // :ME fix für die Wiederholung der formulare
45
                if ( $_SESSION['quick_edit_config.php']['nav_status_overide'] !=
46
                    'off' )
47
                {
48
                    //show_dir( $zeile["ID"], $title );
49
                }
50
            }
51
        }
52
        $query = "SELECT * FROM directory where Father = $root and Language='" .
53
            $_SESSION[language] . "' order by " . $_SESSION["tree.php"]["output"]["directory_sort"];
54
        $result = mysql_query( $query ) or die( mysql_errno() . ": " .
55
            mysql_error() );
56
        $i = 0;
57
        //print_r($_SESSION['quick_edit_config.php']);
58
        while ( $zeile = mysql_fetch_array( $result ) )
59
        {
60
            if ( ( $_SESSION["quick_edit_config.php"]["nav_status_overide"] ==
61
                "select" ) and ( $root = -1 ) and ( $_SESSION["quick_edit_config.php"]["nav_status_overide_selected"][$zeile["ID"]] ) )
62
            {
63
                $flag = true;
64
 
65
            }
66
            else
67
            {
68
                $flag = false;
69
 
70
            }
71
            $flag = true;
72
            if ( $zeile[$_SESSION["tree.php"]["output"]["directory_show_primary"]] )
73
            {
74
                $title = $Father_name . "/" . $zeile[$_SESSION["tree.php"]["output"]["directory_show_primary"]];
75
            }
76
            else
77
            {
78
                $title = $Father_name . "/" . $zeile[$_SESSION["tree.php"]["output"]["directory_show_fallback"]];
79
            }
80
            if ( ( $dirs[$zeile["ID"]] ) or ( $_SESSION["quick_edit_config.php"]["nav_status_overide"] ==
81
                -1 ) or ( func_num_args() > 2 ) or ( $flag == true ) )
82
            {
83
                $query_artikel_count = "SELECT * FROM artikel where Father = $zeile[ID] and Language = '" .
84
                    $_SESSION[language] . "' order by " . $_SESSION["tree.php"]["output"]["artikel_sort"];
85
                $result_artikel_count = mysql_query( $query_artikel_count ) or
86
                    die( mysql_errno() . ": " . mysql_error() . "<hr>$query_artikel_count<hr>" );
87
 
88
                if ( mysql_num_rows( $result_artikel_count ) > 0 )
89
                {
90
?>
91
<tr><td bgcolor="#<? echo $webs[bgcolor_links]
92
?>" colspan="<? echo count( $_SESSION["quick_edit_config.php"][artikel_properties] ) +
93
                    2
94
?>"><font color="#<? echo $webs[font_color_links]
95
?>"><b><? echo $title
96
?></b></font></td></tr>
97
<?
98
                }
99
                show_artikel( $zeile["ID"] );
100
                /*if ( ( $flag == true ) or ( func_num_args() > 2 ) )
101
                {
102
                show_dir( $zeile["ID"], $title, "override" );
103
                }*/
104
                //else
105
                {
106
                    // :ME fix für die Wiederholung der formulare
107
                    if ( $_SESSION['quick_edit_config.php']['nav_status_overide'] !=
108
                        'off' )
109
                    {
110
                        show_dir( $zeile["ID"], $title );
111
                    }
112
                }
113
            }
114
        }
115
    }
116
    /* ende von show_dir(); */
117
 
118
    function table_show_colums( $table )
119
    {
120
        static $buffer = array();
121
 
122
        if ( !$buffer[$table] )
123
        {
124
            $query = "SHOW COLUMNS FROM $table";
125
            $result = mysql_query( $query ) or die( mysql_errno() . ": " .
126
                mysql_error() . "<hr>$query<hr>" );
127
            while ( $zeile = mysql_fetch_assoc( $result ) )
128
            {
129
                $x = preg_split( "/[\(\)]/", $zeile["Type"] );
130
                $x[1] = explode( "','", trim( $x[1], "'" ) );
131
                if ( count( $x[1] ) == 1 )
132
                {
133
                    $x[1] = $x[1][0];
134
                }
135
 
136
 
137
                $buffer[$table][$zeile["Field"]] = array( "Type" => $x[0],
2 lars 138
                        "values" => $x[1] );
1 lars 139
            }
140
        }
141
        return $buffer[$table];
142
    }
143
 
144
    function artikelFilter()
145
    {
146
        $cond = array( '' );
147
        foreach ( $_SESSION["quick_edit_config.php"]["artikelFilter"] as $key =>
148
            $value )
149
        {
150
            if ( $value != "" )
151
            {
152
                $cond[] = "$key = '" . $value . "'";
153
            }
154
        }
155
        return implode( " AND ", $cond );
156
    }
157
 
158
    function show_artikel( $Father )
159
    {
160
        global $user_rechte;
161
        global $web_rechte;
162
        global $webs;
163
        $zubehoer = array();
2 lars 164
        $felder = array( "ID" );
1 lars 165
        $properties = $_SESSION["quick_edit_config.php"][artikel_properties];
166
        if ( $ret = isset( $_SESSION["quick_edit_config.php"][artikel_properties]["zubehoer_anzeigen_artikel"] ) )
167
        {
168
            unset( $properties["zubehoer_anzeigen_artikel"] );
169
        }
170
        foreach ( $properties as $f_id => $feld )
171
        {
172
            if ( $f_id == "beschreibung_simpel" )
173
            {
174
                $felder[] = "beschreibung";
175
            }
2 lars 176
            elseif ( $f_id != "preise" )
1 lars 177
            {
178
                $felder[] = $f_id;
179
            }
2 lars 180
            elseif ( $f_id == "preise" )
181
            {
182
                $preise_tab = true;
183
            }
1 lars 184
        }
185
        $query = "SELECT
186
                " . implode( ", ", $felder ) . "
187
            FROM
188
                artikel
189
            WHERE
190
                Father = $Father
191
            AND
192
                Language='" . $_SESSION[language] . "'
193
                " . artikelFilter() . "
194
            ORDER BY
195
                " . $_SESSION["tree.php"]["output"]["artikel_sort"];
196
 
197
        $result = mysql_query( $query ) or die( mysql_errno() . ": " .
198
            mysql_error() . "<hr>$query<hr>" );
199
        $meta = mysql_fetch_field( $result );
200
 
201
        $typen = table_show_colums( "artikel" );
202
 
203
        $j = 0;
204
        while ( $zeile = mysql_fetch_assoc( $result ) )
205
        {
2 lars 206
            if ( $preise_tab === true )
207
            {
208
                $sql_p = "SELECT
209
                        staffel,
210
                        preis_index
211
                    FROM
212
                        preise p
213
                    JOIN
214
                        artikel a
215
                    ON
216
                        artikel_id=a.ID
217
                    WHERE
218
                        artikel_id = " . $zeile["ID"] . "
219
                    ORDER BY
220
                        preis_index
221
                ";
222
                $res_p = mysql_query( $sql_p );
223
                while ( $row_p = mysql_fetch_assoc( $res_p ) )
224
                {
225
                    $p = unserialize( $row_p["staffel"] );
226
                    $zeile["preise_tab"][$zeile["ID"]][$row_p["preis_index"]] =
227
                        $p;
228
                }
229
            }
1 lars 230
            $id = $zeile["ID"];
231
            $query2 = "SELECT * FROM shop_link_table WHERE Father=$id AND Verwendung='a2a'";
232
            $res2 = mysql_query( $query2 );
233
            $zubehoer = "";
234
            while ( $row2 = mysql_fetch_assoc( $res2 ) )
235
            {
236
                $zubehoer .= $row2["ID"] . ", ";
237
            }
238
            $zubehoer = rtrim( $zubehoer, ", " );
239
            $zeile["zubehoer_anzeigen_artikel"] = $zubehoer;
240
?><tr bgcolor="#<? echo ( $j % 2 ) ? $webs[bgcolor_links] : $webs[bgcolor_rechts]
241
?>" id="artikel_<?= $zeile["ID"];
242
?>">
243
        <td>
244
            <input type="image" src="../images/navigation/trashcan.gif" onclick="del_item(<?= $zeile["ID"];
245
?>);return false;" title="Artikel <?= $zeile["ID"];
246
?> löschen" alt="Artikel <?= $zeile["ID"];
247
?> löschen">
248
        </td>
249
        <td>
250
            <?= $zeile["ID"];
251
?>
252
        </td>
253
        <?
254
 
255
            $i = 0;
256
            foreach ( array_keys( $_SESSION["quick_edit_config.php"][artikel_properties] ) as
257
                $Feld )
258
            {
259
                $i++;
260
?><td align="left"><?
261
                $fname = $web_rechte[modul_name][tool_name][$Feld];
262
                if ( $fname[0] != "!" )
263
                {
264
                    switch ( $typen[$Feld]["Type"] )
265
                    {
266
                        case "decimal":
267
                            if ( $zeile[$Feld] < 0 )
268
                            {
269
                                $zeile[$Feld] = abs( $zeile[$Feld] ) . "%";
270
                            }
271
?><input type="text" name="<?= $Feld;
272
?>[<? echo $zeile[ID]
273
?>]" value="<? echo $zeile[$Feld];
274
?>" size="5" onChange="this.value=killkomma(this.value)" class="button"><?
275
                            break;
276
                        case "enum":
277
?><select name="<? echo $Feld
278
?>[<? echo $zeile[ID]
279
?>]"><?
280
                            foreach ( $typen[$Feld]["values"] as $option )
281
                            {
282
?><option value="<?= $option;
283
?>" <? if ( $zeile[$Feld] == $option )
284
                                {
285
                                    echo "selected";
286
                                }
287
?>><?= $option;
288
?></option><?
289
                            }
290
?></select><?
291
 
292
                            break;
293
                        case "int":
294
                            if ( strrpos( $web_rechte[modul_name][tool_name][$Feld],
295
                                ";" ) )
296
                            {
297
                                if ( stristr( $Feld, "eigenschaft" ) )
298
                                {
299
?>
300
                                        <input type="hidden"   name="<?= $Feld;
301
?>[<? echo $zeile[ID]
302
?>]" value="0" />
303
                                        <input type="checkbox" name="<?= $Feld;
304
?>[<? echo $zeile[ID]
305
?>]" value="1"<? if ( $zeile[$Feld] == 1 )
306
                                    {
307
                                        echo " checked";
308
                                    }
309
?> />
310
                                        <?
311
                                }
312
                                else
313
                                {
314
?><select name="<? echo $Feld
315
?>[<? echo $zeile[ID]
316
?>]"><?
317
 
318
                                    $option_counter = 0;
319
                                    $x = explode( "~", $web_rechte[modul_name][tool_name][$Feld] );
320
                                    foreach ( explode( ";", $x[0] ) as $option )
321
                                    {
322
?><option value="<?= $option_counter;
323
?>" <? if ( $zeile[$Feld] == $option_counter )
324
                                        {
325
                                            echo "selected";
326
                                        }
327
?>><?= $option;
328
?></option><?
329
                                        $option_counter++;
330
                                    }
331
?></select><?
332
                                }
333
                            }
334
                            else
335
                            {
336
                                switch ( $Feld )
337
                                {
338
                                    case ( preg_match( "/Eigenschaft_(\d+)/i", $Feld,
339
                                            $matches ) ? $Feld : !$Feld ):
340
?>
341
                                        <input type="hidden"   name="<?= $Feld;
342
?>[<? echo $zeile[ID]
343
?>]" value="0" />
344
                                        <input type="checkbox" name="<?= $Feld;
345
?>[<? echo $zeile[ID]
346
?>]" value="1"<? if ( $zeile[$Feld] == 1 )
347
                                        {
348
                                            echo " checked";
349
                                        }
350
?> />
351
                                        <?
352
                                        break;
353
 
354
                                    default:
355
?><input type="text" name="<? echo $Feld
356
?>[<? echo $zeile[ID]
357
?>]" value="<? echo $zeile[$Feld];
358
?>" size="5" class="button"><?
359
                                        break;
360
                                }
361
                            }
362
                            break;
363
                        default:
2 lars 364
                            if($Feld=="preise")
1 lars 365
                            {
2 lars 366
                                if(is_array($zeile["preise_tab"][$zeile["ID"]]))
367
                                {
368
                                    $p = $zeile["preise_tab"][$zeile["ID"]];
369
                                    $GLOBALS["ui"]->assign("item",$zeile);
370
                                    $GLOBALS["ui"]->assign("preis",$p);
371
                                    $GLOBALS["ui"]->display("quick_edit/preisstaffel.tpl");
372
                                }
373
                                break;
374
                            }
375
                            elseif ( !stristr( $Feld, "beschreibung" ) )
376
                            {
1 lars 377
?><input type="text" name="<? echo $Feld
378
?>[<? echo $zeile[ID]
379
?>]" value="<? echo $zeile[$Feld];
380
?>" size="5" class="button"><?
381
                            }
382
                            else
383
                            {
384
                                $f_name = explode( "_", $Feld );
385
                                $f_name = $f_name[0];
386
                                $wert = strip_tags( $zeile[$f_name] );
387
                                $wert = substr( $wert, 0, 20 ) . " ...";
388
                                $wert .=
389
                                    '<button class="edit_desc" id="edit_desc_' .
390
                                    $zeile["ID"] . '"></button>';
391
                                echo $wert;
392
                            }
393
                            break;
394
                    }
395
                }
396
                else
397
                {
398
                    echo $zeile[$Feld];
399
                }
400
?>
401
</td>
402
<?
403
            }
404
?>
405
  </tr>
406
<?
407
            $j++;
408
        }
409
    }
410
?>