From c8fa540840b6913c7f48629a2ff949cf0ce1c5e7 Mon Sep 17 00:00:00 2001 From: oesi Date: Wed, 8 Mar 2017 16:53:32 +0100 Subject: [PATCH] =?UTF-8?q?-=20Punkte=C3=BCbernahme=20aus=20Vilesci=20setz?= =?UTF-8?q?t=20automatisch=20das=20Hackerl=20"zum=20Reihungstest=20angetre?= =?UTF-8?q?ten"=20-=20Bugfix=20wodurch=20Reihungstest=20als=20nicht=20abso?= =?UTF-8?q?lviert=20angezeigt=20wurde=20wenn=20die=20Person=20genau=200=20?= =?UTF-8?q?Punkte=20erreicht=20hat=20beim=20Test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/pruefling.class.php | 17 +++++--- vilesci/stammdaten/reihungstestverwaltung.php | 39 ++++++++++++------- 2 files changed, 38 insertions(+), 18 deletions(-) diff --git a/include/pruefling.class.php b/include/pruefling.class.php index 10174989b..c72e7bdd4 100644 --- a/include/pruefling.class.php +++ b/include/pruefling.class.php @@ -312,7 +312,7 @@ class pruefling extends basis_db * @param $person_id ID der Person. * @param $punkte Wenn true werden Punkte geliefert, sonst Prozentsumme. * @param $reihungstest_id ID des Reihungstests. - * @return Endpunkte des Reihungstests + * @return Endpunkte des Reihungstests oder False wenn keine Punkte vorhanden */ public function getReihungstestErgebnisPerson($person_id, $punkte=false, $reihungstest_id=null) { @@ -324,9 +324,13 @@ class pruefling extends basis_db $ergebnis=0; - if($this->db_query($qry)) + if($result = $this->db_query($qry)) { - while($row = $this->db_fetch_object()) + // Wenn keine Eintraege vorhanden dann false + if($this->db_num_rows($result)==0) + return false; + + while($row = $this->db_fetch_object($result)) { //wenn maxpunkte ueberschritten wurde -> 100% if($row->punkte>=$row->maxpunkte) @@ -357,7 +361,7 @@ class pruefling extends basis_db * @param $prestudent_id ID des Prestudenten * @param $punkte Wenn true werden Punkte geliefert, sonst Prozentsumme. * @param $reihungstest_id ID des Reihungstests. - * @return Endpunkte des Reihungstests + * @return Endpunkte des Reihungstests oder false wenn keine Punkte vorhanden */ public function getReihungstestErgebnisPrestudent($prestudent_id, $punkte=false, $reihungstest_id=null) { @@ -369,8 +373,11 @@ class pruefling extends basis_db $ergebnis=0; - if($this->db_query($qry)) + if($result = $this->db_query($qry)) { + if($this->db_num_rows($result)==0) + return false; + while($row = $this->db_fetch_object()) { //wenn maxpunkte ueberschritten wurde -> 100% diff --git a/vilesci/stammdaten/reihungstestverwaltung.php b/vilesci/stammdaten/reihungstestverwaltung.php index ee03453f7..2b74e7b2e 100644 --- a/vilesci/stammdaten/reihungstestverwaltung.php +++ b/vilesci/stammdaten/reihungstestverwaltung.php @@ -370,7 +370,7 @@ if(isset($_GET['excel'])) $erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id, true); else $erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id); - if($erg!=0) + if($erg!==false) { $rt_in_anderen_stg.=number_format($erg,2).' Punkte im Studiengang '.$studiengang->kuerzel_arr[$item->studiengang_kz]."; "; } @@ -602,7 +602,7 @@ if(isset($_GET['excel'])) else if ( == 'true' && document.getElementById('clm_absolviert').className == 'inactive' && document.getElementById('clm_ergebnis').className == 'inactive') window.location.href = ""; }); - if (window.localStorage && window.localStorage !== 'undefined') + if (window.localStorage && window.localStorage !== 'undefined') { if (typeof(Storage) !== 'undefined') { @@ -667,7 +667,7 @@ if(isset($_GET['excel'])) function hideColumn(column) { - if (window.localStorage) + if (window.localStorage) { if ($('.'+column).css('display') == 'table-cell') { @@ -1068,6 +1068,7 @@ if(isset($_GET['type']) && $_GET['type']=='savertpunkte') $rtperson = new reihungstest(); $rtperson->loadReihungstestPerson($_GET['rt_person_id']); $rtperson->punkte = str_replace(',','.',$rtpunkte); + $rtperson->teilgenommen = true; $rtperson->new=false; if(!$rtperson->savePersonReihungstest()) { @@ -1112,14 +1113,18 @@ if(isset($_GET['type']) && $_GET['type']=='saveallrtpunkte') $rtpunkte = $pruefling->getReihungstestErgebnisPerson($row->person_id, true, $reihungstest->reihungstest_id); else $rtpunkte = $pruefling->getReihungstestErgebnisPerson($row->person_id, false, $reihungstest->reihungstest_id); - $reihungstest->punkte = str_replace(',','.',$rtpunkte); - $reihungstest->reihungstestangetreten=true; - $reihungstest->save(false); - $reihungstest->new=false; - if(!$reihungstest->savePersonReihungstest()) + if($rtpunkte!==false) { - $errormsg .='
Fehler:'.$reihungstest->errorsmg; + $reihungstest->punkte = str_replace(',','.',$rtpunkte); + $reihungstest->teilgenommen = true; + $reihungstest->save(false); + $reihungstest->new = false; + + if(!$reihungstest->savePersonReihungstest()) + { + $errormsg .='
Fehler:'.$reihungstest->errorsmg; + } } } } @@ -2016,7 +2021,7 @@ if($reihungstest_id!='') $erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id, true); else $erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id); - if($erg!=0) + if($erg!==false) { $rt_in_anderen_stg.=number_format($erg,2).' Punkte im Studiengang '.$studiengang->kuerzel_arr[$item->studiengang_kz].'
'; } @@ -2049,8 +2054,16 @@ if($reihungstest_id!='') '.$db->convert_html_chars($row->gebdatum!=''?$datum_obj->convertISODate($row->gebdatum):' ').' '.$rt_in_anderen_stg.' - '.($rtergebnis==0?'-':number_format($rtergebnis,2,'.','')).' - '.($rtergebnis!=0 && $row->punkte==''?'übertragen':$row->punkte).' + '.($rtergebnis===false?'-':number_format($rtergebnis,2,'.','')).' + '; + if($rtergebnis!==false && $row->punkte=='') + echo 'übertragen'; + else + { + if($row->punkte!='') + echo number_format($row->punkte,2,'.',''); + } + echo ' '; $mailto.= ($mailto!=''?',':'').$row->email; @@ -2137,7 +2150,7 @@ if($reihungstest_id!='') $erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id, true); else $erg = $pruefling->getReihungstestErgebnisPrestudent($item->prestudent_id); - if($erg!=0) + if($erg!==false) { $rt_in_anderen_stg.=number_format($erg,2).' Punkte im Studiengang '.$studiengang->kuerzel_arr[$item->studiengang_kz].'
'; }