Subversion-Projekte lars-tiefland.content-management

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
 
3
    /**
4
     * @package   Content-management
5
     * @author    Webagentur Niewerth <tiefland@weban.de>
6
     * @copyright 2011 Webagentur Niewerth
7
     * @license   propietary http://www.weban.de
8
     * @version   $Rev: 3617 $
9
     * @filesource
10
     *
11
     */
12
 
13
    /**
14
     *
15
     * @package   Content-management
16
     * @author    Webagentur Niewerth <tiefland@weban.de>
17
     * @copyright 2011 Webagentur Niewerth
18
     */
19
 
20
    // SVN: $Id: artikel_export.php 3617 2011-06-29 10:47:00Z tiefland $
21
 
22
    require_once 'Spreadsheet/Excel/Writer.php';
23
    $date = date( "Y-m-d" );
24
    $time = date( "H-i" );
25
    $f_name = "artikel-export_" . $site . "_" . $date . "_" . $time . ".xls";
26
    exportItems( $f_name );
27
 
28
    function exportItems( $f_name = 'artikel-export.xls' )
29
    {
30
 
31
        $items = getItems();
32
        // Creating a workbook
33
        $workbook = new Spreadsheet_Excel_Writer();
34
        // change dir for temporary files
35
        $workbook->setTempDir( $_SERVER["DOCUMENT_ROOT"] );
36
        // set version to Excel 97/2000
37
        $workbook->setVersion( 8 );
38
 
39
        // sending HTTP headers
40
        $workbook->send( $f_name );
41
 
42
        // Creating a worksheet
43
        $worksheet = &$workbook->addWorksheet( 'Artikel' );
44
 
45
        // The actual data
46
        $worksheet->write( 0, 0, 'ID' );
47
        $worksheet->write( 0, 1, 'Produktkategorie' );
48
        $worksheet->write( 0, 2, 'Produktunterkategorie' );
49
        $worksheet->write( 0, 3, 'Product Code' );
50
        $worksheet->write( 0, 4, 'Artikelbezeichnung' );
51
        $worksheet->write( 0, 5, 'Langbezeichnung' );
52
        $worksheet->write( 0, 6, 'Beschreibung' );
53
        $worksheet->write( 0, 7, 'Application' );
54
        $worksheet->write( 0, 8, 'Protein Name' );
55
        $worksheet->write( 0, 9, 'Organism' );
56
        $worksheet->write( 0, 10, 'Indication' );
57
        $worksheet->write( 0, 11, 'Number of Peptides' );
58
        $worksheet->write( 0, 12, 'Amount' );
59
        $worksheet->write( 0, 13, 'Specification' );
60
        $worksheet->write( 0, 14, 'Current Batch' );
61
        $worksheet->write( 0, 15, 'Documentation' );
62
        $worksheet->write( 0, 16, 'Swiss-Prod ID' );
63
        $worksheet->write( 0, 17, 'NCBI' );
64
        $worksheet->write( 0, 18, 'Sequence' );
65
        $worksheet->write( 0, 19, 'Protein Lenghth' );
66
        $worksheet->write( 0, 20, 'Bild 1' );
67
        $worksheet->write( 0, 21, 'Icon' );
68
        $worksheet->write( 0, 22, 'Bild 2' );
69
        $worksheet->write( 0, 23, 'Bild 3' );
70
        $worksheet->write( 0, 24, 'Dokument 1' );
71
        $worksheet->write( 0, 25, 'Dokument 2' );
72
        $worksheet->write( 0, 26, 'Dokument 3' );
73
        $worksheet->write( 0, 27, 'Video' );
74
        $worksheet->write( 0, 28, 'Preis(EUR)' );
75
        $worksheet->write( 0, 29, 'Staffelung (wenn möglich)' );
76
        $worksheet->write( 0, 30, 'Preis(USD)' );
77
        $worksheet->write( 0, 31, 'Staffelung (wenn möglich)' );
78
        $worksheet->write( 0, 32, 'Status' );
79
        $worksheet->write( 0, 33, 'Lieferstatus' );
80
        $worksheet->write( 0, 34, 'LieferstatusText' );
81
        $worksheet->write( 0, 35, 'Chilled' );
82
        $worksheet->write( 0, 36, 'Gewicht' );
83
        $worksheet->write( 0, 37, 'Erstellungsdatum' );
84
        $worksheet->write( 0, 38, 'Ersteller' );
85
        $worksheet->write( 0, 39, 'zuletzt geändert am' );
86
        $worksheet->write( 0, 40, 'letzter Bearbeiter' );
87
        if ( count( $items ) )
88
        {
89
            foreach ( $items as $i => $item )
90
            {
91
                $i++;
92
                $worksheet->write( $i, 0, $item["id"] );
93
                $worksheet->write( $i, 1, html_entity_decode( $item["Kategorie"] ) );
94
                $worksheet->write( $i, 2, html_entity_decode( $item["Unterkategorie"] ) );
95
                $worksheet->write( $i, 3, html_entity_decode( $item["kennung"] ) );
96
                $worksheet->write( $i, 4, html_entity_decode( $item["kurzbezeichnung"] ) );
97
                $worksheet->write( $i, 5, html_entity_decode( $item["langbezeichnung"] ) );
98
                $worksheet->write( $i, 6, html_entity_decode( $item["beschreibung"] ) );
99
                $worksheet->write( $i, 7, $item['auspraegung_1'] );
100
                $worksheet->write( $i, 8, $item['auspraegung_2'] );
101
                $worksheet->write( $i, 9, $item['auspraegung_3'] );
102
                $worksheet->write( $i, 10, $item['auspraegung_4'] );
103
                $worksheet->write( $i, 11, $item['auspraegung_5'] );
104
                $worksheet->write( $i, 12, $item['short_line_1'] );
105
                $worksheet->write( $i, 13, $item['short_line_2'] );
106
                $worksheet->write( $i, 14, $item['short_line_3'] );
107
                $worksheet->write( $i, 15, $item['short_line_4'] );
108
                $worksheet->write( $i, 16, $item['short_line_5'] );
109
                $worksheet->write( $i, 17, $item['short_line_6'] );
110
                $worksheet->write( $i, 18, $item['short_line_7'] );
111
                $worksheet->write( $i, 19, $item['short_line_8'] );
112
                $worksheet->write( $i, 20, $item["bild_1_url"] );
113
                $worksheet->write( $i, 21, $item["bild_2_url"] );
114
                $worksheet->write( $i, 22, $item["bild_3_url"] );
115
                $worksheet->write( $i, 23, $item["bild_4_url"] );
116
                $worksheet->write( $i, 24, $item["bild_5_url"] );
117
                $worksheet->write( $i, 25, $item["bild_6_url"] );
118
                $worksheet->write( $i, 26, $item["bild_7_url"] );
119
                $worksheet->write( $i, 27, $item["bild_8_url"] );
120
                $worksheet->write( $i, 28, $item["preis1"] );
121
                $worksheet->write( $i, 29, $item["staffel_1"] );
122
                $worksheet->write( $i, 30, $item["preis2"] );
123
                $worksheet->write( $i, 31, $item["staffel_2"] );
124
                $worksheet->write( $i, 32, $item["status"] );
125
                $worksheet->write( $i, 33, $item["lieferstatus"] );
126
                $worksheet->write( $i, 34, $item["lieferstatus_text"] );
127
                $worksheet->write( $i, 35, $item["chilled"] );
128
                $worksheet->write( $i, 36, $item["gewicht"] );
129
                $worksheet->write( $i, 37, $item["erstellt_am"] );
130
                $worksheet->write( $i, 38, $item["erstellt_von"] );
131
                $worksheet->write( $i, 39, $item["letzte_aenderung_am"] );
132
                $worksheet->write( $i, 40, $item["letzte_aenderung_von"] );
133
                //break;
134
            }
135
        } // Let's send the file
136
        $workbook->close();
137
    }
138
 
139
    function getItems()
140
    {
141
        $items = array();
142
        if ( is_array( $_POST["kategorien"] ) )
143
        {
144
            foreach ( $_POST["kategorien"] as $c_id )
145
            {
146
                $sql = "SELECT
147
                        id
148
                    FROM
149
                        artikel
150
                    WHERE
151
                        Father=$c_id
152
                    AND
153
                        language='" . DEFAULT_LANG . "'
154
                ";
155
                $res = mysql_query( $sql );
156
                while ( $row = mysql_fetch_assoc( $res ) )
157
                {
158
                    $items[] = getItem( $row["id"] );
159
                }
160
            }
161
        }
162
        return $items;
163
    }
164
    function getItem( $id )
165
    {
166
        global $web_rechte;
167
        $sql = "SELECT
168
                id,
169
                father,
170
                kurzbezeichnung,
171
                langbezeichnung,
172
                beschreibung,
173
                kennung,
174
                gewicht,
175
                erstellt_von,
176
                erstellt_am,
177
                letzte_aenderung_am,
178
                letzte_aenderung_von,
179
                bild_1_url,
180
                bild_2_url,
181
                bild_3_url,
182
                bild_4_url,
183
                bild_5_url,
184
                bild_6_url,
185
                bild_7_url,
186
                bild_8_url,
187
                short_line_1,
188
                short_line_2,
189
                short_line_3,
190
                short_line_4,
191
                short_line_5,
192
                short_line_6,
193
                short_line_7,
194
                short_line_8,
195
                IF(status=1,'gesperrt','anzeigen') AS status,
196
                IF(Eigenschaft_1=1,'ja','nein') AS chilled,
197
                lieferstatus
198
            FROM
199
                artikel
200
            WHERE
201
                id=$id
202
            AND
203
                language='" . DEFAULT_LANG . "'
204
        ";
205
        $res = mysql_query( $sql );
206
        $row = mysql_fetch_assoc( $res );
207
        $sql_d = "SELECT
208
                name,
209
                father
210
            FROM
211
                directory
212
            WHERE
213
                id=" . $row["father"] . "
214
            AND
215
                language='" . DEFAULT_LANG . "'
216
        ";
217
        $res_d = mysql_query( $sql_d );
218
        $row_d = mysql_fetch_assoc( $res_d );
219
        $row["Unterkategorie"] = $row_d["name"];
220
        $sql_d = "SELECT
221
                name,
222
                father
223
            FROM
224
                directory
225
            WHERE
226
                id=" . $row_d["father"] . "
227
            AND
228
                language='" . DEFAULT_LANG . "'
229
        ";
230
        $res_d = mysql_query( $sql_d );
231
        $row_d = mysql_fetch_assoc( $res_d );
232
        $row["Kategorie"] = $row_d["name"];
233
        $staffeln = getStaffeln( $id );
234
        foreach ( $staffeln as $s_nr => $staffel )
235
        {
236
            foreach ( $staffel["preis"] as $p_ind => $preis )
237
            {
238
                if ( $p_ind != 0 )
239
                {
240
                    if ( $preis < 0 )
241
                    {
242
                        $staffeln_erg[$s_nr][$p_ind] = "Menge: " . $staffel["menge"][$p_ind] .
243
                            "; Preis: " . $preis * -1 . "%";
244
                    }
245
                    else
246
                    {
247
                        $staffeln_erg[$s_nr][$p_ind] = "Menge: " . $staffel["menge"][$p_ind] .
248
                            "; Preis: " . $preis;
249
                    }
250
                }
251
                else
252
                {
253
                    $row["preis" . $s_nr] = $preis;
254
                }
255
            }
256
            if ( is_array( $staffeln_erg[$s_nr] ) )
257
            {
258
                $row["staffel_" . $s_nr] = implode( ",", $staffeln_erg[$s_nr] );
259
            }
260
        }
261
        $sql_a = "SELECT
262
                auspraegung,
263
                wert
264
            FROM
265
                artikel_to_auspraegung
266
            WHERE
267
                artikel=$id
268
        ";
269
        $res_a = mysql_query( $sql_a );
270
        while ( $row_a = mysql_fetch_assoc( $res_a ) )
271
        {
272
            if ( $row_a["auspraegung"] != 5 )
273
            {
274
                $wert = unserialize( $row_a["wert"] );
275
                $row["auspraegung_" . $row_a["auspraegung"]] = implode( ";",
276
                    $wert );
277
            }
278
            else
279
            {
280
                $row["auspraegung_" . $row_a["auspraegung"]] = $row_a["wert"];
281
            }
282
        }
283
        $liefer_stati = explode( ";", $web_rechte["online_shop"]["artikel"]["Lieferstatus"] );
284
        $row["lieferstatus_text"] = $liefer_stati[$row["lieferstatus"]];
285
        return $row;
286
    }
287
 
288
    function getStaffeln( $artikel_id )
289
    {
290
        $staffeln = array();
291
        $sql = "SELECT
292
                preis_index,
293
                staffel
294
            FROM
295
                preise
296
            WHERE
297
                artikel_id=" . $artikel_id . "
298
            AND
299
                language='" . DEFAULT_LANG . "'
300
        ";
301
        $res = mysql_query( $sql );
302
        while ( $row = mysql_fetcH_assoc( $res ) )
303
        {
304
            $staffeln[$row["preis_index"]] = unserialize( $row["staffel"] );
305
        }
306
        return $staffeln;
307
    }
308
?>