<?php

case 12:
        // Tabelle "users" anlegen
        $updateSteps[] = "CREATE TABLE `users` (".
            // Benutzerinformationen
            "`id` INT(11) NOT NULL AUTO_INCREMENT,".            // Benutzer-ID
            "`name` VARCHAR(30) NOT NULL,".                     // Anmeldename
            "`password` VARCHAR(32),".                          // MD5-Hash des Passworts
            "`first_name` TINYTEXT,".                           // Vorname
            "`last_name` TINYTEXT,".                            // Nachname
            "`department` TINYTEXT,".                           // Abteilung
            "`email` TINYTEXT,".                                // E-Mail Adresse
            // Einstellungen und Gruppenzugehörigkeit
            "`auto_login` BOOL NOT NULL,".                      // Automatische Anmeldung ein/aus
            "`session_id` VARCHAR(32),".                        // Session-ID für die Identifizierung
            "`group_id` INT(11) NOT NULL,".                     // Gruppen-ID von der Gruppe des Users
            // Datenset-IDs (für "eigenständige" Benutzer mit eigenen Lagerorten usw. [myparts.info])
            "`dataset_devices` INT(11) NOT NULL,".              // Baugruppen-Datenset-ID
            "`dataset_storelocs` INT(11) NOT NULL,".            // Lagerorte-Datenset-ID
            "`dataset_footprints` INT(11) NOT NULL,".           // Footprints-Datenset-ID
            "`dataset_categories` INT(11) NOT NULL,".           // Kategorien-Datenset-ID
            "`dataset_suppliers` INT(11) NOT NULL,".            // Lieferanten-Datenset-ID
            "`dataset_instock` INT(11) NOT NULL,".              // Lagerbestand-Datenset-ID
            // System-Rechte
            "`perms_system` INT(3) NOT NULL,".                  // Allgemeine Rechte ("Kleinkram")
            "`perms_system_groups` INT(3) NOT NULL,".           // Gruppenverwaltung
            "`perms_system_users` INT(3) NOT NULL,".            // Benutzerverwaltung
            "`perms_system_dbupdate` INT(3) NOT NULL,".         // Datenbankaktualisierung bzw. dessen Einstellungen
            "`perms_system_dbbackup` INT(3) NOT NULL,".         // Datenbank-Backup bzw. dessen Einstellungen
            // Bauteil-Rechte
            "`perms_parts` INT(3) NOT NULL,".                   // Betrachten/Erstellen/Löschen/Verschieben
            "`perms_parts_name` INT(3) NOT NULL,".              // Name
            "`perms_parts_description` INT(3) NOT NULL,".       // Beschreibung
            "`perms_parts_instock` INT(3) NOT NULL,".           // Menge (an Lager)
            "`perms_parts_mininstock` INT(3) NOT NULL,".        // Mindestmenge
            "`perms_parts_footprint` INT(3) NOT NULL,".         // Footprint
            "`perms_parts_storeloc` INT(3) NOT NULL,".          // Lagerort
            "`perms_parts_obsolet` INT(3) NOT NULL,".           // Obsolet
            "`perms_parts_comment` INT(3) NOT NULL,".           // Kommentar
            "`perms_parts_orderdetails` INT(3) NOT NULL,".      // Bestellinformationen (Lieferanten, Bestellnummern)
            "`perms_parts_prices` INT(3) NOT NULL,".            // Preisinformationen
            "`perms_parts_files` INT(3) NOT NULL,".             // Dateien (Bilder, Datenblätter, ...)
            // Baugruppen-Rechte
            "`perms_devices` INT(3) NOT NULL,".                 // Betrachten/Bearbeiten/Erstellen/Löschen/Verschieben
            "`perms_devices_parts` INT(3) NOT NULL,".           // Bauteile betrachten/bearbeiten
            // Lagerorte-Rechte
            "`perms_storelocations` INT(3) NOT NULL,".          // Betrachten/Bearbeiten/Erstellen/Löschen/Verschieben
            "`perms_storelocations_isfull` INT(3) NOT NULL,".   // Eigenschaft, ob Lagerort voll ist
            // Footprints-Rechte
            "`perms_footprints` INT(3) NOT NULL,".              // Betrachten/Bearbeiten/Erstellen/Löschen/Verschieben 
            // Kategorien-Rechte
            "`perms_categories` INT(3) NOT NULL,".              // Betrachten/Bearbeiten/Erstellen/Löschen/Verschieben
            // Lieferanten-Rechte
            "`perms_suppliers` INT(3) NOT NULL,".               // Betrachten/Bearbeiten/Erstellen/Löschen/Verschieben
            // Attribute
            " PRIMARY KEY  (`id`),".
            " UNIQUE KEY `name` (`name`)".
            ") ENGINE=MyISAM;";
            
        // Tabelle "groups" anlegen
        $updateSteps[] = "CREATE TABLE `groups` (".
            // Gruppeninformationen
            "`id` INT(11) NOT NULL AUTO_INCREMENT,".            // Gruppen-ID
            "`name` TINYTEXT NOT NULL,".                        // Gruppenname
            "`parent_id` INT(11) NOT NULL,".                    // ID der übergeordneten Gruppe ('-1' bei root)
            "`comment` MEDIUMTEXT,".                            // Kommentar (optional)
            // Datenset-IDs (für "eigenständige" Benutzer mit eigenen Lagerorten usw. [myparts.info])
            "`dataset_devices` INT(11) NOT NULL,".              // Baugruppen-Datenset-ID
            "`dataset_storelocs` INT(11) NOT NULL,".            // Lagerorte-Datenset-ID
            "`dataset_footprints` INT(11) NOT NULL,".           // Footprints-Datenset-ID
            "`dataset_categories` INT(11) NOT NULL,".           // Kategorien-Datenset-ID
            "`dataset_suppliers` INT(11) NOT NULL,".            // Lieferanten-Datenset-ID
            "`dataset_instock` INT(11) NOT NULL,".              // Lagerbestand-Datenset-ID
            // System-Rechte
            "`perms_system` INT(3) NOT NULL,".                  // Allgemeine Rechte ("Kleinkram")
            "`perms_system_groups` INT(3) NOT NULL,".           // Gruppenverwaltung
            "`perms_system_users` INT(3) NOT NULL,".            // Benutzerverwaltung
            "`perms_system_dbupdate` INT(3) NOT NULL,".         // Datenbankaktualisierung bzw. dessen Einstellungen
            "`perms_system_dbbackup` INT(3) NOT NULL,".         // Datenbank-Backup bzw. dessen Einstellungen
            // Bauteil-Rechte
            "`perms_parts` INT(3) NOT NULL,".                   // Betrachten/Erstellen/Löschen/Verschieben
            "`perms_parts_name` INT(3) NOT NULL,".              // Name
            "`perms_parts_description` INT(3) NOT NULL,".       // Beschreibung
            "`perms_parts_instock` INT(3) NOT NULL,".           // Menge (an Lager)
            "`perms_parts_mininstock` INT(3) NOT NULL,".        // Mindestmenge
            "`perms_parts_footprint` INT(3) NOT NULL,".         // Footprint
            "`perms_parts_storeloc` INT(3) NOT NULL,".          // Lagerort
            "`perms_parts_obsolet` INT(3) NOT NULL,".           // Obsolet
            "`perms_parts_comment` INT(3) NOT NULL,".           // Kommentar
            "`perms_parts_orderdetails` INT(3) NOT NULL,".      // Bestellinformationen (Lieferanten, Bestellnummern)
            "`perms_parts_prices` INT(3) NOT NULL,".            // Preisinformationen
            "`perms_parts_files` INT(3) NOT NULL,".             // Dateien (Bilder, Datenblätter, ...)
            // Baugruppen-Rechte
            "`perms_devices` INT(3) NOT NULL,".                 // Betrachten/Bearbeiten/Erstellen/Löschen/Verschieben
            "`perms_devices_parts` INT(3) NOT NULL,".           // Bauteile betrachten/bearbeiten
            // Lagerorte-Rechte
            "`perms_storelocations` INT(3) NOT NULL,".          // Betrachten/Bearbeiten/Erstellen/Löschen/Verschieben
            "`perms_storelocations_isfull` INT(3) NOT NULL,".   // Eigenschaft, ob Lagerort voll ist
            // Footprints-Rechte
            "`perms_footprints` INT(3) NOT NULL,".              // Betrachten/Bearbeiten/Erstellen/Löschen/Verschieben 
            // Kategorien-Rechte
            "`perms_categories` INT(3) NOT NULL,".              // Betrachten/Bearbeiten/Erstellen/Löschen/Verschieben
            // Lieferanten-Rechte
            "`perms_suppliers` INT(3) NOT NULL,".               // Betrachten/Bearbeiten/Erstellen/Löschen/Verschieben
            // Attribute
            " PRIMARY KEY  (`id`)".
            ") ENGINE=MyISAM;";
            
            // Gruppe "Administratoren" anlegen
            $updateSteps[] = "INSERT INTO groups SET ".
            "id='1',".
            "name='Administratoren',".
            "parent_id='-1',".
            "comment='',".
            "dataset_devices='1',".
            "dataset_storelocs='1',".
            "dataset_footprints='1',".
            "dataset_categories='1',".
            "dataset_suppliers='1',".
            "dataset_instock='1',".
            "perms_system='255',".
            "perms_system_groups='255',".
            "perms_system_users='255',".
            "perms_system_dbupdate='255',".
            "perms_system_dbbackup='255',".
            "perms_parts='255',".
            "perms_parts_name='255',".
            "perms_parts_description='255',".
            "perms_parts_instock='255',".
            "perms_parts_mininstock='255',".
            "perms_parts_footprint='255',".
            "perms_parts_storeloc='255',".
            "perms_parts_obsolet='255',".
            "perms_parts_comment='255',".
            "perms_parts_orderdetails='255',".
            "perms_parts_prices='255',".
            "perms_parts_files='255',".
            "perms_devices='255',".
            "perms_devices_parts='255',".
            "perms_storelocations='255',".
            "perms_storelocations_isfull='255',".
            "perms_footprints='255',".
            "perms_categories='255',".
            "perms_suppliers='255';";
    
            // Benutzer "admin" anlegen
            $updateSteps[] = "INSERT INTO users SET ".
            "name='admin',".
            "password='81dc9bdb52d04dc20036dbd8313ed055',". // 1234
            "auto_login='false',".
            "session_id='',".
            "first_name='',".
            "last_name='',".
            "department='',".
            "email='',".
            "group_id='1',".
            "dataset_devices='1',".
            "dataset_storelocs='1',".
            "dataset_footprints='1',".
            "dataset_categories='1',".
            "dataset_suppliers='1',".
            "dataset_instock='1',".
            "perms_system='-1',".
            "perms_system_groups='-1',".
            "perms_system_users='-1',".
            "perms_system_dbupdate='-1',".
            "perms_system_dbbackup='-1',".
            "perms_parts='-1',".
            "perms_parts_name='-1',".
            "perms_parts_description='-1',".
            "perms_parts_instock='-1',".
            "perms_parts_mininstock='-1',".
            "perms_parts_footprint='-1',".
            "perms_parts_storeloc='-1',".
            "perms_parts_obsolet='-1',".
            "perms_parts_comment='-1',".
            "perms_parts_orderdetails='-1',".
            "perms_parts_prices='-1',".
            "perms_parts_files='-1',".
            "perms_devices='-1',".
            "perms_devices_parts='-1',".
            "perms_storelocations='-1',".
            "perms_storelocations_isfull='-1',".
            "perms_footprints='-1',".
            "perms_categories='-1',".
            "perms_suppliers='-1';";
        break;
        
?>
