diff --git a/application/controllers/DBTools.php b/application/controllers/DBTools.php
deleted file mode 100644
index 1330c7ac8..000000000
--- a/application/controllers/DBTools.php
+++ /dev/null
@@ -1,591 +0,0 @@
-seed_path = APPPATH.'seeds/';
-
- if ($this->input->is_cli_request())
- {
- $cli = true;
-
- $this->load->database('system'); //Use the system-Connection for DB-Manipulation
- $this->config->load('migration');
- $this->load->library('migration');
-
- // If not set, set it
- $this->seed_path !== '' OR $this->seed_path = APPPATH.'seeds/';
- // Add trailing slash if not set
- $this->seed_path = rtrim($this->seed_path, '/').'/';
-
- // Load seed language
- $this->lang->load('seed');
-
- // initiate faker
- $this->faker = \Faker\Factory::create();
-
- }
- else
- {
- $this->output->set_status_header(403, 'Migrations must be run from the CLI');
- echo "Migrations must be run from the CLI";
- exit;
- }
- }
-
- /**
- * Main function index as help
- *
- * @return void
- */
- public function index()
- {
- $result = "The following are the available command line interface commands\n\n";
- $result .= "php index.ci.php DBTools migrate [\"version_number\"] Run migrations. (latest/current) ";
- $result .= "The version number is optional.\n";
- $result .= "php index.ci.php DBTools seed [\"file_name\"] Run the specified seed (Name of Seed. expl: 'Organisation').\n";
-
- echo $result.PHP_EOL;
- }
-
- /**
- * Migrate to latest or current version
- *
- * @param string $version [optional] One of either "latest" or "current"
- * @return void
- */
- public function migrate($version = 'latest')
- {
- echo 'DB-Migration';
- if ($version != 'latest' && $version != 'current')
- {
- $this->__failed('Migration version must be either latest or current');
- }
- elseif ($this->cli && !$this->migration->$version())
- {
- show_error($this->migration->error_string());
- }
- elseif (!$this->migration->$version())
- {
- $this->__failed();
- }
-
- $this->__succeeded();
- }
-
-
- /**
- * Migrate to a specific version
- *
- * @return void
- */
- public function version()
- {
- if ($version == 'latest' || $version == 'current')
- {
- $this->index($version);
- exit;
- }
-
- if (!$this->migrate->version($version))
- {
- $this->__failed();
- }
-
- $this->__succeeded();
- }
-
- /**
- * Roll-back to the last version before current
- *
- * @param int $version The migration to rollback to, defaults to previous
- * @return void
- */
- public function rollback($version = null)
- {
- if (is_null($version))
- {
- $version = $this->__getVersion() ?: 1;
- $version--;
- }
-
- // Check it's definitely false, we could be rolling back to v0
- if (false === $this->migration->version($version))
- {
- $this->__failed();
- }
-
- $this->__succeeded('rolled back');
- }
-
- /**
- * ROLLBACK ALL THE THINGS!
- *
- * @return void
- */
- public function uninstall()
- {
- $this->rollback(0);
- }
-
- /**
- * Seeds DB with Testdata
- *
- * @param string $name Name of the seed file.
- * @return bool
- */
- public function seed($name = null)
- {
- $seeds = $this->findSeeds();
-
- if (empty($seeds))
- {
- $this->_error_string = $this->lang->line('seed_none_found');
- return false;
- }
-
- $method = 'seed';
- $pending = array();
-
-
- foreach ($seeds as $number => $file)
- {
- include_once($file);
- $class = 'Seed_'.ucfirst(strtolower($this->_getSeedName(basename($file, '.php'))));
-
- // Validate the seed file structure
- if (! class_exists($class, false))
- {
- $this->_error_string = sprintf($this->lang->line('seed_class_doesnt_exist'), $class);
- return false;
- }
- // method_exists() returns true for non-public methods,
- // while is_callable() can't be used without instantiating.
- // Only get_class_methods() satisfies both conditions.
- elseif (! in_array($method, array_map('strtolower', get_class_methods($class))))
- {
- $this->_error_string = sprintf($this->lang->line('seed_missing_'.$method.'_method'), $class);
- return false;
- }
-
- $pending[$number] = array($class, $method);
- }
-
- // Now just run the necessary seeds
- foreach ($pending as $number => $seed)
- {
- if (is_null($name))
- {
- log_message('debug', 'Seeding '.$method);
-
- $seed[0] = new $seed[0];
- call_user_func($seed);
- }
- elseif ($seed[0] == 'Seed_'.$name)
- {
- log_message('debug', 'Seeding '.$method);
-
- $seed[0] = new $seed[0];
- call_user_func($seed);
- }
- }
- }
-
- /**
- * Retrieves list of available seed files
- *
- * @return array list of seed file paths sorted by version
- */
- public function findSeeds()
- {
- $seeds = array();
-
- // Load all *_*.php files in the seeds path
- foreach (glob($this->seed_path.'*_*.php') as $file)
- {
- $name = basename($file, '.php');
-
- // Filter out non-seed files
- if (preg_match($this->seed_regex, $name))
- {
- $number = $this->_getSeedNumber($name);
-
- // There cannot be duplicate seed numbers
- if (isset($seeds[$number]))
- {
- $this->_error_string = sprintf($this->lang->line('seed_multiple_version'), $number);
- show_error($this->_error_string);
- }
-
- $seeds[$number] = $file;
- }
- }
-
- ksort($seeds);
- return $seeds;
- }
-
-/**
- * Truncate DB from Testdata
- *
- * @param string $name Name of the seed file.
- * @return bool
- */
- public function truncate($name)
- {
- $seeds = $this->findSeeds();
-
- if (empty($name))
- {
- $this->_error_string = $this->lang->line('seed_none_found');
- return false;
- }
-
- $method = 'truncate';
- $pending = array();
-
-
- foreach ($seeds as $number => $file)
- {
- include_once($file);
- $class = 'Seed_'.ucfirst(strtolower($this->_getSeedName(basename($file, '.php'))));
-
- // Validate the seed file structure
- if (! class_exists($class, false))
- {
- $this->_error_string = sprintf($this->lang->line('seed_class_doesnt_exist'), $class);
- return false;
- }
- // method_exists() returns true for non-public methods,
- // while is_callable() can't be used without instantiating.
- // Only get_class_methods() satisfies both conditions.
- elseif (! in_array($method, array_map('strtolower', get_class_methods($class))))
- {
- $this->_error_string = sprintf($this->lang->line('seed_missing_'.$method.'_method'), $class);
- return false;
- }
-
- $pending[$number] = array($class, $method);
- }
-
- // Now just run the necessary seeds
- foreach ($pending as $number => $seed)
- {
- if (is_null($name))
- {
- log_message('debug', 'Seeding '.$method);
-
- $seed[0] = new $seed[0];
- call_user_func($seed);
- }
- elseif ($seed[0] == 'Seed_'.$name)
- {
- log_message('debug', 'Seeding '.$method);
-
- $seed[0] = new $seed[0];
- call_user_func($seed);
- }
- }
- }
- /**
- * Extracts the seed number from a filename
- *
- * @param string $seed Filename of the seed.
- * @return string Numeric portion of a seed filename
- */
- protected function _getSeedNumber($seed)
- {
- return sscanf($seed, '%[0-9]+', $number)
- ? $number : '0';
- }
- /**
- * Extracts the seed class name from a filename
- *
- * @param string $seed Filename of the seed.
- * @return string text portion of a migration filename
- */
- protected function _getSeedName($seed)
- {
- $parts = explode('_', $seed);
- array_shift($parts);
- return implode('_', $parts);
- }
-
- /**
- * Yay, it worked! Tell the user.
- *
- * @param string $task What did we just do? We...
- * @return void
- */
- private function __succeeded($task = 'migrated')
- {
- $version = $this->__getVersion();
- exit('Successfully '.$task.' to version '.$version);
- }
-
- /**
- * Output an error message when it all goes tits up
- *
- * @param string $message Error to output (default to CI's migration error)
- * @return void
- */
- private function __failed($message = null)
- {
- $message = $message ?: $this->migration->error_string();
- show_error($message);
- }
-
- /**
- * Carbon copy of parent::__getVersion, but that's protected.
- *
- * @return int Currently installed migration number
- */
- private function __getVersion()
- {
- $row = $this->db->get($this->config->item('migration_table'))->row();
- return $row ? $row->version : 0;
- }
-
- /**
- * Check DB for different things like permissions or roles
- *
- * @param string $action What to check.
- * @return void
- */
- public function check($action = 'schema')
- {
- echo 'DB-Check';
- switch ($action)
- {
- // **** Permission ****
- // ToDo: Check Persmissions in the bottom of this file
- case 'permissions':
- echo ' Permissions!';
- //$this->config->load('roles');
- foreach ($this->config->item('fhc_acl') as $b)
- {
- $qry = "SELECT * FROM system.tbl_berechtigung
- WHERE berechtigung_kurzbz='".$b."';";
-
- if($result = $this->db->query($qry))
- {
- if($result->num_rows($result)==0)
- {
- // Nicht vorhanden -> anlegen
- $qry_insert="INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz) VALUES('".$b."');";
-
- if($this->db->query($qry_insert))
- {
- echo '
Recht '.$b.' hinzugefügt';
- $neue=true;
- }
- else
- echo '
Fehler: Recht '.$b.' hinzufügen nicht möglich';
- }
- else
- echo "- $b -";
- }
- }
- break;
- // **** Roles ****
- case 'roles':
- echo ' Roles!';
- $this->config->load('roles');
- foreach ($this->config->item('roles') as $role)
- {
- echo "\n\n".'Check role '.$role['rolle_kurzbz'];
- $qry = "SELECT * FROM system.tbl_rolle
- WHERE rolle_kurzbz='".$role['rolle_kurzbz']."';";
-
- if($result = $this->db->query($qry))
- {
- if($result->num_rows($result)==0)
- {
- // Nicht vorhanden -> anlegen
- $qry_insert="INSERT INTO system.tbl_rolle(rolle_kurzbz, beschreibung) VALUES ('".$role['rolle_kurzbz']."','".$role['rolle_kurzbz']."');";
-
- if($this->db->query($qry_insert))
- {
- echo "\nRolle ".$role['rolle_kurzbz'].' hinzugefügt';
- $neue=true;
- }
- else
- {
- echo "\nFehler: ".$role['rolle_kurzbz'].' Rolle hinzufügen nicht möglich';
- continue;
- }
- }
- }
-
- foreach ($role['berechtigung'] as $b)
- {
- $qry = "SELECT * FROM system.tbl_rolleberechtigung
- WHERE rolle_kurzbz='".$role['rolle_kurzbz']."'
- AND berechtigung_kurzbz='".$b."';";
-
- if($result = $this->db->query($qry))
- {
- if($result->num_rows($result)==0)
- {
- // Nicht vorhanden -> anlegen
- $qry_insert="INSERT INTO system.tbl_rolleberechtigung (rolle_kurzbz, berechtigung_kurzbz, art) VALUES ('".$role['rolle_kurzbz']."','".$b."', 'suid');";
-
- if($this->db->query($qry_insert))
- {
- echo "\n".$role['rolle_kurzbz'].' -> '.$b.' hinzugefügt';
- $neue=true;
- }
- else
- echo "\nFehler: ".$role['rolle_kurzbz'].' -> '.$b.' hinzufügen nicht möglich';
- }
- else
- echo "\n- $b -";
- }
- }
- }
- break;
- // **** Default ****
- default: echo ' what? roles or permisssions?';
- exit();
- }
-
- exit('Succesfully checked!');
- }
-
- /**
- * Create User in DB
- *
- * @param string $action What to check.
- * @return void
- */
- public function createadminuser($uid, $person_id = 1)
- {
- echo 'Create User!';
- $qry = "SELECT * FROM public.tbl_benutzer
- WHERE uid='".$uid."';";
- if ($result = $this->db->query($qry))
- {
- if ($result->num_rows($result)==0)
- {
- // Nicht vorhanden -> anlegen
- $qry_insert="INSERT INTO public.tbl_benutzer (uid, person_id) VALUES('".$uid."', ".$person_id.");";
- if($this->db->query($qry_insert))
- echo '
User '.$uid.' angelegt';
- else
- echo '
Fehler: User '.$uid.' anlegen nicht möglich!';
- // Join Role Admin
- $qry_insert="INSERT INTO system.tbl_benutzerrolle (rolle_kurzbz, uid) VALUES('admin','".$uid."');";
- if($this->db->query($qry_insert))
- echo '
Rolle Admin für User '.$uid.' hinzugefügt';
- else
- echo '
Rolle Admin hinzufügen für User '.$b.' hinzufügen nicht möglich';
- }
- }
-
- exit('Succesfully created User!');
- }
-}
-
-/* Check also this permissions:
-basis/fhausweis -> Verwaltungstools für FH Ausweis – Kartentausch, Bildpruefung, Druck hinzugefügt
-buchung/typen -> Verwaltung von Buchungstypen hinzugefügt
-buchung/mitarbeiter -> Verwaltung von Buchungen fuer Mitarbeiter hinzugefügt
-inout/incoming -> Incomingverwaltung hinzugefügt
-inout/outgoing -> Outgoingverwaltung hinzugefügt
-inout/uebersicht -> Verbandsanzeige fuer Incoming/Outgoing im FAS hinzugefügt
-lehre/lehrfach:begrenzt -> Lehrfachverwaltung - nur aktiv aenderbar, nur aktive LF werden angezeigt hinzugefügt
-lehre/pruefungsanmeldungAdmin -> Erlaubt die Verwaltung der Prüfungsanmeldungen. hinzugefügt
-lehre/pruefungsbeurteilung -> Erlaubt dem Benutzer Beurteilungen zu Prüfungen einzutragen. hinzugefügt
-lehre/pruefungsbeurteilungAdmin -> Erlaubt dem Benutzer für alle Prüfungen Beurteilungen einzutragen. hinzugefügt
-lehre/pruefungsterminAdmin -> Recht für jeden Lektor eine Prüfung anzulegen hinzugefügt
-lehre/pruefungsfenster -> Erlaubt dem Benutzer Prüfungsfenster anzulegen. hinzugefügt
-lv-plan/gruppenentfernen -> Erlaut das Entfernen von Gruppen aus LVPlan vom FAS aus hinzugefügt
-lv-plan/lektorentfernen -> Erlaut das Entfernen von Lektoren aus LVPlan vom FAS aus hinzugefügt
-mitarbeiter/bankdaten -> Bankdaten für Mitarbeiter und Studierende anzeigen hinzugefügt
-mitarbeiter/personalnummer -> Editieren der Personalnummer im FAS hinzugefügt
-mitarbeiter/urlaube -> Mit diesem Recht werden im CIS die Urlaube von allen Mitarbeiter sichtbar hinzugefügt
-planner -> Planner Verwaltung hinzugefügt
-reihungstest -> Recht für Anzeige des Reihungstests im Vilesci hinzugefügt
-sdTools -> Recht für Anzeige der SD-Tools im Vilesci hinzugefügt
-soap/lv -> Recht für LV Webservice hinzugefügt
-soap/lvplan -> Recht für LV-Plan Webservice hinzugefügt
-soap/mitarbeiter -> Recht für Mitarbeiter-Webservice hinzugefügt
-soap/ort -> Recht für Ort Webservice hinzugefügt
-soap/pruefungsfenster -> Recht für Pruefungsfenster Webservice hinzugefügt
-soap/student -> Recht für Student Webservice hinzugefügt
-soap/studienordnung -> Recht für Studienordnung Webservice hinzugefügt
-soap/benutzer -> Berechtigung für Bentutzerabfrage Addon Kontoimport hinzugefügt
-soap/buchungen -> Berechtigung für Buchungsabfrage Addon Kontoimport hinzugefügt
-student/bankdaten -> Bankdaten des Studenten hinzugefügt
-student/anrechnung -> Anrechnungen des Studenten hinzugefügt
-student/anwesenheit -> Anwesenheiten im FAS hinzugefügt
-system/developer -> Anzeige zusätzlicher Developerinfos hinzugefügt
-system/loginasuser -> Berechtigung zum Einloggen als anderer User hinzugefügt
-vertrag/mitarbeiter -> Verwalten von Vertraegen hinzugefügt
-vertrag/typen -> Verwalten von Vertragstypen hinzugefügt
-wawi/berichte -> Alle Berichte anzeigen hinzugefügt
-wawi/delete_advanced -> Loeschen von freigegebenen Bestellungen hinzugefügt
-Webservice Berechtigungen pruefen
-
-soap/studienordnung/load_lva_oe->lehrveranstaltung hinzugefügt
-soap/studienordnung/load->lehrveranstaltung hinzugefügt
-soap/studienordnung/deleteStudienplanLehrveranstaltung->studienplan hinzugefügt
-soap/studienordnung/containsLehrveranstaltung->studienplan hinzugefügt
-soap/studienordnung/loadStudienplanLehrveranstaltung->studienplan hinzugefügt
-soap/studienordnung/saveStudienplanLehrveranstaltung->studienplan hinzugefügt
-soap/studienordnung/loadStudienordnung->studienordnung hinzugefügt
-soap/studienordnung/delete->lvregel hinzugefügt
-soap/studienordnung/save->lvregel hinzugefügt
-soap/studienordnung/load->lvregel hinzugefügt
-soap/studienordnung/loadLVRegelTypen->lvregel hinzugefügt
-soap/studienordnung/load_lva->lehrveranstaltung hinzugefügt
-soap/studienordnung/getAll->lehrtyp hinzugefügt
-soap/studienordnung/getAll->organisationseinheit hinzugefügt
-soap/studienordnung/getLVRegelTree->lvregel hinzugefügt
-soap/studienordnung/save->studienplan hinzugefügt
-soap/studienordnung/save->studienordnung hinzugefügt
-soap/studienordnung/loadStudienplanSTO->studienplan hinzugefügt
-soap/studienordnung/loadStudienordnungSTG->studienordnung hinzugefügt
-soap/studienordnung/loadStudienordnungSTGInaktiv->studienordnung hinzugefügt
-soap/studienordnung/loadStudienplan->studienplan hinzugefügt
-soap/studienordnung/saveSemesterZuordnung->studienordnung hinzugefügt
-soap/studienordnung/deleteSemesterZuordnung->studienordnung hinzugefügt
-soap/studienordnung/getLVkompatibel->lehrveranstaltung hinzugefügt
-soap/studienordnung/getLvTree->lehrveranstaltung hinzugefügt
-soap/pruefungsfenster/getByStudiensemester->pruefungsfenster hinzugefügt
-soap/studienordnung/exists->lvregel hinzugefügt
-soap/studienordnung/saveSortierung->studienplan hinzugefügt
-soap/benutzer/search->benutzer hinzugefügt
-soap/buchungen/getBuchungen-> */
diff --git a/application/core/FHC_Model.php b/application/core/FHC_Model.php
deleted file mode 100644
index e31ff332d..000000000
--- a/application/core/FHC_Model.php
+++ /dev/null
@@ -1,18 +0,0 @@
-lang->load('fhc_model');
- $this->lang->load('fhcomplete');
- }
-}