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:
Cris
2019-05-09 12:49:20 +02:00
committed by hainberg
parent 1c81705e3d
commit 3f423898f9
3 changed files with 97 additions and 3 deletions
+1 -2
View File
@@ -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
View File
@@ -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>
+63
View File
@@ -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;
}
}
}
?>