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: common.php 3931 2011-09-16 08:17:57Z tiefland $
4
 
5
    /**
6
     * @author Lars Tiefland <tiefland@weban.de>
7
     * @copyright 2008 Webagentur Niewerth
8
     * @package Content-management
9
     * @subpackage Projekttool
10
     * @version $Rev: 3931 $
11
     * @license propietary
12
     * @filesource
13
     *
14
     */
15
 
16
    /**
17
     *
18
     * @author Lars Tiefland <tiefland@weban.de>
19
     * @copyright 2008 Webagentur Niewerth
20
     */
21
 
22
    setlocale( LC_ALL, "de_DE" );
23
    //Datenbankverbindung
24
    require_once  "../Online-Shop/connect2.php";
25
 
26
    //Klassen
27
    require_once  "classes/projekt.class.php";
28
    require_once  "classes/login.class.php";
29
    require_once  "classes/projekt_benutzer.class.php";
30
    require_once  "classes/projekt_ort.class.php";
31
 
32
    //Smarty
33
    require_once  "Weban_Smarty.class.php";
34
 
35
    //Funktionen
36
    require_once  "functions.php";
37
 
38
    define( "Range", 100 );
39
    define( "modul_name", "projektverwaltung" );
40
    define( "tool_name", "projekte" );
41
    define( "propertie", "dokument" );
42
    $GLOBALS["ui"] = new Weban_Smarty();
43
 
44
    $projekt_recht = check_tables();
45
 
46
    function check_tables()
47
    {
48
        global $web_rechte;
49
        if ( isset($web_rechte["projektverwaltung"]["projekte"]["projekt"]) )
50
        {
51
            $sql = "DESCRIBE projekte";
52
            $res = mysql_query( $sql );
53
            if ( mysql_errno() == 1146 )
54
            {
55
                //Tabelle existiert nicht!
56
                $t_sql[] = "
57
                    CREATE TABLE `projekte`
58
                    (
59
                        `p_id` mediumint(8) unsigned NOT NULL auto_increment,
60
                        `p_von` date NOT NULL,
61
                        `p_bis` date NOT NULL,
62
                        `p_name` varchar(255) NOT NULL,
63
                        `p_ort` mediumint(8) unsigned NOT NULL,
64
                        `p_leiter` mediumint(8) unsigned NOT NULL,
65
                        `p_beschreibung` mediumtext NOT NULL,
66
                        `erstellt_am` datetime NOT NULL,
67
                        `erstellt_von` varchar(255) NOT NULL,
68
                        `letzte_Aenderung_am` timestamp NOT NULL,
69
                        `letzte_Aenderung_von` varchar(255) NOT NULL,
70
                        PRIMARY KEY  (`p_id`),
71
                        KEY `p_ort` (`p_ort`),
72
                        KEY `p_leiter` (`p_leiter`)
73
                    )
74
                    ENGINE=InnoDB;
75
 
76
                ";
77
            }
78
            $sql = "DESCRIBE dokumente";
79
            $res = mysql_query( $sql );
80
            if ( mysql_errno() == 1146 )
81
            {
82
                //Tabelle existiert nicht!
83
                $t_sql[] = "
84
                    CREATE TABLE `dokumente`
85
                    (
86
                        `id` int(11) NOT NULL auto_increment,
87
                        `table_foreign` varchar(50) NOT NULL,
88
                        `row_foreign` varchar(100) NOT NULL,
89
                        `data_foreign` varchar(255) NOT NULL,
90
                        `document` varchar(255) NOT NULL,
91
                        `letzte_aenderung_am` datetime NOT NULL,
92
                        `letzte_aenderung_von` varchar(255) NOT NULL,
93
                        `status` enum('intern','extern','beides') NOT NULL,
94
                        PRIMARY KEY  (`id`),
95
                        UNIQUE KEY `uid` (`table_foreign`,`row_foreign`,`data_foreign`,`document`)
96
                    )
97
                    ENGINE=InnoDB;
98
 
99
                ";
100
            }
101
            $sql = "DESCRIBE Logins";
102
            $res = mysql_query( $sql );
103
            if ( mysql_errno() == 1146 )
104
            {
105
                //Tabelle existiert nicht!
106
                $t_sql[] = "
107
                    CREATE TABLE `Logins` (
108
                        `ID` mediumint(8) unsigned NOT NULL auto_increment,
109
                        `Status` varchar(255) default NULL,
110
                        `user` varchar(255) default NULL,
111
                        `passwd` varchar(255) default NULL,
112
                        `Anrede` enum('','Herr','Frau','Firma') NOT NULL default '',
113
                        `Vorname` varchar(255) NOT NULL default '',
114
                        `Name1` varchar(255) default NULL,
115
                        `Name2` varchar(255) default NULL,
116
                        `Strasse` varchar(255) default NULL,
117
                        `Hausnummer` varchar(10) NOT NULL default '',
118
                        `PLZ` varchar(10) default NULL,
119
                        `ORT` varchar(255) default NULL,
120
                        `liefer_Anrede` enum('','Herr','Frau','Firma') NOT NULL default '',
121
                        `liefer_Firma` varchar(255) NOT NULL default '',
122
                        `liefer_Name` varchar(255) NOT NULL default '',
123
                        `liefer_Strasse` varchar(255) default NULL,
124
                        `liefer_Str_Nr` varchar(10) NOT NULL default '',
125
                        `liefer_PLZ` varchar(10) default NULL,
126
                        `liefer_Ort` varchar(255) default NULL,
127
                        `liefer_Land` varchar(255) NOT NULL default '',
128
                        `Telefon` varchar(255) default NULL,
129
                        `Fax` varchar(255) default NULL,
130
                        `E_Mail` varchar(255) NOT NULL default '',
131
                        `URL` varchar(255) default NULL,
132
                        `AP_Name` varchar(255) default NULL,
133
                        `AP_Handy` varchar(255) default NULL,
134
                        `AP_Bemerkung` text,
135
                        `erstellt_am` datetime default NULL,
136
                        `erstellt_von` varchar(255) default NULL,
137
                        `letzte_Aenderung_am` datetime default NULL,
138
                        `letzte_Aenderung_von` varchar(255) default NULL,
139
                        `Land` varchar(255) default NULL,
140
                        `Eigenschaft_1 TINYINT(1),
141
                        `Eigenschaft_2 TINYINT(1),
142
                        `Eigenschaft_3 TINYINT(1),
143
                        `Eigenschaft_4 TINYINT(1),
144
                         PRIMARY KEY  (`ID`)
145
                    )
146
                    ENGINE=InnoDB
147
                ";
148
            }
149
            $sql = "DESCRIBE projekt_ort";
150
            $res = mysql_query( $sql );
151
            if ( mysql_errno() == 1146 )
152
            {
153
                //Tabelle existiert nicht!
154
                $t_sql[] = "
155
                    CREATE TABLE `projekt_ort` (
156
                        `po_id` mediumint(8) unsigned NOT NULL auto_increment,
157
                        `po_name` varchar(255) NOT NULL,
158
                        `erstellt_am` datetime NOT NULL,
159
                        `erstellt_von` varchar(255) NOT NULL,
160
                        `letzte_Aenderung_am` timestamp NOT NULL,
161
                        `letzte_Aenderung_von` varchar(255) NOT NULL,
162
                        PRIMARY KEY  (`po_id`)
163
                    )
164
                    TYPE=InnoDB;
165
                ";
166
            }
167
            $sql="DESCRIBE projekt_benutzer";
168
            $res=mysql_query($sql);
169
            if(mysql_errno()==1146)
170
            {
171
                $t_sql[]="
172
                    CREATE TABLE `projekt_benutzer` (
173
                        `id` int(10) unsigned NOT NULL auto_increment,
174
                        `p_id` mediumint(8) unsigned NOT NULL,
175
                        `l_id` mediumint(8) unsigned NOT NULL,
176
                        `intern` tinyint(1),
177
                        `status` tinyint(1),
178
                        `erstellt_am` datetime default NULL,
179
                        `erstellt_von` varchar(255) default NULL,
180
                        `letzte_Aenderung_am` datetime default NULL,
181
                        `letzte_Aenderung_von` varchar(255) default NULL,
182
                        PRIMARY KEY  (`id`),
183
                        UNIQUE KEY `p_id_2` (`p_id`,`l_id`),
184
                        KEY `p_id` (`p_id`),
185
                        KEY `l_id` (`l_id`)
186
                        )
187
                        TYPE=InnoDB;
188
                ";
189
            }
190
            $t_sql[] = "
191
                ALTER TABLE `projekte`
192
                    ADD
193
                        CONSTRAINT `projekte_ibfk_1`
194
                            FOREIGN KEY (`p_leiter`)
195
                            REFERENCES `Logins` (`ID`)
196
                            ON UPDATE CASCADE,
197
                    ADD
198
                        CONSTRAINT `projekte_ibfk_2`
199
                            FOREIGN KEY (`p_ort`)
200
                            REFERENCES `projekt_ort` (`po_id`)
201
                            ON UPDATE CASCADE;
202
                ";
203
            $t_sql[] = "
204
                ALTER TABLE `projekt_dokumente`
205
                    ADD
206
                        CONSTRAINT `projekt_dokumente_ibfk_1`
207
                            FOREIGN KEY (`p_id`)
208
                            REFERENCES `projekte` (`p_id`)
209
                            ON UPDATE CASCADE;
210
                ";
211
            $t_sql[]="
212
                ALTER TABLE `projekt_benutzer`
213
                    ADD
214
                        CONSTRAINT `projekt_benutzer_ibfk_1`
215
                            FOREIGN KEY (`p_id`)
216
                            REFERENCES `projekte` (`p_id`)
217
                            ON DELETE CASCADE
218
                            ON UPDATE CASCADE,
219
                    ADD
220
                        CONSTRAINT `projekt_benutzer_ibfk_2`
221
                            FOREIGN KEY (`l_id`)
222
                            REFERENCES `Logins` (`ID`)
223
                            ON DELETE CASCADE
224
                            ON UPDATE CASCADE;
225
            ";
226
            foreach ( $t_sql as $sql )
227
            {
228
                $res = mysql_query( $sql );
229
            }
230
            return true;
231
        }
232
        else
233
        {
234
            return false;
235
        }
236
    }
237
 
238
?>