From aa2597d8b59abc25131d8eb1dfd308ef6e910b7b Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 17 May 2019 14:37:24 +0200 Subject: [PATCH 01/11] Add column Stufe to tbl_dokumentstudiengang --- system/dbupdate_3.3.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 7b16bb880..6d79d4f56 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -2911,6 +2911,17 @@ if(!$result = @$db->db_query("SELECT nationengruppe_kurzbz FROM public.tbl_bewer echo '
public.tbl_bewerbungstermine: Spalte nationengruppe_kurzbz hinzugefuegt'; } +// Add column Stufe to tbl_dokumentstudiengang +if(!$result = @$db->db_query("SELECT stufe FROM public.tbl_dokumentstudiengang LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_dokumentstudiengang ADD COLUMN stufe smallint;"; + + if(!$db->db_query($qry)) + echo 'public.tbl_dokumentstudiengang: '.$db->db_last_error().'
'; + else + echo '
public.tbl_dokumentstudiengang: Spalte stufe hinzugefuegt'; +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen @@ -3074,7 +3085,7 @@ $tabellen=array( "public.tbl_buchungstyp" => array("buchungstyp_kurzbz","beschreibung","standardbetrag","standardtext","aktiv","credit_points"), "public.tbl_dokument" => array("dokument_kurzbz","bezeichnung","ext_id","bezeichnung_mehrsprachig","dokumentbeschreibung_mehrsprachig","ausstellungsdetails"), "public.tbl_dokumentprestudent" => array("dokument_kurzbz","prestudent_id","mitarbeiter_uid","datum","updateamum","updatevon","insertamum","insertvon","ext_id"), - "public.tbl_dokumentstudiengang" => array("dokument_kurzbz","studiengang_kz","ext_id", "onlinebewerbung", "pflicht","beschreibung_mehrsprachig","nachreichbar"), + "public.tbl_dokumentstudiengang" => array("dokument_kurzbz","studiengang_kz","ext_id", "onlinebewerbung", "pflicht","beschreibung_mehrsprachig","nachreichbar","stufe"), "public.tbl_erhalter" => array("erhalter_kz","kurzbz","bezeichnung","dvr","logo","zvr"), "public.tbl_fachbereich" => array("fachbereich_kurzbz","bezeichnung","farbe","studiengang_kz","aktiv","ext_id","oe_kurzbz"), "public.tbl_filter" => array("filter_id","kurzbz","sql","valuename","showvalue","insertamum","insertvon","updateamum","updatevon","type","htmlattr", "bezeichnung"), From 8e83de0672092d3e849988b1a1a07b8526221055 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 17 May 2019 14:43:21 +0200 Subject: [PATCH 02/11] Column Stufe in Class and studiengang_dokumente --- include/dokument.class.php | 13 ++++++++++--- vilesci/stammdaten/studiengang_dokumente.php | 7 +++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/include/dokument.class.php b/include/dokument.class.php index 05497f744..4040c7a4a 100644 --- a/include/dokument.class.php +++ b/include/dokument.class.php @@ -36,6 +36,7 @@ class dokument extends basis_db public $bezeichnung_mehrsprachig; public $dokumentbeschreibung_mehrsprachig; public $ausstellungsdetails = false; + public $stufe; public $prestudent_id; public $mitarbeiter_uid; @@ -428,6 +429,7 @@ class dokument extends basis_db $dok->nachreichbar = $this->db_parse_bool($row->nachreichbar); $dok->onlinebewerbung = $this->db_parse_bool($row->onlinebewerbung); $dok->ausstellungsdetails = $this->db_parse_bool($row->ausstellungsdetails); + $dok->stufe = $row->stufe; $this->result[] = $dok; } return true; @@ -467,6 +469,7 @@ class dokument extends basis_db $dok->nachreichbar = $this->db_parse_bool($row->nachreichbar); $dok->onlinebewerbung = $this->db_parse_bool($row->onlinebewerbung); $dok->ausstellungsdetails = $this->db_parse_bool($row->ausstellungsdetails); + $dok->stufe = $row->stufe; $this->result[] = $dok; } @@ -545,6 +548,7 @@ class dokument extends basis_db $this->pflicht = $this->db_parse_bool($row->pflicht); $this->nachreichbar = $this->db_parse_bool($row->nachreichbar); $this->beschreibung_mehrsprachig = $sprache->parseSprachResult('beschreibung_mehrsprachig',$row); + $this->stufe = $row->stufe; return true; } else @@ -605,7 +609,7 @@ class dokument extends basis_db $qry.=" beschreibung_mehrsprachig[$idx],"; } - $qry.=' pflicht, nachreichbar, onlinebewerbung) + $qry.=' pflicht, nachreichbar, onlinebewerbung, stufe) VALUES ('. $this->db_add_param($this->dokument_kurzbz).','. $this->db_add_param($this->studiengang_kz,FHC_INTEGER).','; @@ -615,7 +619,8 @@ class dokument extends basis_db $qry.= $this->db_add_param($this->pflicht,FHC_BOOLEAN).','. $this->db_add_param($this->nachreichbar,FHC_BOOLEAN).','. - $this->db_add_param($this->onlinebewerbung,FHC_BOOLEAN).')'; + $this->db_add_param($this->onlinebewerbung,FHC_BOOLEAN).','. + $this->db_add_param($this->stufe,FHC_INTEGER).')'; } else { @@ -628,7 +633,8 @@ class dokument extends basis_db $qry.=" beschreibung_mehrsprachig[$idx]=".$this->db_add_param($value).","; } $qry.=' pflicht='.$this->db_add_param($this->pflicht, FHC_BOOLEAN).', - nachreichbar='.$this->db_add_param($this->nachreichbar, FHC_BOOLEAN).' + nachreichbar='.$this->db_add_param($this->nachreichbar, FHC_BOOLEAN).', + stufe='.$this->db_add_param($this->stufe, FHC_INTEGER).' WHERE dokument_kurzbz='.$this->db_add_param($this->dokument_kurzbz).' AND studiengang_kz='.$this->db_add_param($this->studiengang_kz); @@ -714,6 +720,7 @@ class dokument extends basis_db $dok->dokumentbeschreibung_mehrsprachig = $sprache->parseSprachResult('dokumentbeschreibung_mehrsprachig', $row); $dok->beschreibung_mehrsprachig = $sprache->parseSprachResult('beschreibung_mehrsprachig', $row); $dok->ausstellungsdetails = $this->db_parse_bool($row->ausstellungsdetails); + $dok->stufe = $row->stufe; $this->result[] = $dok; } diff --git a/vilesci/stammdaten/studiengang_dokumente.php b/vilesci/stammdaten/studiengang_dokumente.php index 898ace746..fd392a928 100644 --- a/vilesci/stammdaten/studiengang_dokumente.php +++ b/vilesci/stammdaten/studiengang_dokumente.php @@ -34,6 +34,7 @@ $dokument_kurzbz = isset($_REQUEST['dokument_kurzbz']) ? $_REQUEST['dokument_kur $onlinebewerbung = isset($_REQUEST['onlinebewerbung']); $pflicht = isset($_POST['pflicht']); $nachreichbar = isset($_POST['nachreichbar']); +$stufe = isset($_REQUEST['stufe']) ? $_REQUEST['stufe'] : ''; $sprache = new sprache(); $sprache->getAll(true, 'index'); @@ -64,6 +65,7 @@ if($action == 'add') $dokument->onlinebewerbung = $onlinebewerbung; $dokument->pflicht = $pflicht; $dokument->nachreichbar = $nachreichbar; + $dokument->stufe = $stufe; $beschreibung_mehrsprachig = array(); foreach($sprache->result as $row_sprache) @@ -453,6 +455,7 @@ else echo' Online-Bewerbung Pflicht Nachreichbar + Stufe '; } echo' @@ -491,6 +494,7 @@ else echo' + '.$dok->stufe.' '; if($rechte->isBerechtigt('assistenz', $stg_kz, 'su')) echo ''; @@ -546,6 +550,9 @@ else nachreichbar?'checked="checked"':'').'> + + + '; From cd54b90b31714ba6e52b69bf7ff8a3a2a4bd87fb Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Tue, 25 Jun 2019 11:24:58 +0200 Subject: [PATCH 03/11] Spalte stufe in function getStudiengaengeDokument --- include/dokument.class.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/dokument.class.php b/include/dokument.class.php index ac0108f4b..164c9e54f 100644 --- a/include/dokument.class.php +++ b/include/dokument.class.php @@ -845,7 +845,8 @@ class dokument extends basis_db */ public function getStudiengaengeDokument($dokument_kurzbz, $person_id = null) { - $qry = " SELECT DISTINCT studiengang_kz,typ||kurzbz AS kuerzel, bezeichnung, english FROM public.tbl_dokumentstudiengang + $qry = " SELECT DISTINCT studiengang_kz,typ||kurzbz AS kuerzel, bezeichnung, english , stufe + FROM public.tbl_dokumentstudiengang JOIN public.tbl_prestudent USING (studiengang_kz) JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_studiengang USING (studiengang_kz) @@ -866,6 +867,7 @@ class dokument extends basis_db $stg_obj->kuerzel = $row->kuerzel; $stg_obj->bezeichnung = $row->bezeichnung; $stg_obj->studiengang_kz = $row->studiengang_kz; + $stg_obj->stufe = $row->stufe; $this->result[] = $stg_obj; } From d333555d06ce7ffc13f51f55c3e9920c2ce21350 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 28 Jun 2019 15:58:18 +0200 Subject: [PATCH 04/11] Added Stufe to Function getStudiengaengeDokument --- include/dokument.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/dokument.class.php b/include/dokument.class.php index 164c9e54f..7585bc38b 100644 --- a/include/dokument.class.php +++ b/include/dokument.class.php @@ -845,7 +845,7 @@ class dokument extends basis_db */ public function getStudiengaengeDokument($dokument_kurzbz, $person_id = null) { - $qry = " SELECT DISTINCT studiengang_kz,typ||kurzbz AS kuerzel, bezeichnung, english , stufe + $qry = " SELECT DISTINCT studiengang_kz,typ||kurzbz AS kuerzel, bezeichnung, english, stufe FROM public.tbl_dokumentstudiengang JOIN public.tbl_prestudent USING (studiengang_kz) JOIN public.tbl_prestudentstatus USING (prestudent_id) From 651bbb681baf35856e1b6cf7a025c3f0c8d03b66 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Mon, 8 Jul 2019 17:03:28 +0200 Subject: [PATCH 05/11] =?UTF-8?q?=C3=84ndern=20der=20Stufe=20per=20Ajax?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/stammdaten/studiengang_dokumente.php | 85 +++++++++++++++++++- 1 file changed, 83 insertions(+), 2 deletions(-) diff --git a/vilesci/stammdaten/studiengang_dokumente.php b/vilesci/stammdaten/studiengang_dokumente.php index fd392a928..57768558c 100644 --- a/vilesci/stammdaten/studiengang_dokumente.php +++ b/vilesci/stammdaten/studiengang_dokumente.php @@ -130,6 +130,44 @@ if($action === 'togglepflicht') } } +// Ändern der Stufe per Ajax +$changeStufe = filter_input(INPUT_POST, 'changeStufe', FILTER_VALIDATE_BOOLEAN); +if ($changeStufe && isset($_POST['stufe']) && isset($_POST['studiengang_kz'])) +{ + if (!$stufe = filter_input(INPUT_POST, 'stufe', FILTER_VALIDATE_INT)) + { + echo json_encode(array( + 'status' => 'fehler', + 'msg' => '"'.$_POST['stufe'].'" ist kein gültiger Wert für die Stufe' + )); + exit(); + } + + $studiengang_kz = filter_input(INPUT_POST, 'studiengang_kz', FILTER_VALIDATE_INT); + $dokument_kurzbz = filter_input(INPUT_POST, 'dokument_kurzbz'); + + $dokument = new dokument(); + $dokument->loadDokumentStudiengang($dokument_kurzbz, $studiengang_kz); + $dokument->stufe = $stufe; + + if (!$dokument->saveDokumentStudiengang()) + { + echo json_encode(array( + 'status' => 'fehler', + 'msg' => $p->t('global/fehlerBeiDerParameteruebergabe') + )); + exit(); + } + else + { + echo json_encode(array( + 'status' => 'ok', + 'msg' => 'Status erfolgreich aktualisiert' + )); + exit(); + } +} + if($action === 'togglenachreichbar') { if(!$rechte->isBerechtigt('assistenz', $stg_kz, 'su')) @@ -239,6 +277,45 @@ echo ' forced_root_block: "", editor_deselector: "mceNoEditor" }); + + function changeStufe(dokument_kurzbz) + { + var stufe = $("#stufe_"+dokument_kurzbz).val(); + var studiengang_kz = $("#studiengangSelect").val(); + + data = { + stufe: stufe, + studiengang_kz: studiengang_kz, + dokument_kurzbz: dokument_kurzbz, + changeStufe: true + }; + + $.ajax({ + url: "studiengang_dokumente.php", + data: data, + type: "POST", + dataType: "json", + success: function(data) + { + if(data.status!="ok") + { + $("#feedbackSpanFalse_"+dokument_kurzbz).toggle(); + $("#feedbackSpanFalse_"+dokument_kurzbz).attr("title", data["msg"]); + + } + else + { + $("#feedbackSpanFalse_"+dokument_kurzbz).hide(); + $("#feedbackSpanTrue_"+dokument_kurzbz).toggle(); + $("#feedbackSpanTrue_"+dokument_kurzbz).delay(1000).fadeOut(); + } + }, + error: function(data) + { + alert(data["msg"]); + } + }); + } Zuordnung Studiengang - Dokumente @@ -401,7 +478,7 @@ else
- '; echo ''; foreach ($studiengang->result as $stg) { @@ -494,7 +571,11 @@ else echo' - '.$dok->stufe.' + + + + + '; if($rechte->isBerechtigt('assistenz', $stg_kz, 'su')) echo ''; From f9dcbbb6c9c156542b8bc37941ec2a7c99ab3677 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 26 Jul 2019 13:53:07 +0200 Subject: [PATCH 06/11] Correct sorting behaviour --- vilesci/stammdaten/studiengang_dokumente.php | 46 ++++++++++++++++---- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/vilesci/stammdaten/studiengang_dokumente.php b/vilesci/stammdaten/studiengang_dokumente.php index 57768558c..d5b1ff534 100644 --- a/vilesci/stammdaten/studiengang_dokumente.php +++ b/vilesci/stammdaten/studiengang_dokumente.php @@ -228,10 +228,25 @@ echo ' - - - - - - - + + '.$p->t('profil/Bildupload').' +

'.$p->t('profil/Bildupload').'

'; - function resize($filename, $width, $height) { - $ext = explode('.',$_FILES['bild']['name']); - $ext = strtolower($ext[count($ext)-1]); + $ext = explode('.',$_FILES['bild']['name']); + $ext = strtolower($ext[count($ext)-1]); + // Hoehe und Breite neu berechnen + list($width_orig, $height_orig) = getimagesize($filename); + if ($width && ($width_orig < $height_orig)) + { + $width = ($height / $height_orig) * $width_orig; + } + else + { + $height = ($width / $width_orig) * $height_orig; + } - // Hoehe und Breite neu berechnen - list($width_orig, $height_orig) = getimagesize($filename); + $image_p = imagecreatetruecolor($width, $height); - if ($width && ($width_orig < $height_orig)) - { - $width = ($height / $height_orig) * $width_orig; - } - else - { - $height = ($width / $width_orig) * $height_orig; - } + $image = imagecreatefromjpeg($filename); - $image_p = imagecreatetruecolor($width, $height); + //Bild nur verkleinern aber nicht vergroessern + if($width_orig>$width || $height_orig>$height) + imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); + else + $image_p = $image; - $image = imagecreatefromjpeg($filename); + imagejpeg($image_p, $filename, 80); - //Bild nur verkleinern aber nicht vergroessern - if($width_orig>$width || $height_orig>$height) - imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); - else - $image_p = $image; - - imagejpeg($image_p, $filename, 80); - - @imagedestroy($image_p); - @imagedestroy($image); + @imagedestroy($image_p); + @imagedestroy($image); } - - if(isset($_GET['person_id'])) { $benutzer = new benutzer(); @@ -107,269 +90,132 @@ if(isset($_GET['person_id'])) } else die($p->t('global/fehlerBeiDerParameteruebergabe')); +//Bei Upload des Bildes +if(isset($_POST['submitbild'])) +{ + if(isset($_FILES['bild']['tmp_name'])) + { + //Extension herausfiltern + $ext = explode('.',$_FILES['bild']['name']); + $ext = mb_strtolower($ext[count($ext)-1]); + $width=101; + $height=130; -echo '
'; -echo $p->t('profil/BilduploadInfotext',array($p->t('dms_link/bildRichtlinien'))).'

'; -echo '
- '.$p->t('profil/fotoAuswählen').' -
- -
- - '; + //--check that it's a jpeg + if ($ext=='jpg' || $ext=='jpeg') + { + $filename = $_FILES['bild']['tmp_name']; -if (isset($_POST['src'])) { - $src = $_POST['src']; - echo $src; + //groesse auf maximal 827x1063 begrenzen + resize($filename, 827, 1063); + + $fp = fopen($filename,'r'); + //auslesen + $content = fread($fp, filesize($filename)); + fclose($fp); + + $akte = new akte(); + + if($akte->getAkten($_GET['person_id'], 'Lichtbil')) + { + if(count($akte->result)>0) + { + $akte = $akte->result[0]; + $akte->new = false; + } + else + $akte->new = true; + } + else + { + $akte->new = true; + } + + $akte->dokument_kurzbz = 'Lichtbil'; + $akte->person_id = $_GET['person_id']; + $akte->inhalt = base64_encode($content); + $akte->mimetype = "image/jpg"; + $akte->erstelltam = date('Y-m-d H:i:s'); + $akte->gedruckt = false; + $akte->titel = "Lichtbild_".$_GET['person_id'].".jpg"; + $akte->bezeichnung = "Lichtbild gross"; + $akte->updateamum = date('Y-m-d H:i:s'); + $akte->updatevon = $user; + $akte->insertamum = date('Y-m-d H:i:s'); + $akte->insertvon = $user; + $akte->uid = ''; + + if(!$akte->save()) + { + echo '
Fehler: '.$akte->errormsg.'
'; + } + + //groesse auf maximal 101x130 begrenzen + resize($filename, 101, 130); + + //in DB speichern + //File oeffnen + $fp = fopen($filename,'r'); + //auslesen + $content = fread($fp, filesize($filename)); + fclose($fp); + //in base64-Werte umrechnen + $content = base64_encode($content); + $person = new person(); + if($person->load($_GET['person_id'])) + { + //base64 Wert in die Datenbank speichern + $person->foto = $content; + $person->new = false; + if($person->save()) + { + $fs = new fotostatus(); + $fs->person_id=$person->person_id; + $fs->fotostatus_kurzbz='hochgeladen'; + $fs->datum = date('Y-m-d'); + $fs->insertamum = date('Y-m-d H:i:s'); + $fs->insertvon = $user; + $fs->updateamum = date('Y-m-d H:i:s'); + $fs->updatevon = $user; + if(!$fs->save(true)) + echo '
Fehler beim Setzen des Bildstatus
'; + else + { + + echo "
Bild wurde erfolgreich gespeichert
+ "; + } + } + else + echo '
'.$person->errormsg.'
'; + } + else + echo '
'.$person->errormsg.'
'; + } + else + echo '
'.$p->t('profil/nurJPGBilder').'
'; + } } -function cropCss() { - return ' - '; -} +//echo '
'; +echo $p->t('profil/BilduploadInfotext',array($p->t('dms_link/bildRichtlinien'))).'

+ + '.$p->t('profil/Bild').':
+ + + '; ?> +
From 277028e412d445c3c6f2bfab88391d43b97b895f Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Tue, 13 Aug 2019 10:44:55 +0200 Subject: [PATCH 11/11] Diplomasupplement und Bescheid aus Auswahl-Select entfernt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Diplomasupplement und Bescheid haben einen Sonderstatus und sollten nur fürs archivieren verwendet werden --- content/akteupload.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/akteupload.php b/content/akteupload.php index d29be6670..f8c459845 100644 --- a/content/akteupload.php +++ b/content/akteupload.php @@ -168,7 +168,7 @@ if(isset($_POST['submitbild'])) if(isset($_GET['person_id'])) { $dokument = new dokument(); - $dokument->getAllDokumente('Zeugnis'); + $dokument->getAllDokumente('Zeugnis,DiplSupp,Bescheid'); echo "