From f4e0516d893129359abc930781a4d9c5cf7fb7ce Mon Sep 17 00:00:00 2001 From: kindlm Date: Fri, 20 Feb 2026 11:20:09 +0100 Subject: [PATCH] =?UTF-8?q?Pr=C3=BCfung=20ob=20jede=20Fragen=20mindestens?= =?UTF-8?q?=202=20Vorschl=C3=A4ge=20hat=20auf=20Warning=20ge=C3=A4ndert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Kleines Padding vor "Blättern"-Text --- cis/testtool/frage.php | 4 ++-- include/gebiet.class.php | 49 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 50 insertions(+), 3 deletions(-) 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