Subversion-Projekte lars-tiefland.content-management

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
 
3
    //$Id: artikelstamm.php 3931 2011-09-16 08:17:57Z tiefland $
4
    /**
5
     * @author Patirck Lautsch <lautsch@weban.de>
6
     * @copyright 2008 Webagentur Niewerth
7
     * @package Content-management
8
     * @version $Rev: 3931 $
9
     * @license propietary
10
     * @filesource
11
     *
12
     */
13
 
14
    /**
15
     *
16
     * @author Patirck Lautsch <lautsch@weban.de>
17
     * @copyright 2008 Webagentur Niewerth
18
     * @package Content-management
19
     */
20
 
21
    require_once  "../Online-Shop/connect2.php";
22
    require_once 'HTML_TreeMenu/TreeMenu.php';
23
 
24
    // Smarty Initalisierung
25
    define( "SMARTY_DIR", "/usr/share/php/smarty/libs/" );
26
    require_once  "Weban_Smarty.class.php";
27
 
28
    $GLOBALS["ui"] = new Weban_Smarty();
29
    $GLOBALS["ui"]->conifg_dir = SMARTY_DIR;
30
    $GLOBALS["ui"]->template_dir = "templates/";
31
    $GLOBALS["ui"]->compile_dir = "templates_c";
32
    $GLOBALS["ui"]->compile_check = true;
33
    // erlaubten Speicher hochsetzen, da sonst das TreeMenu nicht angezeigt wird
34
    ini_set("memory_limit","32M");
35
 
36
    //// ARTIKELSTAMM
37
    // Der Artikelstamm soll es den Benutzer ermöglichen,
38
    // durch einen Klick auf einen Artikel, diesen in den Warenkorb
39
    // der manuellen Bestellerfassung aufzunehmen.
40
    //
41
    // AUFBAU UND SCHNITTSTELLEN
42
    // - Mit jedem Link muss $_GET[action] auf „step3“ gesetzt sein
43
    // - Eingefügt wird ein Artikel in dem $artikel_loop
44
    //      für die spätere Ausgabe im Warenkorb.
45
    //      ACHTUNG! Anzahl der Elemente von $artikel_loop vorher auslesen,
46
    //      da vier Elemente mit der selben Loop ID angelegt werden müssen.
47
    //- Die ID des jeweiligen Shops ist unter $_SESSION['shop'] gespeichert
48
 
49
    // Hole Daten aus der Datenbank
50
    // Überrpüfe ob der 'database' Eintrag des Shops
51
    $sql = "SELECT * FROM pieper_freizeit_de.shops WHERE ID = '" . $_GET['shop'] .
52
        "'";
53
    $result = mysql_query( $sql ) or die( mysql_errno() . ': ' . mysql_error() .
54
        '<hr />' . $sql );
55
    $row = mysql_fetch_assoc( $result );
56
    $database = $row['database'];
57
    // Wenn $database nicht gesetzt ist, übernehme als Wert 'pieper_freizeit_de'
58
    if ( empty($database) )
59
    {
60
        $database = $webs["database"];
61
    }
62
    //// Hole alle Einträge aus der ausgewählten Shop-DB Tabelle 'directory' und
63
    // lege sie nach folgendem Muster ab: $artikelstamm['directory'][loop_zähler]
64
    //      $artikelstamm['directory'][loop_zähler][id],
65
    //      $artikelstamm['directory'][loop_zähler][father],
66
    //      $artikelstamm['directory'][loop_zähler][name]
67
    //
68
 
69
    $sql = "SELECT ID, Father, Name, Artikelstamm
70
                    FROM $database.directory
71
                WHERE sichtbar = 1
72
                ORDER BY Father ASC";
73
    $result = mysql_query( $sql ) or die( mysql_errno() . ': ' . mysql_error() .
74
        '<hr />' . $sql );
75
 
76
    for ( $i = 0; $row = mysql_fetch_assoc($result); $i++ )
77
    {
78
        $artikelstamm['directory'][$i]['id'] = $row['ID'];
79
        $artikelstamm['directory'][$i]['father'] = $row['Father'];
80
        $artikelstamm['directory'][$i]['name'] = $row['Name'];
81
        $artikelstamm['directory'][$i]['stamm'] = $row['Artikelstamm'];
82
    }
83
 
84
    //// Hole alle Einträge aus der ausgewählten Shop-DB Tabelle 'artikel' und
85
    // lege sie nach folgendem Muster ab: $artikelstamm['artikel'][loop_zähler]
86
    //      $artikelstamm['artikel'][loop_zähler][id],
87
    //      $artikelstamm['artikel'][loop_zähler][father],
88
    //      $artikelstamm['artikel'][loop_zähler][kurzbezeichnung]
89
    //
90
 
91
    $sql = "SELECT ID, Father, kurzbezeichnung, preis1
92
                    FROM $database.artikel
93
                WHERE Father != -3
94
                ORDER BY Father ASC";
95
 
96
    $result = mysql_query( $sql ) or die( mysql_errno() . ': ' . mysql_error() .
97
        '<hr />' . $sql );
98
    for ( $i = 0; $row = mysql_fetch_assoc($result); $i++ )
99
    {
100
        $artikelstamm['artikel'][$i]['id'] = $row['ID'];
101
        $artikelstamm['artikel'][$i]['father'] = $row['Father'];
102
        $artikelstamm['artikel'][$i]['kurzbezeichnung'] = $row['kurzbezeichnung'];
103
        $artikelstamm['artikel'][$i]['preis'] = $row['preis1'];
104
    }
105
 
106
    /** Erstelle Ordnerstruktur für die spätere Ausgabe im PEAR-Modul 'HTML_TreeMenu'
107
     * Gehe alle Einträge von $artikelstamm['directory'] durch.
108
     * Wenn Father gleich -1 ist,
109
     * dann erstelle $ordner[id_aus_directory] = new HTML_TreeNode;
110
     * Wenn Father ungleich -1 ist,
111
     * dann erstelle $ordner[id_aus_directory] = $ordner[father_aus_directory]->addItem;
112
     *
113
     * Erstelle das Objekt '$menu' aus der Klasse 'HTML_TreeMenu'
114
     **/
115
    $menu = new HTML_TreeMenu();
116
    // Icons definieren
117
    $art_icon = 'file_000.gif';
118
 
119
    for ( $i = 0; $i < count($artikelstamm['directory']); $i++ )
120
    {
121
        $ordner_id = $artikelstamm['directory'][$i]['id'];
122
        $ordner_father = $artikelstamm['directory'][$i]['father'];
123
        $text = $artikelstamm['directory'][$i]['name'];
124
 
125
        /** Sollte $artikelstamm['directory'][$i]['stamm'] auf '1' gesetzt sein,
126
         so zeige als Bild einen Artikelstamm an
127
        **/
128
        if ( $artikelstamm['directory'][$i]['stamm'] == 1 )
129
        {
130
            $icon = 'artikelstamm.png';
131
            $expandedIcon = $icon;
132
        }
133
        else
134
        {
135
            $icon = 'ordner_000.gif';
136
            $expandedIcon = 'folder-expanded.gif';
137
        }
138
 
139
        if ( $artikelstamm['directory'][$i]['father'] == -1 )
140
        {
141
            $ordner[$ordner_id] = new HTML_TreeNode( array('text' => $text, 'link' => '',
142
                'icon' => $icon, 'expandedIcon' => $expandedIcon) );
143
        }
144
        else
145
        {
146
            if ( isset($ordner) )
147
            {
148
                if ( array_key_exists($ordner_father, $ordner) )
149
                {
150
                    $ordner[$ordner_id] = $ordner[$ordner_father]->addItem( new HTML_TreeNode(array
151
                        ('text' => $text, 'link' => '', 'icon' => $icon, 'expandedIcon' => $expandedIcon)) );
152
                }
153
            }
154
        }
155
 
156
    }
157
 
158
    for ( $i = 0; $i < count($artikelstamm['artikel']); $i++ )
159
    {
160
        $artikel_id         = $artikelstamm['artikel'][$i]['id'];
161
        $artikel_preis      = $artikelstamm['artikel'][$i]['preis'];
162
        $artikel_father     = $artikelstamm['artikel'][$i]['father'];
163
        $text               = $artikelstamm['artikel'][$i]['kurzbezeichnung'];
164
        $text = str_replace( '®', '&reg;', $text );
165
        $text = str_replace( '\'', '&prime;', $text );
166
        $text = str_replace( '\"', '', $text );
167
 
168
        if ( array_key_exists($artikel_father, $ordner) )
169
        {
170
 
171
            $artikel[$artikel_id] = $ordner[$artikel_father]->addItem( new HTML_TreeNode
172
                (array('text' => "<span class=\"artikel\" onclick=\"addInput('" . $text . "', '" . $artikel_preis .
173
                "', '" . $artikel_id . "')\">" . $text . "</span>", 'link' => '', 'icon' =>
174
                $art_icon, 'expandedIcon' => $expandedIcon)) );
175
        }
176
 
177
    }
178
 
179
    foreach ( array_keys($ordner) as $key )
180
    {
181
        $sql = "SELECT ID FROM $database.directory WHERE Father = -1 AND ID = $key";
182
        $result = mysql_query( $sql ) or die( mysql_errno() . ': ' . mysql_error() .
183
            '<hr />' . $sql );
184
        $row = mysql_fetch_assoc( $result );
185
        if ( isset($row['ID']) )
186
            $menu->addItem( $ordner[$key] );
187
    }
188
    $tree = new HTML_TreeMenu_DHTML( $menu, array('images' =>
189
        '../images/Online-Shop/directory', 'defaultClass' => 'menuDefault') );
190
 
191
    $GLOBALS["ui"]->register_object("tree", $tree);
192
 
193
    $GLOBALS["ui"]->display('artikelstamm.tpl');
194
 
195
?>
196
 
197