Merge branch 'master' into feature-71214/MILAK_GUI_zum_Aendern_des_Benutzernamen

This commit is contained in:
Paolo
2026-02-23 14:28:11 +01:00
45 changed files with 978 additions and 265 deletions
+5 -4
View File
@@ -489,7 +489,7 @@ class anwesenheit extends basis_db
gesamt AS gesamtstunden,
anwesend,
nichtanwesend,
trunc(100-(nichtanwesend/gesamt)*100,2) AS prozent
CASE WHEN gesamt = 0 THEN 100.00 ELSE trunc(100-(nichtanwesend/(gesamt))*100,2) END AS prozent
FROM(
SELECT
@@ -499,9 +499,10 @@ class anwesenheit extends basis_db
lehrveranstaltung_id,
bezeichnung,
student_uid,
COUNT(stundenplan_id) AS gesamt,
CASE WHEN anwesend.summe IS NULL THEN 0 ELSE anwesend.summe END AS anwesend,
CASE WHEN nichtanwesend.summe IS NULL THEN 0 ELSE nichtanwesend.summe END AS nichtanwesend
--COUNT(stundenplan_id) AS gesamts,
COALESCE(anwesend.summe, 0) + COALESCE(nichtanwesend.summe, 0) AS gesamt,
COALESCE(anwesend.summe, 0) AS anwesend,
COALESCE(nichtanwesend.summe, 0) AS nichtanwesend
FROM
(
+48 -1
View File
@@ -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
+8 -1
View File
@@ -513,6 +513,7 @@ class statistik extends basis_db
$this->json=array();
$this->countRows=0;
set_time_limit(600);
$parseHtml = (strpos($this->preferences, 'parseHTML: true') !== false);
// In case a decryption function is used then perform password substitution
$this->sql = $this->replaceSQLDecryptionPassword($this->sql);
@@ -565,7 +566,13 @@ class statistik extends basis_db
for($spalte=0;$spalte<$anzahl_spalten;$spalte++)
{
$name = $this->db_field_name($this->data,$spalte);
$this->html.= '<td>'.$this->convert_html_chars($row->$name).'</td>';
if ($parseHtml) {
// HTML direkt rendern
$this->html .= '<td>'.($row->$name).'</td>';
} else {
// wie bisher escapen
$this->html .= '<td>'.$this->convert_html_chars($row->$name).'</td>';
}
// Umwandeln von Punkt in Komma bei Float-Werten
if (is_numeric($row->$name))
{