diff --git a/content/ToDo_FASo.html b/content/ToDo_FASo.html
index 31a73e6bf..0373af16a 100644
--- a/content/ToDo_FASo.html
+++ b/content/ToDo_FASo.html
@@ -9,10 +9,15 @@ Die Liste ist in Module geteilt. Innerhalb eines Moduls erfolgt die
Auflistung nach Priorität (höchste oben).
Änderungen
-
+Manche Trees lassen sich nicht sortieren
+Nach dem sortieren einiger Trees ist danach ein anderer Datensatz markiert als vorher
Fehler
+Dokumente
+
+ LVA Liste fuer Geschäftsstelle fehlt noch
+
Listen
Anzahl: Anzahl stimmt nicht immer?
diff --git a/content/kontakt.js.php b/content/kontakt.js.php
new file mode 100644
index 000000000..ee0c3a4f8
--- /dev/null
+++ b/content/kontakt.js.php
@@ -0,0 +1,210 @@
+,
+ * Andreas Oesterreicher and
+ * Rudolf Hangl .
+ */
+
+require_once('../vilesci/config.inc.php');
+require_once('../include/functions.inc.php');
+
+$conn = pg_pconnect(CONN_STRING);
+
+$user = get_uid();
+loadVariables($conn, $user);
+?>
+// ********** GLOBALE VARIABLEN ********** //
+var AdressenTreeDatasource=''; // Datasource des Adressen Trees
+var KontaktAdresseSelectID=null; // ID der Adresse die nach dem Rebuild markiert werden soll
+var KontaktTreeDatasource=''; // Datasource des Kontakt Trees
+var KontaktKontaktSelectID=null; // ID des Kontaktes der nach dem Rebuild markiert werden soll
+// ********** LISTENER UND OBSERVER ********** //
+
+// ****
+// * Observer fuer Adressen Tree
+// * startet Rebuild nachdem das Refresh
+// * der Datasource fertig ist
+// ****
+var KontaktAdressenTreeSinkObserver =
+{
+ onBeginLoad : function(pSink) {},
+ onInterrupt : function(pSink) {},
+ onResume : function(pSink) {},
+ onError : function(pSink, pStatus, pError) {},
+ onEndLoad : function(pSink)
+ {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ document.getElementById('kontakt-adressen-tree').builder.rebuild();
+ }
+};
+
+// ****
+// * Nach dem Rebuild wird der Eintrag wieder
+// * markiert
+// ****
+var KontaktAdressenTreeListener =
+{
+ willRebuild : function(builder) { },
+ didRebuild : function(builder)
+ {
+ //timeout nur bei Mozilla notwendig da sonst die rows
+ //noch keine values haben. Ab Seamonkey funktionierts auch
+ //ohne dem setTimeout
+ window.setTimeout(KontaktAdressenTreeSelectID,10);
+ }
+};
+
+// ****
+// * Observer fuer Kontakt Tree
+// * startet Rebuild nachdem das Refresh
+// * der Datasource fertig ist
+// ****
+var KontaktKontaktTreeSinkObserver =
+{
+ onBeginLoad : function(pSink) {},
+ onInterrupt : function(pSink) {},
+ onResume : function(pSink) {},
+ onError : function(pSink, pStatus, pError) {},
+ onEndLoad : function(pSink)
+ {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ document.getElementById('kontakt-kontakt-tree').builder.rebuild();
+ }
+};
+
+// ****
+// * Nach dem Rebuild wird der Eintrag wieder
+// * markiert
+// ****
+var KontaktKontaktTreeListener =
+{
+ willRebuild : function(builder) { },
+ didRebuild : function(builder)
+ {
+ //timeout nur bei Mozilla notwendig da sonst die rows
+ //noch keine values haben. Ab Seamonkey funktionierts auch
+ //ohne dem setTimeout
+ window.setTimeout(KontaktKontaktTreeSelectID,10);
+ }
+};
+// ********** FUNKTIONEN ********** //
+function loadKontakte(person_id)
+{
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ //Adressen laden
+ url = "rdf/adresse.rdf.php?person_id="+person_id+"&"+gettimestamp();
+ var treeAdressen=document.getElementById('kontakt-adressen-tree');
+
+ //Alte DS entfernen
+ var oldDatasources = treeAdressen.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ treeAdressen.database.RemoveDataSource(oldDatasources.getNext());
+ }
+
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+ AdressenTreeDatasource = rdfService.GetDataSource(url);
+ AdressenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ AdressenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
+ treeAdressen.database.AddDataSource(AdressenTreeDatasource);
+ AdressenTreeDatasource.addXMLSinkObserver(KontaktAdressenTreeSinkObserver);
+ treeAdressen.builder.addListener(KontaktAdressenTreeListener);
+
+ //Kontakte laden
+ url = "rdf/kontakt.rdf.php?person_id="+person_id+"&"+gettimestamp();
+ var treeKontakt=document.getElementById('kontakt-kontakt-tree');
+
+ //Alte DS entfernen
+ var oldDatasources = treeKontakt.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ treeKontakt.database.RemoveDataSource(oldDatasources.getNext());
+ }
+
+ var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
+ KontaktTreeDatasource = rdfService.GetDataSource(url);
+ KontaktTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
+ KontaktTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
+ treeKontakt.database.AddDataSource(KontaktTreeDatasource);
+ KontaktTreeDatasource.addXMLSinkObserver(KontaktKontaktTreeSinkObserver);
+ treeKontakt.builder.addListener(KontaktKontaktTreeListener);
+}
+
+// ********** ADRESSEN ********** //
+
+// ****
+// * Selectiert eine Adresse nachdem der Tree
+// * rebuildet wurde.
+// ****
+function KontaktAdressenTreeSelectID()
+{
+ var tree=document.getElementById('kontakt-adressen-tree');
+ var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
+
+ //In der globalen Variable ist die zu selektierende Adresse gespeichert
+ if(KontaktAdresseSelectID!=null)
+ {
+ for(var i=0;i,
+ * Andreas Oesterreicher and
+ * Rudolf Hangl .
+ */
+
+header("Cache-Control: no-cache");
+header("Cache-Control: post-check=0, pre-check=0",false);
+header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
+header("Pragma: no-cache");
+header("Content-type: application/vnd.mozilla.xul+xml");
+
+include('../vilesci/config.inc.php');
+echo ''."\n";
+
+echo '';
+echo '';
+
+if(isset($_GET['person_id']) && is_numeric($_GET['person_id']))
+ $person_id = $_GET['person_id'];
+else
+ die('Parameter person_id muss uebergeben werden');
+?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/content/lvplanung/lehrveranstaltung.css b/content/lvplanung/lehrveranstaltung.css
index 6eb216636..6802a320b 100644
--- a/content/lvplanung/lehrveranstaltung.css
+++ b/content/lvplanung/lehrveranstaltung.css
@@ -1,3 +1,4 @@
+/*
.stplDetailRow
{
margin:0px;
@@ -86,4 +87,5 @@ treechildren::-moz-tree-row(odd) { background-color: #EEEEEE; }
treechildren::-moz-tree-row(odd, selected) { background-color: #FFFFAA; }
treechildren::-moz-tree-row(even, selected) { background-color: #FFFFAA; }
treechildren::-moz-tree-cell-text(selected) { color: #000000; }
-treechildren::-moz-tree-cell-text(odd, selected) { color: #000000; }
\ No newline at end of file
+treechildren::-moz-tree-cell-text(odd, selected) { color: #000000; }
+/*
\ No newline at end of file
diff --git a/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php b/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php
index 27cbefa04..8a0d6ea72 100644
--- a/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php
+++ b/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php
@@ -27,7 +27,6 @@ header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../vilesci/config.inc.php');
echo '';
-echo "";
?>
@@ -340,7 +339,7 @@ echo "
-
+
diff --git a/content/lvplanung/lehrveranstaltungoverlay.js.php b/content/lvplanung/lehrveranstaltungoverlay.js.php
index 17cddc981..1b7e79f4a 100644
--- a/content/lvplanung/lehrveranstaltungoverlay.js.php
+++ b/content/lvplanung/lehrveranstaltungoverlay.js.php
@@ -850,7 +850,7 @@ function LeMitarbeiterValueChanged()
function LeMitarbeiterDisableFields(val)
{
//Felder Leeren
- document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-menulist-lehrfunktion_kurzbz').value='lektor';
+ document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-menulist-lehrfunktion_kurzbz').value='Lektor';
//document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-menulist-lektor').value='';
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-semesterstunden').value='';
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-planstunden').value='';
@@ -934,7 +934,6 @@ function LeMitarbeiterAuswahl()
//Felder aktivieren
LeMitarbeiterDisableFields(false);
-
//Felder befuellen
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-menulist-lehrfunktion_kurzbz').value=lehrfunktion_kurzbz;
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-menulist-lektor').value=mitarbeiter_uid;
diff --git a/content/student/interessentenoverlay.xul.php b/content/student/interessentenoverlay.xul.php
index dce42131e..09ec97b43 100644
--- a/content/student/interessentenoverlay.xul.php
+++ b/content/student/interessentenoverlay.xul.php
@@ -175,12 +175,14 @@ echo '
+
+
diff --git a/content/student/interessentoverlay.js.php b/content/student/interessentoverlay.js.php
index 0b4defa87..286f7850b 100644
--- a/content/student/interessentoverlay.js.php
+++ b/content/student/interessentoverlay.js.php
@@ -673,6 +673,8 @@ function InteressentAuswahl()
InteressentKontoTreeDatasource.addXMLSinkObserver(InteressentKontoTreeSinkObserver);
kontotree.builder.addListener(InteressentKontoTreeListener);
+ // KONTAKTE
+ document.getElementById('interessent-kontakt').setAttribute('src', 'kontakt.xul.php?person_id='+person_id);
}
// ****
diff --git a/content/student/studentenoverlay.xul.php b/content/student/studentenoverlay.xul.php
index cefa6720d..a8033c5dd 100644
--- a/content/student/studentenoverlay.xul.php
+++ b/content/student/studentenoverlay.xul.php
@@ -185,6 +185,7 @@ echo '
+
@@ -194,6 +195,7 @@ echo '
+
diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php
index e886a39b0..04c07cfa1 100644
--- a/content/student/studentoverlay.js.php
+++ b/content/student/studentoverlay.js.php
@@ -973,6 +973,9 @@ function StudentAuswahl()
lvgesamtnotentree.database.AddDataSource(StudentLvGesamtNotenTreeDatasource);
StudentLvGesamtNotenTreeDatasource.addXMLSinkObserver(StudentLvGesamtNotenTreeSinkObserver);
lvgesamtnotentree.builder.addListener(StudentLvGesamtNotenTreeListener);
+
+ // KONTAKTE
+ document.getElementById('student-kontakt').setAttribute('src','kontakt.xul.php?person_id='+person_id);
}
// ****
diff --git a/content/tempus.js.php b/content/tempus.js.php
index a06f65bda..9bce084d8 100644
--- a/content/tempus.js.php
+++ b/content/tempus.js.php
@@ -15,6 +15,10 @@ function onLoad()
initLektorTree();
//Studenten Tab beim starten markieren
document.getElementById('tabbox-main').selectedIndex="1";
+
+ //Funktion ueberschreiben damit sie nicht nochmal aufgerufen wird
+ //wenn zb ein IFrame geladen wird
+ onLoad=function() {return false};
}
catch(e)
{
diff --git a/include/adresse.class.php b/include/adresse.class.php
index 09ef1647b..0119bd3cf 100644
--- a/include/adresse.class.php
+++ b/include/adresse.class.php
@@ -20,7 +20,7 @@
* Rudolf Hangl .
*/
/**
- * Klasse Adresse (FAS-Online)
+ * Klasse Adresse
* @create 13-03-2006
*/
@@ -46,52 +46,58 @@ class adresse
var $zustelladresse; // @var boolean
var $firma_id; // @var integer
var $updateamum; // @var timestamp
- var $updatevon=0; // @var string
+ var $updatevon; // @var string
var $insertamum; // @var timestamp
- var $insertvon=0; // @var string
+ var $insertvon; // @var string
var $ext_id; // @var integer
- /**
- * Konstruktor
- * @param $conn Connection
- * $adress_id ID der Adresse die geladen werden soll (Default=null)
- */
- function adresse($conn,$adress_id=null,$unicode=false)
+ // *************************************************************************
+ // * Konstruktor
+ // * @param $conn Connection
+ // * $adress_id ID der Adresse die geladen werden soll (Default=null)
+ // * $unicode wenn false dann wird das Encoding auf LATIN9 gesetzt
+ // * wenn true dann auf UNICODE
+ // * wenn null dann wird das Encoding nicht veraendert
+ // *************************************************************************
+ function adresse($conn,$adresse_id=null,$unicode=false)
{
$this->conn = $conn;
- if ($unicode)
+
+ if($unicode!=null)
{
- $qry = "SET CLIENT_ENCODING TO 'UNICODE';";
+ 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;
+ }
}
- else
- {
- $qry="SET CLIENT_ENCODING TO 'LATIN9';";
- }
- if(!pg_query($conn,$qry))
- {
- $this->errormsg = "Encoding konnte nicht gesetzt werden";
- return false;
- }
- //if($adress_id != null) $this->load($adress_id);
+
+ if($adresse_id != null)
+ $this->load($adresse_id);
}
- /**
- * Laedt die Funktion mit der ID $adress_id
- * @param $adress_id ID der zu ladenden Funktion
- * @return true wenn ok, false im Fehlerfall
- */
- function load($adress_id)
+ // ***********************************************
+ // * Laedt die Adresse mit der ID $adresse_id
+ // * @param $adress_id ID der zu ladenden Adresse
+ // * @return true wenn ok, false im Fehlerfall
+ // ***********************************************
+ function load($adresse_id)
{
//Pruefen ob adress_id eine gueltige Zahl ist
- if(!is_numeric($adress_id) || $adress_id == '')
+ if(!is_numeric($adresse_id) || $adresse_id == '')
{
- $this->errormsg = 'Adress_id muss eine Zahl sein';
+ $this->errormsg = 'Adresse_id muss eine Zahl sein';
return false;
}
//Daten aus der Datenbank lesen
- $qry = "SELECT * FROM tbl_adresse WHERE adresse_id=$adress_id";
+ $qry = "SELECT * FROM public.tbl_adresse WHERE adresse_id='$adresse_id'";
if(!$res = pg_query($this->conn,$qry))
{
@@ -101,22 +107,22 @@ class adresse
if($row = pg_fetch_object($res))
{
- $this->adresse_id = $row->adresse_id;
- $this->heimatadresse = ($row->heimatadresse=='t'?true:false);
- $this->zustelladresse = ($row->zustelladresse=='t'?true:false);
- $this->gemeinde = $row->gemeinde;
- $this->name = $row->name;
- $this->nation = $row->nation;
- $this->ort = $row->ort;
- $this->person_id = $row->person_id;
- $this->plz = $row->plz;
- $this->strasse = $row->strasse;
- $this->typ = $row->typ;
- $this->updateamum = $row->updateamum;
- $this->updatevon = $row->updatevon;
- $this->updateamum = $row->insertamum;
- $this->updatevon = $row->insertvon;
- $this->firma_id=$row->firma_id;
+ $this->adresse_id = $row->adresse_id;
+ $this->heimatadresse = ($row->heimatadresse=='t'?true:false);
+ $this->zustelladresse = ($row->zustelladresse=='t'?true:false);
+ $this->gemeinde = $row->gemeinde;
+ $this->name = $row->name;
+ $this->nation = $row->nation;
+ $this->ort = $row->ort;
+ $this->person_id = $row->person_id;
+ $this->plz = $row->plz;
+ $this->strasse = $row->strasse;
+ $this->typ = $row->typ;
+ $this->updateamum = $row->updateamum;
+ $this->updatevon = $row->updatevon;
+ $this->insertamum = $row->insertamum;
+ $this->insertvon = $row->insertvon;
+ $this->firma_id = $row->firma_id;
}
else
{
@@ -127,11 +133,11 @@ class adresse
return true;
}
- /**
- * Laedt alle adressen zu der Person die uebergeben wird
- * @param $pers_id ID der Person zu der die Adressen geladen werden sollen
- * @return true wenn ok, false im Fehlerfall
- */
+ // *************************************************************************
+ // * Laedt alle adressen zu der Person die uebergeben wird
+ // * @param $pers_id ID der Person zu der die Adressen geladen werden sollen
+ // * @return true wenn ok, false im Fehlerfall
+ // *************************************************************************
function load_pers($pers_id)
{
//Pruefen ob pers_id eine gueltige Zahl ist
@@ -142,7 +148,7 @@ class adresse
}
//Lesen der Daten aus der Datenbank
- $qry = "SELECT * FROM public.tbl_adresse WHERE person_id=$pers_id";
+ $qry = "SELECT * FROM public.tbl_adresse WHERE person_id='$pers_id'";
if(!$res = pg_query($this->conn,$qry))
{
@@ -152,10 +158,10 @@ class adresse
while($row = pg_fetch_object($res))
{
- $adr_obj = new adresse($this->conn);
+ $adr_obj = new adresse($this->conn, null, null);
$adr_obj->adresse_id = $row->adresse_id;
- $adr_obj->heimatdresse = ($row->heimatadresse=='t'?true:false);
+ $adr_obj->heimatadresse = ($row->heimatadresse=='t'?true:false);
$adr_obj->gemeinde = $row->gemeinde;
$adr_obj->name = $row->name;
$adr_obj->nation = $row->nation;
@@ -174,50 +180,12 @@ class adresse
}
return true;
}
-
- /**
- * Laedt alle Adressen aus der Datenbank
- * @return true wenn ok, false im Fehlerfall
- */
- function getAll()
- {
- $qry = "SELECT * FROM adresse";
- if(!$res = pg_query($this->conn,$qry))
- {
- $this->errormsg = 'Fehler bei einer Datenbankabfrage';
- return false;
- }
-
- while($row = pg_fetch_object($res))
- {
- $adr_obj = new adresse($this->conn);
-
- $adr_obj->adresse_id = $row->adresse_pk;
- $adr_obj->bismeldeadresse = ($row->bismeldeadresse=='J'?true:false);
- $adr_obj->gemeinde = $row->gemeinde;
- $adr_obj->name = $row->name;
- $adr_obj->nation = $row->nation;
- $adr_obj->ort = $row->ort;
- $adr_obj->person_id = $row->person_fk;
- $adr_obj->plz = $row->plz;
- $adr_obj->strasse = $row->strasse;
- $adr_obj->typ = $row->typ;
- $adr_obj->updateamum = $row->creationdate;
- $adr_obj->updatevon = $row->creationuser;
- $adr_obj->zustelladresse = ($row->zustelladresse=='J'?true:false);
-
- $this->result[] = $adr_obj;
- }
-
- return true;
- }
-
- /**
- * Prueft die Variablen auf gueltigkeit
- * @return true wenn ok, false im Fehlerfall
- */
- function checkvars()
+ // *******************************************
+ // * Prueft die Variablen auf Gueltigkeit
+ // * @return true wenn ok, false im Fehlerfall
+ // *******************************************
+ function validate()
{
//Zahlenfelder pruefen
if(!is_numeric($this->person_id))
@@ -262,6 +230,7 @@ class adresse
$this->errormsg = '';
return true;
}
+
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
@@ -273,34 +242,23 @@ class adresse
return ($var!=''?"'".addslashes($var)."'":'null');
}
- /**
- * Speichert den aktuellen Datensatz in die Datenbank
- * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
- * andernfalls wird der Datensatz mit der ID in $adresse_id aktualisiert
- * @return true wenn ok, false im Fehlerfall
- */
+ // ***********************************************************************
+ // * Speichert den aktuellen Datensatz in die Datenbank
+ // * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
+ // * andernfalls wird der Datensatz mit der ID in $adresse_id aktualisiert
+ // * @return true wenn ok, false im Fehlerfall
+ // ***********************************************************************
function save()
{
//Variablen pruefen
- if(!$this->checkvars())
+ if(!$this->validate())
return false;
if($this->new)
{
//Neuen Datensatz einfuegen
-
- //naechste ID aus der Sequence holen
- $qry="SELECT nextval('tbl_adresse_adresse_id_seq') as id;";
- if(!$row = pg_fetch_object(pg_query($this->conn,$qry)))
- {
- $this->errormsg = 'Fehler beim auslesen der Sequence'."\n";
- return false;
- }
- $this->adresse_id = $row->id;
-
- $qry='INSERT INTO tbl_adresse (adresse_id, person_id, name, strasse, plz, typ, ort, nation, insertamum, insertvon,
+ $qry='BEGIN;INSERT INTO tbl_adresse (person_id, name, strasse, plz, typ, ort, nation, insertamum, insertvon,
gemeinde, heimatadresse, zustelladresse, firma_id, updateamum, updatevon, ext_id) VALUES('.
- $this->addslashes($this->adresse_id).', '.
$this->addslashes($this->person_id).', '.
$this->addslashes($this->name).', '.
$this->addslashes($this->strasse).', '.
@@ -315,6 +273,7 @@ class adresse
($this->firma_id!=null?$this->addslashes($this->firma_id):'null').', now(), '.
$this->addslashes($this->updatevon).', '.
$this->addslashes($this->ext_id).');';
+
$this->done=true;
}
else
@@ -327,7 +286,7 @@ class adresse
$this->errormsg = 'adresse_id muss eine gueltige Zahl sein: '.$this->adresse_id."\n";
return false;
}
- $qryz="SELECT * FROM tbl_adresse WHERE adresse_id='$this->adresse_id';";
+ $qryz="SELECT * FROM public.tbl_adresse WHERE adresse_id='$this->adresse_id';";
if($resultz = pg_query($this->conn, $qryz))
{
if($rowz = pg_fetch_object($resultz))
@@ -346,20 +305,20 @@ class adresse
if($update)
{
- $qry='UPDATE tbl_adresse SET'.
+ $qry='UPDATE public.tbl_adresse SET'.
' person_id='.$this->addslashes($this->person_id).', '.
' name='.$this->addslashes($this->name).', '.
' strasse='.$this->addslashes($this->strasse).', '.
' plz='.$this->addslashes($this->plz).', '.
- ' typ='.$this->addslashes($this->typ).', '.
- ' ort='.$this->addslashes($this->ort).', '.
- ' nation='.$this->addslashes($this->nation).', '.
- ' gemeinde='.$this->addslashes($this->gemeinde).', '.
- ' updateamum= now(), '.
- ' updatevon='.$this->addslashes($this->updatevon).', '.
- ' heimatadresse='.($this->heimatadresse?'true':'false').', '.
- ' zustelladresse='.($this->zustelladresse?'true':'false').' '.
- 'WHERE adresse_id='.$this->adresse_id.';';
+ ' typ='.$this->addslashes($this->typ).', '.
+ ' ort='.$this->addslashes($this->ort).', '.
+ ' nation='.$this->addslashes($this->nation).', '.
+ ' gemeinde='.$this->addslashes($this->gemeinde).', '.
+ ' updateamum= now(), '.
+ ' updatevon='.$this->addslashes($this->updatevon).', '.
+ ' heimatadresse='.($this->heimatadresse?'true':'false').', '.
+ ' zustelladresse='.($this->zustelladresse?'true':'false').' '.
+ 'WHERE adresse_id='.$this->adresse_id.';';
$this->done=true;
}
}
@@ -370,24 +329,31 @@ class adresse
{
if(pg_query($this->conn,$qry))
{
- //Log schreiben
- /*$sql = $qry;
- $qry = "SELECT nextval('log_seq') as id;";
- if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
+ if($this->new)
{
- $this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
- return false;
+ //naechste ID aus der Sequence holen
+ $qry="SELECT nextval('public.tbl_adresse_adresse_id_seq') as id;";
+ if($result = pg_query($this->conn, $qry))
+ {
+ if($row = pg_fetch_object($result))
+ {
+ $this->adresse_id = $row->id;
+ pg_query($this->conn, 'COMMIT');
+ }
+ else
+ {
+ pg_query($this->conn, 'ROLLBACK');
+ $this->errormsg = "Fehler beim Auslesen der Sequence";
+ return false;
+ }
+ }
+ else
+ {
+ pg_query($this->conn, 'ROLLBACK');
+ $this->errormsg = 'Fehler beim Auslesen der Sequence';
+ return false;
+ }
}
-
- $qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
- if(pg_query($this->conn, $qry))
- return true;
- else
- {
- $this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
- return false;
- } */
- return true;
}
else
{
@@ -401,42 +367,26 @@ class adresse
}
}
- /**
- * Loescht den Datenensatz mit der ID die uebergeben wird
- * @param $adress_id ID die geloescht werden soll
- * @return true wenn ok, false im Fehlerfall
- */
- function delete($adress_id)
+ // ********************************************************
+ // * Loescht den Datenensatz mit der ID die uebergeben wird
+ // * @param $adresse_id ID die geloescht werden soll
+ // * @return true wenn ok, false im Fehlerfall
+ // ********************************************************
+ function delete($adresse_id)
{
//Pruefen ob adresse_id eine gueltige Zahl ist
- if(!is_numeric($adress_id) || $adress_id == '')
+ if(!is_numeric($adresse_id) || $adresse_id == '')
{
$this->errormsg = 'adresse_id muss eine gueltige Zahl sein'."\n";
return false;
}
//loeschen des Datensatzes
- $qry="DELETE FROM adresse WHERE adresse_pk=$adress_id;";
+ $qry="DELETE FROM public.tbl_adresse WHERE adresse_id='$adresse_id';";
if(pg_query($this->conn,$qry))
{
- //Log schreiben
- $sql = $qry;
- $qry = "SELECT nextval('log_seq') as id;";
- if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
- {
- $this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
- return false;
- }
-
- $qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
- if(pg_query($this->conn, $qry))
- return true;
- else
- {
- $this->errormsg = "Fehler beim Speichern des Log-Eintrages\n";
- return false;
- }
+ return true;
}
else
{
diff --git a/include/kontakt.class.php b/include/kontakt.class.php
index 979ce8fa3..b6a4af6b7 100644
--- a/include/kontakt.class.php
+++ b/include/kontakt.class.php
@@ -54,30 +54,66 @@ class kontakt
function kontakt($conn,$kontakt_id=null, $unicode=false)
{
$this->conn = $conn;
- if ($unicode)
+
+ if($unicode!=null)
{
- $qry = "SET CLIENT_ENCODING TO 'UNICODE';";
+ 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;
+ }
}
- else
- {
- $qry="SET CLIENT_ENCODING TO 'LATIN9';";
- }
- if(!pg_query($conn,$qry))
- {
- $this->errormsg = "Encoding konnte nicht gesetzt werden";
- return false;
- }
- //if($firma_id != null) $this->load($firma_id);
+ if($kontakt_id != null)
+ $this->load($kontakt_id);
}
/**
- * Laedt die Funktion mit der ID $kontakt_id
- * @param $kontakt_id ID der zu ladenden Email
+ * Laedt einen Kontakt mit der ID $kontakt_id
+ * @param $kontakt_id ID des zu ladenden Kontaktes
* @return true wenn ok, false im Fehlerfall
*/
function load($kontakt_id)
{
- //noch nicht implementiert
+ if(!is_numeric($kontakt_id))
+ {
+ $this->errormsg = 'Kontakt_id ist ungueltig';
+ return false;
+ }
+
+ $qry = "SELECT * FROM public.tbl_kontakt WHERE kontakt_id='$kontakt_id'";
+
+ if($result = pg_query($this->conn, $qry))
+ {
+ if($row = pg_fetch_object($result))
+ {
+ $this->kontakt_id = $row->kontakt_id;
+ $this->person_id = $row->person_id;
+ $this->firma_id = $row->firma_id;
+ $this->kontakttyp = $row->kontakttyp;
+ $this->anmerkung = $row->anmerkung;
+ $this->kontakt = $row->kontakt;
+ $this->zustellung = ($row->zustellung=='t'?true:false);
+ $this->updateamum = $row->updateamum;
+ $this->updatevon = $row->updatevon;
+ $this->insertamum = $row->insertamum;
+ $this->insertvon = $row->insertvon;
+ $this->ext_id = $row->ext_id;
+ }
+ else
+ {
+ $this->errormsg = 'Datensatz wurde nicht gefunden';
+ return false;
+ }
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Laden der Daten';
+ return false;
+ }
}
/**
@@ -107,6 +143,7 @@ class kontakt
$this->errormsg = '';
return true;
}
+
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
@@ -117,6 +154,7 @@ class kontakt
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
+
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
@@ -134,7 +172,7 @@ class kontakt
{
//Neuen Datensatz einfuegen
- $qry='INSERT INTO tbl_kontakt (person_id, firma_id, kontakttyp, anmerkung, kontakt, zustellung, ext_id, insertamum, insertvon, updateamum, updatevon) VALUES('.
+ $qry='BEGIN;INSERT INTO tbl_kontakt (person_id, firma_id, kontakttyp, anmerkung, kontakt, zustellung, ext_id, insertamum, insertvon, updateamum, updatevon) VALUES('.
$this->addslashes($this->person_id).', '.
$this->addslashes($this->firma_id).', '.
$this->addslashes($this->kontakttyp).', '.
@@ -193,23 +231,32 @@ class kontakt
{
if(pg_query($this->conn, $qry))
{
- //Log schreiben
- /*$sql = $qry;
- $qry = "SELECT nextval('log_seq') as id;";
- if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
+ if($this->new)
{
- $this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
- return false;
- }
-
- $qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
- if(pg_query($this->conn, $qry))
- return true;
- else
- {
- $this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
- return false;
- } */
+ $qry = "SELECT currval('public.tbl_kontakt_kontakt_id_seq') as id";
+
+ if($result = pg_query($this->conn, $qry))
+ {
+ if($row = pg_fetch_object($result))
+ {
+ $this->kontakt_id = $row->id;
+ pg_query($this->conn, 'COMMIT');
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Auslesen er Sequence';
+ pg_query($this->conn, 'ROLLBACK');
+ return false;
+ }
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Auslesen der Sequence';
+ pg_query($this->conn, 'ROLLBACK');
+ return false;
+ }
+ }
return true;
}
else
@@ -226,12 +273,63 @@ class kontakt
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
- * @param $firma_id ID die geloescht werden soll
+ * @param $kontakt_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
- function delete($firma_id)
+ function delete($kontakt_id)
{
- //noch nicht implementiert!
+ if(!is_numeric($kontakt_id))
+ {
+ $this->errormsg = 'Kontakt_id ist ungueltig';
+ return false;
+ }
+
+ $qry = "DELETE FROM public.tbl_kontakt WHERE kontakt_id='$kontakt_id'";
+
+ if(pg_query($this->conn, $qry))
+ return true;
+ else
+ {
+ $this->errormsg = 'Fehler beim Loeschen der Daten';
+ return false;
+ }
+ }
+
+ // **
+ // * Laedt alle Kontaktdaten einer Person
+ // **
+ function load_pers($person_id)
+ {
+ if(!is_numeric($person_id))
+ {
+ $this->errormsg = 'Person_id ist ungueltig';
+ return false;
+ }
+
+ $qry = "SELECT * FROM public.tbl_kontakt WHERE person_id='$person_id'";
+
+ if($result = pg_query($this->conn, $qry))
+ {
+ while($row = pg_fetch_object($result))
+ {
+ $obj = new kontakt($this->conn, null, null);
+
+ $obj->kontakt_id = $row->kontakt_id;
+ $obj->person_id = $row->person_id;
+ $obj->firma_id = $row->firma_id;
+ $obj->kontakttyp = $row->kontakttyp;
+ $obj->anmerkung = $row->anmerkung;
+ $obj->kontakt = $row->kontakt;
+ $obj->zustellung = $row->zustellung;
+ $obj->updateamum = $row->updateamum;
+ $obj->updatevon = $row->updatevon;
+ $obj->insertamum = $row->insertamum;
+ $obj->insertvon = $row->insertvon;
+ $obj->ext_id = $row->ext_id;
+
+ $this->result[] = $obj;
+ }
+ }
}
}
?>
\ No newline at end of file
diff --git a/include/lehreinheitmitarbeiter.class.php b/include/lehreinheitmitarbeiter.class.php
index 59e656ca3..5d33916fa 100644
--- a/include/lehreinheitmitarbeiter.class.php
+++ b/include/lehreinheitmitarbeiter.class.php
@@ -267,7 +267,7 @@ class lehreinheitmitarbeiter
}
else
{
- $this->errormsg = 'Fehler beim Speichern der LEMitarbeiter:'.$qry;
+ $this->errormsg = 'Fehler beim Speichern der LEMitarbeiter:'.$qry.pg_errormessage($this->conn);
return false;
}
}
diff --git a/rdf/adresse.rdf.php b/rdf/adresse.rdf.php
new file mode 100644
index 000000000..4cf4d739f
--- /dev/null
+++ b/rdf/adresse.rdf.php
@@ -0,0 +1,102 @@
+,
+ * Andreas Oesterreicher and
+ * Rudolf Hangl .
+ */
+// header für no cache
+header("Cache-Control: no-cache");
+header("Cache-Control: post-check=0, pre-check=0",false);
+header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
+header("Pragma: no-cache");
+// content type setzen
+header("Content-type: application/xhtml+xml");
+// xml
+echo '';
+// DAO
+require_once('../vilesci/config.inc.php');
+require_once('../include/adresse.class.php');
+require_once('../include/datum.class.php');
+
+// Datenbank Verbindung
+if (!$conn = pg_pconnect(CONN_STRING))
+ die('Es konnte keine Verbindung zum Server aufgebaut werden!');
+
+if(isset($_GET['person_id']))
+ $person_id = $_GET['person_id'];
+else
+ $person_id = '';
+
+if(isset($_GET['adresse_id']))
+ $adresse_id = $_GET['adresse_id'];
+else
+ $adresse_id = '';
+
+$datum = new datum();
+
+$adresse = new adresse($conn, null, true);
+
+$rdf_url='http://www.technikum-wien.at/adresse';
+
+echo '
+
+
+
+';
+
+if($adresse_id!='')
+{
+ $adresse->load($adresse_id);
+ draw_rdf($adresse);
+}
+else
+{
+ $adresse->load_pers($person_id);
+ foreach ($adresse->result as $row)
+ draw_rdf($row);
+}
+
+function draw_rdf($row)
+{
+ global $rdf_url;
+
+ echo '
+
+
+ adresse_id.']]>
+ person_id.']]>
+ name.']]>
+ strasse.']]>
+ plz.']]>
+ ort.']]>
+ gemeinde.']]>
+ nation.']]>
+ typ.']]>
+ heimatadresse?'Ja':'Nein').']]>
+ zustelladresse?'Ja':'Nein').']]>
+ firma_id.']]>
+
+
+ ';
+}
+?>
+
+
\ No newline at end of file
diff --git a/rdf/kontakt.rdf.php b/rdf/kontakt.rdf.php
new file mode 100644
index 000000000..a67397558
--- /dev/null
+++ b/rdf/kontakt.rdf.php
@@ -0,0 +1,97 @@
+,
+ * Andreas Oesterreicher and
+ * Rudolf Hangl .
+ */
+// header für no cache
+header("Cache-Control: no-cache");
+header("Cache-Control: post-check=0, pre-check=0",false);
+header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
+header("Pragma: no-cache");
+// content type setzen
+header("Content-type: application/xhtml+xml");
+// xml
+echo '';
+// DAO
+require_once('../vilesci/config.inc.php');
+require_once('../include/kontakt.class.php');
+require_once('../include/datum.class.php');
+
+// Datenbank Verbindung
+if (!$conn = pg_pconnect(CONN_STRING))
+ die('Es konnte keine Verbindung zum Server aufgebaut werden!');
+
+if(isset($_GET['person_id']))
+ $person_id = $_GET['person_id'];
+else
+ $person_id = '';
+
+if(isset($_GET['kontakt_id']))
+ $kontakt_id = $_GET['kontakt_id'];
+else
+ $kontakt_id = '';
+
+$datum = new datum();
+
+$kontakt = new kontakt($conn, null, true);
+
+$rdf_url='http://www.technikum-wien.at/kontakt';
+
+echo '
+
+
+
+';
+
+if($kontakt_id!='')
+{
+ $kontakt->load($kontakt_id);
+ draw_rdf($kontakt);
+}
+else
+{
+ $kontakt->load_pers($person_id);
+ foreach ($kontakt->result as $row)
+ draw_rdf($row);
+}
+
+function draw_rdf($row)
+{
+ global $rdf_url;
+
+ echo '
+
+
+ kontakt_id.']]>
+ person_id.']]>
+ firma_id.']]>
+ kontakttyp.']]>
+ anmerkung.']]>
+ kontakt.']]>
+ zustellung?'Ja':'Nein').']]>
+
+
+ ';
+}
+?>
+
+
\ No newline at end of file
diff --git a/skin/tempus.css b/skin/tempus.css
index 1d94d437b..d9840b2d0 100644
--- a/skin/tempus.css
+++ b/skin/tempus.css
@@ -49,4 +49,31 @@ grid.lvaStundenplan button
padding-bottom: 0px;
padding-left: 0px;
padding-right: 0px;
-}
\ No newline at end of file
+}
+
+
+tree treecol {
+ background-color: #FFFFCC;
+ border: 1px solid black;
+}
+
+tree {
+ font-size:9pt;
+ font-family:Arial;
+}
+
+box.studentDetail {
+ -moz-binding: url('lehrveranstaltungbinding.xml.php#studentDetail');
+}
+
+label,textbox {
+ font-size:9pt;
+ font-family:Arial;
+}
+
+treechildren::-moz-tree-row(selected) { background-color: #FFFFAA; }
+treechildren::-moz-tree-row(odd) { background-color: #EEEEEE; }
+treechildren::-moz-tree-row(odd, selected) { background-color: #FFFFAA; }
+treechildren::-moz-tree-row(even, selected) { background-color: #FFFFAA; }
+treechildren::-moz-tree-cell-text(selected) { color: #000000; }
+treechildren::-moz-tree-cell-text(odd, selected) { color: #000000; }
\ No newline at end of file