diff --git a/application/models/ressource/Stundenplan_model.php b/application/models/ressource/Stundenplan_model.php index 067e2b790..d0a97ed9d 100644 --- a/application/models/ressource/Stundenplan_model.php +++ b/application/models/ressource/Stundenplan_model.php @@ -470,12 +470,12 @@ class Stundenplan_model extends DB_Model } foreach($studentlehrverbaende[$sem_date] as $key=>$lehrverband) { - $query .= "((sp.studiengang_kz = ".$this->escape($lehrverband->studiengang_kz)." AND sp.semester = ".$this->escape($lehrverband->semester)." AND sp.verband = ".$this->escape($lehrverband->verband)." AND sp.gruppe = ".$this->escape($lehrverband->gruppe)." AND sp.datum BETWEEN ".$this->escape($sem_date_range->start)." AND ".$this->escape($sem_date_range->ende).")"; + $query .= "(((sp.studiengang_kz = ".$this->escape($lehrverband->studiengang_kz)." AND sp.semester = ".$this->escape($lehrverband->semester)." AND sp.verband = ".$this->escape($lehrverband->verband)." AND sp.gruppe = ".$this->escape($lehrverband->gruppe)." AND sp.datum BETWEEN ".$this->escape($sem_date_range->start)." AND ".$this->escape($sem_date_range->ende).")"; // Eintraege fuer den ganzen Verband $query .= "OR (sp.studiengang_kz = ".$this->escape($lehrverband->studiengang_kz)." AND sp.semester = ".$this->escape($lehrverband->semester)." AND sp.verband = ".$this->escape($lehrverband->verband)." AND (sp.gruppe is null OR sp.gruppe='') AND sp.datum BETWEEN ".$this->escape($sem_date_range->start)." AND ".$this->escape($sem_date_range->ende).")"; // Eintraege fuer das ganze Semester $query .= "OR (sp.studiengang_kz = ".$this->escape($lehrverband->studiengang_kz)." AND sp.semester = ".$this->escape($lehrverband->semester)." AND (sp.verband is null OR sp.verband='') AND sp.datum BETWEEN ".$this->escape($sem_date_range->start) - ." AND ".$this->escape($sem_date_range->ende).")". $stringGroupLv. ")"; + ." AND ".$this->escape($sem_date_range->ende).")) AND gruppe_kurzbz is null)"; $query .="OR"; } diff --git a/cis/testtool/frage.php b/cis/testtool/frage.php index bf2ee24c5..a5f4100c9 100644 --- a/cis/testtool/frage.php +++ b/cis/testtool/frage.php @@ -581,14 +581,14 @@ if($frage->frage_id!='') else $value=$p->t('testtool/blaettern').' >>'; - echo " $value"; + echo "$value"; } else { if(!$demo) { //Wenns der letzte Eintrag ist, wieder zum ersten springen - echo " ".$p->t('testtool/blaettern')." >>"; + echo "".$p->t('testtool/blaettern')." >>"; } } } diff --git a/include/gebiet.class.php b/include/gebiet.class.php index a4df72338..fd2bfd198 100644 --- a/include/gebiet.class.php +++ b/include/gebiet.class.php @@ -345,6 +345,7 @@ class gebiet extends basis_db } //Pruefen ob jede Fragen mindestens 2 Vorschlaege hat + //Angepasst am 28.01.2026 auf ein Warning. $qry = "SELECT frage_id, nummer FROM testtool.tbl_frage WHERE (SELECT count(*) as anzahl FROM testtool.tbl_vorschlag WHERE frage_id=tbl_frage.frage_id)<2 AND gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." AND NOT demo;"; @@ -352,7 +353,7 @@ class gebiet extends basis_db { while($row = $this->db_fetch_object()) { - $this->errormsg .= "Frage Nummer $row->nummer (ID: $row->frage_id) hat weniger als 2 Vorschlaege.\n"; + $this->warningmsg .= "Frage Nummer $row->nummer (ID: $row->frage_id) hat weniger als 2 Vorschlaege.\n"; } } @@ -448,6 +449,52 @@ class gebiet extends basis_db } } + //Pruefen ob es leere Fragen (ohne Text, Bild oder Audio) gibt + $qry = "SELECT + fr.frage_id, + fr.nummer, + fs.sprache + FROM + testtool.tbl_frage fr + JOIN testtool.tbl_frage_sprache fs + USING (frage_id) + WHERE + (fs.text IS NULL + OR fs.text = '') + AND fs.bild IS NULL + AND fs.audio IS NULL + AND demo = false + AND gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER)." + AND EXISTS ( + SELECT + 1 + FROM + testtool.tbl_frage fr2 + JOIN testtool.tbl_frage_sprache fs2 + USING (frage_id) + WHERE + fs2.sprache = fs.sprache + AND fr2.gebiet_id = fr.gebiet_id + AND fr2.frage_id != fr.frage_id + AND ( + (fs2.text IS NOT NULL + AND fs2.text != '') + OR fs2.bild IS NOT NULL + OR fs2.audio IS NOT NULL + ) + AND demo = false + ) + ORDER BY + fs.sprache, + fr.nummer;"; + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $this->warningmsg .= "Frage Nummer $row->nummer (ID: $row->frage_id), Sprache $row->sprache hat keinen Text, Bild oder Audio.\n"; + } + } + if($this->errormsg=='') return true; else