From e908be80210784dda8989644fa32ed3ac23d30a8 Mon Sep 17 00:00:00 2001 From: Paolo Date: Tue, 29 Aug 2017 15:05:00 +0200 Subject: [PATCH 1/3] dbupdate_3.3.php: added foreign key tbl_phrasentext_sprache_fkey on system.tbl_phrasentext.sprache that references to public.tbl_sprache.sprache --- system/dbupdate_3.3.php | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 4faef4719..3e4f19771 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -282,25 +282,25 @@ if(!$result = @$db->db_query("SELECT 1 FROM system.tbl_udf LIMIT 1")) echo 'system.tbl_udf: '.$db->db_last_error().'
'; else echo '
system.tbl_udf table created'; - + $qry = 'COMMENT ON COLUMN system.tbl_udf.schema IS \'Schema of the table\';'; if(!$db->db_query($qry)) echo 'Adding comment to system.tbl_udf.schema: '.$db->db_last_error().'
'; else echo '
Added comment to system.tbl_udf.schema'; - + $qry = 'COMMENT ON COLUMN system.tbl_udf.table IS \'Table name\';'; if(!$db->db_query($qry)) echo 'Adding comment to system.tbl_udf.table: '.$db->db_last_error().'
'; else echo '
Added comment to system.tbl_udf.table'; - + $qry = 'COMMENT ON COLUMN system.tbl_udf.jsons IS \'JSON schema\';'; if(!$db->db_query($qry)) echo 'Adding comment to system.tbl_udf.jsons: '.$db->db_last_error().'
'; else echo '
Added comment to system.tbl_udf.jsons'; - + $qry = 'GRANT SELECT ON TABLE system.tbl_udf TO web;'; if(!$db->db_query($qry)) echo 'system.tbl_udf: '.$db->db_last_error().'
'; @@ -381,13 +381,28 @@ if(!$result = @$db->db_query("SELECT design_uid FROM public.tbl_service LIMIT 1; ALTER TABLE public.tbl_service ADD CONSTRAINT fk_tbl_service_design_uid FOREIGN KEY (design_uid) REFERENCES public.tbl_benutzer (uid) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE public.tbl_service ADD CONSTRAINT fk_tbl_service_betrieb_uid FOREIGN KEY (betrieb_uid) REFERENCES public.tbl_benutzer (uid) ON DELETE RESTRICT ON UPDATE CASCADE; ALTER TABLE public.tbl_service ADD CONSTRAINT fk_tbl_service_operativ_uid FOREIGN KEY (operativ_uid) REFERENCES public.tbl_benutzer (uid) ON DELETE RESTRICT ON UPDATE CASCADE;"; - + if(!$db->db_query($qry)) echo 'public.tbl_service: '.$db->db_last_error().'
'; else echo '
public.tbl_service: Spalten design_uid,betrieb_uid,operativ_uid hinzugefuegt!
'; } +// FOREIGN KEY tbl_phrasentext_sprache_fkey: system.tbl_phrasentext.sprache references public.tbl_sprache.sprache +if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'tbl_phrasentext_sprache_fkey'")) +{ + if ($db->db_num_rows($result) == 0) + { + error_log("ok"); + $qry = "ALTER TABLE system.tbl_phrasentext ADD CONSTRAINT tbl_phrasentext_sprache_fkey FOREIGN KEY (sprache) REFERENCES public.tbl_sprache(sprache) ON UPDATE CASCADE ON DELETE RESTRICT;"; + + if (!$db->db_query($qry)) + echo 'system.tbl_phrasentext: '.$db->db_last_error().'
'; + else + echo '
system.tbl_phrasentext: added foreign key on column sprache referenced to public.tbl_sprache(sprache)'; + } +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -726,4 +741,4 @@ if (!$result=@$db->db_query($sql_query)) } if($error==false) echo '
Gegenpruefung fehlerfrei'; -?> \ No newline at end of file +?> From fceb9a8b0942ed939ac381bd4788701df969b7a9 Mon Sep 17 00:00:00 2001 From: Paolo Date: Tue, 29 Aug 2017 15:07:26 +0200 Subject: [PATCH 2/3] Forgot an error_log in dbupdate_3.3.php :P --- system/dbupdate_3.3.php | 1 - 1 file changed, 1 deletion(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 3e4f19771..e2a904f8b 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -393,7 +393,6 @@ if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = { if ($db->db_num_rows($result) == 0) { - error_log("ok"); $qry = "ALTER TABLE system.tbl_phrasentext ADD CONSTRAINT tbl_phrasentext_sprache_fkey FOREIGN KEY (sprache) REFERENCES public.tbl_sprache(sprache) ON UPDATE CASCADE ON DELETE RESTRICT;"; if (!$db->db_query($qry)) From fc3864f7138390045ffab565b7b0d446bb5fc5e4 Mon Sep 17 00:00:00 2001 From: oesi Date: Wed, 30 Aug 2017 15:27:01 +0200 Subject: [PATCH 3/3] =?UTF-8?q?Zustelladresse=20zu=20Studierendenexport=20?= =?UTF-8?q?wieder=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../statistik/studentenexportextended.xls.php | 129 ++++++++++++++++-- 1 file changed, 114 insertions(+), 15 deletions(-) diff --git a/content/statistik/studentenexportextended.xls.php b/content/statistik/studentenexportextended.xls.php index a4c6878e5..46ab8669b 100644 --- a/content/statistik/studentenexportextended.xls.php +++ b/content/statistik/studentenexportextended.xls.php @@ -108,6 +108,18 @@ $worksheet->write($zeile, ++$i, "TITELPOST", $format_bold); $maxlength[$i] = 9; $worksheet->write($zeile, ++$i, "EMail Privat", $format_bold); $maxlength[$i] = 12; +$worksheet->write($zeile,++$i,"STRASSE", $format_bold); +$maxlength[$i]=7; +$worksheet->write($zeile-1,$i,"Zustelladresse", $format_bold); +$maxlength[$i]=14; +$worksheet->write($zeile,++$i,"PLZ", $format_bold); +$maxlength[$i]=3; +$worksheet->write($zeile,++$i,"ORT", $format_bold); +$maxlength[$i]=3; +$worksheet->write($zeile,++$i,"GEMEINDE", $format_bold); +$maxlength[$i]=9; +$worksheet->write($zeile,++$i,"NATION", $format_bold); +$maxlength[$i] = 6; $worksheet->write($zeile, ++$i, "GEBURTSDATUM", $format_bold); $maxlength[$i] = 12; $worksheet->write($zeile, ++$i, "PERSONENKENNZEICHEN", $format_bold); @@ -195,7 +207,7 @@ foreach ($ids as $id) { if ($prestudent_ids!='') $prestudent_ids .= ','; - $prestudent_ids .= "'".addslashes($id)."'"; + $prestudent_ids .= "'".$db->db_escape($id)."'"; } } @@ -283,9 +295,18 @@ function draw_content($row) //Email Privat //ZustellEmailAdresse aus der Datenbank holen und dazuhaengen - $qry_1 = "SELECT kontakt FROM public.tbl_kontakt - WHERE kontakttyp='email' AND person_id='".addslashes($row->person_id)."' AND zustellung=true - ORDER BY kontakt_id DESC LIMIT 1"; + $qry_1 = " + SELECT + kontakt + FROM + public.tbl_kontakt + WHERE + kontakttyp='email' + AND person_id=".$db->db_add_param($row->person_id)." + AND zustellung=true + ORDER BY kontakt_id DESC + LIMIT 1"; + if ($db->db_query($qry_1)) { if ($row_1 = $db->db_fetch_object()) @@ -297,6 +318,52 @@ function draw_content($row) } $i++; + //Zustelladresse + //Zustelladresse aus der Datenbank holen und dazuhaengen + $qry_1 = " + SELECT + * + FROM + public.tbl_adresse + WHERE + person_id=".$db->db_add_param($row->person_id)." + AND zustelladresse=true LIMIT 1"; + + if($result_1 = $db->db_query($qry_1)) + { + if($row_1 = $db->db_fetch_object($result_1)) + { + if(mb_strlen($row_1->strasse)>$maxlength[$i]) + $maxlength[$i]=mb_strlen($row_1->strasse); + $worksheet->write($zeile,$i, $row_1->strasse); + $i++; + + if(mb_strlen($row_1->plz)>$maxlength[$i]) + $maxlength[$i]=mb_strlen($row_1->plz); + $worksheet->writeString($zeile,$i, $row_1->plz); + $i++; + + if(mb_strlen($row_1->ort)>$maxlength[$i]) + $maxlength[$i]=mb_strlen($row_1->ort); + $worksheet->write($zeile,$i, $row_1->ort); + $i++; + + if(mb_strlen($row_1->gemeinde)>$maxlength[$i]) + $maxlength[$i]=mb_strlen($row_1->gemeinde); + $worksheet->write($zeile,$i, $row_1->gemeinde); + $i++; + + if(mb_strlen($row_1->nation)>$maxlength[$i]) + $maxlength[$i]=mb_strlen($row_1->nation); + $worksheet->write($zeile,$i, $row_1->nation); + $i++; + } + else + $i+=5; + } + else + $i+=5; + //Geburtsdatum if (mb_strlen($row->gebdatum) > $maxlength[$i]) $maxlength[$i] = mb_strlen($row->gebdatum); @@ -342,9 +409,18 @@ function draw_content($row) $worksheet->write($zeile, $i, $row->stgbez); $i++; - $qry = "SELECT tbl_studentlehrverband.semester AS semester_studiensemester, tbl_student.semester AS semester_aktuell,* FROM public.tbl_studentlehrverband JOIN public.tbl_student USING(student_uid) - WHERE prestudent_id='".addslashes($row->prestudent_id)."' - AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; + $qry = " + SELECT + tbl_studentlehrverband.semester AS semester_studiensemester, + tbl_student.semester AS semester_aktuell, + * + FROM + public.tbl_studentlehrverband + JOIN public.tbl_student USING(student_uid) + WHERE + prestudent_id=".$db->db_add_param($row->prestudent_id)." + AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz); + if ($db->db_query($qry)) { if ($row_sem = $db->db_fetch_object()) @@ -447,9 +523,16 @@ function draw_content($row) //Stati in anderen Studiengaengen $stati=''; - $qry_1 = "SELECT UPPER(typ::varchar(1) || kurzbz) as stg, get_rolle_prestudent(prestudent_id, null) as status FROM - public.tbl_prestudent JOIN public.tbl_studiengang USING(studiengang_kz) - WHERE person_id='".addslashes($row->person_id)."' AND tbl_prestudent.studiengang_kz<>'".addslashes($row->prestgkz)."'"; + $qry_1 = " + SELECT + UPPER(typ::varchar(1) || kurzbz) as stg, + get_rolle_prestudent(prestudent_id, null) as status + FROM + public.tbl_prestudent + JOIN public.tbl_studiengang USING(studiengang_kz) + WHERE + person_id=".$db->db_add_param($row->person_id)." + AND tbl_prestudent.studiengang_kz<>".$db->db_add_param($row->prestgkz); if ($db->db_query($qry_1)) { @@ -475,8 +558,17 @@ function draw_content($row) $i++; //Telefon - $qry_1 = "SELECT kontakt FROM public.tbl_kontakt - WHERE kontakttyp in('mobil','telefon','so.tel') AND person_id='".addslashes($row->person_id)."' AND zustellung=true LIMIT 1"; + $qry_1 = " + SELECT + kontakt + FROM + public.tbl_kontakt + WHERE + kontakttyp in('mobil','telefon','so.tel') + AND person_id=".$db->db_add_param($row->person_id)." + AND zustellung=true + LIMIT 1"; + if ($db->db_query($qry_1)) { if ($row_1 = $db->db_fetch_object()) @@ -490,9 +582,16 @@ function draw_content($row) //Spezialgruppen $grps=''; - $qry_1 = "SELECT gruppe_kurzbz FROM public.tbl_student JOIN public.tbl_benutzergruppe ON (student_uid=uid) - WHERE tbl_student.prestudent_id='".addslashes($row->prestudent_id)."' - AND tbl_benutzergruppe.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; + $qry_1 = " + SELECT + gruppe_kurzbz + FROM + public.tbl_student + JOIN public.tbl_benutzergruppe ON (student_uid=uid) + WHERE + tbl_student.prestudent_id=".$db->db_add_param($row->prestudent_id)." + AND tbl_benutzergruppe.studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz); + if ($db->db_query($qry_1)) { while($row_1 = $db->db_fetch_object())