diff --git a/admin/index.html b/admin/index.html
index 2ddd96120..33438626a 100644
--- a/admin/index.html
+++ b/admin/index.html
@@ -37,10 +37,7 @@
-
- - Studiengaenge
-
-
+
- Studiengang
- Fachbereich
- Stunde
@@ -60,9 +57,9 @@
- Benutzerfunktion
- Benutzergruppe
- News
- - LVinfo
- Lehrform
- Lehrfach
+ - LVinfo
- Lehrveranstaltung
- BenutzerLVStudiensemester
- Lehreinheit
diff --git a/admin/sync/sync_vilesci_portal_lehrveranstaltung.php b/admin/sync/sync_vilesci_portal_lehrveranstaltung.php
index 75683424a..f41ccaa2c 100644
--- a/admin/sync/sync_vilesci_portal_lehrveranstaltung.php
+++ b/admin/sync/sync_vilesci_portal_lehrveranstaltung.php
@@ -71,7 +71,7 @@ if($result = pg_query($conn_vilesci, $qry))
$lehrveranstaltung->planfaktor ='1.0';
$lehrveranstaltung->planlektoren ='1';
$lehrveranstaltung->planpersonalkosten ='80';
- $lehrveranstaltung->sprache = $row->sprache;
+ $lehrveranstaltung->sprache = ($row->sprache!=''?$row->sprache:'German');
//$lehrveranstaltung->insertamum ='';
$lehrveranstaltung->insertvon ='SYNC';
//$lehrveranstaltung->updateamum ='';
diff --git a/admin/sync/sync_vilesci_portal_stundenplan.php b/admin/sync/sync_vilesci_portal_stundenplan.php
index 48eee1979..bb6e07c12 100644
--- a/admin/sync/sync_vilesci_portal_stundenplan.php
+++ b/admin/sync/sync_vilesci_portal_stundenplan.php
@@ -129,7 +129,7 @@ if($result = pg_query($conn_vilesci, $qry))
if($dev)
$qry = "INSERT INTO lehre.tbl_stundenplandev(stundenplandev_id,";
else
- $qry = 'INSERT INTO campus.tbl_stundenplan(stundenplan_id,';
+ $qry = 'INSERT INTO lehre.tbl_stundenplan(stundenplan_id,';
$qry.='unr, mitarbeiter_uid, datum, stunde, ort_kurzbz, gruppe_kurzbz, titel,
anmerkung, fix, updateamum, updatevon, lehreinheit_id,
diff --git a/admin/sync/sync_vilesci_stg.php b/admin/sync/sync_vilesci_stg.php
index cce28da7d..125b3ae65 100644
--- a/admin/sync/sync_vilesci_stg.php
+++ b/admin/sync/sync_vilesci_stg.php
@@ -24,7 +24,7 @@ $result=pg_exec($conn, "INSERT INTO tbl_erhalter VALUES(5,'TW','Technikum Wien'
$sql_query='SELECT * FROM tbl_studiengang';
//echo $sql_query.'
';
$stg_vilesci=pg_exec($conn_vilesci, $sql_query);
-
+pg_query($conn, "SET CLIENT_ENCODING TO 'LATIN9';");
while ($stg=pg_fetch_object($stg_vilesci))
{
$sql_query="INSERT INTO tbl_studiengang(studiengang_kz, kurzbz, kurzbzlang, bezeichnung, typ, farbe, email, max_semester, max_verband, max_gruppe, erhalter_kz)
diff --git a/cis/private/lehre/lesson.php b/cis/private/lehre/lesson.php
index ea937ebb7..6e36adae2 100644
--- a/cis/private/lehre/lesson.php
+++ b/cis/private/lehre/lesson.php
@@ -433,11 +433,11 @@
- " target="_blank">
+ " >

"Kreuzerl"-Tool
- " target="_blank">
+ " >

"Kreuzerl"-Tool
diff --git a/cis/public/tw_international.html b/cis/public/tw_international.html
index b2d5db0c4..f1fd3faa8 100644
--- a/cis/public/tw_international.html
+++ b/cis/public/tw_international.html
@@ -65,24 +65,55 @@
|
-
-
-
- | Montag: |
- |
- 9:00 - 12:00 |
-
-
- | Mittwoch: |
- |
- 9:00 - 12:00 |
-
-
- | Donnerstag: |
- |
- 9:00 - 12:00 |
+
+
+
+ | Montag: |
+ |
+ 09:00 - 12:00 12:30 - 15:00 |
+
+
+ | |
+ |
+ |
+
+
+ | Mittwoch: |
+ |
+ 09:00 - 12:00 12:30 - 15:00 |
+
+
+ | |
+ |
+ |
+
+
+ | Donnerstag: |
+ |
+ 09:00 - 12:00 |
+
+
+
+ |
+
+
+
+ | Dienstag: |
+ |
+ 09:00 - 12:00 12:30 - 15:00 |
+
+
+ | |
+ |
+ |
+
+
+ | Freitag: |
+ |
+ 09:00 - 12:00 12:30 - 15:00 |
+
+
+ |
|
diff --git a/include/beispiel.class.php b/include/beispiel.class.php
new file mode 100644
index 000000000..058d4cce0
--- /dev/null
+++ b/include/beispiel.class.php
@@ -0,0 +1,262 @@
+,
+ * Andreas Oesterreicher and
+ * Rudolf Hangl .
+ */
+
+class beispiel
+{
+ var $conn; // resource DB-Handle
+ var $errormsg; // string
+ var $new; // boolean
+ var $beispiele = array(); // lehreinheit Objekt
+
+ //Tabellenspalten
+ var $beispiel_id; // Serial
+ var $uebung_id; // integer
+ var $bezeichnung; // varchar(32)
+ var $punkte; // real
+ var $updateamum; // timestamp
+ var $updatevon; // varchar(16)
+ var $insertamum; // timestamp
+ var $insertvon; // varchar(16)
+
+ // *************************************************************************
+ // * Konstruktor - Uebergibt die Connection und laedt optional ein beispiel
+ // * @param $conn Datenbank-Connection
+ // * $beispiel_id
+ // * $unicode Gibt an ob die Daten mit UNICODE Codierung
+ // * oder LATIN9 Codierung verarbeitet werden sollen
+ // *************************************************************************
+ function beispiel($conn, $beispiel_id=null, $unicode=false)
+ {
+ $this->conn = $conn;
+
+ if($unicode)
+ $qry = "SET CLIENT_ENCODING TO 'UNICODE';";
+ else
+ $qry = "SET CLIENT_ENCODING TO 'LATIN9';";
+
+ if(!pg_query($conn,$qry))
+ {
+ $this->errormsg = 'Encoding konnte nicht gesetzt werden';
+ return false;
+ }
+
+ if($beispiel_id!=null)
+ $this->load($beispiel_id);
+ }
+
+ // *********************************************************
+ // * Laedt ein Beispiel
+ // * @param uebung_id
+ // *********************************************************
+ function load($beispiel_id)
+ {
+ if(!is_numeric($beispiel_id))
+ {
+ $this->errormsg='Beispiel_id muss eine gueltige Zahl sein';
+ return false;
+ }
+ $qry = "SELECT * FROM campus.tbl_beispiel WHERE beispiel_id='$beispiel_id'";
+
+ if($result=pg_query($this->conn, $qry))
+ {
+ if($row = pg_fetch_object($result))
+ {
+ $this->beispiel_id = $row->beispiel_id;
+ $this->uebung_id = $row->uebung_id;
+ $this->punkte = $row->punkte;
+ $this->bezeichnung = $row->bezeichnung;
+ $this->updateamum = $row->updateamum;
+ $this->updatevon = $row->updatevon;
+ $this->insertamum = $row->insertamum;
+ $this->insertvon = $row->insertvon;
+ return true;
+ }
+ else
+ {
+ $this->errormsg = "Es ist kein Beispiel mit der ID $beispiel_id vorhanden";
+ return false;
+ }
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim laden des Beispiels';
+ return false;
+ }
+ }
+
+ function load_beispiel($uebung_id)
+ {
+ if(!is_numeric($uebung_id))
+ {
+ $this->errormsg = 'Uebung_id muss eine gueltige Zahl sein';
+ return false;
+ }
+
+ $qry = "SELECT * FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'";
+
+ if($result=pg_query($this->conn, $qry))
+ {
+ while($row = pg_fetch_object($result))
+ {
+ $beispiel_obj = new beispiel($this->conn);
+
+ $beispiel_obj->beispiel_id = $row->beispiel_id;
+ $beispiel_obj->uebung_id = $row->uebung_id;
+ $beispiel_obj->punkte = $row->punkte;
+ $beispiel_obj->bezeichnung = $row->bezeichnung;
+ $beispiel_obj->updateamum = $row->updateamum;
+ $beispiel_obj->updatevon = $row->updatevon;
+ $beispiel_obj->insertamum = $row->insertamum;
+ $beispiel_obj->insertvon = $row->insertvon;
+
+ $this->beispiele[] = $beispiel_obj;
+ }
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim laden der Beispiele';
+ return false;
+ }
+ }
+
+ // *******************************************
+ // * Prueft die Variablen vor dem Speichern
+ // * auf Gueltigkeit.
+ // * @return true wenn ok, false im Fehlerfall
+ // *******************************************
+ function validate()
+ {
+ if(!is_numeric($this->uebung_id))
+ {
+ $this->errormsg = 'uebung_id muss eine gueltige Zahl sein';
+ return false;
+ }
+ return true;
+ }
+
+ // ************************************************
+ // * wenn $var '' ist wird NULL zurueckgegeben
+ // * wenn $var !='' ist werden Datenbankkritische
+ // * Zeichen mit Backslash versehen und das Ergbnis
+ // * unter Hochkomma gesetzt.
+ // ************************************************
+ function addslashes($var)
+ {
+ return ($var!=''?"'".addslashes($var)."'":'null');
+ }
+
+ // ************************************************************
+ // * Speichert ein Beispiel in die Datenbank
+ // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
+ // * angelegt, ansonsten der Datensatz upgedated
+ // * @return true wenn erfolgreich, false im Fehlerfall
+ // ************************************************************
+ function save($new=null)
+ {
+ if(is_null($new))
+ $new = $this->new;
+
+ //Variablen auf Gueltigkeit pruefen
+ if(!$this->validate())
+ return false;
+
+ if($new)
+ {
+ $qry = 'BEGIN; INSERT INTO campus.tbl_beispiel(uebung_id, punkte, bezeichnung, updateamum,
+ updatevon, insertamum, insertvon) VALUES('.
+ $this->addslashes($this->uebung_id).','.
+ $this->addslashes($this->punkte).','.
+ $this->addslashes($this->bezeichnung).','.
+ $this->addslashes($this->updateamum).','.
+ $this->addslashes($this->updatevon).','.
+ $this->addslashes($this->insertamum).','.
+ $this->addslashes($this->insertvon).');';
+ }
+ else
+ {
+ $qry = 'UPDATE campus.tbl_beispiel SET'.
+ ' uebung_id='.$this->addslashes($this->uebung_id).
+ ' punkte='.$this->addslashes($this->punkte).
+ ' bezeichnung='.$this->addslashes($this->bezeichnung).
+ ' updateamum='.$this->addslashes($this->updateamum).
+ ' updatevon='.$this->addslashes($this->updatevon).
+ " WHERE beispiel_id=".$this->addslashes($this->beispiel_id).";";
+ }
+
+ if(pg_query($this->conn,$qry))
+ {
+ if($new)
+ {
+ $qry = "SELECT currval('campus.tbl_beispiel_beispiel_id_seq') as id;";
+ if($result = pg_query($this->conn, $qry))
+ {
+ if($row=pg_fetch_object($result))
+ {
+ $this->uebung_id = $row->id;
+ pg_query($this->conn, 'COMMIT');
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Auslesen der Sequence';
+ pg_query($this->conn,'ROLLBACK');
+ return false;
+ }
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Auslesen der Sequence';
+ pg_query($this->conn,'ROLLBACK');
+ return false;
+ }
+ }
+ else
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Speichern des Beispiels';
+ return false;
+ }
+ }
+
+ function delete($beispiel_id)
+ {
+ if(!is_numeric($beispiel_id))
+ {
+ $this->errormsg = 'Beispiel_id muss eine gueltige Zahl sein';
+ return false;
+ }
+
+ $qry = "DELETE FROM campus.tbl_beispiel WHERE beispiel_id='$beispiel_id'";
+
+ if(pg_query($this->conn, $qry))
+ return true;
+ else
+ {
+ $this->errormsg = 'Fehler beim loeschen des Beispiels';
+ return false;
+ }
+ }
+}
+?>
\ No newline at end of file
diff --git a/include/datum.class.php b/include/datum.class.php
new file mode 100644
index 000000000..c34e8a929
--- /dev/null
+++ b/include/datum.class.php
@@ -0,0 +1,66 @@
+,
+ * Andreas Oesterreicher and
+ * Rudolf Hangl .
+ */
+
+class datum
+{
+ var $conn; // resource DB-Handle
+ var $errormsg; // string
+ var $new; // boolean
+ var $result = array(); // studiensemester Objekt
+
+ function datum()
+ {
+ }
+
+ /**
+ * Liefert einen UNIX Timestamp von einem String im
+ * Format "31.12.2007 14:30"
+ */
+ function mktime_datumundzeit($datumundzeit)
+ {
+ if(ereg("([0-9]{2}).([0-9]{2}).([0-9]{4}) ([0-9]{2}):([0-9]{2})",$datumundzeit, $regs))
+ return mktime($regs[4],$regs[5],0,$regs[2],$regs[1],$regs[3]);
+ else
+ {
+ $this->errormsg = 'Falsches Datumsformat';
+ return false;
+ }
+ }
+
+ /**
+ * Liefert einen UNIX Timestamp von einem String im
+ * Format "31.12.2007 14:30"
+ */
+ function mktime_fromtimestamp($timestamp)
+ {
+ if(ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$timestamp, $regs))
+ {
+ return mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[3],$regs[1]);
+ }
+ else
+ {
+ $this->errormsg = 'Falsches Datumsformat';
+ return false;
+ }
+ }
+}
+?>
\ No newline at end of file
diff --git a/include/lehreinheit.class.php b/include/lehreinheit.class.php
index 1040aec6c..2d3d1cbdb 100644
--- a/include/lehreinheit.class.php
+++ b/include/lehreinheit.class.php
@@ -257,7 +257,7 @@ class lehreinheit
//ToDo ID entfernen
$qry = 'INSERT INTO lehre.tbl_lehreinheit (lehrveranstaltung_id, studiensemester_kurzbz,
lehrfach_id, lehrform_kurzbz, stundenblockung, wochenrythmus,
- start_kw, raumtyp, raumtypalternativ, lehre, anmerkung, unr, ext_id)
+ start_kw, raumtyp, raumtypalternativ, lehre, anmerkung, unr, lvnr, insertamum, insertvon, updateamum, updatevon, ext_id)
VALUES('.$this->addslashes($this->lehrveranstaltung_id).','.
$this->addslashes($this->studiensemester_kurzbz).','.
$this->addslashes($this->lehrfach_id).','.
diff --git a/include/uebung.class.php b/include/uebung.class.php
index c6e0c05f5..f6f84c036 100644
--- a/include/uebung.class.php
+++ b/include/uebung.class.php
@@ -46,7 +46,7 @@ class uebung
var $insertvon; // varchar(16)
// *************************************************************************
- // * Konstruktor - Uebergibt die Connection und laedt optional eine LE
+ // * Konstruktor - Uebergibt die Connection und laedt optional eine Uebung
// * @param $conn Datenbank-Connection
// * $uebung_id
// * $unicode Gibt an ob die Daten mit UNICODE Codierung
@@ -61,7 +61,7 @@ class uebung
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
- if(!pg_query($conn,$qry))
+ if(!pg_query($this->conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
@@ -94,10 +94,10 @@ class uebung
$this->angabedatei = $row->angabedatei;
$this->freigabevon = $row->freigabevon;
$this->freigabebis = $row->freigabebis;
- $this->abgabe = $row->abgabe;
- $this->beispiele = $row->beispiele;
+ $this->abgabe = ($row->abgabe=='t'?true:false);
+ $this->beispiele = ($row->beispiele=='t'?true:false);
$this->bezeichnung = $row->bezeichnung;
- $this->positiv = $row->positiv;
+ $this->positiv = ($row->positiv=='t'?true:false);
$this->defaultbemerkung = $row->defaultbemerkung;
$this->lehreinheit_id = $row->lehreinheit_id;
$this->updateamum = $row->updateamum;
@@ -141,10 +141,10 @@ class uebung
$uebung_obj->angabedatei = $row->angabedatei;
$uebung_obj->freigabevon = $row->freigabevon;
$uebung_obj->freigabebis = $row->freigabebis;
- $uebung_obj->abgabe = $row->abgabe;
- $uebung_obj->beispiele = $row->beispiele;
+ $uebung_obj->abgabe = ($row->abgabe=='t'?true:false);
+ $uebung_obj->beispiele = ($row->beispiele=='t'?true:false);
$uebung_obj->bezeichnung = $row->bezeichnung;
- $uebung_obj->positiv = $row->positiv;
+ $uebung_obj->positiv = ($row->positiv=='t'?true:false);
$uebung_obj->defaultbemerkung = $row->defaultbemerkung;
$uebung_obj->lehreinheit_id = $row->lehreinheit_id;
$uebung_obj->updateamum = $row->updateamum;
@@ -206,7 +206,7 @@ class uebung
if($new)
{
- $qry = 'INSERT INTO campus.tbl_uebung(gewicht, punkte, angabedatei, freigabevon, freigabebis,
+ $qry = 'BEGIN; INSERT INTO campus.tbl_uebung(gewicht, punkte, angabedatei, freigabevon, freigabebis,
abgabe, beispiele, bezeichnung, positiv, defaultbemerkung, lehreinheit_id, updateamum,
updatevon, insertamum, insertvon) VALUES('.
$this->addslashes($this->gewicht).','.
@@ -228,26 +228,51 @@ class uebung
else
{
$qry = 'UPDATE campus.tbl_uebung SET'.
- ' gewicht='.$this->addslashes($this->gewicht).
- ' punkte='.$this->addslashes($this->punkte).
- ' angabedatei='.$this->addslashes($this->angabedatei).
- ' freigabevon='.$this->addslashes($this->freigabevon).
- ' freigabebis='.$this->addslashes($this->freigabebis).
- ' abgabe='.($this->abgabe?'true':'false').
- ' beispiele='.($this->beispiele?'true':'false').
- ' bezeichnung='.$this->addslashes($this->bezeichnung).
- ' positiv='.($this->positiv?'true':'false').
- ' defaultbemerkung='.$this->addslashes($this->defaultbemerkung).
- ' lehreinheit_id='.$this->addslashes($this->lehreinheit_id).
- ' updateamum='.$this->addslashes($this->updateamum).
+ ' gewicht='.$this->addslashes($this->gewicht).','.
+ ' punkte='.$this->addslashes($this->punkte).','.
+ ' angabedatei='.$this->addslashes($this->angabedatei).','.
+ ' freigabevon='.$this->addslashes($this->freigabevon).','.
+ ' freigabebis='.$this->addslashes($this->freigabebis).','.
+ ' abgabe='.($this->abgabe?'true':'false').','.
+ ' beispiele='.($this->beispiele?'true':'false').','.
+ ' bezeichnung='.$this->addslashes($this->bezeichnung).','.
+ ' positiv='.($this->positiv?'true':'false').','.
+ ' defaultbemerkung='.$this->addslashes($this->defaultbemerkung).','.
+ ' lehreinheit_id='.$this->addslashes($this->lehreinheit_id).','.
+ ' updateamum='.$this->addslashes($this->updateamum).','.
' updatevon='.$this->addslashes($this->updatevon).
" WHERE uebung_id=".$this->addslashes($this->uebung_id).";";
}
if(pg_query($this->conn,$qry))
{
- //Log schreiben
- return true;
+ if($new)
+ {
+ $qry = "SELECT currval('campus.tbl_uebung_uebung_id_seq') as id;";
+ if($result = pg_query($this->conn, $qry))
+ {
+ if($row=pg_fetch_object($result))
+ {
+ $this->uebung_id = $row->id;
+ pg_query($this->conn, 'COMMIT');
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Auslesen der Sequence';
+ pg_query($this->conn,'ROLLBACK');
+ return false;
+ }
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Auslesen der Sequence';
+ pg_query($this->conn,'ROLLBACK');
+ return false;
+ }
+ }
+ else
+ return true;
}
else
{
diff --git a/skin/cis.css b/skin/cis.css
index 9e2bd0c1b..78cc9cd1d 100644
--- a/skin/cis.css
+++ b/skin/cis.css
@@ -276,4 +276,9 @@ h4
{
margin-top: 3px;
text-align: right;
+}
+
+.error
+{
+ color: #ff0000;
}
\ No newline at end of file