From 330163c8ee492240a19f762280a8b7ccef1ac6f1 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 21 Nov 2014 14:05:32 +0000 Subject: [PATCH] =?UTF-8?q?=C3=9Cberarbeitungen=20am=20Testtool.=20Neues?= =?UTF-8?q?=20Design.=20Mehrsprachige=20Men=C3=BCf=C3=BChrung,=20Einf?= =?UTF-8?q?=C3=BChrung=20kommt=20aus=20CMS=20aus=20neuer=20Tabelle=20tbl?= =?UTF-8?q?=5Fablauf=5Fvorgaben=20admin.php:=20Audio-=20und=20Source-Tags?= =?UTF-8?q?=20werden=20protected,=20um=20ein=20Audiofile=20in=20den=20Cont?= =?UTF-8?q?ent=20einf=C3=BCgen=20zu=20k=C3=B6nnen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/testtool/admin/.htaccess | 4 +- cis/testtool/frage.php | 349 ++++++++++-------- cis/testtool/gebietfertig.php | 65 +++- cis/testtool/index.html | 6 +- cis/testtool/login.php | 192 +++++++--- cis/testtool/menu.php | 200 ++++++---- cis/testtool/topbar.php | 138 +++++++ cms/admin.php | 10 +- locale/de-AT/testtool.php | 39 ++ locale/en-US/testtool.php | 41 +- skin/images/header_testtool.png | Bin 0 -> 1207 bytes skin/styles/tw/logo_klein.png | Bin 0 -> 6241 bytes system/checksystem.php | 72 +++- .../reihungstest_administration.php | 10 +- 14 files changed, 816 insertions(+), 310 deletions(-) create mode 100644 cis/testtool/topbar.php create mode 100644 skin/images/header_testtool.png create mode 100644 skin/styles/tw/logo_klein.png diff --git a/cis/testtool/admin/.htaccess b/cis/testtool/admin/.htaccess index d2569a69d..8f33404c4 100644 --- a/cis/testtool/admin/.htaccess +++ b/cis/testtool/admin/.htaccess @@ -12,4 +12,6 @@ require ldap-group cn=hadesadm,ou=Group,dc=technikum-wien,dc=at Require user pam require user oesi require user ruhan -Require user tw01e061 \ No newline at end of file +Require user tw01e061 +Require user if10b066 +require ldap-user if10b066 \ No newline at end of file diff --git a/cis/testtool/frage.php b/cis/testtool/frage.php index e1d2036e3..e0bfda178 100644 --- a/cis/testtool/frage.php +++ b/cis/testtool/frage.php @@ -17,8 +17,9 @@ * * Authors: Christian Paminger , * Andreas Oesterreicher , - * Rudolf Hangl and - * Gerald Simane-Sequens + * Rudolf Hangl , + * Gerald Simane-Sequens , + * Manfred Kindl */ /** * Formular zum Beantworten der Fragen @@ -27,17 +28,63 @@ header("Content-type: application/xhtml+xml"); require_once('../../config/cis.config.inc.php'); +require_once('../../config/global.config.inc.php'); require_once('../../include/functions.inc.php'); require_once('../../include/frage.class.php'); require_once('../../include/vorschlag.class.php'); require_once('../../include/antwort.class.php'); require_once('../../include/gebiet.class.php'); +require_once('../../include/sprache.class.php'); +require_once '../../include/phrasen.class.php'; if (!$db = new basis_db()) die('Fehler beim Oeffnen der Datenbankverbindung'); $PHP_SELF=$_SERVER["PHP_SELF"]; +function getSpracheUser() +{ + if(isset($_SESSION['sprache_user'])) + { + $sprache_user=$_SESSION['sprache_user']; + } + else + { + if(isset($_COOKIE['sprache_user'])) + { + $sprache_user=$_COOKIE['sprache_user']; + } + else + { + $sprache_user=DEFAULT_LANGUAGE; + } + setSpracheUser($sprache_user); + } + return $sprache_user; +} + +function setSpracheUser($sprache) +{ + $_SESSION['sprache_user']=$sprache; + setcookie('sprache_user',$sprache,time()+60*60*24*30,'/'); +} + +if(isset($_GET['sprache_user'])) +{ + $sprache_user = new sprache(); + if($sprache_user->load($_GET['sprache_user'])) + { + setSpracheUser($_GET['sprache_user']); + } + else + setSpracheUser(DEFAULT_LANGUAGE); +} + +$sprache_user = getSpracheUser(); +$p = new phrasen($sprache_user); + +$sprache = getSprache(); + session_start(); if(isset($_GET['gebiet_id'])) @@ -52,8 +99,11 @@ else //$MAX_VORSCHLAEGE_PRO_ZEILE=4; ?> + + @@ -106,6 +156,23 @@ else } } + function GebietStarten(bezeichnung,stunde,minute,sekunde,gebiet_id) + { + var check = confirm(t('testtool/okKlickenUmZuStarten')."'"?>+' '+stunde+'h '+minute+'m '+sekunde+'s'); + if (check == true) { + document.location.href = 'frage.php?gebiet_id='+gebiet_id+'&start=true'; + } + else { + return false; + } + } + + function letzteFrage() + { + alert(t("testtool/alleFragenBeantwortet")."'"?>); + return true; + } + //]]> @@ -113,7 +180,7 @@ else t('testtool/bitteZuerstAnmelden')); $gebiet = new gebiet($gebiet_id); @@ -130,20 +197,20 @@ if(isset($_GET['start'])) //Fragenpool generieren $frage = new frage(); if(!$frage->generateFragenpool($_SESSION['pruefling_id'], $gebiet_id)) - die('Fehler beim Generieren des Fragenpools:'.$frage->errormsg); + die($p->t('testtool/fehlerBeimGenerierenDesFragenpools').':'.$frage->errormsg); //Erste Frage des Pools holen if(!$frage_id = $frage->getNextFrage($gebiet_id, $_SESSION['pruefling_id'])) - die('Es wurde keine Frage gefunden'); + die($p->t('testtool/esWurdeKeineFrageGefunden')); //Beginnzeit Speichern $prueflingfrage = new frage(); if(!$prueflingfrage->getPrueflingfrage($_SESSION['pruefling_id'], $frage_id)) - die('Fehler:'.$prueflingfrage->errormsg); + die($p->t('testtool/fehler').':'.$prueflingfrage->errormsg); $prueflingfrage->begintime = date('Y-m-d H:i:s'); if(!$prueflingfrage->save_prueflingfrage(false)) - die('Fehler beim Startvorgang'); + die($p->t('testtool/fehlerBeimStartvorgang')); echo ''; } @@ -157,7 +224,7 @@ if(isset($_POST['submitantwort']) && isset($_GET['frage_id'])) if($levelgebiet && !isset($_POST['vorschlag_id'])) { - echo 'Bei diesem Gebiet müssen Sie jede Frage beantworten!'; + echo ''.$p->t('testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten').''; } else { @@ -224,7 +291,7 @@ if(isset($_POST['submitantwort']) && isset($_GET['frage_id'])) if($error) { $db->db_query('ROLLBACK;'); - die('Fehler:'.$errormsg); + die($p->t('testtool/fehler').':'.$errormsg); } else { @@ -274,14 +341,16 @@ else $info=''; //Name und Studiengang anzeigen -$qry_pruefling = "SELECT vorname, nachname, stg_bez FROM testtool.vw_pruefling +$qry_pruefling = "SELECT vorname, nachname, stg_bez, tbl_studiengangstyp.bezeichnung FROM testtool.vw_pruefling + JOIN public.tbl_studiengang USING (studiengang_kz) + JOIN public.tbl_studiengangstyp USING (typ) WHERE pruefling_id='".addslashes($_SESSION['pruefling_id'])."'"; if($result_pruefling = $db->db_query($qry_pruefling)) { if($row_pruefling = $db->db_fetch_object($result_pruefling)) { - $info = "$row_pruefling->vorname $row_pruefling->nachname, $row_pruefling->stg_bez"; + $info = "$row_pruefling->vorname $row_pruefling->nachname, $row_pruefling->bezeichnung $row_pruefling->stg_bez"; } } @@ -323,13 +392,13 @@ if($levelgebiet) } //Zeit des Gebietes holen -echo '
'.$info.''.$fortschrittsbalken.'
'; +echo '
'.$info.''.$fortschrittsbalken.'
'; if($demo) { //Wenn es sich um ein Demobeispiel handelt, dann wird die Maximale Gesamtzeit angezeigt - echo " "; - echo $minute.':'.$sekunde.' Minuten '; + echo "t("testtool/gebietStarten")."\" onclick=\"GebietStarten('".$db->convert_html_chars($gebiet->bezeichnung)."','".$stunde."','".$minute."','".$sekunde."','".$gebiet_id."')\" /> "; + echo '
'.$p->t('testtool/bearbeitungszeit').': '.$stunde.'h '.$minute.'m '.$sekunde.'s
'; } else { @@ -349,11 +418,11 @@ else $zeit = $zeit*-1; } - echo ' Minuten'; + echo $p->t('testtool/bearbeitungszeit').': '; echo ""; if($zeit<0) - die('
Die Zeit ist abgelaufen!
Bitte aktivieren Sie Javascript in Ihrem Browser!
'); + die('
'.$p->t('testtool/dieZeitIstAbgelaufen').'
'); } echo ''; echo ''; @@ -402,18 +471,115 @@ if($frage->frage_id!='') //wenn diese noch nicht angesehen wurde, dann wird die begintime gesetzt $prueflingfrage = new frage(); if(!$prueflingfrage->getPrueflingfrage($_SESSION['pruefling_id'], $frage_id)) - die('Diese Frage ist nicht fuer Sie bestimmt'); + die($p->t('testtool/dieseFrageIstNichtFuerSieBestimmt')); if($prueflingfrage->begintime=='') { $prueflingfrage->begintime = date('Y-m-d H:i:s'); $prueflingfrage->new = false; if(!$prueflingfrage->save_prueflingfrage()) - echo 'Fehler beim Speichern der Erstansicht'; + echo $p->t('testtool/fehlerBeimSpeichernDerErstansicht'); } } } - echo '

'; + echo '
'; + //Kopfzeile mit Weiter Button und Sprung direkt zu einer Frage + if(!$demo && !$levelgebiet) + { + $qry = "SELECT tbl_pruefling_frage.nummer, tbl_pruefling_frage.frage_id + FROM testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id) + WHERE gebiet_id='".addslashes($gebiet_id)."' AND pruefling_id='".addslashes($_SESSION['pruefling_id'])."' AND demo=false ORDER BY nummer"; + + echo " "; + //Nummern der Fragen Anzeigen + $result = $db->db_query($qry); + while($row = $db->db_fetch_object($result)) + { + $antwort = new antwort(); + $antwort->getAntwort($_SESSION['pruefling_id'],$row->frage_id); + if($row->frage_id==$frage_id) + echo " "; + else + echo " "; + } + //echo "
".($row->nummer<10?" ":"")."$row->nummer$row->nummer
"; + } + //Weiter Button nur bei nicht gelevelten Gebieten anzeigen + if(!$levelgebiet) + { + //Naechste Frage holen und Weiter-Button anzeigen + $frage2 = new frage(); + $nextfrage = $frage2->getNextFrage($gebiet_id, $_SESSION['pruefling_id'], $frage_id, $demo); + if($nextfrage) + { + if($demo) + $value=$p->t('testtool/demo'); + else + $value=$p->t('testtool/blaettern'); + + echo " $value >>"; + } + else + { + if($demo) + { + $qry = "SELECT count(*) as anzahl FROM testtool.tbl_frage + WHERE tbl_frage.gebiet_id='".addslashes($gebiet_id)."' + 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/startseite")." >>"; + } + } + } + else + { + //Wenns der letzte Eintrag ist, wieder zum ersten springen + echo " ".$p->t('testtool/blaettern')." >>"; + } + } + } + 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='".addslashes($gebiet_id)."' + 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/startseite")." >>"; + } + } + } + } + } + if(!$demo && !$levelgebiet) + echo " "; + + echo '



'; //Bild und Text der Frage anzeigen if($frage->bild!='') echo "

\n"; @@ -437,10 +603,12 @@ if($frage->frage_id!='') //Vorschlaege laden $vs = new vorschlag(); $vs->getVorschlag($frage->frage_id, $_SESSION['sprache'], $gebiet->zufallvorschlag); - echo "
frage_id\" method=\"POST\">"; + $letzte = $frage->getNextFrage($gebiet_id, $_SESSION['pruefling_id'], $frage_id, $demo); + echo "frage_id\" method=\"POST\" ".(!$letzte && !$levelgebiet?"onsubmit=\"letzteFrage()\"":"").">"; echo ''; echo ''; $anzahl = 1; + $beantwortet = false; //Antworten laden falls bereits vorhanden $antwort = new antwort(); @@ -465,10 +633,11 @@ if($frage->frage_id!='') if($vorschlag->vorschlag_id==$answer->vorschlag_id) { $checked='checked="checked"'; + $beantwortet = true; } } - echo ''; + echo ''; echo '
'; if($vorschlag->bild!='') @@ -503,159 +672,27 @@ if($frage->frage_id!='') if(!$gebiet->multipleresponse && !$levelgebiet && count($vs->result)>0) { echo "'; + echo '
'.$p->t('testtool/keineAntwort').''; } echo '
"; - echo '
CLEAR
'; if(!$demo) { - echo ""; + echo ''; } echo "
"; echo '


'; - //Fusszeile mit Weiter Button und Sprung direkt zu einer Frage - if(!$demo && !$levelgebiet) - { - $qry = "SELECT tbl_pruefling_frage.nummer, tbl_pruefling_frage.frage_id - FROM testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id) - WHERE gebiet_id='".addslashes($gebiet_id)."' AND pruefling_id='".addslashes($_SESSION['pruefling_id'])."' AND demo=false ORDER BY nummer"; - - //Nummern der Fragen Anzeigen - $result = $db->db_query($qry); - while($row = $db->db_fetch_object($result)) - { - if($row->frage_id==$frage_id) - echo " $row->nummer -"; - else - echo " $row->nummer -"; - } - } - - //Weiter Button nur bei nicht gelevelten Gebieten anzeigen - if(!$levelgebiet) - { - //Naechste Frage holen und Weiter-Button anzeigen - $frage = new frage(); - $nextfrage = $frage->getNextFrage($gebiet_id, $_SESSION['pruefling_id'], $frage_id, $demo); - if($nextfrage) - { - if($demo) - $value="Demo"; - else - $value="Weiter"; - - echo " $value >>"; - } - else - { - if($demo) - { - $qry = "SELECT count(*) as anzahl FROM testtool.tbl_frage - WHERE tbl_frage.gebiet_id='".addslashes($gebiet_id)."' - 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 " Startseite >>"; - } - } - } - else - { - //Wenns der letzte Eintrag ist, wieder zum ersten springen - echo " Weiter >>"; - } - } - } - else - { - //Naechste Frage holen und Weiter-Button anzeigen - if($demo) - { - - $frage = new frage(); - $nextfrage = $frage->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='".addslashes($gebiet_id)."' - 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 " Startseite >>"; - } - } - } - } - } - echo '
'; } else { //Wenn kein Demo vorhanden ist - echo "


Start druecken um zu beginnen
"; + echo "


".$p->t("testtool/startDrueckenUmZuBeginnen")."
"; } -/* -//Test mit Button unten -echo '


'; -echo '
'; - -if($demo) -{ - //Wenn es sich um ein Demobeispiel handelt, dann wird die Maximale Gesamtzeit angezeigt - echo $minute.':'.$sekunde.' Minuten '; - echo '

'; - echo ""; -} -else -{ - //Wenn es sich um eine Testfrage handelt, dann wird die verbleibende Zeit angezeigt - $qry = "SELECT '$gebiet->zeit'-(now()-min(begintime)) as time - FROM testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id) - WHERE gebiet_id='".addslashes($gebiet_id)."' AND pruefling_id='".addslashes($_SESSION['pruefling_id'])."'"; - $result = $db->db_query($qry); - $row = $db->db_fetch_object($result); - //Zeit in Sekunden umrechnen - list($stunde, $minute, $sekunde) = split(':',$row->time); - $zeit = (int) ($stunde*60*60+$minute*60+$sekunde); - //Wenn die Zeit negativ ist und die Stunde 0 ist, - //dann muss die Zeit mit -1 multipliziert werden - if(substr($stunde,0,1)=='-' && $stunde==0) - { - $zeit = $zeit*-1; - } - - echo ' Minuten'; - echo ""; -} -echo '
'; -*/ - - - - - - ?> diff --git a/cis/testtool/gebietfertig.php b/cis/testtool/gebietfertig.php index 68a56438d..45142e8c2 100644 --- a/cis/testtool/gebietfertig.php +++ b/cis/testtool/gebietfertig.php @@ -16,25 +16,72 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl , + * Manfred Kindl */ +require_once('../../config/cis.config.inc.php'); +require_once('../../include/basis_db.class.php'); +require_once('../../include/sprache.class.php'); +require_once '../../include/phrasen.class.php'; + + if (!$db = new basis_db()) + die('Fehler beim Oeffnen der Datenbankverbindung'); + +function getSpracheUser() +{ + if(isset($_SESSION['sprache_user'])) + { + $sprache_user=$_SESSION['sprache_user']; + } + else + { + if(isset($_COOKIE['sprache_user'])) + { + $sprache_user=$_COOKIE['sprache_user']; + } + else + { + $sprache_user=DEFAULT_LANGUAGE; + } + setSpracheUser($sprache_user); + } + return $sprache_user; +} + +function setSpracheUser($sprache) +{ + $_SESSION['sprache_user']=$sprache; + setcookie('sprache_user',$sprache,time()+60*60*24*30,'/'); +} + +if(isset($_GET['sprache_user'])) +{ + $sprache_user = new sprache(); + if($sprache_user->load($_GET['sprache_user'])) + { + setSpracheUser($_GET['sprache_user']); + } + else + setSpracheUser(DEFAULT_LANGUAGE); +} + +$sprache_user = getSpracheUser(); +$p = new phrasen($sprache_user); + ?> - + -


-
Die Maximalzeit für dieses Gebiet ist abgelaufen, oder alle Fragen wurden beantwortet. -
_____________________________ -
-
-The time for this part has expired or you have answered all the questions.
+




+

t('testtool/zeitAbgelaufen');?>

+
diff --git a/cis/testtool/index.html b/cis/testtool/index.html index 717fd3b28..2a2698564 100644 --- a/cis/testtool/index.html +++ b/cis/testtool/index.html @@ -7,10 +7,10 @@ - + - - + + <body> diff --git a/cis/testtool/login.php b/cis/testtool/login.php index 6195f2903..e53b0d12c 100644 --- a/cis/testtool/login.php +++ b/cis/testtool/login.php @@ -16,24 +16,80 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger <christian.paminger@technikum-wien.at>, - * Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and - * Rudolf Hangl <rudolf.hangl@technikum-wien.at>. + * Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>, + * Rudolf Hangl <rudolf.hangl@technikum-wien.at>, + * Manfred Kindl <manfred.kindl@technikum-wien.at> */ -require_once('../../config/cis.config.inc.php'); +require_once('../../config/cis.config.inc.php'); +require_once('../../config/global.config.inc.php'); require_once('../../include/person.class.php'); require_once('../../include/prestudent.class.php'); require_once('../../include/pruefling.class.php'); require_once('../../include/studiengang.class.php'); require_once('../../include/reihungstest.class.php'); +require_once('../../include/sprache.class.php'); +require_once '../../include/phrasen.class.php'; +require_once '../../include/datum.class.php'; if (!$db = new basis_db()) die('Fehler beim Oeffnen der Datenbankverbindung'); +//if(isset($_GET['lang'])) +// setSprache($_GET['lang']); + +$date = new datum(); + +function getSpracheUser() +{ + if(isset($_SESSION['sprache_user'])) + { + $sprache_user=$_SESSION['sprache_user']; + } + else + { + if(isset($_COOKIE['sprache_user'])) + { + $sprache_user=$_COOKIE['sprache_user']; + } + else + { + $sprache_user=DEFAULT_LANGUAGE; + } + setSpracheUser($sprache_user); + } + return $sprache_user; +} + +function setSpracheUser($sprache) +{ + $_SESSION['sprache_user']=$sprache; + setcookie('sprache_user',$sprache,time()+60*60*24*30,'/'); +} + +if(isset($_GET['sprache_user'])) +{ + $sprache_user = new sprache(); + if($sprache_user->load($_GET['sprache_user'])) + { + setSpracheUser($_GET['sprache_user']); + } + else + setSpracheUser(DEFAULT_LANGUAGE); +} + +$sprache_user = getSpracheUser(); +$p = new phrasen($sprache_user); + +$gebdatum=''; + session_start(); $reload=false; $reload_parent=false; +$sg_var = new studiengang(); +$studiengang_typ_arr = $sg_var->studiengang_typ_arr; + if (isset($_GET['logout'])) { if(isset($_SESSION['prestudent_id'])) @@ -43,13 +99,12 @@ if (isset($_GET['logout'])) } } -if(isset($_POST['tag']) && isset($_POST['monat']) && isset($_POST['jahr'])) +if(isset($_POST['gebdatum']) && $_POST['gebdatum']!='') { - if($_POST['tag']!='' && $_POST['monat']!='' && $_POST['jahr']!='') - $gebdatum = $_POST['jahr'].'-'.$_POST['monat'].'-'.$_POST['tag']; - else - $gebdatum=''; + $gebdatum = $date->formatDatum($_POST['gebdatum'],'Y-m-d'); } +else + $gebdatum=''; if (isset($_POST['prestudent']) && isset($gebdatum)) { @@ -90,17 +145,17 @@ if (isset($_POST['prestudent']) && isset($gebdatum)) } else { - echo '<span class="error">Der zuteilte Reihungstest ist noch nicht freigeschalten</span>'; + echo '<span class="error">'.$p->t('testtool/reihungstestNichtFreigeschalten').'</span>'; } } else { - echo '<span class="error">Der Reihungstest dem Sie zugeteilt sind kann nicht geladen werden</span>'; + echo '<span class="error">'.$p->t('testtool/reihungstestKannNichtGeladenWerden').'</span>'; } } else { - echo '<span class="error">Ihr Geburtsdatum stimmt nicht mit unseren Daten überein</span>'; + echo '<span class="error">'.$p->t('testtool/geburtsdatumStimmtNichtUeberein').'</span>'; } } @@ -118,7 +173,7 @@ else if(isset($_GET['type']) && $_GET['type']=='sprachechange' && isset($_GET['sprache'])) { - $_SESSION['sprache']=$_GET['sprache']; + setSprache($_GET['sprache']); } if(isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id'])) @@ -166,12 +221,43 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) $reload_parent=true; } } -?> -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +?><!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link href="../../skin/style.css.php" rel="stylesheet" type="text/css"> + <link rel="stylesheet" href="../../skin/jquery.css" type="text/css"/> + <script type="text/javascript" src="../../include/js/jquery1.9.min.js"></script> + <link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css"/> + <script type="text/javascript"> + $(document).ready(function() + { + $.datepicker.setDefaults( $.datepicker.regional[ "" ] ); + <?php //Wenn Deutsch ausgewaehlt, dann Datepicker auch in Deutsch + if ($sprache_user=="German") + echo '$.datepicker.setDefaults( $.datepicker.regional[ "de" ] ); + $( "#datepicker" ).datepicker( + { + changeMonth: true, + changeYear: true, + defaultDate: "-6570", + maxDate: -5110, + yearRange: "-60:+00", + } + );'; + else + echo '$( "#datepicker" ).datepicker({ + dateFormat: "dd.mm.yy", + changeMonth: true, + changeYear: true, + defaultDate: "-6570", + maxDate: -5110, + yearRange: "-60:+00", + });'; + ?> + + }); + </script> <?php if($reload_parent) echo '<script language="Javascript">parent.menu.location.reload()</script>'; @@ -181,20 +267,31 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) </head> <body> -<h1>Login</h1> -<?php +<?php echo '<h1>'.$p->t('testtool/startseite').'</h1>'; + if (isset($prestudent_id)) { + $prestudent = new prestudent($prestudent_id); - $stg_obj = new studiengang($prestudent->studiengang_kz); + $stg_obj = new studiengang($prestudent->studiengang_kz); $pruefling = new pruefling(); + $typ = new studiengang($prestudent->studiengang_kz); + $typ->getStudiengangTyp($stg_obj->typ); + + //Sprachwahl des Studiengangs + $qry = "SELECT sprachwahl FROM testtool.tbl_ablauf_vorgaben WHERE studiengang_kz=".addslashes($prestudent->studiengang_kz)." LIMIT 1"; + $result = $db->db_query($qry); + $sprachwahl = $db->db_fetch_object($result); + $sprachwahl = $db->db_parse_bool($sprachwahl->sprachwahl); echo '<form method="GET">'; - echo '<br>Sie sind angemeldet als '.$_SESSION['vorname'].' '.$_SESSION['nachname']; - echo ' ('.$_SESSION['gebdatum'].') ID: '.$_SESSION['prestudent_id']; - echo '&nbsp; <INPUT type="submit" value="Logout" name="logout" />'; + echo '<br>'.$p->t('testtool/begruessungstext').' <br/><br/>'; + echo '<b>'.$p->t('zeitaufzeichnung/id').'</b>: '.$_SESSION['prestudent_id'].'<br/>'; + echo '<b>'.$p->t('global/name').'</b>: '.$_SESSION['vorname'].' '.$_SESSION['nachname'].'<br/>'; + echo '<b>'.$p->t('global/geburtsdatum').'</b>: '.$date->formatDatum($_SESSION['gebdatum'],'d.m.Y').'<br/>'; + echo '<b>'.$p->t('global/studiengang').'</b>: '.$typ->bezeichnung.' '.($sprache_user=='English'?$stg_obj->english:$stg_obj->bezeichnung).'<br/><br/>'; + echo '<INPUT type="submit" value="Logout" name="logout" />'; echo '</form>'; - echo ' (Studiengang '.$stg_obj->bezeichnung.')'; echo '<br><br>'; if($pruefling->getPruefling($prestudent_id)) @@ -203,16 +300,16 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) echo '<FORM accept-charset="UTF-8" action="'. $_SERVER['PHP_SELF'].'" method="post" enctype="multipart/form-data">'; echo '<input type="hidden" name="pruefling_id" value="'.$pruefling->pruefling_id.'">'; echo '<table>'; - echo '<tr><td>Semester:</td><td><input type="text" name="semester" size="1" maxlength="1" value="'.$pruefling->semester.'">&nbsp;<input type="submit" name="save" value="Semester ändern"></td></tr>'; + //echo '<tr><td>'.$p->t('global/semester').':</td><td><input type="text" name="semester" size="1" maxlength="1" value="'.$pruefling->semester.'">&nbsp;<input type="submit" name="save" value="Semester ändern"></td></tr>'; //echo '<tr><td>ID Nachweis:</td><td><INPUT type="text" maxsize="50" name="idnachweis" value="'.$pruefling->idnachweis.'"></td></tr>'; //echo '<tr><td></td><td><input type="submit" name="save" value="Semester ändern"></td>'; echo '</table>'; - echo '</FORM><br>'; + echo '</FORM>'; //Wenn die Sprachwahl fuer diesen Studiengang aktiviert ist, dann die Sprachen anzeigen - if($stg_obj->testtool_sprachwahl) + if($sprachwahl==true) { - //Liste der Sprachen + //Liste der Sprachen, die in den Gebieten vorkommen koennen $qry = "SELECT distinct sprache FROM testtool.tbl_pruefling @@ -222,7 +319,7 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) WHERE tbl_pruefling.pruefling_id='".addslashes($pruefling->pruefling_id)."' ORDER BY sprache DESC"; - echo 'Sprache:'; + echo $p->t('testtool/spracheDerTestfragen').':'; if($result = $db->db_query($qry)) { while($row = $db->db_fetch_object($result)) @@ -235,7 +332,7 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) } } } - echo '<br><br><br><b>Klicken Sie links auf ein Teilgebiet</b><br><b>Select a topic on the left side</b>'; + echo '<br><br><br><b>'.$p->t('testtool/klickenSieAufEinTeilgebiet').'</b>'; if($pruefling->pruefling_id!='') { $_SESSION['pruefling_id']=$pruefling->pruefling_id; @@ -244,48 +341,29 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) } else { - echo 'Kein Pueflingseintrag vorhanden'; + echo '<span class="error">'.$p->t('testtool/keinPrueflingseintragVorhanden').'</span>'; } } else { echo '<form method="post"> <SELECT name="prestudent">'; - echo '<OPTION value="13478">Dummy Dieter</OPTION>\n'; + echo '<OPTION value="'.PRESTUDENT_ID_DUMMY_STUDENT.'">'.$p->t('testtool/nameAuswaehlen').'</OPTION>\n'; foreach($ps->result as $prestd) - echo '<OPTION value="'.$prestd->prestudent_id.'">'.$prestd->nachname.' '.$prestd->vorname."</OPTION>\n"; + { + $stg = new studiengang(); + $stg->load($prestd->studiengang_kz); + echo '<OPTION value="'.$prestd->prestudent_id.'" '.($prestd->prestudent_id==($_POST['prestudent'])?'selected':'').'>'.$prestd->nachname.' '.$prestd->vorname.' ('.(strtoupper($stg->typ.$stg->kurzbz)).')</OPTION>\n'; + } echo '</SELECT>'; - echo '&nbsp; Geburtsdatum: '; - //<INPUT type="text" maxlength="10" size="10" name="gebdatum" />(YYYY-MM-TT)'; - echo ' <SELECT name="tag">'; - echo '<OPTION value="">Tag</OPTION>'; - for($i=1;$i<=31;$i++) - echo '<OPTION value="'.($i<10?'0':'').$i.'">'.$i.'</OPTION>'; - echo '</SELECT>'; - echo ' <SELECT name="monat">'; - echo '<OPTION value="">Monat</OPTION>'; - for($i=1;$i<=12;$i++) - echo '<OPTION value="'.($i<10?'0':'').$i.'">'.date('F',mktime(0,0,0,$i,1,date('Y'))).'</OPTION>'; - echo '</SELECT>'; - echo ' <SELECT name="jahr">'; - echo '<OPTION value="">Jahr</OPTION>'; - for($i=date('Y');$i>date('Y')-99;$i--) - echo '<OPTION value="'.$i.'">'.$i.'</OPTION>'; - echo '</SELECT>'; - echo '&nbsp; <INPUT type="submit" value="Login" />'; + echo '&nbsp; '.$p->t('global/geburtsdatum').': '; + echo '<input type="text" id="datepicker" size="12" name="gebdatum" value="'.$date->formatDatum($gebdatum,'d.m.Y').'">'; + echo '&nbsp; <INPUT type="submit" value="'.$p->t('testtool/login').'" />'; echo '</form>'; echo '<br /><br /><br /> <center> - <span style="font-size: 1.2em; font-style: italic;"> - Herzlich Willkommen zum Reihungstest der Fachhochschule Technikum-Wien.<br /><br /> - Bitte warten Sie mit dem Login auf die Anweisung der Aufsichtsperson.<br /><br /> - Wir wünschen Ihnen einen erfolgreichen Start ins Studium.<br /><br /> - ---------------<br /><br /> - Welcome to the placement test of UAS Technikum Wien.<br /><br /> - Please wait for the tutor\'s instructions before you log in.<br /><br /> - We wish you a good start to your studies. - </span> + <span style="font-size: 1.2em; font-style: italic;">'.$p->t('testtool/willkommenstext').'</span> </center>'; } ?> diff --git a/cis/testtool/menu.php b/cis/testtool/menu.php index 369e5c620..60f6ccd8c 100644 --- a/cis/testtool/menu.php +++ b/cis/testtool/menu.php @@ -16,21 +16,67 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger <christian.paminger@technikum-wien.at>, - * Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and - * Rudolf Hangl <rudolf.hangl@technikum-wien.at>. + * Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>, + * Rudolf Hangl <rudolf.hangl@technikum-wien.at>, + * Manfred Kindl <manfred.kindl@technikum-wien.at> */ - require_once('../../config/cis.config.inc.php'); - require_once('../../include/basis_db.class.php'); +require_once('../../config/cis.config.inc.php'); +require_once('../../config/global.config.inc.php'); +require_once('../../include/basis_db.class.php'); +require_once('../../include/sprache.class.php'); +require_once '../../include/phrasen.class.php'; + if (!$db = new basis_db()) die('Fehler beim Oeffnen der Datenbankverbindung'); require_once('../../include/gebiet.class.php'); + +function getSpracheUser() +{ + if(isset($_SESSION['sprache_user'])) + { + $sprache_user=$_SESSION['sprache_user']; + } + else + { + if(isset($_COOKIE['sprache_user'])) + { + $sprache_user=$_COOKIE['sprache_user']; + } + else + { + $sprache_user=DEFAULT_LANGUAGE; + } + setSpracheUser($sprache_user); + } + return $sprache_user; +} + +function setSpracheUser($sprache) +{ + $_SESSION['sprache_user']=$sprache; + setcookie('sprache_user',$sprache,time()+60*60*24*30,'/'); +} + +if(isset($_GET['sprache_user'])) +{ + $sprache_user = new sprache(); + if($sprache_user->load($_GET['sprache_user'])) + { + setSpracheUser($_GET['sprache_user']); + } + else + setSpracheUser(DEFAULT_LANGUAGE); +} + +$sprache_user = getSpracheUser(); +$p = new phrasen($sprache_user); +$sprache = getSprache(); + session_start(); -?> - -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +?><!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> @@ -41,81 +87,104 @@ session_start(); <?php if (isset($_SESSION['pruefling_id'])) { + //content_id fuer Einfuehrung auslesen + $qry = "SELECT content_id FROM testtool.tbl_ablauf_vorgaben WHERE studiengang_kz='".addslashes($_SESSION['studiengang_kz'])."' LIMIT 1"; + $result = $db->db_query($qry); + echo '<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border-right-width:1px;border-right-color:#BCBCBC;">'; - echo '<tr><td nowrap> - <a class="MenuItem" href="index.html" target="_top"> - <img src="../../skin/images/menu_item.gif" width="7" height="9">&nbsp;Home - </a> + echo '<tr><td style="padding-left: 20px;" nowrap> + <a href="login.php" target="content">'.$p->t('testtool/startseite').'</a> </td></tr>'; - echo '<tr><td nowrap><img src="../../skin/images/menu_item.gif" width="7" height="9">&nbsp;Gebiet</td></tr>'; - echo '<tr><td nowrap>'; - echo '<table /*width="100%"*/ border="0" cellspacing="0" cellpadding="0" id="Gebiet" style="display: visible;">'; + if ($content_id = $db->db_fetch_object($result)) + echo '<tr><td style="padding-left: 20px;"><a href="../../cms/content.php?content_id='.$content_id->content_id.'&sprache='.$sprache.'" target="content">'.$p->t('testtool/einleitung').'</a></td></tr>'; + echo '<tr><td>&nbsp;</td></tr>'; + echo '<tr><td style="padding-left: 20px;" nowrap>'; - $qry = "SELECT * FROM testtool.vw_ablauf WHERE studiengang_kz='".addslashes($_SESSION['studiengang_kz'])."' AND semester='".addslashes($_SESSION['semester'])."' ORDER BY reihung"; - //echo $qry; - if($result = $db->db_query($qry)) + $qry = "SELECT * FROM testtool.vw_ablauf WHERE studiengang_kz='".addslashes($_SESSION['studiengang_kz'])."' ORDER BY semester,reihung"; + + $result = $db->db_query($qry); + $lastsemester = ''; + + while($row = $db->db_fetch_object($result)) { - while($row = $db->db_fetch_object($result)) + //Jedes Semester in einer eigenen Tabelle anzeigen + if($lastsemester!=$row->semester) { - $gebiet = new gebiet(); - if($gebiet->check_gebiet($row->gebiet_id)) + if($lastsemester!='') { - //Status der Gebiete Pruefen - $gebiet->load($row->gebiet_id); - - $qry = "SELECT extract('epoch' from '$gebiet->zeit'-(now()-min(begintime))) as time - FROM testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id) - WHERE gebiet_id='".addslashes($row->gebiet_id)."' AND pruefling_id='".addslashes($_SESSION['pruefling_id'])."'"; - if($result_time = $db->db_query($qry)) + //echo '<tr><td>&nbsp;</td></tr>'; + echo '</table>'; + } + $lastsemester = $row->semester; + + echo '<table border="0" cellspacing="0" cellpadding="0" id="Gebiet" style="display: visible; border-collapse: separate; border-spacing: 0 6px;">'; + echo '<tr><td style="color: #000; background-color: #8DBDD8; white-space:nowrap; padding: 0 10px 0 10px; line-height: 20px">'.$row->semester.'. '.$p->t('testtool/semester').' '.($row->semester!='1'?$p->t('testtool/quereinstieg'):'').'</td></tr>'; + } + $gebiet = new gebiet(); + if($gebiet->check_gebiet($row->gebiet_id)) + { + //Status der Gebiete Pruefen + $gebiet->load($row->gebiet_id); + + $qry = "SELECT extract('epoch' from '$gebiet->zeit'-(now()-min(begintime))) as time + FROM testtool.tbl_pruefling_frage JOIN testtool.tbl_frage USING(frage_id) + WHERE gebiet_id='".addslashes($row->gebiet_id)."' AND pruefling_id='".addslashes($_SESSION['pruefling_id'])."'"; + if($result_time = $db->db_query($qry)) + { + if($row_time = $db->db_fetch_object($result_time)) { - if($row_time = $db->db_fetch_object($result_time)) + if($row_time->time>0) { - if($row_time->time>0) - { - //Gebiet gestartet aber noch nicht zu ende - $style='text-decoration: underline;'; - } - else - { - if($row_time->time=='') - { - //Gebiet noch nicht gestartet - $style=''; - } - else - { - //Gebiet ist zu Ende - $style='text-decoration:line-through;'; - } - } + //Gebiet gestartet aber noch nicht zu ende + //$style='text-decoration: underline;'; + $style=''; + $class='ItemTesttoolAktiv'; } else { - $style=''; + if($row_time->time=='') + { + //Gebiet noch nicht gestartet + $style=''; + $class='ItemTesttool'; + } + else + { + //Gebiet ist zu Ende + //$style='text-decoration:line-through;'; + $style=''; + $class='ItemTesttoolBeendet'; + } } } else { $style=''; + $class='ItemTesttool'; } - - echo '<tr> - <td width="10" class="ItemTesttoolLeft" nowrap>&nbsp;</td> - <td class="ItemTesttool" nowrap> - <a class="ItemTesttool" href="frage.php?gebiet_id='.$row->gebiet_id.'" onclick="document.location.reload()" target="content" style="'.$style.'">'.$row->gebiet_bez.'</a> - </td> - <td width="10" class="ItemTesttoolRight" nowrap>&nbsp;</td> - </tr>'; } - else + else { - echo '<tr> - <td width="10" nowrap>&nbsp;</td> - <td nowrap> - <span class="error"><img src="../../skin/images/menu_item.gif" width="7" height="9">&nbsp;'.$row->gebiet_bez.' (invalid)</span> - </td> - </tr>'; + $style=''; + $class='ItemTesttool'; } + + echo '<tr> + <!--<td width="10" class="ItemTesttoolLeft" nowrap>&nbsp;</td>--> + <td class="'.$class.'"> + <a class="'.$class.'" href="frage.php?gebiet_id='.$row->gebiet_id.'" onclick="document.location.reload()" target="content" style="'.$style.'">'.$row->gebiet_bez.'</a> + </td> + <!--<td width="10" class="ItemTesttoolRight" nowrap>&nbsp;</td>--> + </tr>'; + } + else + { + echo '<tr> + <td width="10" nowrap>&nbsp;</td> + <td nowrap> + <span class="error"><img src="../../skin/images/menu_item.gif" width="7" height="9">&nbsp;'.$row->gebiet_bez.' (invalid)</span> + </td> + </tr>'; } } echo '</table>'; @@ -123,13 +192,6 @@ if (isset($_SESSION['pruefling_id'])) } else { - echo '<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border-right-width:1px;border-right-color:#BCBCBC;">'; - echo '<tr><td nowrap> - <a class="HyperItem" href="index.html" target="_top"> - <img src="../../skin/images/menu_item.gif" width="7" height="9">&nbsp;Login - </a> - </td></tr>'; - echo '</table>'; echo '</td></tr></table>'; } ?> diff --git a/cis/testtool/topbar.php b/cis/testtool/topbar.php new file mode 100644 index 000000000..d6a29dad2 --- /dev/null +++ b/cis/testtool/topbar.php @@ -0,0 +1,138 @@ +<?php +/* Copyright (C) 2006 Technikum-Wien + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + * + * Authors: Manfred Kindl <manfred.kindl@technikum-wien.at>. + */ + +require_once('../../config/cis.config.inc.php'); +require_once('../../include/basis_db.class.php'); +require_once('../../include/sprache.class.php'); +require_once '../../include/phrasen.class.php'; + + if (!$db = new basis_db()) + die('Fehler beim Oeffnen der Datenbankverbindung'); + +require_once('../../include/gebiet.class.php'); + +//if(isset($_GET['lang'])) + //setSprache($_GET['lang']); + +function getSpracheUser() +{ + if(isset($_SESSION['sprache_user'])) + { + $sprache_user=$_SESSION['sprache_user']; + } + else + { + if(isset($_COOKIE['sprache_user'])) + { + $sprache_user=$_COOKIE['sprache_user']; + } + else + { + $sprache_user=DEFAULT_LANGUAGE; + } + setSpracheUser($sprache_user); + } + return $sprache_user; +} + +function setSpracheUser($sprache) +{ + $_SESSION['sprache_user']=$sprache; + setcookie('sprache_user',$sprache,time()+60*60*24*30,'/'); +} + +if(isset($_GET['sprache_user'])) +{ + $sprache_user = new sprache(); + if($sprache_user->load($_GET['sprache_user'])) + { + setSpracheUser($_GET['sprache_user']); + } + else + setSpracheUser(DEFAULT_LANGUAGE); +} + +$sprache_user = getSpracheUser(); + +$p = new phrasen($sprache_user); + +?> + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html> + +<head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <link href="../../skin/style.css.php" rel="stylesheet" type="text/css"> +</head> +<script type="text/javascript"> +function changeSprache(sprache) +{ + var content = ''; + content = parent.content.location.pathname+parent.content.location.search; + + window.location.href="topbar.php?sprache_user="+sprache; + parent.menu.location.href="menu.php?sprache_user="+sprache; + + if (parent.content.location.search=='') + parent.content.location.href=content+"?sprache_user="+sprache; + else + parent.content.location.href=content+"&sprache_user="+sprache; +} +</script> +<body> +<?php +echo ' <table style="background-image: url(../../skin/images/header_testtool.png); background-repeat: repeat-x;" width="100%" height="100%" cellspacing="0" cellpadding="0"> + <tr> + <td valign="top" align="left"> + <a href="index.html" target="_top"><img class="header_logo" style="height:70%; left: 16px; top: 10%;" src="../../skin/styles/'.EXT_FKT_PATH.'/logo_klein.png" alt="logo"></a> + </td> + <td align="right"> + <select style="text-align: left; color: #0086CC; border: 1;" name="select">'; + $sprache = new sprache(); + $sprache->getAll(true); + foreach($sprache->result as $row) + { + echo ' <option onclick="changeSprache(\''.$row->sprache.'\'); return false;" '.($row->sprache==$sprache_user?'selected':'').'>'.($row->bezeichnung_arr[getSprache()]).'&nbsp;&nbsp;</option>'; + } + echo ' </select>&nbsp;&nbsp;</div> + </tr> + </table>'; +?> +</body> +</html> + + + + + + + + + + + + + + + + + + diff --git a/cms/admin.php b/cms/admin.php index 3aaf89f42..1dcb5c24a 100644 --- a/cms/admin.php +++ b/cms/admin.php @@ -64,6 +64,10 @@ $berechtigte_oe = $rechte->getOEkurzbz('basis/cms') mode : "textareas", theme : "advanced", language : "de", + protect: [ /\<\/?(audio[^>]+|audio)\>/g, // Protect <audio...> und </audio>], + /\<\/?(source[^>]+)\>/g // Protect <source...>], + ], + file_browser_callback: "FHCFileBrowser", plugins : "spellchecker,pagebreak,style,layer,table,advhr,advimage,advlink,inlinepopups,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras", @@ -78,7 +82,7 @@ $berechtigte_oe = $rechte->getOEkurzbz('basis/cms') theme_advanced_statusbar_location : "bottom", theme_advanced_resizing : true, theme_advanced_styles : "Contenttabelle=cmstable;Hauptcontent=cmscontent;Menuebox=menubox;Teambox=teambox;Schatteneffekt Grafiken=screenshot_boxshadow;Tablesorter=tablesorter tablesorter_col_0 tablesorter_sort_0", - advimage_update_dimensions_onchange : false, + advimage_update_dimensions_onchange : false, //funktioniert aus irgendeinem Grund nicht. Grafiken sollten nach aendern der ID die eingestellte groesse behalten. force_br_newlines : true, force_p_newlines : false, forced_root_block : '', @@ -523,7 +527,7 @@ if(!is_null($method)) $texthtml = "Dies ist eine automatisch generierte E-Mail.<br><br> Es wurde ein Artikel angelegt/bearbeitet. Dieser kann nun übersetzt werden: '$content->titel'<br> <br> - <a href=\"".APP_ROOT."cms/admin.php?content_id=".$content->content_id."&sprache=$sprache&version=$version)&action=content\">zum Artikel</a> + <a href=\"".APP_ROOT."cms/admin.php?content_id=".$content->content_id."&sprache=$sprache&version=$version&action=content\">zum Artikel</a> <br> <br> Mit freundlichen Grüßen<br> @@ -1204,7 +1208,7 @@ function print_content() if($content->template_kurzbz=='redirect') echo '<a href="content.php?content_id='.$content_id.'&version='.$version.'&sprache='.$sprache.'&sichtbar" target="_blank">Vorschau in eigenem Fenster öffnen</a>'; else - echo '<iframe src="content.php?content_id='.$content_id.'&version='.$version.'&sprache='.$sprache.'&sichtbar" style="width: 800px; height: 500px; border: 1px solid black;">'; + echo '<iframe src="content.php?content_id='.$content_id.'&version='.$version.'&sprache='.$sprache.'" style="width: 800px; height: 500px; border: 1px solid black;">'; } /** diff --git a/locale/de-AT/testtool.php b/locale/de-AT/testtool.php index 67c70b495..383228037 100644 --- a/locale/de-AT/testtool.php +++ b/locale/de-AT/testtool.php @@ -1,3 +1,42 @@ <?php $this->phrasen['testtool/titel']=''; +$this->phrasen['testtool/login']='Login'; +$this->phrasen['testtool/tag']='Tag'; +$this->phrasen['testtool/monat']='Monat'; +$this->phrasen['testtool/jahr']='Jahr'; +$this->phrasen['testtool/willkommenstext']='Herzlich Willkommen zum Reihungstest.<br /><br /> + Bitte warten Sie mit dem Login auf die Anweisung der Aufsichtsperson.<br /><br /> + Wir wünschen Ihnen einen erfolgreichen Start ins Studium.'; +$this->phrasen['testtool/nameAuswaehlen']='Name auswählen...'; +$this->phrasen['testtool/quereinstieg']='(Quereinstieg)'; +$this->phrasen['testtool/semester']='Semester'; +$this->phrasen['testtool/reihungstestNichtFreigeschalten']='Der zuteilte Reihungstest ist noch nicht freigeschaltet'; +$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='Der Reihungstest dem Sie zugeteilt sind, kann nicht geladen werden'; +$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='Ihr Geburtsdatum stimmt nicht mit unseren Daten überein. Bitte wenden Sie sich an die Aufsichtsperson'; +$this->phrasen['testtool/home']='Home'; +$this->phrasen['testtool/klickenSieAufEinTeilgebiet']='Klicken Sie links auf ein Teilgebiet'; +$this->phrasen['testtool/gebietStarten']='Gebiet starten'; +$this->phrasen['testtool/startseite']='Startseite'; +$this->phrasen['testtool/begruessungstext']='Willkommen zum Reihungstest der Fachhochschule Technikum Wien. Sie sind mit folgenden Daten angemeldet:'; +$this->phrasen['testtool/keineAntwort']='Keine Antwort'; +$this->phrasen['testtool/speichernUndWeiter']='Speichern und weiter'; +$this->phrasen['testtool/alleFragenBeantwortet']='GLÜCKWUNSCH! \n\nSie haben alle Fragen in der zur Verfügung stehenden Zeit beantwortet. \nNutzen Sie die verbleibende Zeit, um Ihre Antworten zu kontrollieren oder fahren Sie mit dem nächsten Teilgebiet fort'; +$this->phrasen['testtool/zeitAbgelaufen']='Die Maximalzeit für dieses Gebiet ist abgelaufen, oder alle Fragen wurden beantwortet'; +$this->phrasen['testtool/spracheDerTestfragen']='Gewünschte Sprache der Testfragen'; +$this->phrasen['testtool/einleitung']='Einleitung'; +$this->phrasen['testtool/blaettern']='Blättern'; +$this->phrasen['testtool/demo']='Demo'; +$this->phrasen['testtool/okKlickenUmZuStarten']='Klicken Sie OK um dieses Gebiet zu starten. \nSie haben für die Bearbeitung ein Zeitlimit von'; +$this->phrasen['testtool/bitteZuerstAnmelden']='Bitte zuerst anmelden!'; +$this->phrasen['testtool/fehlerBeimGenerierenDesFragenpools']='Fehler beim generieren des Fragenpools'; +$this->phrasen['testtool/esWurdeKeineFrageGefunden']='Es wurde keine Frage gefunden'; +$this->phrasen['testtool/fehler']='Fehler'; +$this->phrasen['testtool/fehlerBeimStartvorgang']='Fehler beim Startvorgang'; +$this->phrasen['testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten']='Bei diesem Gebiet müssen Sie jede Frage beantworten'; +$this->phrasen['testtool/bearbeitungszeit']='Bearbeitungszeit'; +$this->phrasen['testtool/dieZeitIstAbgelaufen']='Die Zeit ist abgelaufen!<br /> Bitte aktivieren Sie Javascript in Ihrem Browser!'; +$this->phrasen['testtool/dieseFrageIstNichtFuerSieBestimmt']='Diese Frage ist nicht für Sie bestimmt'; +$this->phrasen['testtool/fehlerBeimSpeichernDerErstansicht']='Fehler beim Speichern der Erstansicht'; +$this->phrasen['testtool/startDrueckenUmZuBeginnen']='Um dieses Teilgebiet zu starten, drücken Sie bitte links oben auf <b>Gebiet starten</b>.'; +$this->phrasen['testtool/keinPrueflingseintragVorhanden']='Kein Prüflingseintrag vorhanden'; ?> diff --git a/locale/en-US/testtool.php b/locale/en-US/testtool.php index 67c70b495..b6e775f15 100644 --- a/locale/en-US/testtool.php +++ b/locale/en-US/testtool.php @@ -1,3 +1,42 @@ <?php $this->phrasen['testtool/titel']=''; -?> +$this->phrasen['testtool/login']='Login'; +$this->phrasen['testtool/tag']='Day'; +$this->phrasen['testtool/monat']='Month'; +$this->phrasen['testtool/jahr']='Year'; +$this->phrasen['testtool/willkommenstext']='Welcome to the placement test.<br /><br /> + Please wait for the tutor\'s instructions before you log in.<br /><br /> + We wish you a good start to your studies.'; +$this->phrasen['testtool/nameAuswaehlen']='Choose name...'; +$this->phrasen['testtool/quereinstieg']='(Lateral entry)'; +$this->phrasen['testtool/semester']='Semester'; +$this->phrasen['testtool/reihungstestNichtFreigeschalten']='The entrance examination assigned has not yet been activated.'; +$this->phrasen['testtool/reihungstestKannNichtGeladenWerden']='The entrance examination assigned to you can not be loaded.'; +$this->phrasen['testtool/geburtsdatumStimmtNichtUeberein']='Your date of birth does not correspond to the data we have. Please speak to the supervisor. '; +$this->phrasen['testtool/home']='Home'; +$this->phrasen['testtool/klickenSieAufEinTeilgebiet']='Select a topic on the left side'; +$this->phrasen['testtool/gebietStarten']='Start section'; +$this->phrasen['testtool/startseite']='Startpage'; +$this->phrasen['testtool/begruessungstext']='Welcome to the placement test of the UAS Technikum Wien. <br/>You are logged in with the following data:'; +$this->phrasen['testtool/keineAntwort']='No Answer'; +$this->phrasen['testtool/speichernUndWeiter']='Save and next'; +$this->phrasen['testtool/alleFragenBeantwortet']='CONGRATULATIONS!\n\nYou have answered all the questions in the time allowed.\n Use the remaining time to check your answers or continue to the next section.'; +$this->phrasen['testtool/zeitAbgelaufen']='The time for this part has expired or you have answered all the questions.'; +$this->phrasen['testtool/spracheDerTestfragen']='Desired language of questions'; +$this->phrasen['testtool/einleitung']='Introduction'; +$this->phrasen['testtool/blaettern']='Browse'; +$this->phrasen['testtool/demo']='Demo'; +$this->phrasen['testtool/okKlickenUmZuStarten']='Click OK to start this section. \nYou have a timelimit of'; +$this->phrasen['testtool/bitteZuerstAnmelden']='Please log in first!'; +$this->phrasen['testtool/fehlerBeimGenerierenDesFragenpools']='Error in generating the pool of questions.'; +$this->phrasen['testtool/esWurdeKeineFrageGefunden']='No question has been found.'; +$this->phrasen['testtool/fehler']='Error'; +$this->phrasen['testtool/fehlerBeimStartvorgang']='Error in start-up sequence'; +$this->phrasen['testtool/beiDiesemGebietMuessenSieJedeFrageBeantworten']='In this section you must answer every question'; +$this->phrasen['testtool/bearbeitungszeit']='Time'; +$this->phrasen['testtool/dieZeitIstAbgelaufen']='The time has run out!<br />Please enable JavaScript in your browser!'; +$this->phrasen['testtool/dieseFrageIstNichtFuerSieBestimmt']='This question is not intended for you'; +$this->phrasen['testtool/fehlerBeimSpeichernDerErstansicht']='Error in saving the initial view'; +$this->phrasen['testtool/startDrueckenUmZuBeginnen']='To start this section, please click on <b>Start section</b> in the top left corner.'; +$this->phrasen['testtool/keinPrueflingseintragVorhanden']='No candidate entry available.'; +?> \ No newline at end of file diff --git a/skin/images/header_testtool.png b/skin/images/header_testtool.png new file mode 100644 index 0000000000000000000000000000000000000000..c4d19a4b44838792876daf0806101d34c94e7382 GIT binary patch literal 1207 zcmeAS@N?(olHy`uVBq!ia0y~yU^xtAPvKw#lJj)mr2{FpByV>YAPodRop;v*Db50q z$YKTt@dOZNw5dsb0~BO0@$_|NzsJZgAgVKC#qoJSqg*^)978H@y}j!w=%UEOdazdH z-`866H4|P=oA5Y<>G!_(e}VcK6dp)0f@sn2GPXQGx`9m<Oz{{(sPsu7*%XaLFx3H} zEGDx6xeCsl%wUQKOg+vsW(6q{%4q|cI6)CYJv8?Oi5g8Y08>X$s6CP(uR62|K`03@ zb?j~$C`cGoZa@rnhERv|iFOK1$83mmQ5}CLcNxfZho-YAPWhw82@*whN}Dk@$ItO( z0xF%bum#zlQ12FQp9zv=;4}k8CBq2;2({z+3$R;EP~CzxAP>(}0cn-=k^oalDAYY@ wn2;az-|kf(0~zelh#CN>F*C|D8Vv%Ye>_H<&R25R-328WPgg&ebxsLQ06x*#TL1t6 literal 0 HcmV?d00001 diff --git a/skin/styles/tw/logo_klein.png b/skin/styles/tw/logo_klein.png new file mode 100644 index 0000000000000000000000000000000000000000..81a5b46d6ca83fc1d0a7df4fa2bbca63fd8b839c GIT binary patch literal 6241 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 LNkvXXu0mjfE+s<L literal 0 HcmV?d00001 diff --git a/system/checksystem.php b/system/checksystem.php index 489fc3962..f5bcbc8c2 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -2108,6 +2108,16 @@ if(!$result = @$db->db_query("SELECT sort FROM lehre.tbl_studienplan_lehrveranst echo ' lehre.tbl_studienplan_lehrveranstaltung: Spalte sort hinzugefuegt!<br>'; } +// Spalte studienjahr_kurzbz in public.tbl_studiensemester +if(!$result = @$db->db_query("SELECT studienjahr_kurzbz FROM public.tbl_studiensemester LIMIT 1;")) +{ + $qry = "ALTER TABLE public.tbl_studiensemester ADD COLUMN studienjahr_kurzbz varchar(16);"; + if(!$db->db_query($qry)) + echo '<strong>public.tbl_studiensemester: '.$db->db_last_error().'</strong><br>'; + else + echo ' public.tbl_studiensemester: Spalte studienjahr_kurzbz hinzugefuegt!<br>'; +} + // Spalte sort in lehre.tbl_studienplan_lehrveranstaltung if($result = $db->db_query("select * from information_schema.key_column_usage where constraint_name='fk_vertragsstatus_vertrag_vertragsstatus'")) { @@ -2132,16 +2142,65 @@ if(!$result = @$db->db_query("SELECT sort FROM fue.tbl_aktivitaet LIMIT 1;")) echo ' fue.tbl_aktivitaet: Spalte sort hinzugefuegt!<br>'; } -// Spalte studienjahr_kurzbz in public.tbl_studiensemester -if(!$result = @$db->db_query("SELECT studienjahr_kurzbz FROM public.tbl_studiensemester LIMIT 1;")) +// Tabelle testtool.tbl_ablauf_vorgaben +if(!$result = @$db->db_query("SELECT 1 FROM testtool.tbl_ablauf_vorgaben LIMIT 1;")) { - $qry = "ALTER TABLE public.tbl_studiensemester ADD COLUMN studienjahr_kurzbz varchar(16);"; + $qry = " + CREATE TABLE testtool.tbl_ablauf_vorgaben + ( + ablauf_vorgaben_id integer NOT NULL, + studiengang_kz integer NOT NULL, + sprache varchar(16), + sprachwahl boolean NOT NULL, + content_id bigint, + insertamum timestamp, + insertvon varchar(32), + updateamum timestamp, + updatevon varchar(32) + ); + COMMENT ON TABLE testtool.tbl_ablauf_vorgaben IS 'Einstellungen und Variablen fuer den Ablauf der Gebiete'; + COMMENT ON COLUMN testtool.tbl_ablauf_vorgaben.content_id IS 'Einfuehrungsseite aus dem CMS'; + COMMENT ON COLUMN testtool.tbl_ablauf_vorgaben.sprache IS 'Sprache, in der die Fragen gestellt werden'; + COMMENT ON COLUMN testtool.tbl_ablauf_vorgaben.sprachwahl IS 'Soll der Pruefling die Sprache der Testfragen aendern koennen?'; + + ALTER TABLE testtool.tbl_ablauf_vorgaben ADD CONSTRAINT pk_ablauf_vorgaben PRIMARY KEY (ablauf_vorgaben_id); + CREATE SEQUENCE testtool.tbl_ablauf_vorgaben_ablauf_vorgaben_id_seq + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + CACHE 1; + + ALTER TABLE testtool.tbl_ablauf_vorgaben ALTER COLUMN ablauf_vorgaben_id SET DEFAULT nextval('testtool.tbl_ablauf_vorgaben_ablauf_vorgaben_id_seq'); + ALTER TABLE testtool.tbl_ablauf_vorgaben ADD CONSTRAINT fk_ablauf_vorgaben_studiengang_kz FOREIGN KEY (studiengang_kz) REFERENCES public.tbl_studiengang(studiengang_kz) ON DELETE RESTRICT ON UPDATE CASCADE; + ALTER TABLE testtool.tbl_ablauf_vorgaben ADD CONSTRAINT fk_ablauf_vorgaben_sprache FOREIGN KEY (sprache) REFERENCES public.tbl_sprache(sprache) ON DELETE RESTRICT ON UPDATE CASCADE; + ALTER TABLE testtool.tbl_ablauf_vorgaben ADD CONSTRAINT fk_ablauf_vorgaben_content_id FOREIGN KEY (content_id) REFERENCES campus.tbl_content(content_id) ON DELETE RESTRICT ON UPDATE CASCADE; + + GRANT SELECT, INSERT, UPDATE, DELETE ON testtool.tbl_ablauf_vorgaben TO vilesci; + GRANT SELECT, UPDATE ON testtool.tbl_ablauf_vorgaben_ablauf_vorgaben_id_seq TO vilesci; + + GRANT SELECT, INSERT, UPDATE, DELETE ON testtool.tbl_ablauf_vorgaben TO web; + GRANT SELECT, UPDATE ON testtool.tbl_ablauf_vorgaben_ablauf_vorgaben_id_seq TO web; + "; + if(!$db->db_query($qry)) - echo '<strong>public.tbl_studiensemester: '.$db->db_last_error().'</strong><br>'; + echo '<strong>testtool.tbl_ablauf_vorgaben: '.$db->db_last_error().'</strong><br>'; else - echo ' public.tbl_studiensemester: Spalte studienjahr_kurzbz hinzugefuegt!<br>'; + echo 'testtool.tbl_ablauf_vorgaben: Tabelle und Sequenz hinzugefuegt!<br>'; } +// Vorgaben fuer Testtool Ablauf +if(!$result = @$db->db_query("SELECT ablauf_vorgaben_id FROM testtool.tbl_ablauf LIMIT 1")) +{ + $qry = " + ALTER TABLE testtool.tbl_ablauf ADD COLUMN ablauf_vorgaben_id integer; + ALTER TABLE testtool.tbl_ablauf ADD CONSTRAINT fk_ablauf_vorgaben_id FOREIGN KEY (ablauf_vorgaben_id) REFERENCES testtool.tbl_ablauf_vorgaben(ablauf_vorgaben_id) ON DELETE RESTRICT ON UPDATE CASCADE; + "; + + if(!$db->db_query($qry)) + echo '<strong>testtool.tbl_ablauf: '.$db->db_last_error().'</strong><br>'; + else + echo 'testtool.tbl_ablauf: Neue Spalte ablauf_vorgaben_id hinzugefuegt<br>'; +} echo '<br><br><br>'; @@ -2349,7 +2408,8 @@ $tabellen=array( "public.tbl_variable" => array("name","uid","wert"), "public.tbl_vorlage" => array("vorlage_kurzbz","bezeichnung","anmerkung","mimetype"), "public.tbl_vorlagestudiengang" => array("vorlagestudiengang_id","vorlage_kurzbz","studiengang_kz","version","text","oe_kurzbz"), - "testtool.tbl_ablauf" => array("ablauf_id","gebiet_id","studiengang_kz","reihung","gewicht","semester", "insertamum","insertvon","updateamum", "updatevon"), + "testtool.tbl_ablauf" => array("ablauf_id","gebiet_id","studiengang_kz","reihung","gewicht","semester", "insertamum","insertvon","updateamum", "updatevon","ablauf_vorgaben_id"), + "testtool.tbl_ablauf_vorgaben" => array("ablauf_vorgaben_id","studiengang_kz","sprache","sprachwahl","content_id","insertamum","insertvon","updateamum", "updatevon"), "testtool.tbl_antwort" => array("antwort_id","pruefling_id","vorschlag_id"), "testtool.tbl_frage" => array("frage_id","kategorie_kurzbz","gebiet_id","level","nummer","demo","insertamum","insertvon","updateamum","updatevon"), "testtool.tbl_gebiet" => array("gebiet_id","kurzbz","bezeichnung","beschreibung","zeit","multipleresponse","kategorien","maxfragen","zufallfrage","zufallvorschlag","levelgleichverteilung","maxpunkte","insertamum", "insertvon", "updateamum", "updatevon", "level_start","level_sprung_auf","level_sprung_ab","antwortenprozeile"), diff --git a/vilesci/stammdaten/reihungstest_administration.php b/vilesci/stammdaten/reihungstest_administration.php index 68737c1a8..55f98fb8a 100644 --- a/vilesci/stammdaten/reihungstest_administration.php +++ b/vilesci/stammdaten/reihungstest_administration.php @@ -374,8 +374,8 @@ if(isset($_GET['action']) && $_GET['action']=='deletedummyanswers') if(!$rechte->isBerechtigt('basis/testtool', null, 'suid')) die('<span class="error">Sie haben keine Berechtigung für diese Aktion. <a href="reihungstest_administration.php">Seite neu laden</a></span>'); - $qry = "DELETE FROM testtool.tbl_antwort WHERE pruefling_id=841; - DELETE FROM testtool.tbl_pruefling_frage where pruefling_id=841;"; + $qry = "DELETE FROM testtool.tbl_antwort WHERE pruefling_id=(SELECT pruefling_id FROM testtool.tbl_pruefling WHERE prestudent_id=".$db->db_add_param(PRESTUDENT_ID_DUMMY_STUDENT)."); + DELETE FROM testtool.tbl_pruefling_frage where pruefling_id=(SELECT pruefling_id FROM testtool.tbl_pruefling WHERE prestudent_id=".$db->db_add_param(PRESTUDENT_ID_DUMMY_STUDENT).");"; if($db->db_query($qry)) echo ' <b>Antworten wurden gelöscht</b>'; else @@ -389,8 +389,8 @@ if(isset($_POST['savedummystg']) && isset($_POST['stg'])) if(!$rechte->isBerechtigt('basis/testtool', null, 'su')) die('<span class="error">Sie haben keine Berechtigung für diese Aktion. <a href="reihungstest_administration.php">Seite neu laden</a></span>'); - $qry = "UPDATE public.tbl_prestudent SET studiengang_kz=".$db->db_add_param($_POST['stg'])." WHERE prestudent_id='13478'; - UPDATE testtool.tbl_pruefling SET studiengang_kz=".$db->db_add_param($_POST['stg'])." WHERE prestudent_id='13478';"; + $qry = "UPDATE public.tbl_prestudent SET studiengang_kz=".$db->db_add_param($_POST['stg'])." WHERE prestudent_id=".$db->db_add_param(PRESTUDENT_ID_DUMMY_STUDENT)."; + UPDATE testtool.tbl_pruefling SET studiengang_kz=".$db->db_add_param($_POST['stg'])." WHERE prestudent_id=".$db->db_add_param(PRESTUDENT_ID_DUMMY_STUDENT).";"; if($db->db_query($qry)) echo '<b>Studiengang geändert!</b><br>'; else @@ -398,7 +398,7 @@ if(isset($_POST['savedummystg']) && isset($_POST['stg'])) } $name=''; $dummystg=''; -$qry = "SELECT studiengang_kz, vorname, nachname FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) WHERE prestudent_id='13478'"; +$qry = "SELECT studiengang_kz, vorname, nachname FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) WHERE prestudent_id=".$db->db_add_param(PRESTUDENT_ID_DUMMY_STUDENT); if($result = $db->db_query($qry)) { if($row = $db->db_fetch_object($result))