Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php//$Id: common.php 3931 2011-09-16 08:17:57Z tiefland $/*** @author Lars Tiefland <tiefland@weban.de>* @copyright 2008 Webagentur Niewerth* @package Content-management* @subpackage Projekttool* @version $Rev: 3931 $* @license propietary* @filesource**//**** @author Lars Tiefland <tiefland@weban.de>* @copyright 2008 Webagentur Niewerth*/setlocale( LC_ALL, "de_DE" );//Datenbankverbindungrequire_once "../Online-Shop/connect2.php";//Klassenrequire_once "classes/projekt.class.php";require_once "classes/login.class.php";require_once "classes/projekt_benutzer.class.php";require_once "classes/projekt_ort.class.php";//Smartyrequire_once "Weban_Smarty.class.php";//Funktionenrequire_once "functions.php";define( "Range", 100 );define( "modul_name", "projektverwaltung" );define( "tool_name", "projekte" );define( "propertie", "dokument" );$GLOBALS["ui"] = new Weban_Smarty();$projekt_recht = check_tables();function check_tables(){global $web_rechte;if ( isset($web_rechte["projektverwaltung"]["projekte"]["projekt"]) ){$sql = "DESCRIBE projekte";$res = mysql_query( $sql );if ( mysql_errno() == 1146 ){//Tabelle existiert nicht!$t_sql[] = "CREATE TABLE `projekte`(`p_id` mediumint(8) unsigned NOT NULL auto_increment,`p_von` date NOT NULL,`p_bis` date NOT NULL,`p_name` varchar(255) NOT NULL,`p_ort` mediumint(8) unsigned NOT NULL,`p_leiter` mediumint(8) unsigned NOT NULL,`p_beschreibung` mediumtext NOT NULL,`erstellt_am` datetime NOT NULL,`erstellt_von` varchar(255) NOT NULL,`letzte_Aenderung_am` timestamp NOT NULL,`letzte_Aenderung_von` varchar(255) NOT NULL,PRIMARY KEY (`p_id`),KEY `p_ort` (`p_ort`),KEY `p_leiter` (`p_leiter`))ENGINE=InnoDB;";}$sql = "DESCRIBE dokumente";$res = mysql_query( $sql );if ( mysql_errno() == 1146 ){//Tabelle existiert nicht!$t_sql[] = "CREATE TABLE `dokumente`(`id` int(11) NOT NULL auto_increment,`table_foreign` varchar(50) NOT NULL,`row_foreign` varchar(100) NOT NULL,`data_foreign` varchar(255) NOT NULL,`document` varchar(255) NOT NULL,`letzte_aenderung_am` datetime NOT NULL,`letzte_aenderung_von` varchar(255) NOT NULL,`status` enum('intern','extern','beides') NOT NULL,PRIMARY KEY (`id`),UNIQUE KEY `uid` (`table_foreign`,`row_foreign`,`data_foreign`,`document`))ENGINE=InnoDB;";}$sql = "DESCRIBE Logins";$res = mysql_query( $sql );if ( mysql_errno() == 1146 ){//Tabelle existiert nicht!$t_sql[] = "CREATE TABLE `Logins` (`ID` mediumint(8) unsigned NOT NULL auto_increment,`Status` varchar(255) default NULL,`user` varchar(255) default NULL,`passwd` varchar(255) default NULL,`Anrede` enum('','Herr','Frau','Firma') NOT NULL default '',`Vorname` varchar(255) NOT NULL default '',`Name1` varchar(255) default NULL,`Name2` varchar(255) default NULL,`Strasse` varchar(255) default NULL,`Hausnummer` varchar(10) NOT NULL default '',`PLZ` varchar(10) default NULL,`ORT` varchar(255) default NULL,`liefer_Anrede` enum('','Herr','Frau','Firma') NOT NULL default '',`liefer_Firma` varchar(255) NOT NULL default '',`liefer_Name` varchar(255) NOT NULL default '',`liefer_Strasse` varchar(255) default NULL,`liefer_Str_Nr` varchar(10) NOT NULL default '',`liefer_PLZ` varchar(10) default NULL,`liefer_Ort` varchar(255) default NULL,`liefer_Land` varchar(255) NOT NULL default '',`Telefon` varchar(255) default NULL,`Fax` varchar(255) default NULL,`E_Mail` varchar(255) NOT NULL default '',`URL` varchar(255) default NULL,`AP_Name` varchar(255) default NULL,`AP_Handy` varchar(255) default NULL,`AP_Bemerkung` text,`erstellt_am` datetime default NULL,`erstellt_von` varchar(255) default NULL,`letzte_Aenderung_am` datetime default NULL,`letzte_Aenderung_von` varchar(255) default NULL,`Land` varchar(255) default NULL,`Eigenschaft_1 TINYINT(1),`Eigenschaft_2 TINYINT(1),`Eigenschaft_3 TINYINT(1),`Eigenschaft_4 TINYINT(1),PRIMARY KEY (`ID`))ENGINE=InnoDB";}$sql = "DESCRIBE projekt_ort";$res = mysql_query( $sql );if ( mysql_errno() == 1146 ){//Tabelle existiert nicht!$t_sql[] = "CREATE TABLE `projekt_ort` (`po_id` mediumint(8) unsigned NOT NULL auto_increment,`po_name` varchar(255) NOT NULL,`erstellt_am` datetime NOT NULL,`erstellt_von` varchar(255) NOT NULL,`letzte_Aenderung_am` timestamp NOT NULL,`letzte_Aenderung_von` varchar(255) NOT NULL,PRIMARY KEY (`po_id`))TYPE=InnoDB;";}$sql="DESCRIBE projekt_benutzer";$res=mysql_query($sql);if(mysql_errno()==1146){$t_sql[]="CREATE TABLE `projekt_benutzer` (`id` int(10) unsigned NOT NULL auto_increment,`p_id` mediumint(8) unsigned NOT NULL,`l_id` mediumint(8) unsigned NOT NULL,`intern` tinyint(1),`status` tinyint(1),`erstellt_am` datetime default NULL,`erstellt_von` varchar(255) default NULL,`letzte_Aenderung_am` datetime default NULL,`letzte_Aenderung_von` varchar(255) default NULL,PRIMARY KEY (`id`),UNIQUE KEY `p_id_2` (`p_id`,`l_id`),KEY `p_id` (`p_id`),KEY `l_id` (`l_id`))TYPE=InnoDB;";}$t_sql[] = "ALTER TABLE `projekte`ADDCONSTRAINT `projekte_ibfk_1`FOREIGN KEY (`p_leiter`)REFERENCES `Logins` (`ID`)ON UPDATE CASCADE,ADDCONSTRAINT `projekte_ibfk_2`FOREIGN KEY (`p_ort`)REFERENCES `projekt_ort` (`po_id`)ON UPDATE CASCADE;";$t_sql[] = "ALTER TABLE `projekt_dokumente`ADDCONSTRAINT `projekt_dokumente_ibfk_1`FOREIGN KEY (`p_id`)REFERENCES `projekte` (`p_id`)ON UPDATE CASCADE;";$t_sql[]="ALTER TABLE `projekt_benutzer`ADDCONSTRAINT `projekt_benutzer_ibfk_1`FOREIGN KEY (`p_id`)REFERENCES `projekte` (`p_id`)ON DELETE CASCADEON UPDATE CASCADE,ADDCONSTRAINT `projekt_benutzer_ibfk_2`FOREIGN KEY (`l_id`)REFERENCES `Logins` (`ID`)ON DELETE CASCADEON UPDATE CASCADE;";foreach ( $t_sql as $sql ){$res = mysql_query( $sql );}return true;}else{return false;}}?>