mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
Added alert when test includes MathML format and browser is not Firefox
By the moment applicants should absolve the tests using Firefox Browser to ensure the correct display MathML. If they use another browser, they will now get an alert.
This commit is contained in:
@@ -577,11 +577,10 @@ if (isset($prestudent_id))
|
||||
<strong>'.$p->t('testtool/klickenSieAufEinTeilgebiet').'</strong>
|
||||
</div>
|
||||
';
|
||||
|
||||
if($pruefling->pruefling_id!='')
|
||||
{
|
||||
$_SESSION['pruefling_id']=$pruefling->pruefling_id;
|
||||
echo '<script language="Javascript">parent.menu.location.reload()</script>';
|
||||
//echo '<script language="Javascript">parent.menu.location.reload()</script>';
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
+33
-1
@@ -283,7 +283,7 @@ if (isset($_SESSION['pruefling_id']))
|
||||
$result = $db->db_query($qry);
|
||||
$lastsemester = '';
|
||||
$quereinsteiger_stg = '';
|
||||
|
||||
$gebiet_hasMathML = false; // true, wenn irgendein Gebiet eine/n Frage/Vorschlag im MathML-Format enthält
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
//Jedes Semester in einer eigenen Tabelle anzeigen
|
||||
@@ -323,6 +323,13 @@ if (isset($_SESSION['pruefling_id']))
|
||||
}
|
||||
|
||||
$gebiet = new gebiet();
|
||||
|
||||
// Prüfen, ob das Gebiet eine/n Frage/Vorschlag im MathML-Format enthält
|
||||
if (!$gebiet_hasMathML) // sobald nur ein MathML Format gefunden, variable nicht mehr überschreiben
|
||||
{
|
||||
$gebiet_hasMathML = $gebiet->hasMathML($row->gebiet_id);
|
||||
}
|
||||
|
||||
if($gebiet->check_gebiet($row->gebiet_id))
|
||||
{
|
||||
//Status der Gebiete Pruefen
|
||||
@@ -401,4 +408,29 @@ else
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
// Get users Browser
|
||||
var ua = navigator.userAgent;
|
||||
|
||||
// If Browser is any other than Mozilla Firefox and the test includes any MathML,
|
||||
// show message to use Mozilla Firefox
|
||||
if ((ua.indexOf("Firefox") > -1) == false)
|
||||
{
|
||||
let hasMathML = "<?php echo $gebiet_hasMathML; ?>";
|
||||
let userLang = "<?php echo $sprache_user; ?>";
|
||||
if (hasMathML == true)
|
||||
{
|
||||
if (userLang == 'German')
|
||||
{
|
||||
alert('BITTE VERWENDEN SIE DEN MOZILLA FIREFOX BROWSER!\n(Manche Prüfungsfragen werden sonst nicht korrekt dargestellt.)');
|
||||
}
|
||||
else if(userLang == 'English')
|
||||
{
|
||||
alert('PLEASE USE MOZILLA FIREFOX BROWSER!\n(Ohterwise some exam items will not be displayed correctly.)');
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</html>
|
||||
|
||||
@@ -825,5 +825,68 @@ class gebiet extends basis_db
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft, ob das Gebiet zumindest eine Frage oder einen Vorschlag im MathML Format hat.
|
||||
* @param $gebiet_id
|
||||
* return true, wenn Gebiet eine/n Frage/Vorschlag im MathML Format enthält.
|
||||
*/
|
||||
public function hasMathML($gebiet_id)
|
||||
{
|
||||
if (is_numeric($gebiet_id))
|
||||
{
|
||||
$qry = '
|
||||
WITH
|
||||
fragen AS (
|
||||
SELECT DISTINCT
|
||||
frage_id
|
||||
FROM
|
||||
testtool.tbl_frage
|
||||
JOIN
|
||||
testtool.tbl_gebiet USING (gebiet_id)
|
||||
WHERE
|
||||
tbl_gebiet.gebiet_id = '. $this->db_add_param($gebiet_id, FHC_INTEGER). '
|
||||
),
|
||||
vorschlaege AS (
|
||||
SELECT DISTINCT
|
||||
vorschlag_id
|
||||
FROM
|
||||
testtool.tbl_vorschlag
|
||||
JOIN
|
||||
fragen USING (frage_id)
|
||||
)
|
||||
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
testtool.tbl_frage_sprache
|
||||
JOIN
|
||||
fragen USING (frage_id)
|
||||
WHERE
|
||||
SUBSTRING(text, \'MathML\') IS NOT NULL
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
testtool.tbl_vorschlag_sprache
|
||||
JOIN
|
||||
vorschlaege USING (vorschlag_id)
|
||||
WHERE
|
||||
SUBSTRING(text, \'MathML\') IS NOT NULL
|
||||
';
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
return ($this->db_num_rows($result) > 0);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Eine numerische gebiet_id muss übergeben werden.';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user