Diverse Probleme die zur Speicherüberlastung und zum Absturz
+des Programms führten wurden behoben
+12.03.2008 oesi
+
+
+
Projektarbeiten: Die Meldung dass keine Betreuerart
+ausgewählt wurde (obwohl die Auswahl in der Oberfäche
+sichtbar ist) sollte nun nicht mehr Erscheinen
+12.03.2008 oesi
+
+
Das Löschen von Noten von LVs zu denen der Student nicht
zugeordnet ist führt jetzt nicht mehr zu einem einfrieren des
Programms
diff --git a/content/fasoverlay.js.php b/content/fasoverlay.js.php
index 6b5d8371e..4e6a7dc72 100644
--- a/content/fasoverlay.js.php
+++ b/content/fasoverlay.js.php
@@ -48,6 +48,14 @@ function initLektorTree()
if(LektorTree)
{
+ try
+ {
+ LektorTreeDatasource.removeXMLSinkObserver(LektorTreeSinkObserver);
+ LektorTree.builder.removeListener(LektorTreeListener);
+ }
+ catch(e)
+ {}
+
//Alte DS entfernen
var oldDatasources = LektorTree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
@@ -343,13 +351,6 @@ function onVerbandSelect(event)
url = 'rdf/lehrveranstaltung_einheiten.rdf.php?stg_kz='+stg_kz+'&sem='+sem+'&ver='+ver+'&grp='+grp+'&gruppe='+gruppe+'&'+gettimestamp();
var treeLV=document.getElementById('lehrveranstaltung-tree');
- //Alte DS entfernen
- var oldDatasources = treeLV.database.GetDataSources();
- while(oldDatasources.hasMoreElements())
- {
- treeLV.database.RemoveDataSource(oldDatasources.getNext());
- }
-
try
{
LvTreeDatasource.removeXMLSinkObserver(LvTreeSinkObserver);
@@ -357,6 +358,14 @@ function onVerbandSelect(event)
}
catch(e)
{}
+
+ //Alte DS entfernen
+ var oldDatasources = treeLV.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ treeLV.database.RemoveDataSource(oldDatasources.getNext());
+ }
+
var rdfService1 = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
LvTreeDatasource = rdfService1.GetDataSource(url);
@@ -387,13 +396,6 @@ function onVerbandSelect(event)
url = "rdf/student.rdf.php?"+"studiengang_kz="+stg_kz+"&semester="+sem+"&typ="+typ+"&studiensemester_kurzbz="+stsem+"&"+gettimestamp();
var treeInt=document.getElementById('student-tree');
- //Alte DS entfernen
- var oldDatasources = treeInt.database.GetDataSources();
- while(oldDatasources.hasMoreElements())
- {
- treeInt.database.RemoveDataSource(oldDatasources.getNext());
- }
-
try
{
StudentTreeDatasource.removeXMLSinkObserver(StudentTreeSinkObserver);
@@ -401,6 +403,13 @@ function onVerbandSelect(event)
}
catch(e)
{}
+
+ //Alte DS entfernen
+ var oldDatasources = treeInt.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ treeInt.database.RemoveDataSource(oldDatasources.getNext());
+ }
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentTreeDatasource = rdfService.GetDataSource(url);
@@ -472,13 +481,6 @@ function onFachbereichSelect(event)
url = 'rdf/lehrveranstaltung_einheiten.rdf.php?fachbereich_kurzbz='+kurzbz+'&uid='+uid+'&'+gettimestamp();
var treeLV=document.getElementById('lehrveranstaltung-tree');
- //Alte DS entfernen
- var oldDatasources = treeLV.database.GetDataSources();
- while(oldDatasources.hasMoreElements())
- {
- treeLV.database.RemoveDataSource(oldDatasources.getNext());
- }
-
try
{
LvTreeDatasource.removeXMLSinkObserver(LvTreeSinkObserver);
@@ -486,6 +488,13 @@ function onFachbereichSelect(event)
}
catch(e)
{}
+
+ //Alte DS entfernen
+ var oldDatasources = treeLV.database.GetDataSources();
+ while(oldDatasources.hasMoreElements())
+ {
+ treeLV.database.RemoveDataSource(oldDatasources.getNext());
+ }
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
LvTreeDatasource = rdfService.GetDataSource(url);
diff --git a/content/funktionen.js.php b/content/funktionen.js.php
index da33f4bea..4c3fdfb0a 100644
--- a/content/funktionen.js.php
+++ b/content/funktionen.js.php
@@ -84,6 +84,14 @@ function loadFunktionen(uid)
url = "rdf/benutzerfunktion.rdf.php?uid="+uid+"&"+gettimestamp();
var tree=document.getElementById('funktion-tree');
+ try
+ {
+ FunktionenTreeDatasource.removeXMLSinkObserver(FunktionenTreeSinkObserver);
+ tree.builder.removeListener(FunktionenTreeListener);
+ }
+ catch(e)
+ {}
+
//Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
diff --git a/content/kontakt.js.php b/content/kontakt.js.php
index e43eb9369..e7301fa75 100644
--- a/content/kontakt.js.php
+++ b/content/kontakt.js.php
@@ -156,6 +156,14 @@ function loadKontakte(person_id)
url = "rdf/adresse.rdf.php?person_id="+person_id+"&"+gettimestamp();
var treeAdressen=document.getElementById('kontakt-adressen-tree');
+ try
+ {
+ AdressenTreeDatasource.removeXMLSinkObserver(KontaktAdressenTreeSinkObserver);
+ treeAdressen.builder.removeListener(KontaktAdressenTreeListener);
+ }
+ catch(e)
+ {}
+
//Alte DS entfernen
var oldDatasources = treeAdressen.database.GetDataSources();
while(oldDatasources.hasMoreElements())
@@ -175,6 +183,14 @@ function loadKontakte(person_id)
url = "rdf/kontakt.rdf.php?person_id="+person_id+"&"+gettimestamp();
var treeKontakt=document.getElementById('kontakt-kontakt-tree');
+ try
+ {
+ KontaktTreeDatasource.removeXMLSinkObserver(KontaktKontaktTreeSinkObserver);
+ treeKontakt.builder.removeListener(KontaktKontaktTreeListener);
+ }
+ catch(e)
+ {}
+
//Alte DS entfernen
var oldDatasources = treeKontakt.database.GetDataSources();
while(oldDatasources.hasMoreElements())
@@ -194,6 +210,14 @@ function loadKontakte(person_id)
url = "rdf/bankverbindung.rdf.php?person_id="+person_id+"&"+gettimestamp();
var treeBankverbindung=document.getElementById('kontakt-bankverbindung-tree');
+ try
+ {
+ BankverbindungTreeDatasource.removeXMLSinkObserver(KontaktBankverbindungTreeSinkObserver);
+ treeBankverbindung.builder.removeListener(KontaktBankverbindungTreeListener);
+ }
+ catch(e)
+ {}
+
//Alte DS entfernen
var oldDatasources = treeBankverbindung.database.GetDataSources();
while(oldDatasources.hasMoreElements())
diff --git a/content/student/interessentdokumenteoverlay.js.php b/content/student/interessentdokumenteoverlay.js.php
index f23a37643..70f9b2354 100644
--- a/content/student/interessentdokumenteoverlay.js.php
+++ b/content/student/interessentdokumenteoverlay.js.php
@@ -116,7 +116,7 @@ var InteressentDokumentTreeAbgegebenListener =
// ****************** FUNKTIONEN ************************** //
// ****
-// * Weisst dem Prestudenten Dokumente zu die er bereits abgegeben hat
+// * Teilt dem Prestudenten Dokumente zu die er bereits abgegeben hat
// ****
function InteressentDokumenteAdd()
{
@@ -133,8 +133,7 @@ function InteressentDokumenteAdd()
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
- col = tree.columns ? tree.columns["interessent-dokumente-tree-nichtabgegeben-dokument_kurzbz"] : "interessent-dokumente-tree-nichtabgegeben-dokument_kurzbz";
- dok = tree.view.getCellText(v,col);
+ dok = getTreeCellText(tree, "interessent-dokumente-tree-nichtabgegeben-dokument_kurzbz", v);
paramList += ';'+dok;
}
}
diff --git a/content/student/studentabschlusspruefung.js.php b/content/student/studentabschlusspruefung.js.php
index 38d37bbf3..f65dda5c6 100644
--- a/content/student/studentabschlusspruefung.js.php
+++ b/content/student/studentabschlusspruefung.js.php
@@ -41,7 +41,13 @@ var StudentAbschlusspruefungTreeDatasource=null; //Datasource des Abschlusspruef
// ****
var StudentAbschlusspruefungTreeSinkObserver =
{
- onBeginLoad : function(pSink) {},
+ onBeginLoad : function(pSink)
+ {
+ //Eventlistener waehrend des Ladevorganges deaktivieren da es sonst
+ //zu Problemen kommt
+ tree = document.getElementById('student-abschlusspruefung-tree');
+ tree.removeEventListener('select', StudentAbschlusspruefungAuswahl, false);
+ },
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
@@ -58,14 +64,16 @@ var StudentAbschlusspruefungTreeSinkObserver =
// ****
var StudentAbschlusspruefungTreeListener =
{
- 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(StudentAbschlusspruefungTreeSelectID,10);
- }
+ willRebuild : function(builder) { },
+ didRebuild : function(builder)
+ {
+ tree = document.getElementById('student-abschlusspruefung-tree');
+ tree.addEventListener('select', StudentAbschlusspruefungAuswahl, false);
+ //timeout nur bei Mozilla notwendig da sonst die rows
+ //noch keine values haben. Ab Seamonkey funktionierts auch
+ //ohne dem setTimeout
+ window.setTimeout(StudentAbschlusspruefungTreeSelectID,10);
+ }
};
// ****************** FUNKTIONEN ************************** //
@@ -78,6 +86,15 @@ function StudentAbschlusspruefungTreeLoad(uid)
tree = document.getElementById('student-abschlusspruefung-tree');
url='rdf/abschlusspruefung.rdf.php?student_uid='+uid+"&"+gettimestamp();
+ //Alte Observer entfernen
+ try
+ {
+ StudentAbschlusspruefungTreeDatasource.removeXMLSinkObserver(StudentAbschlusspruefungTreeSinkObserver);
+ tree.builder.removeListener(StudentAbschlusspruefungTreeListener);
+ }
+ catch(e)
+ {}
+
//Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
@@ -248,9 +265,8 @@ function StudentAbschlusspruefungTreeSelectID()
for(var i=0;i';
+
';
-
+
';
+
+
+
+
+
+
+
+
+
+
@@ -77,20 +93,6 @@ echo '';
-
-
-
-
-
-
-
-
-
- ';
-
+
+
';
+
';
+ >
+
';
+
result as $row)
buchungstyp_kurzbz ?>]]>beschreibung ?>]]>
+ ]]>