diff --git a/cis/testtool/admin/auswertung_detail_frage.php b/cis/testtool/admin/auswertung_detail_frage.php index a66aa9874..0256d00eb 100644 --- a/cis/testtool/admin/auswertung_detail_frage.php +++ b/cis/testtool/admin/auswertung_detail_frage.php @@ -95,15 +95,11 @@ if($frage_id!='' && is_numeric($frage_id)) echo $row->frage_text.'
'; if($row->frage_audio!='') { - echo ' - - - - - - - - '; + echo ' '; } if($row->frage_bild!='') echo "

\n"; @@ -118,15 +114,11 @@ if($frage_id!='' && is_numeric($frage_id)) echo $row->vorschlag_text; if($row->vorschlag_audio!='') { - echo ' - - - - - - - - '; + echo ' '; } if($row->vorschlag_bild!='') echo "

\n"; diff --git a/cis/testtool/admin/index.php b/cis/testtool/admin/index.php index 00529d836..06a667cbb 100644 --- a/cis/testtool/admin/index.php +++ b/cis/testtool/admin/index.php @@ -677,23 +677,17 @@ if($frage_id!='') } else { - //echo "\nKein Bild vorhanden\n"; echo "\n\n"; if($frage->audio=='') echo "Kein Bild vorhanden\n"; } if($frage->audio!='') { - //echo '
'; - echo ' - - - - - - - - '; + echo ' '; } echo ''; //Zusaetzliche EingabeFelder anzeigen @@ -829,16 +823,11 @@ if($frage_id!='') $a[] = $vs->punkte; if($vs->audio!='') { - //echo ""; - echo ' - - - - - - - - '; + echo ' '; } echo " edit diff --git a/cis/testtool/admin/uebersichtFragen.php b/cis/testtool/admin/uebersichtFragen.php index f8cd0de6e..71d154a1b 100755 --- a/cis/testtool/admin/uebersichtFragen.php +++ b/cis/testtool/admin/uebersichtFragen.php @@ -185,15 +185,11 @@ if(isset($_REQUEST['AuswahlGebiet'])) //Sound einbinden if($spracheFrage->audio!='') { - echo ' - - - - - - - - '; + echo ' '; } // FRAGE anzeigen echo "$spracheFrage->text

\n"; @@ -226,15 +222,11 @@ if(isset($_REQUEST['AuswahlGebiet'])) } if($vorschlag->audio!='') { - echo ' - - - - - - - - '; + echo ' '; } } diff --git a/cis/testtool/frage.php b/cis/testtool/frage.php index adc345bb0..d1b89c4b0 100644 --- a/cis/testtool/frage.php +++ b/cis/testtool/frage.php @@ -161,6 +161,7 @@ echo ' { var check = confirm(t('testtool/okKlickenUmZuStarten')."'"?>+' '+stunde+'h '+minute+'m '+sekunde+'s'); if (check == true) { + var sprache_user = ; document.location.href = 'frage.php?gebiet_id='+gebiet_id+'&start=true'; } else { @@ -192,8 +193,14 @@ else list($stunde, $minute, $sekunde) = explode(':',$gebiet->zeit); +$gestartet = $gebiet->isGestartet($gebiet_id, $_SESSION['pruefling_id'], null); +if(!$gestartet && $gebiet->errormsg!='') +{ + die($gebiet->errormsg.''); +} + //Start des Pruefungsvorganges -if(isset($_GET['start'])) +if(isset($_GET['start']) && !$gestartet) { //Fragenpool generieren $frage = new frage(); @@ -523,19 +530,6 @@ if($frage->frage_id!='') else { if(!$demo) - /*{ - $qry = "SELECT count(*) as anzahl FROM testtool.tbl_frage - WHERE tbl_frage.gebiet_id=".$db->db_add_param($gebiet_id, FHC_INTEGER)." - AND demo "; - if($row = $db->db_fetch_object($db->db_query($qry))) - { - if($row->anzahl>1) - { - //Bei Demos den Weiter-Button nur anzeigen, wenn ausser der Startseite noch andere Demoseiten vorhanden sind - echo " ".$p->t("testtool/zurueckZurStartseite")." >>"; - } - } - }*/ //else { //Wenns der letzte Eintrag ist, wieder zum ersten springen @@ -543,40 +537,6 @@ if($frage->frage_id!='') } } } - /*else - { - //Naechste Frage holen und Weiter-Button anzeigen - if($demo) - { - - $frage2 = new frage(); - $nextfrage = $frage2->getNextFrage($gebiet_id, $_SESSION['pruefling_id'], $frage_id, $demo); - - if($nextfrage) - { - $value="Demo"; - echo " $value >>"; - } - else - { - //Naechste Frage holen und Weiter-Button anzeigen - //$frage = new frage(); - //$nextfrage = $frage->getNextFrage($gebiet_id, $_SESSION['pruefling_id'], $frage_id, $demo); - - $qry = "SELECT count(*) as anzahl FROM testtool.tbl_frage - WHERE tbl_frage.gebiet_id=".$db->db_add_param($gebiet_id, FHC_INTEGER)." - AND demo "; - if($row = $db->db_fetch_object($db->db_query($qry))) - { - if($row->anzahl>1) - { - //Bei Demos den Weiter-Button nur anzeigen, wenn ausser der Startseite noch andere Demoseiten vorhanden sind - echo " ".$p->t("testtool/zurueckZurStartseite")." >>"; - } - } - } - } - }*/ if(!$demo && !$levelgebiet) echo " "; @@ -588,16 +548,11 @@ if($frage->frage_id!='') //Sound einbinden if($frage->audio!='') { - //echo '
'; - echo ' - - - - - - - - '; + echo ' '; } echo "$frage->text

\n"; @@ -645,16 +600,11 @@ if($frage->frage_id!='') echo "
"; if($vorschlag->audio!='') { - //echo '
'; - echo ' - - - - - - - - '; + echo ' '; } if($vorschlag->text!='') echo $vorschlag->text.'
'; diff --git a/cis/testtool/menu.php b/cis/testtool/menu.php index e79221e4b..92885b4b4 100644 --- a/cis/testtool/menu.php +++ b/cis/testtool/menu.php @@ -137,7 +137,6 @@ if (isset($_SESSION['pruefling_id'])) if($row_time->time>0) { //Gebiet gestartet aber noch nicht zu ende - //$style='text-decoration: underline;'; $style=''; $class='ItemTesttoolAktiv'; } @@ -152,7 +151,6 @@ if (isset($_SESSION['pruefling_id'])) else { //Gebiet ist zu Ende - //$style='text-decoration:line-through;'; $style=''; $class='ItemTesttoolBeendet'; } @@ -182,7 +180,7 @@ if (isset($_SESSION['pruefling_id'])) { echo ' -  '.$row->gebiet_bez.' (invalid) +  '.$row->gebiet_bez.' (invalid) '; } diff --git a/cis/testtool/topbar.php b/cis/testtool/topbar.php index 87baebeec..c63004ee1 100644 --- a/cis/testtool/topbar.php +++ b/cis/testtool/topbar.php @@ -27,9 +27,6 @@ require_once '../../include/phrasen.class.php'; die('Fehler beim Oeffnen der Datenbankverbindung'); require_once('../../include/gebiet.class.php'); - -//if(isset($_GET['lang'])) - //setSprache($_GET['lang']); function getSpracheUser() { diff --git a/include/gebiet.class.php b/include/gebiet.class.php index e9147ae11..0b57511e5 100644 --- a/include/gebiet.class.php +++ b/include/gebiet.class.php @@ -563,5 +563,68 @@ class gebiet extends basis_db return false; } } + + /** + * Prueft ob das Gebiet bereits gestartet wurde. Wahlweise pruefling_id oder prestudent_id + * + * @param $pruefling_id Wahlweise pruefling_id oder + * @param $prestudent_id prestudent_id des Prueflings. + * @param $gebiet_id Gebiet_id des Gebiets, dessen Start gefprueft werden soll + * @return true wenn das Gebiet bereits gestartet wurde, false wenn nicht. + */ + public function isGestartet($gebiet_id, $pruefling_id=null, $prestudent_id=null) + { + $this->errormsg=''; + + if(!is_numeric($gebiet_id) || $gebiet_id=='') + { + $this->errormsg = 'Gebiet_id muss eine gueltige Zahl sein'; + return false; + } + if(!is_null($pruefling_id) && (!is_numeric($pruefling_id) || $pruefling_id=='')) + { + $this->errormsg = 'Pruefling_id muss eine gueltige Zahl sein'; + return false; + } + if(!is_null($prestudent_id) && (!is_numeric($prestudent_id) || $prestudent_id=='')) + { + $this->errormsg = 'Prestudent_id muss eine gueltige Zahl sein'; + return false; + } + + $qry = ' SELECT + begintime + FROM + testtool.tbl_pruefling_frage + JOIN + testtool.tbl_pruefling USING (pruefling_id) + JOIN + testtool.tbl_frage USING (frage_id) + WHERE '; + if (!is_null($pruefling_id)) + $qry.=' pruefling_id='.$this->db_add_param($pruefling_id, FHC_INTEGER); + else + $qry.=' prestudent_id='.$this->db_add_param($prestudent_id, FHC_INTEGER); + + $qry.=' AND + gebiet_id='.$this->db_add_param($gebiet_id, FHC_INTEGER).' + AND + begintime IS NOT NULL'; + + if($result = $this->db_query($qry)) + { + if($this->db_fetch_object($result)) + return true; + else + { + return false; + } + } + else + { + $this->errormsg = 'Fehler bei der Abfrage aufgetreten'; + return false; + } + } } ?> diff --git a/skin/sounds/testtool_demo.mp3 b/skin/sounds/testtool_demo.mp3 new file mode 100644 index 000000000..509dcbc09 Binary files /dev/null and b/skin/sounds/testtool_demo.mp3 differ