mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-11 17:19:29 +00:00
- Projekttasks können per klick im Tree erledigt werden
- RDF Klasse Erweiterung für verschachtelte Sequenzen - Projektphase RDF wird jetzt über RDF Klasse erzeugt
This commit is contained in:
@@ -291,7 +291,8 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
{
|
||||
//Workaround damit das Resize des Trees funktioniert
|
||||
var tree = document.getAnonymousElementByAttribute(this.notiz ,'anonid', 'tree-notiz');
|
||||
tree.columns.restoreNaturalOrder();
|
||||
if(tree.columns)
|
||||
tree.columns.restoreNaturalOrder();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/bestellung.overlay.xul.php
|
||||
<!-- <?php echo APP_ROOT; ?>rdf/projektphase.rdf.php?foo=<?php echo time(); ?> -->
|
||||
<tree id="tree-projektmenue" onselect="treeProjektmenueSelect();"
|
||||
seltype="single" hidecolumnpicker="false" flex="1"
|
||||
datasources="<?php echo APP_ROOT; ?>rdf/projektphase.rdf.php?foo=<?php echo time(); ?>" ref="http://www.technikum-wien.at/projektphase/alle-projektphasen"
|
||||
datasources="<?php echo APP_ROOT; ?>rdf/projektphase.rdf.php?foo=<?php echo time(); ?>" ref="http://www.technikum-wien.at/projektphase"
|
||||
enableColumnDrag="true"
|
||||
ondraggesture="nsDragAndDrop.startDrag(event,lvbgrpDDObserver);"
|
||||
ondragdrop="nsDragAndDrop.drop(event,verbandtreeDDObserver)"
|
||||
@@ -108,22 +108,21 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/bestellung.overlay.xul.php
|
||||
<tab id="tab-projekt" label="Projekte" />
|
||||
<tab id="tab-projektphase" label="Phasen" />
|
||||
<tab id="tab-projekttask" label="Tasks" selected="true" />
|
||||
<tab id="tab-notiz" label="Notizen" />
|
||||
<tab id="tab-dokumente" label="Dokumente" />
|
||||
<tab id="tab-bestellung" label="Bestellungen" />
|
||||
<tab id="tab-ressource" label="Ressourcen" />
|
||||
<tab id="tab-gantt" label="Gantt" />
|
||||
<tab id="tab-notiz" label="Eigene Notizen" />
|
||||
</tabs>
|
||||
<tabpanels id="tabpanels-main" flex="1">
|
||||
<vbox id="box-projekt" />
|
||||
<vbox id="box-projektphase" />
|
||||
<vbox id="box-projekttask" />
|
||||
<vbox id="box-notiz" />
|
||||
<vbox id="box-dokumente" />
|
||||
<vbox id="box-bestellung" />
|
||||
<vbox id="box-ressource" />
|
||||
<vbox id="box-gantt" />
|
||||
<vbox id="LehrveranstaltungEditor" />
|
||||
<vbox id="box-notiz" />
|
||||
</tabpanels>
|
||||
</tabbox>
|
||||
</vbox>
|
||||
|
||||
@@ -101,7 +101,7 @@ function onselectTreeProjektphase()
|
||||
var response = req.execute();
|
||||
|
||||
// Datasource holen
|
||||
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/projektphase/alle-projektphasen');
|
||||
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/projektphase');
|
||||
|
||||
dsource=dsource.QueryInterface(Components.interfaces.nsIRDFDataSource);
|
||||
|
||||
|
||||
@@ -556,4 +556,50 @@ function clb_saveProjekttaskMantis(respObj)
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ****
|
||||
// * Aktualisiert den Erledigt Status eines Projekttasks
|
||||
// ****
|
||||
function ProjekttaskUpdateErledigt(event)
|
||||
{
|
||||
var row = new Object();
|
||||
var col = new Object();
|
||||
var childElt = new Object();
|
||||
//Tree holen
|
||||
var tree = event.currentTarget;
|
||||
//Treecol ermitteln in die geklickt wurde
|
||||
tree.treeBoxObject.getCellAt(event.clientX, event.clientY, row, col, childElt);
|
||||
//abbrechen wenn auf Header oder Scrollbar geklickt wurde
|
||||
if(!col.value)
|
||||
return 0;
|
||||
|
||||
var val = tree.view.getCellValue(row.value, col.value);
|
||||
var text = tree.view.getCellText(row.value, col.value);
|
||||
|
||||
col = tree.columns ? tree.columns['projekttask-treecol-projekttask_id'] : 'projekttask-treecol-projekttask_id';
|
||||
var id = tree.view.getCellText(row.value, col);
|
||||
|
||||
if(text=='erledigt')
|
||||
{
|
||||
var soapBody = new SOAPObject("setErledigt");
|
||||
soapBody.appendChild(new SOAPObject("projekttask_id")).val(id);
|
||||
soapBody.appendChild(new SOAPObject("erledigt")).val(val);
|
||||
|
||||
var sr = new SOAPRequest("setErledigt",soapBody);
|
||||
SOAPClient.Proxy="<?php echo APP_ROOT;?>soap/projekttask.soap.php?"+gettimestamp();
|
||||
|
||||
SOAPClient.SendRequest(sr,function (respObj)
|
||||
{
|
||||
try
|
||||
{
|
||||
var id = respObj.Body[0].setErledigtResponse[0].message[0].Text;
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
var fehler = respObj.Body[0].Fault[0].faultstring[0].Text;
|
||||
alert('Fehler: '+fehler);
|
||||
return;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -62,12 +62,13 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/mantisdetail.overlay.xul.p
|
||||
<!-- ************* -->
|
||||
<!-- Bem.: style="visibility:collapse" versteckt eine Spalte -->
|
||||
<tree id="projekttask-tree" seltype="single" hidecolumnpicker="false" flex="1"
|
||||
datasources="rdf:null" ref="http://www.technikum-wien.at/projekttask/alle-projekttasks"
|
||||
datasources="rdf:null" ref="http://www.technikum-wien.at/projekttask"
|
||||
style="margin:0px;" enableColumnDrag="true"
|
||||
onselect="onselectProjekttask(this);"
|
||||
onclick="ProjekttaskUpdateErledigt(event);"
|
||||
persist="height"
|
||||
flags="dont-build-content"
|
||||
context="projekttask-tree-popup"
|
||||
editable="true"
|
||||
>
|
||||
<treecols>
|
||||
<treecol id="projekttask-treecol-bezeichnung" label="Bezeichnung" flex="5" hidden="false" primary="true" persist="hidden, width, ordinal"
|
||||
@@ -88,11 +89,15 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/mantisdetail.overlay.xul.p
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="projekttask-treecol-aufwand" label="Aufwand" flex="2" hidden="false" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/projekttask/rdf#sprache" />
|
||||
sort="rdf:http://www.technikum-wien.at/projekttask/rdf#aufwand" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="projekttask-treecol-mantis_id" label="MantisID" flex="2" hidden="false" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/projekttask/rdf#ects" />
|
||||
sort="rdf:http://www.technikum-wien.at/projekttask/rdf#mantis_id" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="projekttask-treecol-erledigt" label="Erledigt" flex="2" hidden="false" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator" editable="true" type="checkbox"
|
||||
sort="rdf:http://www.technikum-wien.at/projekttask/rdf#erledigt" />
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
@@ -106,6 +111,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/mantisdetail.overlay.xul.p
|
||||
<treecell label="rdf:http://www.technikum-wien.at/projekttask/rdf#beschreibung"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/projekttask/rdf#aufwand"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/projekttask/rdf#mantis_id"/>
|
||||
<treecell label="erledigt" value="rdf:http://www.technikum-wien.at/projekttask/rdf#erledigt"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
|
||||
+25
-124
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
/* Copyright (C) 2007 Technikum-Wien
|
||||
/* Copyright (C) 2011 FH Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
@@ -15,7 +15,8 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
*/
|
||||
/**
|
||||
* Klasse projekttask
|
||||
@@ -29,18 +30,18 @@ class projekttask extends basis_db
|
||||
public $result = array(); // adresse Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
public $projekttask_id; //integer
|
||||
public $projektphase_id; //integer
|
||||
public $bezeichnung; //string
|
||||
public $beschreibung; //string
|
||||
public $aufwand; //string
|
||||
public $projekttask_id; // integer
|
||||
public $projektphase_id;// integer
|
||||
public $bezeichnung; // string
|
||||
public $beschreibung; // string
|
||||
public $aufwand; // string
|
||||
public $mantis_id; // integer
|
||||
//public $beginn; //date
|
||||
//public $ende; //date
|
||||
public $insertamum; // timestamp
|
||||
public $insertvon; // bigint
|
||||
public $insertvon; // string
|
||||
public $updateamum; // timestamp
|
||||
public $updatevon; // bigint
|
||||
public $updatevon; // string
|
||||
public $erledigt; // boolean
|
||||
public $projekttask_fk; // integer
|
||||
|
||||
|
||||
/**
|
||||
@@ -84,6 +85,8 @@ class projekttask extends basis_db
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->erledigt = ($row->erledigt=='t'?true:false);
|
||||
$this->projekttask_fk = $row->projekttask_fk;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -109,9 +112,9 @@ class projekttask extends basis_db
|
||||
public function getProjekttasks($projektphase_id,$projekt_kurzbz=null)
|
||||
{
|
||||
if (!is_null($projektphase_id))
|
||||
$qry = 'SELECT * FROM fue.tbl_projekttask WHERE projektphase_id='.$projektphase_id.';';
|
||||
else
|
||||
$qry='';
|
||||
$qry = 'SELECT * FROM fue.tbl_projekttask WHERE projektphase_id='.$projektphase_id.';';
|
||||
else
|
||||
$qry='';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -131,6 +134,8 @@ class projekttask extends basis_db
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->erledigt = ($row->erledigt=='t'?true:false);
|
||||
$obj->projekttask_fk = $row->projekttask_fk;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -185,13 +190,15 @@ class projekttask extends basis_db
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
|
||||
$qry='BEGIN; INSERT INTO fue.tbl_projekttask (projektphase_id, bezeichnung, beschreibung, aufwand, mantis_id, insertamum,
|
||||
$qry='BEGIN; INSERT INTO fue.tbl_projekttask (projektphase_id, bezeichnung, beschreibung, aufwand, mantis_id, projekttask_fk, erledigt, insertamum,
|
||||
insertvon, updateamum, updatevon) VALUES('.
|
||||
$this->addslashes($this->projektphase_id).', '.
|
||||
$this->addslashes($this->bezeichnung).', '.
|
||||
$this->addslashes($this->beschreibung).', '.
|
||||
$this->addslashes($this->aufwand).', '.
|
||||
$this->addslashes($this->mantis_id).',
|
||||
$this->addslashes($this->mantis_id).','.
|
||||
$this->addslashes($this->projekttask_fk).','.
|
||||
($this->erledigt?'true':'false').',
|
||||
now(), '.
|
||||
$this->addslashes($this->insertvon).',
|
||||
now(), '.
|
||||
@@ -205,6 +212,8 @@ class projekttask extends basis_db
|
||||
'beschreibung='.$this->addslashes($this->beschreibung).', '.
|
||||
'aufwand='.$this->addslashes($this->aufwand).', '.
|
||||
'mantis_id='.$this->addslashes($this->mantis_id).', '.
|
||||
'projekttask_fk='.$this->addslashes($this->projekttask_fk).', '.
|
||||
'erledigt='.($this->erledigt?'true':'false').', '.
|
||||
'updateamum= now(), '.
|
||||
'updatevon='.$this->addslashes($this->updatevon).' '.
|
||||
'WHERE projekttask_id='.$this->addslashes($this->projekttask_id).';';
|
||||
@@ -273,113 +282,5 @@ class projekttask extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Projektarbeiten eines Studenten
|
||||
* @param student_uid
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function getProjektarbeit($student_uid)
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_projektarbeit WHERE student_uid='".addslashes($student_uid)."'";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new projektarbeit();
|
||||
|
||||
$obj->projekt_kurzbz = $row->projekt_kurzbz;
|
||||
$obj->projekttyp_kurzbz = $row->projekttyp_kurzbz;
|
||||
$obj->titel = $row->titel;
|
||||
$obj->titel_english = $row->titel_english;
|
||||
$obj->lehreinheit_id = $row->lehreinheit_id;
|
||||
$obj->student_uid = $row->student_uid;
|
||||
$obj->firma_id = $row->firma_id;
|
||||
$obj->note = $row->note;
|
||||
$obj->punkte = $row->punkte;
|
||||
$obj->beginn = $row->beginn;
|
||||
$obj->ende = $row->ende;
|
||||
$obj->faktor = $row->faktor;
|
||||
$obj->freigegeben = ($row->freigegeben=='t'?true:false);
|
||||
$obj->gesperrtbis = $row->gesperrtbis;
|
||||
$obj->stundensatz = $row->stundensatz;
|
||||
$obj->gesamtstunden = $row->gesamtstunden;
|
||||
$obj->themenbereich = $row->themenbereich;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->ext_id = $row->ext_id;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Projektarbeiten eines Studienganges/Studiensemesters
|
||||
* @param studiengang_kz, studiensemester_kurzbz
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function getProjektarbeitStudiensemester($studiengang_kz, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry = "SELECT
|
||||
tbl_projektarbeit.*
|
||||
FROM
|
||||
lehre.tbl_projektarbeit, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung
|
||||
WHERE
|
||||
tbl_projektarbeit.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND
|
||||
tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id AND
|
||||
tbl_lehrveranstaltung.studiengang_kz='".addslashes($studiengang_kz)."' AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new projektarbeit();
|
||||
|
||||
$obj->projekt_kurzbz = $row->projekt_kurzbz;
|
||||
$obj->projekttyp_kurzbz = $row->projekttyp_kurzbz;
|
||||
$obj->titel = $row->titel;
|
||||
$obj->titel_english = $row->titel_english;
|
||||
$obj->lehreinheit_id = $row->lehreinheit_id;
|
||||
$obj->student_uid = $row->student_uid;
|
||||
$obj->firma_id = $row->firma_id;
|
||||
$obj->note = $row->note;
|
||||
$obj->punkte = $row->punkte;
|
||||
$obj->beginn = $row->beginn;
|
||||
$obj->ende = $row->ende;
|
||||
$obj->faktor = $row->faktor;
|
||||
$obj->freigegeben = ($row->freigegeben=='t'?true:false);
|
||||
$obj->gesperrtbis = $row->gesperrtbis;
|
||||
$obj->stundensatz = $row->stundensatz;
|
||||
$obj->gesamtstunden = $row->gesamtstunden;
|
||||
$obj->themenbereich = $row->themenbereich;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->ext_id = $row->ext_id;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
+104
-19
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
/* Copyright (C) 2011 FH Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
@@ -15,26 +15,34 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
*/
|
||||
/**
|
||||
* RDF Klasse
|
||||
*
|
||||
* Hilfsfunktionen für die Generierung von RDF-Dateien
|
||||
*
|
||||
*/
|
||||
|
||||
class rdf
|
||||
{
|
||||
// Header Variablen
|
||||
public $content_type='Content-type: application/xhtml+xml'; // string
|
||||
public $xml_header='<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'; // string
|
||||
public $xml_ns; // string
|
||||
protected $rdf_url; // string
|
||||
protected $rdf_url; // string
|
||||
protected static $rdf_text;
|
||||
protected static $nl="\n";
|
||||
protected static $tb="\t";
|
||||
|
||||
// Objekt Variablen
|
||||
protected $counter=0; // int
|
||||
public $obj_id; // string
|
||||
protected $counter=0;
|
||||
public $obj_id;
|
||||
public $obj = array();
|
||||
public $attr = array(); // string
|
||||
|
||||
public $attr = array();
|
||||
protected $childs = array();
|
||||
protected $sequence = array();
|
||||
|
||||
/**
|
||||
* Konstruktor - Uebergibt die Connection und laedt optional eine Reservierung
|
||||
* @param $reservierung_id
|
||||
@@ -46,11 +54,10 @@ class rdf
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Variablen vor dem Speichern
|
||||
* auf Gueltigkeit.
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
* Erstellt ein neues RDF Description Objekt
|
||||
*
|
||||
* @return index des neuen Objekts
|
||||
*/
|
||||
|
||||
public function newObjekt($id)
|
||||
{
|
||||
$this->obj[$this->counter] = new rdf();
|
||||
@@ -58,12 +65,21 @@ class rdf
|
||||
return $this->counter-1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setzt die ID eines Objektes
|
||||
*
|
||||
* @param $id
|
||||
*/
|
||||
public function setObjID($id)
|
||||
{
|
||||
$this->obj_id=$id;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sendet die HTTP-Header der RDF Datei
|
||||
* @param $cache
|
||||
*/
|
||||
public function sendHeader($cache=false)
|
||||
{
|
||||
|
||||
@@ -82,6 +98,12 @@ class rdf
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Setzt die Werte
|
||||
* @param $name
|
||||
* @param $value
|
||||
* @param $cdata
|
||||
*/
|
||||
public function setAttribut($name,$value,$cdata=true)
|
||||
{
|
||||
$this->attr[$this->counter]->name=$name;
|
||||
@@ -92,30 +114,93 @@ class rdf
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Erzeugt den RDF Header aus den bestehenden Daten
|
||||
*/
|
||||
public function createRdfHeader()
|
||||
{
|
||||
$this->rdf_text="\n".'<RDF:RDF'."\n\t"
|
||||
.'xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"'."\n\t".'xmlns:'.$this->xml_ns.'="'.$this->rdf_url.'/rdf#"'."\n".'>'."\n\t"
|
||||
.'<RDF:Seq about="'.$this->rdf_url.'">'."\n";
|
||||
.'xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"'."\n\t".'xmlns:'.$this->xml_ns.'="'.$this->rdf_url.'/rdf#"'."\n".'>'."\n\t";
|
||||
}
|
||||
|
||||
/**
|
||||
* Erzeugt die Descriptions aus den bestehenden Daten
|
||||
*/
|
||||
public function createRdfData()
|
||||
{
|
||||
foreach ($this->obj as $obj)
|
||||
{
|
||||
$this->rdf_text.="\n\t".'<RDF:li>'
|
||||
."\n\t\t".'<RDF:Description id="'.$obj->obj_id.'" about="'.$this->rdf_url.'/'.$obj->obj_id.'" >';
|
||||
$this->rdf_text.="\n\t\t".'<RDF:Description id="'.$obj->obj_id.'" about="'.$this->rdf_url.'/'.$obj->obj_id.'" >';
|
||||
foreach ($obj->attr as $attr)
|
||||
$this->rdf_text.="\n\t\t\t<".$this->xml_ns.':'.$attr->name.'><![CDATA['.$attr->value.']]></'.$this->xml_ns.':'.$attr->name.'>';
|
||||
$this->rdf_text.="\n\t\t".'</RDF:Description>'."\n\t".'</RDF:li>';
|
||||
$this->rdf_text.="\n\t\t".'</RDF:Description>';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fuegt ein Objekt zur Sequence hinzu
|
||||
* Wenn eine Parent_id uebergeben wird, wird das Objekt unterhalb dieses Eintrags
|
||||
* angehängt
|
||||
*
|
||||
* @param $id
|
||||
* @param $parent_id
|
||||
*/
|
||||
public function addSequence($id, $parent_id=null)
|
||||
{
|
||||
if(!is_null($parent_id))
|
||||
{
|
||||
$this->childs[$parent_id][]=$id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->sequence[]=$id;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Erzeugt die Sequenz
|
||||
* Wenn eine ID uebergeben wird, wird nur die Sequenz unterhalb dieser ID erzeugt
|
||||
*
|
||||
* @param $id
|
||||
*/
|
||||
function createRDFSequence($id=null)
|
||||
{
|
||||
if(is_null($id))
|
||||
{
|
||||
$this->rdf_text.='<RDF:Seq about="'.$this->rdf_url.'">'."\n";
|
||||
foreach ($this->sequence as $id)
|
||||
{
|
||||
$this->createRDFSequence($id);
|
||||
}
|
||||
$this->rdf_text.='</RDF:Seq>'."\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->rdf_text.="\n\t".'<RDF:li RDF:resource="'.$this->rdf_url.'/'.$id.'" >';
|
||||
if(isset($this->childs[$id]))
|
||||
{
|
||||
$this->rdf_text.='<RDF:Seq about="'.$this->rdf_url.'/'.$id.'">'."\n";
|
||||
foreach($this->childs[$id] as $childid)
|
||||
{
|
||||
$this->createRDFSequence($childid);
|
||||
}
|
||||
$this->rdf_text.='</RDF:Seq>'."\n";
|
||||
}
|
||||
$this->rdf_text.='</RDF:li>';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generiert den RDF Footer
|
||||
*/
|
||||
public function createRdfFooter()
|
||||
{
|
||||
$this->rdf_text.='</RDF:Seq>'."\n".'</RDF:RDF>'."\n\t";
|
||||
$this->rdf_text.='</RDF:RDF>'."\n\t";
|
||||
}
|
||||
|
||||
/**
|
||||
* Generiert das RDF
|
||||
*/
|
||||
public function sendRdfText()
|
||||
{
|
||||
//echo $this->rdf_text;
|
||||
@@ -123,7 +208,7 @@ class rdf
|
||||
{
|
||||
$this->createRdfHeader();
|
||||
$this->createRdfData();
|
||||
//$this->createRdfSequence();
|
||||
$this->createRdfSequence();
|
||||
$this->createRdfFooter();
|
||||
}
|
||||
echo $this->rdf_text;
|
||||
|
||||
@@ -34,6 +34,8 @@ if($db->db_query($qry))
|
||||
//$oRdf->obj[$i]->setAttribut('id',$row->betreuerart_kurzbz,false);
|
||||
$oRdf->obj[$i]->setAttribut('betreuerart_kurzbz',$row->betreuerart_kurzbz,true);
|
||||
$oRdf->obj[$i]->setAttribut('beschreibung',$row->beschreibung,true);
|
||||
|
||||
$oRdf->addSequence($row->betreuerart_kurzbz);
|
||||
}
|
||||
}
|
||||
$oRdf->sendRdfText();
|
||||
|
||||
+72
-133
@@ -17,21 +17,15 @@
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>
|
||||
*/
|
||||
header("Content-type: application/xhtml+xml");
|
||||
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/benutzerberechtigung.class.php');
|
||||
require_once('../include/projekt.class.php');
|
||||
require_once('../include/projektphase.class.php');
|
||||
require_once('../include/rdf.class.php');
|
||||
|
||||
$rdf_url='http://www.technikum-wien.at/projektphase/';
|
||||
|
||||
echo '
|
||||
<RDF:RDF
|
||||
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:PROJEKTPHASE="'.$rdf_url.'rdf#"
|
||||
>';
|
||||
$oRdf = new rdf('PROJEKTPHASE','http://www.technikum-wien.at/projektphase');
|
||||
$oRdf->sendHeader();
|
||||
|
||||
if(isset($_GET['projektphase_id']))
|
||||
{
|
||||
@@ -39,22 +33,22 @@ if(isset($_GET['projektphase_id']))
|
||||
|
||||
$phase->load($_GET['projektphase_id']);
|
||||
|
||||
echo '
|
||||
<RDF:Description RDF:about="'.$rdf_url.$phase->projektphase_id.'" >
|
||||
<PROJEKTPHASE:projektphase_id><![CDATA['.$phase->projektphase_id.']]></PROJEKTPHASE:projektphase_id>
|
||||
<PROJEKTPHASE:projekt_kurzbz><![CDATA['.$phase->projekt_kurzbz.']]></PROJEKTPHASE:projekt_kurzbz>
|
||||
<PROJEKTPHASE:projektphase_fk><![CDATA['.$phase->projektphase_fk.']]></PROJEKTPHASE:projektphase_fk>
|
||||
<PROJEKTPHASE:bezeichnung><![CDATA['.$phase->bezeichnung.']]></PROJEKTPHASE:bezeichnung>
|
||||
<PROJEKTPHASE:beschreibung><![CDATA['.$phase->beschreibung.']]></PROJEKTPHASE:beschreibung>
|
||||
<PROJEKTPHASE:start><![CDATA['.$phase->start.']]></PROJEKTPHASE:start>
|
||||
<PROJEKTPHASE:ende><![CDATA['.$phase->ende.']]></PROJEKTPHASE:ende>
|
||||
<PROJEKTPHASE:budget><![CDATA['.$phase->budget.']]></PROJEKTPHASE:budget>
|
||||
<PROJEKTPHASE:personentage><![CDATA['.$phase->personentage.']]></PROJEKTPHASE:personentage>
|
||||
</RDF:Description>'."\n";
|
||||
$i=$oRdf->newObjekt($phase->projektphase_id);
|
||||
|
||||
echo '<RDF:Seq about="'.$rdf_url.'alle-projektphasen">
|
||||
<RDF:li RDF:resource="'.$rdf_url.$phase->projektphase_id.'" />
|
||||
</RDF:Seq>'."\n";
|
||||
$oRdf->obj[$i]->setAttribut('projektphase_id',$phase->projektphase_id);
|
||||
$oRdf->obj[$i]->setAttribut('projekt_kurzbz',$phase->projekt_kurzbz);
|
||||
$oRdf->obj[$i]->setAttribut('projektphase_fk',$phase->projektphase_fk);
|
||||
$oRdf->obj[$i]->setAttribut('bezeichnung',$phase->bezeichnung);
|
||||
$oRdf->obj[$i]->setAttribut('beschreibung',$phase->beschreibung);
|
||||
$oRdf->obj[$i]->setAttribut('start',$phase->start);
|
||||
$oRdf->obj[$i]->setAttribut('ende',$phase->ende);
|
||||
$oRdf->obj[$i]->setAttribut('budget',$phase->budget);
|
||||
$oRdf->obj[$i]->setAttribut('personentage',$phase->personentage);
|
||||
|
||||
if($phase->projektphase_fk!='')
|
||||
$oRdf->addSequence($phase->projektphase_id, $phase->projektphase_fk);
|
||||
else
|
||||
$oRdf->addSequence($phase->projektphase_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -75,31 +69,40 @@ else
|
||||
$projekt=$projekt_obj->result[$i];
|
||||
// Bin ich schon in der naechsten OE? Oder vielleicht in der ersten?
|
||||
if ($lastOE!=$currentOE || $i==0)
|
||||
$descr.='<RDF:Description RDF:about="'.$rdf_url.$projekt->oe_kurzbz.'" >
|
||||
<PROJEKTPHASE:bezeichnung>'.$projekt->oe_kurzbz.'</PROJEKTPHASE:bezeichnung>
|
||||
<PROJEKTPHASE:oe_kurzbz>'.$projekt->oe_kurzbz.'</PROJEKTPHASE:oe_kurzbz>
|
||||
<PROJEKTPHASE:projekt_kurzbz></PROJEKTPHASE:projekt_kurzbz>
|
||||
<PROJEKTPHASE:projekt_phase></PROJEKTPHASE:projekt_phase>
|
||||
<PROJEKTPHASE:projekt_phase_id></PROJEKTPHASE:projekt_phase_id>
|
||||
<PROJEKTPHASE:nummer></PROJEKTPHASE:nummer>
|
||||
<PROJEKTPHASE:titel></PROJEKTPHASE:titel>
|
||||
<PROJEKTPHASE:beschreibung></PROJEKTPHASE:beschreibung>
|
||||
<PROJEKTPHASE:beginn></PROJEKTPHASE:beginn>
|
||||
<PROJEKTPHASE:ende></PROJEKTPHASE:ende>
|
||||
</RDF:Description>'."\n";
|
||||
$descr.='<RDF:Description RDF:about="'.$rdf_url.$projekt->oe_kurzbz.'/'.$projekt->projekt_kurzbz.'" >
|
||||
<PROJEKTPHASE:bezeichnung><![CDATA['.$projekt->titel.']]></PROJEKTPHASE:bezeichnung>
|
||||
<PROJEKTPHASE:oe_kurzbz><![CDATA['.$projekt->oe_kurzbz.']]></PROJEKTPHASE:oe_kurzbz>
|
||||
<PROJEKTPHASE:projekt_kurzbz><![CDATA['.$projekt->projekt_kurzbz.']]></PROJEKTPHASE:projekt_kurzbz>
|
||||
<PROJEKTPHASE:projekt_phase></PROJEKTPHASE:projekt_phase>
|
||||
<PROJEKTPHASE:projekt_phase_id></PROJEKTPHASE:projekt_phase_id>
|
||||
<PROJEKTPHASE:nummer><![CDATA['.$projekt->nummer.']]></PROJEKTPHASE:nummer>
|
||||
<PROJEKTPHASE:titel><![CDATA['.$projekt->titel.']]></PROJEKTPHASE:titel>
|
||||
<PROJEKTPHASE:beschreibung><![CDATA['.$projekt->beschreibung.']]></PROJEKTPHASE:beschreibung>
|
||||
<PROJEKTPHASE:beginn><![CDATA['.$projekt->beginn.']]></PROJEKTPHASE:beginn>
|
||||
<PROJEKTPHASE:ende><![CDATA['.$projekt->ende.']]></PROJEKTPHASE:ende>
|
||||
</RDF:Description>'."\n";
|
||||
{
|
||||
$idx=$oRdf->newObjekt($projekt->oe_kurzbz);
|
||||
|
||||
$oRdf->obj[$idx]->setAttribut('bezeichnung',$projekt->oe_kurzbz);
|
||||
$oRdf->obj[$idx]->setAttribut('oe_kurzbz',$projekt->oe_kurzbz);
|
||||
$oRdf->obj[$idx]->setAttribut('projekt_kurzbz','');
|
||||
$oRdf->obj[$idx]->setAttribut('projekt_phase','');
|
||||
$oRdf->obj[$idx]->setAttribut('projekt_phase_id','');
|
||||
$oRdf->obj[$idx]->setAttribut('nummer','');
|
||||
$oRdf->obj[$idx]->setAttribut('titel','');
|
||||
$oRdf->obj[$idx]->setAttribut('beschreibung','');
|
||||
$oRdf->obj[$idx]->setAttribut('beginn','');
|
||||
$oRdf->obj[$idx]->setAttribut('ende','');
|
||||
|
||||
$oRdf->addSequence($projekt->oe_kurzbz);
|
||||
|
||||
$lastOE=$currentOE;
|
||||
}
|
||||
|
||||
$idx=$oRdf->newObjekt($projekt->oe_kurzbz.'/'.$projekt->projekt_kurzbz);
|
||||
|
||||
$oRdf->obj[$idx]->setAttribut('bezeichnung',$projekt->titel);
|
||||
$oRdf->obj[$idx]->setAttribut('oe_kurzbz',$projekt->oe_kurzbz);
|
||||
$oRdf->obj[$idx]->setAttribut('projekt_kurzbz',$projekt->projekt_kurzbz);
|
||||
$oRdf->obj[$idx]->setAttribut('projekt_phase','');
|
||||
$oRdf->obj[$idx]->setAttribut('projekt_phase_id','');
|
||||
$oRdf->obj[$idx]->setAttribut('nummer',$projekt->nummer);
|
||||
$oRdf->obj[$idx]->setAttribut('titel',$projekt->titel);
|
||||
$oRdf->obj[$idx]->setAttribut('beschreibung',$projekt->beschreibung);
|
||||
$oRdf->obj[$idx]->setAttribut('beginn',$projekt->beginn);
|
||||
$oRdf->obj[$idx]->setAttribut('ende',$projekt->ende);
|
||||
|
||||
$oRdf->addSequence($projekt->oe_kurzbz.'/'.$projekt->projekt_kurzbz, $projekt->oe_kurzbz);
|
||||
|
||||
$projektphase_obj->getProjektphasen($projekt->projekt_kurzbz);
|
||||
$tmpStr='';
|
||||
for ($j=0;$j<count($projektphase_obj->result);$j++)
|
||||
@@ -107,92 +110,28 @@ else
|
||||
$projektphase=$projektphase_obj->result[$j];
|
||||
//var_dump($projektphase);
|
||||
|
||||
$descr.='<RDF:Description RDF:about="'.$rdf_url.$projekt->oe_kurzbz.'/'.$projekt->projekt_kurzbz.'/'.$projektphase->projektphase_id.'" >
|
||||
<PROJEKTPHASE:bezeichnung><![CDATA['.$projektphase->bezeichnung.']]></PROJEKTPHASE:bezeichnung>
|
||||
<PROJEKTPHASE:oe_kurzbz><![CDATA['.$projekt->oe_kurzbz.']]></PROJEKTPHASE:oe_kurzbz>
|
||||
<PROJEKTPHASE:projekt_kurzbz><![CDATA['.$projektphase->projekt_kurzbz.']]></PROJEKTPHASE:projekt_kurzbz>
|
||||
<PROJEKTPHASE:projekt_phase><![CDATA['.$projektphase->bezeichnung.']]></PROJEKTPHASE:projekt_phase>
|
||||
<PROJEKTPHASE:projekt_phase_id><![CDATA['.$projektphase->projektphase_id.']]></PROJEKTPHASE:projekt_phase_id>
|
||||
<PROJEKTPHASE:nummer><![CDATA[]]></PROJEKTPHASE:nummer>
|
||||
<PROJEKTPHASE:titel><![CDATA['.$projektphase->bezeichnung.']]></PROJEKTPHASE:titel>
|
||||
<PROJEKTPHASE:beschreibung><![CDATA['.$projektphase->beschreibung.']]></PROJEKTPHASE:beschreibung>
|
||||
<PROJEKTPHASE:beginn><![CDATA['.$projektphase->start.']]></PROJEKTPHASE:beginn>
|
||||
<PROJEKTPHASE:ende><![CDATA['.$projektphase->ende.']]></PROJEKTPHASE:ende>
|
||||
<PROJEKTPHASE:budget><![CDATA['.$projektphase->budget.']]></PROJEKTPHASE:budget>
|
||||
<PROJEKTPHASE:personentage><![CDATA['.$projektphase->personentage.']]></PROJEKTPHASE:personentage>
|
||||
'."\n";
|
||||
$idx=$oRdf->newObjekt($projekt->oe_kurzbz.'/'.$projekt->projekt_kurzbz.'/'.$projektphase->projektphase_id);
|
||||
|
||||
$oRdf->obj[$idx]->setAttribut('bezeichnung',$projektphase->bezeichnung);
|
||||
$oRdf->obj[$idx]->setAttribut('oe_kurzbz',$projekt->oe_kurzbz);
|
||||
$oRdf->obj[$idx]->setAttribut('projekt_kurzbz',$projektphase->projekt_kurzbz);
|
||||
$oRdf->obj[$idx]->setAttribut('projekt_phase',$projektphase->bezeichnung);
|
||||
$oRdf->obj[$idx]->setAttribut('projekt_phase_id',$projektphase->projektphase_id);
|
||||
$oRdf->obj[$idx]->setAttribut('nummer','');
|
||||
$oRdf->obj[$idx]->setAttribut('titel',$projektphase->bezeichnung);
|
||||
$oRdf->obj[$idx]->setAttribut('beschreibung',$projektphase->beschreibung);
|
||||
$oRdf->obj[$idx]->setAttribut('beginn',$projektphase->start);
|
||||
$oRdf->obj[$idx]->setAttribut('ende',$projekt->ende);
|
||||
$oRdf->obj[$idx]->setAttribut('budget',$projektphase->budget);
|
||||
$oRdf->obj[$idx]->setAttribut('personentage',$projektphase->personentage);
|
||||
|
||||
$descr.='</RDF:Description>'."\n";
|
||||
if (is_null($projektphase->projektphase_fk))
|
||||
{
|
||||
if ($j==0)
|
||||
$tmpStr=' <RDF:li>
|
||||
<RDF:Seq RDF:about="'.$rdf_url.$projekt->oe_kurzbz.'/'.$projekt->projekt_kurzbz.'">'."\n";
|
||||
$tmpStr.=' <RDF:li RDF:resource="'.$rdf_url.$projekt->oe_kurzbz.'/'.$projekt->projekt_kurzbz.'/'.$projektphase->projektphase_id.'" />'."\n";
|
||||
$tmpStr.=check_subprojektphasen(&$projekt,&$projektphase_obj,$projektphase->projektphase_id);
|
||||
if ($j==count($projektphase_obj->result)-1)
|
||||
$tmpStr.=' </RDF:Seq>
|
||||
</RDF:li>'."\n";
|
||||
$sequenzProjektphase[$projekt->projekt_kurzbz]=$tmpStr;
|
||||
}
|
||||
if (!is_null($projektphase->projektphase_fk))
|
||||
$oRdf->addSequence($projekt->oe_kurzbz.'/'.$projekt->projekt_kurzbz.'/'.$projektphase->projektphase_id, $projekt->oe_kurzbz.'/'.$projekt->projekt_kurzbz.'/'.$projektphase->projektphase_fk);
|
||||
else
|
||||
$oRdf->addSequence($projekt->oe_kurzbz.'/'.$projekt->projekt_kurzbz.'/'.$projektphase->projektphase_id, $projekt->oe_kurzbz.'/'.$projekt->projekt_kurzbz);
|
||||
}
|
||||
//var_dump($sequenzProjektphase);
|
||||
if ($lastOE!=$currentOE)
|
||||
{
|
||||
$sequenz.=' <RDF:li RDF:resource="'.$rdf_url.$projekt->oe_kurzbz.'" />
|
||||
<RDF:li>
|
||||
<RDF:Seq RDF:about="'.$rdf_url.$projekt->oe_kurzbz.'" >'."\n";
|
||||
}
|
||||
// Neue OE oder letzter Datensatz? Dann muss Sequenz geschlossen werden.
|
||||
if ($nextOE!=$currentOE || $i==count($projekt_obj->result)-1)
|
||||
{
|
||||
$sequenz.=' <RDF:li RDF:resource="'.$rdf_url.$projekt->oe_kurzbz.'/'.$projekt->projekt_kurzbz.'" />'."\n";
|
||||
if (isset($sequenzProjektphase[$projekt->projekt_kurzbz]))
|
||||
$sequenz.=$sequenzProjektphase[$projekt->projekt_kurzbz];
|
||||
$sequenz.=' </RDF:Seq>
|
||||
</RDF:li>'."\n";
|
||||
}
|
||||
elseif ($lastOE==$currentOE || $nextOE==$currentOE || count($projekt_obj->result)==1)
|
||||
{
|
||||
$sequenz.='<RDF:li RDF:resource="'.$rdf_url.$projekt->oe_kurzbz.'/'.$projekt->projekt_kurzbz.'" />'."\n";
|
||||
if (isset($sequenzProjektphase[$projekt->projekt_kurzbz]))
|
||||
$sequenz.=$sequenzProjektphase[$projekt->projekt_kurzbz];
|
||||
}
|
||||
$lastOE=$currentOE;
|
||||
}
|
||||
$sequenz='<RDF:Seq about="'.$rdf_url.'alle-projektphasen">'."\n\t".$sequenz.'
|
||||
</RDF:Seq>'."\n";
|
||||
echo $descr."\n";
|
||||
echo $sequenz;
|
||||
|
||||
|
||||
}
|
||||
function check_subprojektphasen($projekt,$projektphase_obj,$projektphase_id)
|
||||
{
|
||||
global $rdf_url;
|
||||
$tmpStr='';
|
||||
$i=0;
|
||||
for ($j=0;$j<count($projektphase_obj->result);$j++)
|
||||
{
|
||||
$projektphase=$projektphase_obj->result[$j];
|
||||
if ($projektphase->projektphase_fk==$projektphase_id)
|
||||
{
|
||||
//var_dump($projektphase);
|
||||
if ($i==0)
|
||||
{
|
||||
$tmpStr=' <RDF:li>
|
||||
<RDF:Seq RDF:about="'.$rdf_url.$projekt->oe_kurzbz.'/'.$projekt->projekt_kurzbz.'/'.$projektphase_id.'">'."\n";
|
||||
}
|
||||
$tmpStr.=' <RDF:li RDF:resource="'.$rdf_url.$projekt->oe_kurzbz.'/'.$projekt->projekt_kurzbz.'/'.$projektphase->projektphase_id.'" />'."\n";
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
if ($i>0)
|
||||
{
|
||||
$tmpStr.=' </RDF:Seq>
|
||||
</RDF:li>'."\n";
|
||||
}
|
||||
return $tmpStr;
|
||||
}
|
||||
}
|
||||
|
||||
$oRdf->sendRdfText();
|
||||
?>
|
||||
</RDF:RDF>
|
||||
|
||||
+18
-47
@@ -17,14 +17,11 @@
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>
|
||||
*/
|
||||
header("Content-type: application/xhtml+xml");
|
||||
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/benutzerberechtigung.class.php');
|
||||
require_once('../include/projekttask.class.php');
|
||||
|
||||
$rdf_url='http://www.technikum-wien.at/projekttask/';
|
||||
require_once('../include/rdf.class.php');
|
||||
|
||||
$projekttask_obj = new projekttask();
|
||||
|
||||
@@ -41,53 +38,27 @@ if(isset($_GET['projekttask_id']))
|
||||
$projekttask_obj->result[] = $projekttask_obj;
|
||||
}
|
||||
|
||||
$oRdf = new rdf('PROJEKTTASK','http://www.technikum-wien.at/projekttask');
|
||||
$oRdf->sendHeader();
|
||||
|
||||
//var_dump($projekttask_obj);
|
||||
?>
|
||||
<RDF:RDF
|
||||
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:PROJEKTTASK="<?php echo $rdf_url; ?>rdf#"
|
||||
>
|
||||
|
||||
<?php
|
||||
$descr='';
|
||||
$sequenz='';
|
||||
$lastPT=null;
|
||||
for ($i=0;$i<count($projekttask_obj->result);$i++)
|
||||
foreach($projekttask_obj->result as $projekttask)
|
||||
{
|
||||
$projekttask=$projekttask_obj->result[$i];
|
||||
$currentPT=$projekttask->projekttask_id;
|
||||
$nextPT=(($i<count($projekttask_obj->result)-1)?$projekttask_obj->result[$i+1]->projekttask_id:null);
|
||||
$i=$oRdf->newObjekt($projekttask->projekttask_id);
|
||||
|
||||
$descr.='<RDF:Description RDF:about="'.$rdf_url.$projekttask->projekttask_id.'" >
|
||||
<PROJEKTTASK:projekttask_id>'.$projekttask->projekttask_id.'</PROJEKTTASK:projekttask_id>
|
||||
<PROJEKTTASK:projektphase_id>'.$projekttask->projektphase_id.'</PROJEKTTASK:projektphase_id>
|
||||
<PROJEKTTASK:bezeichnung>'.$projekttask->bezeichnung.'</PROJEKTTASK:bezeichnung>
|
||||
<PROJEKTTASK:beschreibung>'.$projekttask->beschreibung.'</PROJEKTTASK:beschreibung>
|
||||
<PROJEKTTASK:aufwand>'.$projekttask->aufwand.'</PROJEKTTASK:aufwand>
|
||||
<PROJEKTTASK:mantis_id>'.$projekttask->mantis_id.'</PROJEKTTASK:mantis_id>
|
||||
</RDF:Description>'."\n";
|
||||
$oRdf->obj[$i]->setAttribut('projekttask_id',$projekttask->projekttask_id);
|
||||
$oRdf->obj[$i]->setAttribut('projektphase_id',$projekttask->projektphase_id);
|
||||
$oRdf->obj[$i]->setAttribut('bezeichnung',$projekttask->bezeichnung);
|
||||
$oRdf->obj[$i]->setAttribut('beschreibung',$projekttask->beschreibung);
|
||||
$oRdf->obj[$i]->setAttribut('aufwand',$projekttask->aufwand);
|
||||
$oRdf->obj[$i]->setAttribut('mantis_id',$projekttask->mantis_id);
|
||||
$oRdf->obj[$i]->setAttribut('erledigt',$projekttask->erledigt);
|
||||
$oRdf->obj[$i]->setAttribut('projekttask_fk',$projekttask->projekttask_fk);
|
||||
|
||||
if ($lastPT!=$currentPT)
|
||||
$sequenz.=' <RDF:li RDF:resource="'.$rdf_url.$projekttask->projekttask_id.'" />
|
||||
<RDF:li>
|
||||
<RDF:Seq RDF:about="'.$rdf_url.$projekttask->projekttask_id.'" >'."\n";
|
||||
// Neue OE oder letzter Datensatz? Dann muss Sequenz geschlossen werden.
|
||||
if ($nextPT!=$currentPT || $i==count($projekttask_obj->result)-1)
|
||||
{
|
||||
$sequenz.=' <RDF:li RDF:resource="'.$rdf_url.$projekttask->projekttask_id.'" />'."\n";
|
||||
$sequenz.=' </RDF:Seq>
|
||||
</RDF:li>'."\n";
|
||||
}
|
||||
elseif ($lastPT==$currentPT || $nextPT==$currentPT || count($projekttask_obj->result)==1)
|
||||
$sequenz.='<RDF:li RDF:resource="'.$rdf_url.$projekttask->projekttask_id.'" />'."\n";
|
||||
$lastPT=$currentPT;
|
||||
if($projekttask->projekttask_fk!='')
|
||||
$oRdf->addSequence($projekttask->projekttask_id, $projekttask->projekttask_fk);
|
||||
else
|
||||
$oRdf->addSequence($projekttask->projekttask_id);
|
||||
}
|
||||
$sequenz='<RDF:Seq about="'.$rdf_url.'alle-projekttasks">'."\n\t".$sequenz.'
|
||||
</RDF:Seq>'."\n";
|
||||
echo $descr."\n";
|
||||
echo $sequenz;
|
||||
|
||||
|
||||
$oRdf->sendRdfText();
|
||||
?>
|
||||
</RDF:RDF>
|
||||
|
||||
@@ -36,6 +36,7 @@ $SOAPServer = new SoapServer(APP_ROOT."/soap/projekttask.wsdl.php?".microtime())
|
||||
$SOAPServer->addFunction("saveProjekttask");
|
||||
$SOAPServer->addFunction("deleteProjekttask");
|
||||
$SOAPServer->addFunction("saveMantis");
|
||||
$SOAPServer->addFunction("setErledigt");
|
||||
$SOAPServer->handle();
|
||||
|
||||
// WSDL Chache auf aus
|
||||
@@ -151,6 +152,33 @@ function saveMantis($projekttask_id, $mantis_id, $issue_summary, $issue_descript
|
||||
return new SoapFault("Server", 'Fehler:'.$mantis->errormsg);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Setzt den Erledigt Status
|
||||
* @param $projekttask_id
|
||||
* @param $erledigt
|
||||
*/
|
||||
function setErledigt($projekttask_id, $erledigt)
|
||||
{
|
||||
$projekttask = new projekttask();
|
||||
|
||||
if($projekttask->load($projekttask_id))
|
||||
{
|
||||
$projekttask->new = false;
|
||||
$projekttask->erledigt=$erledigt;
|
||||
|
||||
if($projekttask->save())
|
||||
{
|
||||
return $projekttask->projekttask_id;
|
||||
}
|
||||
else
|
||||
return new SoapFault("Server", $projekttask->errormsg);
|
||||
}
|
||||
else
|
||||
return new SoapFault("Server", "Fehler beim Laden");
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
|
||||
|
||||
@@ -33,6 +33,14 @@ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
|
||||
<wsdl:part name="message" type="xsd:string"></wsdl:part>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="setErledigtRequest">
|
||||
<wsdl:part name="projekttask_id" type="xsd:string"></wsdl:part>
|
||||
<wsdl:part name="erledigt" type="xsd:boolean"></wsdl:part>
|
||||
</wsdl:message>
|
||||
<wsdl:message name="setErledigtResponse">
|
||||
<wsdl:part name="message" type="xsd:string"></wsdl:part>
|
||||
</wsdl:message>
|
||||
|
||||
<wsdl:message name="SaveMantisRequest">
|
||||
<wsdl:part name="projekttask_id" type="xsd:string"></wsdl:part>
|
||||
<wsdl:part name="mantis_id" type="xsd:string"></wsdl:part>
|
||||
@@ -85,6 +93,10 @@ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
|
||||
<wsdl:input message="tns:SaveMantisRequest"></wsdl:input>
|
||||
<wsdl:output message="tns:SaveMantisResponse"></wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="setErledigt">
|
||||
<wsdl:input message="tns:setErledigtRequest"></wsdl:input>
|
||||
<wsdl:output message="tns:setErledigtResponse"></wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:portType>
|
||||
|
||||
<wsdl:binding name="ConfigBinding" type="tns:ConfigPortType">
|
||||
@@ -116,6 +128,15 @@ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
|
||||
<soap:body use="encoded" namespace="http://localhost/soap/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
<wsdl:operation name="setErledigt">
|
||||
<soap:operation soapAction="<?php echo APP_ROOT."soap/setErledigt";?>" />
|
||||
<wsdl:input>
|
||||
<soap:body use="encoded" namespace="http://localhost/soap/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
|
||||
</wsdl:input>
|
||||
<wsdl:output>
|
||||
<soap:body use="encoded" namespace="http://localhost/soap/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
|
||||
</wsdl:output>
|
||||
</wsdl:operation>
|
||||
</wsdl:binding>
|
||||
|
||||
<wsdl:service name="Projekttask">
|
||||
|
||||
Reference in New Issue
Block a user