Merge branch 'master' into signatur

This commit is contained in:
Andreas Österreicher
2018-04-12 18:52:16 +02:00
68 changed files with 4871 additions and 3377 deletions
Regular → Executable
+98 -4
View File
@@ -723,6 +723,20 @@ if(!@$db->db_query("SELECT ausstellungsdetails FROM public.tbl_dokument LIMIT 1"
echo '<br>Spalte ausstellungsdetails in public.tbl_dokument hinzugefügt';
}
// ADD COLUMN geschaeftsjahrvon and geschaeftsjahrbis in wawi.tbl_kostenstelle
if(!$result = @$db->db_query("SELECT geschaeftsjahrvon FROM wawi.tbl_kostenstelle LIMIT 1;"))
{
$qry = "ALTER TABLE wawi.tbl_kostenstelle ADD COLUMN geschaeftsjahrvon varchar(32);
ALTER TABLE wawi.tbl_kostenstelle ADD COLUMN geschaeftsjahrbis varchar(32);
ALTER TABLE wawi.tbl_kostenstelle ADD CONSTRAINT fk_tbl_geschaeftsjahr_geschaeftsjahrvon FOREIGN KEY (geschaeftsjahrvon) REFERENCES public.tbl_geschaeftsjahr (geschaeftsjahr_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE wawi.tbl_kostenstelle ADD CONSTRAINT fk_tbl_geschaeftsjahr_geschaeftsjahrbis FOREIGN KEY (geschaeftsjahrbis) REFERENCES public.tbl_geschaeftsjahr (geschaeftsjahr_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
";
if(!$db->db_query($qry))
echo '<strong>wawi.tbl_kostenstelle: '.$db->db_last_error().'</strong><br>';
else
echo '<br>wawi.tbl_kostenstelle: Spalten geschaeftsjahrvon, geschaeftsjahrbis hinzugefuegt!<br>';
}
//---------------------------------------------------------------------------------------------------------------------
// Start extensions
@@ -860,6 +874,7 @@ if ($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berech
// End extensions
//---------------------------------------------------------------------------------------------------------------------
// Tabellen fuer Person Log
if (!$result = @$db->db_query("SELECT 1 FROM system.tbl_log LIMIT 1"))
{
$qry = "CREATE TABLE system.tbl_log
@@ -910,6 +925,20 @@ if (!$result = @$db->db_query("SELECT 1 FROM system.tbl_log LIMIT 1"))
echo ' system.tbl_log hinzugefügt<br>';
}
// Add index to system.tbl_log
if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_log_person_id'"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "CREATE INDEX idx_tbl_log_person_id ON system.tbl_log USING btree (person_id)";
if (! $db->db_query($qry))
echo '<strong>Indizes: ' . $db->db_last_error() . '</strong><br>';
else
echo 'Index fuer system.tbl_log hinzugefuegt';
}
}
//---------------------------------------------------------------------------------------------------------------------
// Start filters
@@ -1949,6 +1978,71 @@ if ($result = $db->db_query("SELECT schema_name FROM information_schema.schemata
}
}
// Berechtigungen fuer web-user erteilen Log in public.tbl_log zu schreiben
if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_log' AND table_schema='public' AND grantee='web' AND privilege_type='INSERT'"))
{
if($db->db_num_rows($result)==0)
{
$qry = "GRANT SELECT, INSERT ON public.tbl_log TO web;
";
if(!$db->db_query($qry))
echo '<strong>Log Berechtigungen: '.$db->db_last_error().'</strong><br>';
else
echo '<br>Web User Insert fuer public.tbl_log berechtigt';
}
}
// ADD COLUMN oe_kurzbz AND berechtigung_kurzbz to campus.tbl_dms_kategorie
if(!@$db->db_query("SELECT oe_kurzbz FROM campus.tbl_dms_kategorie LIMIT 1"))
{
$qry = "ALTER TABLE campus.tbl_dms_kategorie ADD COLUMN oe_kurzbz varchar(32);
ALTER TABLE campus.tbl_dms_kategorie ADD COLUMN berechtigung_kurzbz varchar(32);
ALTER TABLE campus.tbl_dms_kategorie ADD CONSTRAINT fk_dms_kategorie_oe_kurzbz FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;
ALTER TABLE campus.tbl_dms_kategorie ADD CONSTRAINT fk_dms_kategorie_berechtigung_kurzbz FOREIGN KEY (berechtigung_kurzbz) REFERENCES system.tbl_berechtigung(berechtigung_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;
";
if(!$db->db_query($qry))
echo '<strong>campus.tbl_dms_kategorie '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte oe_kurzbz und berechtigung_kurzbz in campus.tbl_dms_kategorie hinzugefügt';
}
// ADD COLUMN cis_suche (boolean) AND schlagworte to campus.tbl_dms_version
if(!@$db->db_query("SELECT cis_suche FROM campus.tbl_dms_version LIMIT 1"))
{
$qry = "ALTER TABLE campus.tbl_dms_version ADD COLUMN cis_suche boolean NOT NULL DEFAULT false;
ALTER TABLE campus.tbl_dms_version ADD COLUMN schlagworte text;
COMMENT ON COLUMN campus.tbl_dms_version.schlagworte IS 'Semicolon-separated string with keywords for CIS-search';
UPDATE campus.tbl_dms_version SET cis_suche=true WHERE beschreibung != '';
UPDATE campus.tbl_dms_version SET schlagworte=beschreibung WHERE beschreibung != '';
";
if(!$db->db_query($qry))
echo '<strong>campus.tbl_dms_version '.$db->db_last_error().'</strong><br>';
else
echo ' <br>Spalte cis_suche und schlagworte in campus.tbl_dms_version hinzugefügt.
<br><b>Alle DMS-Einträge mit befülltem Beschreibungstext wurden auf cis_suche=true gesetzt</b>
<br><b>Bei allen DMS-Einträge mit befülltem Beschreibungstext, wurde dieser in die Spalte schlagworte übernommen</b>';
}
// Remove NOT NULL constraint on matrikelnr on public.tbl_student
if($result = @$db->db_query("SELECT is_nullable FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'public' AND TABLE_NAME = 'tbl_student' AND COLUMN_NAME = 'matrikelnr' AND is_nullable = 'NO'"))
{
if($db->db_num_rows($result) > 0)
{
$qry = "ALTER TABLE public.tbl_student ALTER COLUMN matrikelnr DROP NOT NULL;";
if(!$db->db_query($qry))
echo '<strong>public.tbl_student '.$db->db_last_error().'</strong><br>';
else
echo '<br>Removed NOT NULL constraint on "matrikelnr" from public.tbl_student<br>';
}
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -2001,9 +2095,9 @@ $tabellen=array(
"campus.tbl_coodle_ressource_termin" => array("coodle_ressource_id","coodle_termin_id","insertamum","insertvon"),
"campus.tbl_coodle_status" => array("coodle_status_kurzbz","bezeichnung"),
"campus.tbl_dms" => array("dms_id","oe_kurzbz","dokument_kurzbz","kategorie_kurzbz"),
"campus.tbl_dms_kategorie" => array("kategorie_kurzbz","bezeichnung","beschreibung","parent_kategorie_kurzbz"),
"campus.tbl_dms_kategorie" => array("kategorie_kurzbz","bezeichnung","beschreibung","parent_kategorie_kurzbz","oe_kurzbz","berechtigung_kurzbz"),
"campus.tbl_dms_kategorie_gruppe" => array("kategorie_kurzbz","gruppe_kurzbz","insertamum","insertvon"),
"campus.tbl_dms_version" => array("dms_id","version","filename","mimetype","name","beschreibung","letzterzugriff","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_dms_version" => array("dms_id","version","filename","mimetype","name","beschreibung","letzterzugriff","updateamum","updatevon","insertamum","insertvon","cis_suche","schlagworte"),
"campus.tbl_erreichbarkeit" => array("erreichbarkeit_kurzbz","beschreibung","farbe"),
"campus.tbl_feedback" => array("feedback_id","betreff","text","datum","uid","lehrveranstaltung_id","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_freebusy" => array("freebusy_id","uid","freebusytyp_kurzbz","url","aktiv","bezeichnung","insertamum","insertvon","updateamum","updatevon"),
@@ -2219,7 +2313,7 @@ $tabellen=array(
"wawi.tbl_zahlungstyp" => array("zahlungstyp_kurzbz","bezeichnung"),
"wawi.tbl_konto" => array("konto_id","kontonr","beschreibung","kurzbz","aktiv","person_id","insertamum","insertvon","updateamum","updatevon","ext_id","person_id"),
"wawi.tbl_konto_kostenstelle" => array("konto_id","kostenstelle_id","insertamum","insertvon"),
"wawi.tbl_kostenstelle" => array("kostenstelle_id","oe_kurzbz","bezeichnung","kurzbz","aktiv","insertamum","insertvon","updateamum","updatevon","ext_id","kostenstelle_nr","deaktiviertvon","deaktiviertamum"),
"wawi.tbl_kostenstelle" => array("kostenstelle_id","oe_kurzbz","bezeichnung","kurzbz","aktiv","insertamum","insertvon","updateamum","updatevon","ext_id","kostenstelle_nr","deaktiviertvon","deaktiviertamum", "geschaeftsjahrvon", "geschaeftsjahrbis"),
"wawi.tbl_bestellungtag" => array("tag","bestellung_id","insertamum","insertvon"),
"wawi.tbl_bestelldetailtag" => array("tag","bestelldetail_id","insertamum","insertvon"),
"wawi.tbl_projekt_bestellung" => array("projekt_kurzbz","bestellung_id","anteil"),
@@ -2256,7 +2350,7 @@ foreach ($tabellen AS $attribute)
echo '<H2>Gegenpruefung!</H2>';
$error=false;
$sql_query="SELECT schemaname,tablename FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema' AND schemaname != 'sync' AND schemaname != 'addon' AND schemaname != 'reports';";
$sql_query="SELECT schemaname,tablename FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema' AND schemaname != 'sync' AND schemaname != 'addon' AND schemaname != 'reports' AND schemaname != 'extension';";
if (!$result=@$db->db_query($sql_query))
echo '<BR><strong>'.$db->db_last_error().' </strong><BR>';
else