Subversion-Projekte lars-tiefland.content-management

Revision

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

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