- Weiterbildung aktualisiert

- Weiterentwicklung Lehrveranstaltung-Modul
This commit is contained in:
Andreas Österreicher
2007-03-13 16:49:17 +00:00
parent b9b7cc6904
commit 2da4727cfb
12 changed files with 307 additions and 96 deletions
+73
View File
@@ -0,0 +1,73 @@
function lehrstunde(type,stg_kz,sem,ver,grp)
{
this.type=type;
this.stg_kz=stg_kz;
this.sem=sem;
this.ver=ver;
this.grp=grp;
}
var listObserver=
{
onDragStart: function (evt,transferData,action)
{
var elemID=evt.target.getAttribute("elem");
var paramList=evt.target.getAttribute("paramList");
var transferObjekt=new lehrstunde(elemID,paramList,elemID,elemID,elemID);
transferData.data=new TransferData();
//transferData.data.addDataForFlavour("text/unicode",transferObjekt);
transferData.data.addDataForFlavour("text/unicode",paramList);
}
};
/***** Drag Observer fuer Gruppen *****/
var grpObserver=
{
onDragStart: function (evt,transferData,action)
{
var stg_kz=evt.target.getAttribute("stg_kz");
var sem=evt.target.getAttribute("sem");
var ver=evt.target.getAttribute("ver");
var grp=evt.target.getAttribute("grp");
var einheit=evt.target.getAttribute("gruppe");
var paramList= stg_kz+'&'+sem+'&'+ver+'&'+grp+'&'+gruppe;
transferData.data=new TransferData();
transferData.data.addDataForFlavour("gruppe",paramList);
}
};
var boardObserver=
{
/*canHandleMultipleItems : function()
{
var canHandleMultipleItems=false;
},*/
getSupportedFlavours : function ()
{
var flavours = new FlavourSet();
flavours.appendFlavour("text/unicode");
return flavours;
},
onDragOver: function (evt,flavour,session)
{
},
onDrop: function (evt,dropdata,session)
{
if (dropdata.data!="")
{
var dragElement=document.getElementById(dropdata.data);
var contentFrame=document.getElementById('iframeTimeTableWeek');
var stunde=evt.target.getAttribute("stunde");
var datum=evt.target.getAttribute("datum");
/*//var elem=document.createElement("label");*/
/*evt.target.appendChild(elem); */
var paramList=dragElement.getAttribute("paramList");
/*elem.setAttribute("value",dropdata.data + paramList); */
var url=location.href;//contentFrame.getAttribute('src');
url+=paramList+"&new_stunde="+stunde+"&new_datum="+datum+'&aktion=stplverschieben';
//contentFrame.setAttribute('src', url);
location.href=url;
}
}
};
+9
View File
@@ -93,4 +93,13 @@ function ParseReturnValue(response)
this.dbdml_return = false;
this.dbdml_errormsg = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#errormsg" ));
this.dbdml_data = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#data" ));
//debug('data:'+this.dbdml_data+' errormsg:'+this.dbdml_errormsg+' return:'+this.dbdml_return );
}
// ****
// * Zeigt einen Text in der Statusbar an
// ****
function SetStatusBarText(text)
{
document.getElementById('statusbarpanel-text').label=text;
}
+6 -8
View File
@@ -49,7 +49,7 @@ if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$return = false;
$errormsg = 'Unknown Error';
$errormsg = 'unknown';
$data = '';
$error = false;
@@ -82,7 +82,7 @@ if(!$error)
if(!$error)
{
$lem = new lehreinheitmitarbeiter($conn);
$lem = new lehreinheitmitarbeiter($conn, null, null, true);
if($_POST['do']=='update')
{
@@ -106,7 +106,7 @@ if(!$error)
$lem->stundensatz = $_POST['stundensatz'];
$lem->faktor = $_POST['faktor'];
$lem->anmerkung = $_POST['anmerkung'];
$lem->bismelden = $_POST['bismelden'];
$lem->bismelden = ($_POST['bismelden']=='true'?true:false);
$lem->updateamum = date('Y-m-d H:i:s');
$lem->updatevon = $user;
@@ -222,7 +222,7 @@ if(!$error)
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit')
{
//Lehreinheit anlegen/aktualisieren
$leDAO=new lehreinheit($conn);
$leDAO=new lehreinheit($conn, null, true);
if ($_POST['do']=='create' || ($_POST['do']=='update'))
{
if($_POST['do']=='update')
@@ -268,6 +268,7 @@ if(!$error)
}
if ($leDAO->save())
{
$data = $leDAO->lehreinheit_id;
$return = true;
}
else
@@ -305,16 +306,13 @@ if(!$error)
xmlns:NC="http://home.netscape.com/NC-rdf#"
xmlns:DBDML="http://www.technikum-wien.at/dbdml/rdf#"
>
<RDF:Seq RDF:about="http://www.technikum-wien.at/dbdml/msg">
<RDF:li>
<RDF:Description RDF:about="http://www.technikum-wien.at/dbdml/0" >
<DBDML:return><?php echo ($return?'true':'false'); ?></DBDML:return>
<DBDML:errormsg><![CDATA[<?php echo $errormsg; ?>]]></DBDML:errormsg>
<DBDML:data><!CDATA[<?php echo $data ?>]]></DBDML:data>
<DBDML:data><![CDATA[<?php echo $data ?>]]></DBDML:data>
</RDF:Description>
</RDF:li>
</RDF:Seq>
</RDF:RDF>
+11 -6
View File
@@ -26,7 +26,7 @@ header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>';
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo "<?xml-stylesheet href=\"".APP_ROOT."content/lehrveranstaltung.css\" type=\"text/css\" ?>";
?>
@@ -75,6 +75,10 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lehrveranstaltung.css\" type=\
<label value="UNR" />
<textbox id="lehrveranstaltung-detail-textbox-unr" disabled="true"/>
</row>
<row>
<label value="Lehrveranstaltung" />
<textbox id="lehrveranstaltung-detail-textbox-lehrveranstaltung" maxlength="20" disabled="true"/>
</row>
</rows>
</grid>
</vbox>
@@ -102,8 +106,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lehrveranstaltung.css\" type=\
</menupopup>
</template>
</menulist>
<label value="Lehrveranstaltung" />
<textbox id="lehrveranstaltung-detail-textbox-lehrveranstaltung" maxlength="20" disabled="true"/>
</row>
<row>
<label value="Lehrfach" />
@@ -197,7 +200,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lehrveranstaltung.css\" type=\
<label id="lehrveranstaltung-detail-label-lehreinheitgruppe" value="Gruppen" />
<vbox height="150" flex="1">
<hbox flex="1">
<tree id="lehrveranstaltung-detail-tree-lehreinheitgruppe" seltype="single" hidecolumnpicker="false" flex="1" disabled="true"
<tree id="lehrveranstaltung-detail-tree-lehreinheitgruppe" seltype="single" hidecolumnpicker="false" flex="1" disabled="false"
datasources="rdf:null"
ref="http://www.technikum-wien.at/lehreinheitgruppe/liste"
flags="dont-build-content"
@@ -207,6 +210,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lehrveranstaltung.css\" type=\
ondragenter="nsDragAndDrop.dragEnter(event,LeLvbgrpDDObserver)"
ondragexit="nsDragAndDrop.dragExit(event,LeLvbgrpDDObserver)"
context="lehrveranstaltung-detail-gruppe-tree-popup"
onkeypress="LvDetailGruppenTreeKeyPress(event)"
>
<treecols>
<treecol id="lehrveranstaltung-lehreinheitgruppe-treecol-bezeichnung" label="Bezeichnung" flex="2" hidden="false"
@@ -253,6 +257,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lehrveranstaltung.css\" type=\
ondragenter="nsDragAndDrop.dragEnter(event,LeLektorDDObserver)"
ondragexit="nsDragAndDrop.dragExit(event,LeLektorDDObserver)"
context="lehrveranstaltung-lektor-tree-popup"
onkeypress="LvDetailMitarbeiterTreeKeyPress(event)"
>
<treecols>
<treecol id="lehrveranstaltung-lehreinheitmitarbeiter-treecol-nachname" label="Nachname" flex="2" hidden="false"
@@ -347,9 +352,9 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lehrveranstaltung.css\" type=\
</row>
<row>
<label control="lehrveranstaltung-lehreinheitmitarbeiter-textbox-anmerkung" value="Anmerkung: "/>
<textbox id="lehrveranstaltung-lehreinheitmitarbeiter-textbox-anmerkung" disabled="true" maxlength="256" flex="1" oninput="LeMitarbeiterValueChanged();"/>
<textbox id="lehrveranstaltung-lehreinheitmitarbeiter-textbox-anmerkung" disabled="true" maxlength="256" flex="1" oncommand="LeMitarbeiterValueChanged();"/>
<label control="lehrveranstaltung-lehreinheitmitarbeiter-checkbox-bismelden" value="BIS-Melden: "/>
<checkbox id="lehrveranstaltung-lehreinheitmitarbeiter-checkbox-bismelden" disabled="true" flex="1" oninput="LeMitarbeiterValueChanged();"/>
<checkbox id="lehrveranstaltung-lehreinheitmitarbeiter-checkbox-bismelden" disabled="true" flex="1" oncommand="LeMitarbeiterValueChanged();"/>
</row>
</rows>
</grid>
+85 -8
View File
@@ -32,7 +32,10 @@ var LeDetailLehrfach_id; //Lehrfach_id die nach dem Laden markiert werden soll
var LeDetailGruppeDatasource; //Datasource fuer Gruppen DropDown
var LeDetailLektorDatasource; //Datasource fuer Lektren DropDown
var LvSelectLehreinheit_id; //Lehreinheit_id die nach dem Rebuild des Trees markiert werden soll
var leDetailLektorUid; // UID der Lektorzuordnung die nach dem Rebuild markiert werden soll
var leDetailLektorLehreinheit_id; // Lehreinheit_id der Lektorzuordnung die nach dem Rebuild markiert werden soll
// ********** Observer und Listener ************* //
// ****
// * Observer fuer LV Tree
// * startet Rebuild nachdem das Refresh
@@ -67,6 +70,40 @@ var LvTreeListener =
}
};
// ****
// * Nach dem Rebuild wird die Lektorzuordnung
// * wieder markiert
// ****
var LvLektorTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
window.setTimeout(LeLektorTreeSelectLektor,10);
}
};
// ***************** KEY Events ************************* //
function LvTreeKeyPress(event)
{
if(event.keyCode==46) // Entf
LeDelete();
else if(event.keyCode==116) // F5
LvTreeRefresh();
}
function LvDetailGruppenTreeKeyPress(event)
{
if(event.keyCode==46) //Entf
LeGruppeDel();
}
function LvDetailMitarbeiterTreeKeyPress(event)
{
if(event.keyCode==46) //Entf
LeMitarbeiterDel();
}
// ****************** FUNCTIONS ************************** //
// ****
// * Asynchroner (Nicht blockierender) Refresh des LV Trees
// ****
@@ -136,6 +173,39 @@ function LeNeu()
document.getElementById('lehrveranstaltung-detail-textbox-lehrveranstaltung').value=lehrveranstaltung_id;
document.getElementById('lehrveranstaltung-detail-checkbox-new').checked=true;
}
// ****
// * Selectiert die Lektorzuordnung nachdem der Tree
// * rebuildet wurde.
// ****
function LeLektorTreeSelectLektor()
{
var tree=document.getElementById('lehrveranstaltung-detail-tree-lehreinheitmitarbeiter');
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
//In der globalen Variable ist die zu selektierende Lehreinheit gespeichert
if(leDetailLektorUid!=null && leDetailLektorLehreinheit_id!=null)
{
for(var i=0;i<items;i++)
{
//Lehreinheit_id der row holen
col = tree.columns ? tree.columns["lehrveranstaltung-lehreinheitmitarbeiter-treecol-lehreinheit_id"] : "lehrveranstaltung-lehreinheitmitarbeiter-treecol-lehreinheit_id";
lehreinheit_id=tree.view.getCellText(i,col);
//Uid der row holen
col = tree.columns ? tree.columns["lehrveranstaltung-lehreinheitmitarbeiter-treecol-mitarbeiter_uid"] : "lehrveranstaltung-lehreinheitmitarbeiter-treecol-mitarbeiter_uid";
uid=tree.view.getCellText(i,col);
//wenn dies die zu selektierende Zeile
if(leDetailLektorUid==uid && leDetailLektorLehreinheit_id==lehreinheit_id)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
return true;
}
}
}
}
// ****
// * Selectiert die Lehreinheit nachdem der Tree
@@ -153,7 +223,8 @@ function LvTreeSelectLehreinheit()
//Zeilen zurueckliefert
for(var i=items-1;i>=0;i--)
{
tree.view.toggleOpenState(i);
if(!tree.view.isContainerOpen(i))
tree.view.toggleOpenState(i);
}
//Jetzt die wirkliche Anzahl (aller) Zeilen holen
@@ -371,10 +442,13 @@ function LeDetailSave()
alert(val.dbdml_errormsg)
}
else
{
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('lehrveranstaltung-detail-checkbox-new').checked=false;
LvTreeRefresh();
alert('Daten wurden gespeichert');
//LvTreeRefresh();
LvSelectLehreinheit_id=val.dbdml_data;
LvTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden gespeichert');
}
}
@@ -506,7 +580,7 @@ function LeAuswahl()
document.getElementById('lehrveranstaltung-detail-textbox-unr').value=unr;
document.getElementById('lehrveranstaltung-detail-textbox-lvnr').value=lvnr;
document.getElementById('lehrveranstaltung-detail-textbox-lehrveranstaltung').value=lehrveranstaltung;
if(lehre='Ja')
if(lehre=='Ja')
document.getElementById('lehrveranstaltung-detail-checkbox-lehre').checked=true;
else
document.getElementById('lehrveranstaltung-detail-checkbox-lehre').checked=false;
@@ -543,6 +617,7 @@ function LeAuswahl()
LeDetailLektorDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
LeDetailLektorDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
lektortree.database.AddDataSource(LeDetailLektorDatasource);
lektortree.builder.addListener(LvLektorTreeListener);
}
catch(e)
{
@@ -624,7 +699,9 @@ function LeMitarbeiterSave()
}
else
{
LeLektorTreeRefresh()
leDetailLektorUid = lektor;
leDetailLektorLehreinheit_id = lehreinheit_id;
LeLektorTreeRefresh();
}
}
@@ -725,7 +802,7 @@ function LeMitarbeiterDisableFields(val)
function LeMitarbeiterAuswahl()
{
tree = document.getElementById('lehrveranstaltung-detail-tree-lehreinheitmitarbeiter');
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-button-save').disabled=true;
//Falls kein Eintrag gewaehlt wurde, den ersten auswaehlen
var idx;
if(tree.currentIndex>=0)
@@ -794,7 +871,7 @@ function LeMitarbeiterAuswahl()
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-lehreinheit_id').value=lehreinheit_id;
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-mitarbeiter_uid').value=mitarbeiter_uid;
if(bismelden='Ja')
if(bismelden=='Ja')
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-checkbox-bismelden').checked=true;
else
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-checkbox-bismelden').checked=false;
+14 -20
View File
@@ -27,12 +27,9 @@ header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>';
echo "<?xml-stylesheet href=\"".APP_ROOT."content/lfvt.css\" type=\"text/css\" ?>";
echo '<?xul-overlay href="'.APP_ROOT.'content/lehrveranstaltungdetailoverlay.xul.php"?>';
?>
<overlay id="LehrveranstaltungOverlay"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
@@ -65,19 +62,12 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lehrveranstaltungdetailoverlay.xul
style="margin:0px;"
onselect="LeAuswahl(this);"
persist="height"
onkeypress="LvTreeKeyPress(event)"
>
<treecols>
<treecol id="lehrveranstaltung-treecol-kurzbz" label="Kurzbz" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#kurzbz"/>
<splitter class="tree-splitter"/>
<treecol id="lehrveranstaltung-treecol-lehrveranstaltung_id" label="Lehrveranstaltung_id" flex="2" hidden="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrveranstaltung_id" />
<splitter class="tree-splitter"/>
<treecol id="lehrveranstaltung-treecol-bezeichnung" label="Bezeichnung" flex="5" hidden="false"
class="sortDirectionIndicator"
@@ -131,22 +121,25 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lehrveranstaltungdetailoverlay.xul
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lektoren"/>
<splitter class="tree-splitter"/>
<treecol id="lehrveranstaltung-treecol-lehreinheit_id" label="Lehreinheit_id" flex="10" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehreinheit_id"/>
<splitter class="tree-splitter"/>
<treecol id="lehrveranstaltung-treecol-anmerkung" label="Anmerkung" flex="5" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#anmerkung"/>
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#anmerkung"/>
<splitter class="tree-splitter"/>
<treecol id="lehrveranstaltung-treecol-lehrveranstaltung_id" label="Lehrveranstaltung_id" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrveranstaltung_id" />
<splitter class="tree-splitter"/>
<treecol id="lehrveranstaltung-treecol-lehreinheit_id" label="Lehreinheit_id" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehreinheit_id"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow dbID="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrveranstaltung_id">
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrveranstaltung_id" />
<treerow dbID="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrveranstaltung_id" >
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#sprache"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#ects"/>
@@ -160,8 +153,9 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lehrveranstaltungdetailoverlay.xul
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#raumtypalternativ"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#gruppen"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lektoren"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehreinheit_id"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#anmerkung"/>
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehrveranstaltung_id" />
<treecell label="rdf:http://www.technikum-wien.at/lehrveranstaltung_einheiten/rdf#lehreinheit_id"/>
</treerow>
</treeitem>
</treechildren>
+40 -12
View File
@@ -73,21 +73,24 @@ class lehreinheit
{
$this->conn = $conn;
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
if($unicode!=null)
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
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($lehreinheit_id!=null)
$this->load($lehreinheit_id);
}
// *********************************************************
// * Laedt die LE
// * @param lehreinheit_id
@@ -198,13 +201,13 @@ class lehreinheit
function load_lehreinheiten($lehrveranstaltung_id, $studiensemester_kurzbz)
{
$qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id='$lehrveranstaltung_id' AND studiensemester_kurzbz='$studiensemester_kurzbz'";
$qry = "SELECT * FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id='$lehrveranstaltung_id' AND studiensemester_kurzbz='$studiensemester_kurzbz' ORDER BY lehreinheit_id";
if($result = pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))
{
$le_obj = new lehreinheit($this->conn);
$le_obj = new lehreinheit($this->conn, null, null);
$le_obj->lehreinheit_id = $row->lehreinheit_id;
$le_obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
@@ -374,7 +377,7 @@ class lehreinheit
else
$unr = $this->addslashes($this->unr);
//ToDo ID entfernen
$qry = 'INSERT INTO lehre.tbl_lehreinheit (lehrveranstaltung_id, studiensemester_kurzbz,
$qry = 'BEGIN; INSERT INTO lehre.tbl_lehreinheit (lehrveranstaltung_id, studiensemester_kurzbz,
lehrfach_id, lehrform_kurzbz, stundenblockung, wochenrythmus,
start_kw, raumtyp, raumtypalternativ, lehre, anmerkung, unr, lvnr, insertamum, insertvon, updateamum, updatevon, ext_id, sprache)
VALUES('.$this->addslashes($this->lehrveranstaltung_id).','.
@@ -422,6 +425,31 @@ class lehreinheit
//echo $qry;
if(pg_query($this->conn,$qry))
{
if($new)
{
//Sequence auslesen
$qry ="SELECT currval('lehre.tbl_lehreinheit_lehreinheit_id_seq') AS lehreinheit_id";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
$this->lehreinheit_id = $row->lehreinheit_id;
pg_query($this->conn, 'COMMIT;');
}
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;
}
}
//Log schreiben
return true;
}
+36 -24
View File
@@ -28,16 +28,21 @@ class lehreinheitmitarbeiter
var $lehreinheitmitarbeiter = array(); // lehreinheitmitarbeiter Objekt
//Tabellenspalten
var $lehreinheit_id; // integer
var $mitarbeiter_uid; // varchar(16)
var $lehreinheit_id; // integer
var $mitarbeiter_uid; // varchar(16)
var $mitarbeiter_uid_old; // verwendet bei Update der UID
var $semesterstunden; // smalint
var $planstunden; // smalint
var $stundensatz; // numeric(6,2)
var $faktor; // numeric(2,1)
var $anmerkung; // varchar(256)
var $lehrfunktion_kurzbz; // varchar(16)
var $ext_id; // bigint
var $semesterstunden; // smalint
var $planstunden; // smalint
var $stundensatz; // numeric(6,2)
var $faktor; // numeric(2,1)
var $anmerkung; // varchar(256)
var $lehrfunktion_kurzbz; // varchar(16)
var $bismelden; // boolean
var $insertamum; // timestamp
var $insertvon; // varchar(16)
var $updateamum; // timestamp
var $updatevon; // varchar(16)
var $ext_id; // bigint
// *************************************************************************
// * Konstruktor - Uebergibt die Connection und laedt optional eine LE
@@ -51,15 +56,18 @@ class lehreinheitmitarbeiter
{
$this->conn = $conn;
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
if($unicode!=null)
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
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($lehreinheit_id!=null && $mitarbeiter_uid!=null)
@@ -91,7 +99,7 @@ class lehreinheitmitarbeiter
$this->stundensatz = $row->stundensatz;
$this->faktor = $row->faktor;
$this->anmerkung = $row->anmerkung;
$this->bismelden = $row->bismelden;
$this->bismelden = ($row->bismelden=='t'?true:false);
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
@@ -128,7 +136,7 @@ class lehreinheitmitarbeiter
{
while($row = pg_fetch_object($result))
{
$obj = new lehreinheitmitarbeiter($this->conn);
$obj = new lehreinheitmitarbeiter($this->conn, null, null, null);
$obj->lehreinheit_id = $row->lehreinheit_id;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->lehrfunktion_kurzbz = $row->lehrfunktion_kurzbz;
@@ -137,7 +145,7 @@ class lehreinheitmitarbeiter
$obj->stundensatz = $row->stundensatz;
$obj->faktor = $row->faktor;
$obj->anmerkung = $row->anmerkung;
$obj->bismelden = $row->bismelden;
$obj->bismelden = ($row->bismelden=='t'?true:false);
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
@@ -192,7 +200,7 @@ class lehreinheitmitarbeiter
{
//ToDo ID entfernen
$qry = 'INSERT INTO lehre.tbl_lehreinheitmitarbeiter (lehreinheit_id, mitarbeiter_uid, semesterstunden, planstunden,
stundensatz, faktor, anmerkung, lehrfunktion_kurzbz, ext_id)
stundensatz, faktor, anmerkung, lehrfunktion_kurzbz, ext_id, insertamum, insertvon)
VALUES('.$this->addslashes($this->lehreinheit_id).','.
$this->addslashes($this->mitarbeiter_uid).','.
$this->addslashes($this->semesterstunden).','.
@@ -201,7 +209,9 @@ class lehreinheitmitarbeiter
$this->addslashes($this->faktor).','.
$this->addslashes($this->anmerkung).','.
$this->addslashes($this->lehrfunktion_kurzbz).','.
$this->addslashes($this->ext_id).');';
$this->addslashes($this->ext_id).','.
$this->addslashes($this->insertamum).','.
$this->addslashes($this->insertvon).');';
}
else
{
@@ -216,14 +226,16 @@ class lehreinheitmitarbeiter
' anmerkung='.$this->addslashes($this->anmerkung).','.
' lehrfunktion_kurzbz='.$this->addslashes($this->lehrfunktion_kurzbz).','.
' mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).','.
' bismelden='.($this->bismelden?'true':'false').','.
' updateamum='.$this->addslashes($this->updateamum).','.
' updatevon='.$this->addslashes($this->updatevon).','.
' ext_id = '.$this->addslashes($this->ext_id).
" WHERE lehreinheit_id=".$this->addslashes($this->lehreinheit_id)." AND
mitarbeiter_uid=".$this->addslashes($this->mitarbeiter_uid_old).";";
}
if(pg_query($this->conn,$qry))
{
//Log schreiben
{
return true;
}
else
+18 -3
View File
@@ -54,9 +54,24 @@ class lehrveranstaltung
* @param $conn Connection zur Datenbank
* $lehrveranstaltung_id ID der zu ladenden Lehrveranstaltung
*/
function lehrveranstaltung($conn, $lehrveranstaltung_id=null)
function lehrveranstaltung($conn, $lehrveranstaltung_id=null, $unicode=false)
{
$this->conn = $conn;
if($unicode!=null)
{
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($lehrveranstaltung_id != null)
$this->load($lehrveranstaltung_id);
}
@@ -125,7 +140,7 @@ class lehrveranstaltung
while($row = pg_fetch_object($res))
{
$lv_obj = new lehrveranstaltung($this->conn);
$lv_obj = new lehrveranstaltung($this->conn, null, null);
$lv_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id;
$lv_obj->studiengang_kz=$row->studiengang_kz;
@@ -202,7 +217,7 @@ class lehrveranstaltung
while($row = pg_fetch_object($res))
{
$lv_obj = new lehrveranstaltung($this->conn);
$lv_obj = new lehrveranstaltung($this->conn, null, null);
$lv_obj->lehrveranstaltung_id=$row->lehrveranstaltung_id;
$lv_obj->studiengang_kz=$row->studiengang_kz;
+3 -3
View File
@@ -13,7 +13,7 @@ header("Pragma: no-cache");
// content type setzen
header("Content-type: application/vnd.mozilla.xul+xml");
// xml
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// DAO
require_once('../vilesci/config.inc.php');
require_once('../include/lehreinheit.class.php');
@@ -29,7 +29,7 @@ $lehreinheit_id = (isset($_GET['lehreinheit_id'])?$_GET['lehreinheit_id']:'');
if($lehreinheit_id!='')
{
$lehreinheit=new lehreinheit($conn);
$lehreinheit=new lehreinheit($conn, null, true);
$lehreinheit->load($lehreinheit_id);
}
else
@@ -60,7 +60,7 @@ $rdf_url='http://www.technikum-wien.at/lehreinheit';
<LEHREINHEIT:raumtyp><![CDATA[<?php echo $lehreinheit->raumtyp ?>]]></LEHREINHEIT:raumtyp>
<LEHREINHEIT:raumtypalternativ><![CDATA[<?php echo $lehreinheit->raumtypalternativ ?>]]></LEHREINHEIT:raumtypalternativ>
<LEHREINHEIT:sprache><![CDATA[<?php echo $lehreinheit->sprache ?>]]></LEHREINHEIT:sprache>
<LEHREINHEIT:lehre><?php echo ($lehreinheit->lehre?'true':'false') ?></LEHREINHEIT:lehre>
<LEHREINHEIT:lehre><?php echo ($lehreinheit->lehre?'Ja':'Nein') ?></LEHREINHEIT:lehre>
<LEHREINHEIT:anmerkung><![CDATA[<?php echo $lehreinheit->anmerkung ?>]]></LEHREINHEIT:anmerkung>
<LEHREINHEIT:unr><?php echo $lehreinheit->unr ?></LEHREINHEIT:unr>
<LEHREINHEIT:lvnr><?php echo $lehreinheit->lvnr ?></LEHREINHEIT:lvnr>
+2 -2
View File
@@ -27,7 +27,7 @@ header("Pragma: no-cache");
// content type setzen
header("Content-type: application/vnd.mozilla.xul+xml");
// xml
echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
require_once('../vilesci/config.inc.php');
require_once('../include/lehreinheitmitarbeiter.class.php');
@@ -47,7 +47,7 @@ else
$mitarbeiter_uid = null;
//Mitarbeiter holen
$DAO_obj = new lehreinheitmitarbeiter($conn);
$DAO_obj = new lehreinheitmitarbeiter($conn, null, null, true);
$DAO_obj->getLehreinheitmitarbeiter($lehreinheit_id, $mitarbeiter_uid);
$rdf_url='http://www.technikum-wien.at/lehreinheitmitarbeiter';
+10 -10
View File
@@ -24,6 +24,7 @@ require_once('../include/functions.inc.php');
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
//pg_query($conn, "SET CLIENT_ENCODING to 'UNICODE'");
$user = get_uid();
/*
// test
@@ -45,7 +46,7 @@ $lektor=(isset($_GET['lektor'])?$_GET['lektor']:'');
loadVariables($conn, $user);
// LVAs holen
$lvaDAO=new lehrveranstaltung($conn);
$lvaDAO=new lehrveranstaltung($conn, null, true);
$lvaDAO->load_lva($stg_kz, $sem);
$rdf_url='http://www.technikum-wien.at/lehrveranstaltung_einheiten';
@@ -60,13 +61,13 @@ $rdf_url='http://www.technikum-wien.at/lehrveranstaltung_einheiten';
<?php
foreach ($lvaDAO->lehrveranstaltungen as $row_lva)
{
{
//Lehrveranstaltung
echo "
<RDF:Description id=\"".$row_lva->lehrveranstaltung_id."\" about=\"".$rdf_url.'/'.$row_lva->lehrveranstaltung_id."\" >
<LVA:lehrveranstaltung_id>".$row_lva->lehrveranstaltung_id."</LVA:lehrveranstaltung_id>
<LVA:kurzbz><![CDATA[".$row_lva->kurzbz."]]></LVA:kurzbz>
<LVA:bezeichnung><![CDATA[".utf8_encode($row_lva->bezeichnung)."]]></LVA:bezeichnung>
<LVA:bezeichnung><![CDATA[".$row_lva->bezeichnung."]]></LVA:bezeichnung>
<LVA:studiengang_kz>".$row_lva->studiengang_kz."</LVA:studiengang_kz>
<LVA:semester>".$row_lva->semester."</LVA:semester>
<LVA:sprache><![CDATA[".$row_lva->sprache."]]></LVA:sprache>
@@ -77,7 +78,7 @@ $rdf_url='http://www.technikum-wien.at/lehrveranstaltung_einheiten';
<LVA:lehreverzeichnis><![CDATA[".$row_lva->lehreverzeichnis."]]></LVA:lehreverzeichnis>
<LVA:aktiv>".($row_lva->aktiv?'Ja':'Nein')."</LVA:aktiv>
<LVA:planfaktor>".$row_lva->planfaktor."</LVA:planfaktor>
<LVA:planlektoren>".utf8_encode($row_lva->planlektoren)."</LVA:planlektoren>
<LVA:planlektoren>".$row_lva->planlektoren."</LVA:planlektoren>
<LVA:planpersonalkosten>".$row_lva->planpersonalkosten."</LVA:planpersonalkosten>
<LVA:plankostenprolektor>".$row_lva->plankostenprolektor."</LVA:plankostenprolektor>
@@ -97,13 +98,13 @@ $rdf_url='http://www.technikum-wien.at/lehrveranstaltung_einheiten';
<RDF:Seq about=\"".$rdf_url.'/'.$row_lva->lehrveranstaltung_id."\" >";
//zugehoerige LE holen
$le = new lehreinheit($conn);
$le = new lehreinheit($conn, null, true);
if(!$le->load_lehreinheiten($row_lva->lehrveranstaltung_id, $semester_aktuell))
echo "Fehler: $le->errormsg";
foreach ($le->lehreinheiten as $row_le)
{
{
//Lehrfach holen
$qry = "SELECT kurzbz, bezeichnung FROM lehre.tbl_lehrfach WHERE lehrfach_id='$row_le->lehrfach_id'";
$result_lf = pg_query($conn, $qry);
@@ -120,7 +121,6 @@ $rdf_url='http://www.technikum-wien.at/lehrveranstaltung_einheiten';
else
$grp.=' '.$row_grp->gruppe_kurzbz;
}
//Lektoren holen
$qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter USING(mitarbeiter_uid) WHERE lehreinheit_id='$row_le->lehreinheit_id'";
$result_lkt = pg_query($conn, $qry);
@@ -132,7 +132,7 @@ $rdf_url='http://www.technikum-wien.at/lehrveranstaltung_einheiten';
<RDF:Description id=\"".$row_le->lehreinheit_id."\" about=\"".$rdf_url.'/'.$row_lva->lehrveranstaltung_id."/$row_le->lehreinheit_id\" >
<LVA:lehrveranstaltung_id>".$row_lva->lehrveranstaltung_id."</LVA:lehrveranstaltung_id>
<LVA:kurzbz><![CDATA[".$row_lf->kurzbz."]]></LVA:kurzbz>
<LVA:bezeichnung><![CDATA[".utf8_encode($row_lf->bezeichnung)."]]></LVA:bezeichnung>
<LVA:bezeichnung><![CDATA[".$row_lf->bezeichnung."]]></LVA:bezeichnung>
<LVA:studiengang_kz>".$row_lva->studiengang_kz."</LVA:studiengang_kz>
<LVA:semester>".$row_lva->semester."</LVA:semester>
<LVA:sprache><![CDATA[".$row_le->sprache."]]></LVA:sprache>
@@ -160,7 +160,7 @@ $rdf_url='http://www.technikum-wien.at/lehrveranstaltung_einheiten';
<LVA:unr>$row_le->unr</LVA:unr>
<LVA:lvnr>$row_le->lvnr</LVA:lvnr>
<LVA:gruppen><![CDATA[$grp]]></LVA:gruppen>
<LVA:lektoren><![CDATA[".utf8_encode($lkt)."]]></LVA:lektoren>
<LVA:lektoren><![CDATA[".$lkt."]]></LVA:lektoren>
</RDF:Description>";
$hier.="