Files
Kundenverwaltung/update/database-update.php
adminandClaude Opus 5 e2124220e5 Initialer Commit: Kundenverwaltung (PHP/Smarty)
Bestehende Codebasis als Ausgangsstand aufgenommen.

- .gitignore: Kundendaten (uploads_*), Smarty-Compile-Cache
  (templates_c), Laufzeit-Temp und Datenbank-Dumps ausgeschlossen;
  Verzeichnisstruktur ueber .gitkeep erhalten
- .gitattributes: Zeilenenden normalisiert (LF im Repo),
  Binaerformate markiert
- db-backup.php: MySQL-Zugangsdaten kommen jetzt wie im Rest der
  Anwendung aus der externen Konfiguration statt hartkodiert aus der
  Datei; Passwort wird ueber eine temporaere Optionsdatei statt per
  Kommandozeile uebergeben, Fehler von mysqldump/gzip werden gemeldet,
  Aufraeumen aelterer Backups berechnet Jahr und Monat konsistent

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-28 16:41:18 +02:00

941 lines
49 KiB
PHP

<?php
function delete_db($dbconn,$mysql_db)
{
message("Leere Datenbank ".$mysql_db);
$err=0;
$res = mysqli_query($dbconn, "DROP DATABASE `".$mysql_db."`") or $err=error(formaterror($mysqli_error($dbconn)));
$res = mysqli_query($dbconn, "CREATE DATABASE `".$mysql_db."` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci") or $err=error(formaterror($mysqli_error($dbconn)));
if(!@mysqli_select_db($dbconn,$mysql_db))
$err = error("Datenbank nicht gefunden!! ($mysql_db)");
if(!$err)
{
ok("<font size='+1'><b>Datenbank erfolgreich geleert!!</b></font>");
$ret = 0;
}
else
{
error("<font size='+1'><b>Datenbank nicht vollständig geleert!!</b></font>");
$ret = -1;
}
return $ret;
}
function create_tables($dbconn)
{
//create the main MySQL layout here (this updates from zero to version 0.1.0)
message("Erstelle user tabelle");
ob_flush();
flush();
$err = 0;
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS user (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`vname` VARCHAR( 50 ) NOT NULL ,
`nname` VARCHAR( 50 ) NOT NULL ,
`nick` VARCHAR( 50 ) NOT NULL UNIQUE ,
`pass` VARCHAR( 150 ) NOT NULL ,
`mail` VARCHAR(50) NOT NULL,
`salt` VARCHAR(50) NOT NULL,
`tel_priv` varchar(30) NOT NULL,
`tel_gesch` varchar(30) NOT NULL,
`tel_mobil` varchar(30) NOT NULL,
`lastlogin` DATETIME NOT NULL ,
`numlogins` INT NOT NULL ,
`logedout` tinyint(2) NOT NULL,
`wrongpw` tinyint(3) NOT NULL,
`notizen` text NOT NULL,
`blocked` tinyint(1) NOT NULL,
`rights` varchar( 6 ) NOT NULL
) ENGINE = InnoDB AUTO_INCREMENT=1;
") or $err=error("user Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
//RIGHTS: jede nummer berechtigung 0-7 ( Bit 0: ansehen, 1: ändern, 2: erstellen+löschen) für einen bereich:
//Kunden Termine Angebote gutschriften rechnungen Superadmin
mysqli_query($dbconn,"INSERT INTO user SET id = '0', nick='ALL'") or $err=error("Dummyuser ALL zum speichern globaler Einstellungen nicht angelegt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle setting tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS setting (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`user_id` INT NOT NULL ,
`opt` VARCHAR( 10 ) NOT NULL ,
`val` text NOT NULL,
CONSTRAINT fk_settings_user_id FOREIGN KEY (user_id) REFERENCES user(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT=1;
") or $err=error("setting Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle message tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS message (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`send_id` INT NOT NULL,
`rec_id` INT NOT NULL,
`head` varchar(50),
`msg` text NOT NULL,
`rd` tinyint(1) NOT NULL,
`datetime` DATETIME NOT NULL,
CONSTRAINT fk_msg_senduser_id FOREIGN KEY (send_id) REFERENCES user(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_msg_recuser_id FOREIGN KEY (rec_id) REFERENCES user(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT=1;
") or $err=error("message Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle titel tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `titel` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`titel` varchar(50) NOT NULL,
`datetime` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("titel Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO titel SET titel = ''") or $err=error("Keinen nicht in titel eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO titel SET titel = 'Dr.'") or $err=error("Dr. nicht in titel eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO titel SET titel = 'Prof.'") or $err=error("Prof. nicht in titel eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO titel SET titel = 'Prof. Dr.'") or $err=error("Prof. Dr. nicht in titel eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO titel SET titel = 'Dipl. Ing.'") or $err=error("Dipl. Ing. nicht in titel eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO titel SET titel = 'Dr. med.'") or $err=error("Dr. med. nicht in titel eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO titel SET titel = 'Dr. jur.'") or $err=error("Dr. jur. nicht in titel eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO titel SET titel = 'Ing.'") or $err=error("Ing. nicht in titel eingefügt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle land tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `land` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`land_short` varchar(5) NOT NULL,
`land` varchar(30) NOT NULL,
`datetime` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("land Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO land SET land = 'Deutschland', land_short='DE'") or $err=error("Deutschland nicht in land eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO land SET land = 'Schweiz', land_short='CH'") or $err=error("Schweiz nicht in land eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO land SET land = 'Österreich', land_short='A'") or $err=error("Österreich nicht in land eingefügt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle ort tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS ort (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`ort` varchar(30) NOT NULL,
`ortsteil` varchar(30) NOT NULL,
`plz` varchar(15) NOT NULL,
`vwahl` varchar(15) NOT NULL,
`land_id` int(5) NOT NULL,
CONSTRAINT fk_ort_land_id FOREIGN KEY (land_id) REFERENCES land(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE = InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("ort Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle strasse tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS strasse (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`str` varchar(50) NOT NULL,
`ort_id` int(11) NOT NULL,
CONSTRAINT fk_str_ort_id FOREIGN KEY (ort_id) REFERENCES ort(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE = InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("strasse Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle anrede tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `anrede` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`anrede` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("anrede Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO anrede SET anrede = ''") or $err=error("Keine nicht in Anrede eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO anrede SET anrede = 'Herrn'") or $err=error("Herr nicht in anrede eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO anrede SET anrede = 'Frau'") or $err=error("Frau nicht in anrede eingefügt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle partnertyp tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `partnertyp` (
`id` int(2) NOT NULL AUTO_INCREMENT,
`typ` varchar(15) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("partnertyp Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO partnertyp SET typ = 'Kunde'") or $err=error("Keine nicht in Anrede eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO partnertyp SET typ = 'Lieferant'") or $err=error("Keine nicht in Anrede eingefügt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle zahlziel tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `zahlziel` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`ziel` varchar(150) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("zahlziel Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO zahlziel SET ziel = '10 Tage ohne Abzug, Skonto sofort 2%'") or $err=error("zehn tage ohne abzug nicht in zahlziel eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO zahlziel SET ziel = 'sofort ohne Abzug'") or $err=error("sofort ohne abzug nicht in zahlziel eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO zahlziel SET ziel = '10 Tage ohne Abzug'") or $err=error("sieben tage 3% skonto nicht in zahlziel eingefügt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle partner tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `partner` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`datetime_new` datetime NOT NULL,
`datetime_lastchange` datetime NOT NULL,
`user_id` int(11) NOT NULL,
`typ_id` int(2) NOT NULL,
`zahlziel_id` int(3) NOT NULL,
`rabatt` int(3) NOT NULL,
`sks_not_checked` int(1) NOT NULL,
`sks_kdnotiz` TEXT NOT NULL,
`updated_by` int(11) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT fk_partner_typ_id FOREIGN KEY (typ_id) REFERENCES partnertyp(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_partner_zahlziel_id FOREIGN KEY (zahlziel_id) REFERENCES zahlziel(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_partner_user_id FOREIGN KEY (user_id) REFERENCES user(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("partner Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle adresstyp tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS adresstyp (
`id` INT(2) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`typ` varchar(20) NOT NULL
) ENGINE = InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("adresstyp Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO adresstyp SET typ = 'Hauptadresse'") or $err=error("hauptadresse nicht in adresstyp eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO adresstyp SET typ = 'Ferienwohnung'") or $err=error("Ferienwohnung nicht in adresstyp eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO adresstyp SET typ = 'Rechnungsadresse'") or $err=error("Rechnungsadresse nicht in adresstyp eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO adresstyp SET typ = 'Zweitwohnsitz'") or $err=error("Zweitwohnsitz nicht in adresstyp eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO adresstyp SET typ = 'Kommission'") or $err=error("Kommission nicht in adresstyp eingefügt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle adresse tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS adresse (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`partner_id` int(11) NOT NULL,
`anrede_id` int(5) NOT NULL,
`anrede2_id` int(5) NOT NULL,
`titel_id` int(5) NOT NULL,
`titel2_id` int(5) NOT NULL,
`vname` varchar(50) NOT NULL,
`vname2` varchar(50) NOT NULL,
`nname` varchar(50) NOT NULL,
`nname2` varchar(50) NOT NULL,
`firma` varchar(50) NOT NULL,
`str_id` int(11) NOT NULL,
`typ_id` int(2) NOT NULL,
`hnr` varchar(10) NOT NULL,
`gebdat` DATE NOT NULL,
`gebdat2` DATE NOT NULL,
`zusatz` varchar(30) NOT NULL,
CONSTRAINT onlyoneadresstype UNIQUE (partner_id,typ_id),
CONSTRAINT fk_partner_titel_id FOREIGN KEY (titel_id) REFERENCES titel(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_partner_anrede_id FOREIGN KEY (anrede_id) REFERENCES anrede(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_adr_str_id FOREIGN KEY (str_id) REFERENCES strasse(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_adr_typ_id FOREIGN KEY (typ_id) REFERENCES adresstyp(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_adr_partner_id FOREIGN KEY (partner_id) REFERENCES partner(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE = InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("adresse Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle teltyp tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS teltyp (
`id` INT(3) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`typ` varchar(20) NOT NULL
) ENGINE = InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("teltyp Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO teltyp SET typ = 'Privat'") or $err=error("Keine nicht in Anrede eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO teltyp SET typ = 'Mobil'") or $err=error("Keine nicht in Anrede eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO teltyp SET typ = 'Geschäftl.'") or $err=error("Keine nicht in Anrede eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO teltyp SET typ = 'Fax'") or $err=error("Keine nicht in Anrede eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO teltyp SET typ = 'Alternativ'") or $err=error("Keine nicht in Anrede eingefügt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle tel tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS tel (
`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`ort_id` int(11) NOT NULL,
`partner_id` int(11) NOT NULL,
`typ_id` int(3) NOT NULL,
`adresse_id` int(11) NOT NULL,
`nr` varchar(20) NOT NULL,
`name` varchar(30) NOT NULL,
CONSTRAINT fk_tel_ort_id FOREIGN KEY (ort_id) REFERENCES ort(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_tel_typ_id FOREIGN KEY (typ_id) REFERENCES teltyp(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_tel_partner_id FOREIGN KEY (partner_id) REFERENCES partner(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE = InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("tel Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle kontakttyp tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS kontakttyp (
`id` INT(3) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`typ` varchar(20) NOT NULL
) ENGINE = InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("kontakttyp Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO kontakttyp SET typ = 'E-mail'") or $err=error("Keine nicht in Anrede eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO kontakttyp SET typ = 'ICQ'") or $err=error("Keine nicht in Anrede eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO kontakttyp SET typ = 'Skype'") or $err=error("Keine nicht in Anrede eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO kontakttyp SET typ = 'Facebook'") or $err=error("Keine nicht in Anrede eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO kontakttyp SET typ = 'Website'") or $err=error("Keine nicht in Anrede eingefügt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle kontakt tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS kontakt (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`partner_id` int(11) NOT NULL,
`typ_id` int(3) NOT NULL,
`kontakt` varchar(100) NOT NULL,
CONSTRAINT fk_kontakt_typ_id FOREIGN KEY (typ_id) REFERENCES kontakttyp(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_kontakt_partner_id FOREIGN KEY (partner_id) REFERENCES partner(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE = InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("kontakt Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle bank tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `bank` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`blz` varchar(30) NOT NULL,
`bank` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("bank Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle konto tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `konto` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`bank_id` int(5) NOT NULL,
`partner_id` int(11) NOT NULL,
`inhaber` varchar(50) NOT NULL,
`iban` varchar(30) NOT NULL,
`swift` varchar(15) NOT NULL,
`ktonr` varchar(20) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT fk_kto_partner_id FOREIGN KEY (partner_id) REFERENCES partner(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_kto_bank_id FOREIGN KEY (bank_id) REFERENCES bank(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("konto Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle mykonto tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `mykonto` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`bank_id` int(5) NOT NULL,
`inhaber` varchar(50) NOT NULL,
`iban` varchar(30) NOT NULL,
`swift` varchar(15) NOT NULL,
`ktonr` varchar(20) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT fk_mykto_bank_id FOREIGN KEY (bank_id) REFERENCES bank(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("mykonto Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle accesstype tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS accesstype (
`id` TINYINT(3) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`typ` VARCHAR( 20 ) NOT NULL
) ENGINE = InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("accesstype Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO accesstype SET typ = 'auflisten'") or $err=error("auflisten nicht in accesstype eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO accesstype SET typ = 'ansehen'") or $err=error("ansehen nicht in accesstype eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO accesstype SET typ = 'anlegen'") or $err=error("anlegen nicht in accesstype eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO accesstype SET typ = 'ändern'") or $err=error("ändern nicht in accesstype eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO accesstype SET typ = 'löschen'") or $err=error("löschen nicht in accesstype eingefügt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle log tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS log (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`typ_id` tinyint(3) NOT NULL,
`user_id` int(11) NOT NULL,
`datetime` datetime NOT NULL,
`qry` text NOT NULL,
`undo_qry` text,
CONSTRAINT fk_log_accesstype_id FOREIGN KEY (typ_id) REFERENCES accesstype(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_log_user_id FOREIGN KEY (user_id) REFERENCES user(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE = InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("log Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle notiz tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `notiz` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`partner_id` int(11) NOT NULL,
`notiz` varchar(150) NOT NULL,
`datetime` datetime NOT NULL,
`color` varchar(6) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT fk_notizen_partner_id FOREIGN KEY (partner_id) REFERENCES partner(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("notiz Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle artikeltyp tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `artikeltyp` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`bezeichn` varchar(50) NOT NULL,
`dropdown` tinyint(1) NOT NULL,
`list` tinyint(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("atrikeltyp Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO artikeltyp SET bezeichn = 'Hauptartikel', dropdown = 1, list = 1") or $err=error("Hauptartikel nicht in artikeltyp eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO artikeltyp SET bezeichn = 'Ersatzteil', dropdown = 1, list = 0") or $err=error("Ersatzteil nicht in artikeltyp eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO artikeltyp SET bezeichn = 'Fahrtkosten', dropdown = 1, list = 0") or $err=error("Fahrtkosten nicht in artikeltyp eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO artikeltyp SET bezeichn = 'Arbeitszeit', dropdown = 1, list = 0") or $err=error("Arbeitszeit nicht in artikeltyp eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO artikeltyp SET bezeichn = 'Zubehör', dropdown = 1, list = 0") or $err=error("Zubehör nicht in artikeltyp eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO artikeltyp SET bezeichn = 'Reperatur', dropdown = 0, list = 1") or $err=error("Reperatur nicht in artikeltyp eingefügt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle einheit tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS einheit (
`id` int(11) NOT NULL AUTO_INCREMENT,
`einheit` varchar(6) NOT NULL,
`si` tinyint(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("einheit Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'keine', si = 0") or $err=error("keine nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'mm', si = 1") or $err=error("mm nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'cm', si = 1") or $err=error("cm nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'dm', si = 1") or $err=error("dm nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'Stück', si = 0") or $err=error("Stück nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'm', si = 1") or $err=error("m nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'km', si = 1") or $err=error("km nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'Hz', si = 1") or $err=error("Hz nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'kHz', si = 1") or $err=error("kHz nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'MHz', si = 1") or $err=error("MHz nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'GHz', si = 1") or $err=error("GHz nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'kb', si = 1") or $err=error("kb nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'Mb', si = 1") or $err=error("Mb nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'Gb', si = 1") or $err=error("Gb nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'Tb', si = 1") or $err=error("Tb nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'Std', si = 0") or $err=error("std nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'Min', si = 0") or $err=error("min nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'Sek', si = 0") or $err=error("sek nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'Jahre', si = 0") or $err=error("jahre nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'km/h', si = 1") or $err=error("km/h nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'm/s', si = 1") or $err=error("m/s nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'kt', si = 0") or $err=error("kb nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'zoll', si = 0") or $err=error("zoll nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO einheit SET einheit = 'Fuß', si = 0") or $err=error("fug nicht in einheit eingefügt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle artikel tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS artikel (
`id` int(11) NOT NULL AUTO_INCREMENT,
`bezeichn` varchar(150) NOT NULL,
`typ_id` int(5) NOT NULL,
`datetime` datetime NOT NULL,
`user_id` int(11) NOT NULL,
`einheit_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT fk_artikel_typ_id FOREIGN KEY (typ_id) REFERENCES artikeltyp(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_art_rech_einheit_id FOREIGN KEY (einheit_id) REFERENCES einheit(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_artikel_user_id FOREIGN KEY (user_id) REFERENCES user(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("artikel Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle eigensch tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `eigensch` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`bezeichn` varchar(100) NOT NULL,
`wert` varchar(50) NOT NULL,
`einheit_id` int(11) NOT NULL,
`datetime` datetime NOT NULL,
`user_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT fk_eigensch_user_id FOREIGN KEY (user_id) REFERENCES user(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_eigensch_einheit_id FOREIGN KEY (einheit_id) REFERENCES einheit(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("eigensch Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle mwst tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `mwst` (
`id` int(3) NOT NULL AUTO_INCREMENT,
`mwst` decimal(4,1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("mwst Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO mwst SET mwst = '999'") or $err=error("Normal(999) nicht in mwst eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO mwst SET mwst = '19'") or $err=error("19% nicht in mwst eingefügt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle wahrung tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `wahrung` (
`id` tinyint(3) NOT NULL AUTO_INCREMENT,
`wahrung` varchar(20) NOT NULL,
`kurs` decimal(8,4),
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("wahrung Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO wahrung SET wahrung = '€', kurs='1'") or $err=error("zehn tage ohne abzug nicht in zahlziel eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO wahrung SET wahrung = 'DM', kurs='1.96'") or $err=error("sofort ohne abzug nicht in zahlziel eingefügt: <br />".formaterror(mysqli_error($dbconn)));
/*
message("Erstelle gutschrift tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `gutschrift` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`kunde_id` int(11) NOT NULL,
`mwst_id` int(11) NOT NULL,
`changetime` datetime NOT NULL,
`user_id` int(11) NOT NULL,
`changeuser` int(11) NOT NULL,
`datetime` datetime NOT NULL,
`value` decimal(10,2) NOT NULL,
`valuedesc` varchar(100) NOT NULL,
`valuesubdesc` varchar(100) NOT NULL,
`intro` varchar(250) NOT NULL,
`outro` varchar(250) NOT NULL,
wahrung_id tinyint(3) NOT NULL,
umrechn tinyint(3) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT fk_gut_kunde_id FOREIGN KEY (kunde_id) REFERENCES kunden(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_gut_mwst_id FOREIGN KEY (mwst_id) REFERENCES mwst(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_gut_user_id FOREIGN KEY (user_id) REFERENCES users(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_gut_wahrung_id FOREIGN KEY (wahrung_id) REFERENCES wahrung(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("gutschrift Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle angebot tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `angebot` (
`id` int(11) NOT NULL AUTO_INCREMENT,
typ int(2) NOT NULL,
`kunde_id` int(11) NOT NULL,
`mwst_id` int(11) NOT NULL,
`changetime` datetime NOT NULL,
`user_id` int(11) NOT NULL,
`changeuser` int(11) NOT NULL,
`datetime` datetime NOT NULL,
`rabatt` int(3) NOT NULL,
`rabattdesc` varchar(100) NOT NULL,
`intro` varchar(250) NOT NULL,
`outro` varchar(250) NOT NULL,
wahrung_id tinyint(3) NOT NULL,
umrechn tinyint(3) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT fk_angebo_kunde_id FOREIGN KEY (kunde_id) REFERENCES kunden(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_angebo_mwst_id FOREIGN KEY (mwst_id) REFERENCES mwst(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_angebo_user_id FOREIGN KEY (user_id) REFERENCES users(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_angebo_wahrung_id FOREIGN KEY (wahrung_id) REFERENCES wahrung(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("angebot Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
*/
message("Erstelle rechtyp tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS rechtyp (
`id` int(3) NOT NULL AUTO_INCREMENT,
`typ` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("rechtyp Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO rechtyp SET typ = 'Rechnung'") or $err=error("Rechnung nicht in rechtyp eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO rechtyp SET typ = 'Gutschrift'") or $err=error("Gutschrift nicht in rechtyp eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO rechtyp SET typ = 'Angebot'") or $err=error("Angebot nicht in rechtyp eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO rechtyp SET typ = 'Auftragsbestätigung'") or $err=error("Auftragsbestätigung nicht in rechtyp eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO rechtyp SET typ = 'Brief'") or $err=error("Brief nicht in rechtyp eingefügt: <br />".formaterror(mysqli_error($dbconn)));
mysqli_query($dbconn,"INSERT INTO rechtyp SET typ = 'Mahnung'") or $err=error("Mahnung nicht in rechtyp eingefügt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle rechnung tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS rechnung (
`id` int(11) NOT NULL AUTO_INCREMENT,
`adressfields` varchar(12) NOT NULL,
`anrede1` varchar(150) NOT NULL,
`anrede2` varchar(150) NOT NULL,
`partner_id` int(11) NOT NULL,
`mwst_id` int(3) NOT NULL,
`user_id` int(11) NOT NULL,
`typ_id` int(2) NOT NULL,
`zahlziel_id` int(3) NOT NULL,
`adresse_id` int(11) NOT NULL,
`wahrung_id` tinyint(3) NOT NULL,
`changetime` datetime NOT NULL,
`changeuser` int(11) NOT NULL,
`datetime` datetime NOT NULL,
`rechnr` int(11) NOT NULL,
`rabatt` int(3) NOT NULL,
`rabattdesc` varchar(100) NOT NULL,
`intro` text NOT NULL,
`outro` text NOT NULL,
`sks` tinyint(1) NOT NULL,
`sub_mwst` int(1) NOT NULL,
`kommission` int(11) NOT NULL,
`lieferdatum` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT fek_rech_partner_id FOREIGN KEY (partner_id) REFERENCES partner(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fek_rech_adresse_id FOREIGN KEY (adresse_id) REFERENCES adresse(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fek_rech_mwst_id FOREIGN KEY (mwst_id) REFERENCES mwst(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fek_rech_user_id FOREIGN KEY (user_id) REFERENCES user(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fek_rech_zahlziehl_id FOREIGN KEY (zahlziel_id) REFERENCES zahlziel(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fek_rech_typ_id FOREIGN KEY (typ_id) REFERENCES rechtyp(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fek_rech_wahrung_id FOREIGN KEY (wahrung_id) REFERENCES wahrung(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("rechnung Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle artikel_eigensch tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `artikel_eigensch` (
`art_id` int(11) NOT NULL,
`eig_id` int(11) NOT NULL,
`rech_id` int(11) NOT NULL,
`artposnr` int(11) NOT NULL,
`posnr` int(5) NOT NULL,
CONSTRAINT fk_art_eig_art_id FOREIGN KEY (`art_id`) REFERENCES artikel(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_art_eig_rech_id FOREIGN KEY (`rech_id`) REFERENCES rechnung(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_art_eig_eig_id FOREIGN KEY (`eig_id`) REFERENCES eigensch(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
") or $err=error("artikel_eigensch Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle artikel_rechn tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `artikel_rechn` (
`art_id` int(11) NOT NULL,
`rech_id` int(11) NOT NULL,
`posnr` int(5) NOT NULL,
`rabatt` int(3) NOT NULL,
`rabatttyp` int(2) NOT NULL,
`menge` decimal(6,3) NOT NULL,
`preis` decimal(10,2),
`angtyp` int(1) NOT NULL,
`artmwst` int(3) NOT NULL,
`wanr` VARCHAR(100) NOT NULL,
`pagebreak` int(1) NOT NULL,
CONSTRAINT fk_art_rech_art_id FOREIGN KEY (`art_id`) REFERENCES artikel(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_art_rech_rech_id FOREIGN KEY (`rech_id`) REFERENCES rechnung(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
") or $err=error("artikel_rechn Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle rechnr tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `rechnr` (
`rechnr` int(11) NOT NULL,
`typ_id` int(5) NOT NULL,
PRIMARY KEY (`rechnr`,`typ_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
") or $err=error("rechnr Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle tmp_rechnung tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS tmp_rechnung (
`id` int(11) NOT NULL AUTO_INCREMENT,
`adressfields` varchar(11) NOT NULL,
`partner_id` int(11) NOT NULL,
`anrede1` varchar(150) NOT NULL,
`anrede2` varchar(150) NOT NULL,
`mwst_id` int(3) NOT NULL,
`user_id` int(11) NOT NULL,
`rechnr` int(11) NOT NULL,
`typ_id` int(2) NOT NULL,
`zahlziel_id` int(3) NOT NULL,
`adresse_id` int(11) NOT NULL,
`wahrung_id` tinyint(3) NOT NULL,
`datetime` datetime NOT NULL,
`rabatt` int(3) NOT NULL,
`rabattdesc` varchar(100) NOT NULL,
`intro` text NOT NULL,
`outro` text NOT NULL,
`kommission` int(11) NOT NULL,
`sub_mwst` int(1) NOT NULL,
`lieferdatum` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT fk_tmp_rech_partner_id FOREIGN KEY (partner_id) REFERENCES partner(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_tmp_rech_adresse_id FOREIGN KEY (adresse_id) REFERENCES adresse(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_tmp_rech_mwst_id FOREIGN KEY (mwst_id) REFERENCES mwst(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_tmp_rech_user_id FOREIGN KEY (user_id) REFERENCES user(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_tmp_rech_zahlziehl_id FOREIGN KEY (zahlziel_id) REFERENCES zahlziel(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_tmp_rech_typ_id FOREIGN KEY (typ_id) REFERENCES rechtyp(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_tmp_rech_wahrung_id FOREIGN KEY (wahrung_id) REFERENCES wahrung(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("tmp_rechnung Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle tmp_artikel tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS tmp_artikel (
`id` int(11) NOT NULL AUTO_INCREMENT,
`bezeichn` varchar(150) NOT NULL,
`typ_id` int(5) NOT NULL,
`einheit_id` int(11) NOT NULL,
`preis` decimal(10,2),
`datetime` datetime NOT NULL,
`posnr` int(5) NOT NULL,
`rabatt` int(3) NOT NULL,
`rabatttyp` int(2) NOT NULL,
`menge` decimal(6,3) NOT NULL,
`angtyp` int(1) NOT NULL,
`mwst_id` int(3) NOT NULL,
`rech_id` int(11) NOT NULL,
`wanr` VARCHAR(100) NOT NULL,
`pagebreak` int(1) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT fk_tmp_artikel_typ_id FOREIGN KEY (typ_id) REFERENCES artikeltyp(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_tmp_art_mwst_id FOREIGN KEY (mwst_id) REFERENCES mwst(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_tmp_art_rech_id FOREIGN KEY (rech_id) REFERENCES tmp_rechnung(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_tmp_artikel_einheit_id FOREIGN KEY (einheit_id) REFERENCES einheit(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("tmp_artikel Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle tmp_eigensch tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `tmp_eigensch` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`bezeichn` varchar(100) NOT NULL,
`wert` varchar(50) NOT NULL,
`einheit_id` int(11) NOT NULL,
`art_id` int(11) NOT NULL,
`datetime` datetime NOT NULL,
`posnr` int(5) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT fk_tmp_eigensch_art_id FOREIGN KEY (art_id) REFERENCES tmp_artikel(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_tmp_eigensch_einheit_id FOREIGN KEY (einheit_id) REFERENCES einheit(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("tmp_eigensch Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle termtyp tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `termtyp` (
`id` int(2) NOT NULL AUTO_INCREMENT,
`typ` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("termtyp Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle termin tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `termin` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`typ` int(2) NOT NULL,
`adresse_id` int(11) NOT NULL,
`text` text NOT NULL,
`changetime` datetime NOT NULL,
`done` tinyint(1) NOT NULL,
`user` int(11) NOT NULL,
`user2` int(11) NOT NULL,
`user3` int(11) NOT NULL,
`user4` int(11) NOT NULL,
`main_id` int(11) NOT NULL,
`changeuser` int(11) NOT NULL,
`datetime` datetime NOT NULL,
`termtime` datetime NOT NULL,
`termdauer` time NOT NULL,
`followed_by` int(11) NOT NULL,
`act_date` datetime NOT NULL,
`head` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT fk_termin_typ_termtyp_id FOREIGN KEY (`typ`) REFERENCES termtyp(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("termin Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle artikel_termin tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `artikel_termin` (
`art_id` int(11) NOT NULL,
`termin_id` int(11) NOT NULL,
`menge` decimal(6,3) NOT NULL,
`rabatt` int(3) NOT NULL,
`wanr` VARCHAR(100) NOT NULL,
CONSTRAINT fk_art_term_art_id FOREIGN KEY (`art_id`) REFERENCES artikel(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_art_term_ang_id FOREIGN KEY (`termin_id`) REFERENCES termin(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
") or $err=error("artikel_termin Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle ausgabe tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `ausgabe` (
`id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`partner_id` int(11) NOT NULL,
`rec_kto_id` int(11) NOT NULL,
`send_kto_id` int(11) NOT NULL,
`betr` decimal(12,3) NOT NULL,
`rabatt` decimal(4,1) NOT NULL,
CONSTRAINT fk_ausg_user_id FOREIGN KEY (`user_id`) REFERENCES user(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_ausg_reckto_id FOREIGN KEY (`rec_kto_id`) REFERENCES konto(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_ausg_sendkto_id FOREIGN KEY (`send_kto_id`) REFERENCES konto(id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT fk_ausg_partner_id FOREIGN KEY (`partner_id`) REFERENCES partner(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
") or $err=error("artikel_termin Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle artikelsks tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS `artikelsks` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`rechnr` int(11) NOT NULL,
`bezeichn1` varchar(60) NOT NULL,
`bezeichn2` varchar(60) NOT NULL,
`menge` decimal(6,3) NOT NULL,
`beschr` TEXT,
`pos` tinyint(3) NOT NULL,
`rabatt` tinyint(3) NOT NULL,
`preis` decimal(10,2),
`datetime` datetime NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT fk_artikelsks_rech_id FOREIGN KEY (rechnr) REFERENCES rechnung(rechnr) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("artikelsks Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle project tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS project (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(150) NOT NULL,
`name2` varchar(150) NOT NULL,
`partner_id` int(11) NOT NULL,
`changetime` datetime NOT NULL,
`changeuser` int(11) NOT NULL,
`datetime` datetime NOT NULL,
`intro` text NOT NULL,
`outro` text NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT fek_proj_partner_id FOREIGN KEY (partner_id) REFERENCES partner(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("project Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
message("Erstelle work tabelle");
ob_flush();
flush();
mysqli_query($dbconn,"CREATE TABLE IF NOT EXISTS work (
`id` int(11) NOT NULL AUTO_INCREMENT,
`bezeichn` varchar(150) NOT NULL,
`bezeichn2` varchar(150) NOT NULL,
`project_id` int(11) NOT NULL,
`changetime` datetime NOT NULL,
`changeuser` int(11) NOT NULL,
`datetime` datetime NOT NULL,
`std` decimal(6,3) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT fek_work_partner_id FOREIGN KEY (project_id) REFERENCES project(id) ON UPDATE CASCADE ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
") or $err=error("project Tabelle nicht erstellt: <br />".formaterror(mysqli_error($dbconn)));
if(!$err)
{
ok("<font size='+1'><b>Grundlegendes Datenbanklayout erfolgreich angelegt!!</b></font>");
$ret = 0;
}
else
{
error("<font size='+1'><b>Grundlegendes Datenbanklayout nicht vollständig angelegt!!</b></font>");
$ret = -1;
}
return $ret;
}
function insertSuperUser($dbconn)
{
$err = 0;
message("Lege Super User an");
$qry = mysqli_query($dbconn,"SELECT * FROM user WHERE nick = '".mysql_escape_string($_POST["sunick"])."'")or $err=error("Fehler in der superuser abfrage: <br />".formaterror(mysqli_error($dbconn)));
if(mysqli_num_rows($qry))
$err=error("Der Benutzername, der für den Super User gewählt wurde ist bereits vergeben. Bitte wählen sie einen anderen!");
if(!$err)
createUser($dbconn,$_POST["sunick"], $_POST["newpw"], $_POST["suvname"], $_POST["sunname"], $_POST["sumail"], 777777);
if(!$err)
{
ok("<font size='+1'><b>Super User erfolgreich angelegt!!</b></font>");
$ret = 0;
}
else
{
error("<font size='+1'><b>Super User nicht angelegt!!</b></font>");
$ret = -1;
}
return $ret;
}
function update_tables($thisversion,$newversion)
{
while($thisversion < $newversion)
{
switch($thisversion)
{
case 1:
if(create_tables())
{
$thisversion= 10;
$ret = 10;
}
else
$ret = -2;
break;
default:
$ret = -1;
break;
}
}
return $ret;
}
?>