diff --git a/content/notiz.xml.php b/content/notiz.xml.php
index 8cc3f3727..39ddc07b5 100755
--- a/content/notiz.xml.php
+++ b/content/notiz.xml.php
@@ -291,7 +291,8 @@ echo '';
{
//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();
}
});
diff --git a/content/planner.overlay.xul.php b/content/planner.overlay.xul.php
index f7c024a4b..f262491ed 100755
--- a/content/planner.overlay.xul.php
+++ b/content/planner.overlay.xul.php
@@ -45,7 +45,7 @@ echo 'rdf/projektphase.rdf.php?foo= -->
-
+
-
-
+
diff --git a/content/projekt/projektphase.overlay.js.php b/content/projekt/projektphase.overlay.js.php
index 19269bedc..645f69b60 100755
--- a/content/projekt/projektphase.overlay.js.php
+++ b/content/projekt/projektphase.overlay.js.php
@@ -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);
diff --git a/content/projekt/projekttask.overlay.js.php b/content/projekt/projekttask.overlay.js.php
index 25161f35e..99f59dd10 100755
--- a/content/projekt/projekttask.overlay.js.php
+++ b/content/projekt/projekttask.overlay.js.php
@@ -556,4 +556,50 @@ function clb_saveProjekttaskMantis(respObj)
return;
}
}
-
\ No newline at end of file
+
+// ****
+// * 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="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;
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/content/projekt/projekttask.overlay.xul.php b/content/projekt/projekttask.overlay.xul.php
index f28286a9b..1ec354233 100755
--- a/content/projekt/projekttask.overlay.xul.php
+++ b/content/projekt/projekttask.overlay.xul.php
@@ -62,12 +62,13 @@ echo '
+ sort="rdf:http://www.technikum-wien.at/projekttask/rdf#aufwand" />
+ sort="rdf:http://www.technikum-wien.at/projekttask/rdf#mantis_id" />
+
+
@@ -106,6 +111,7 @@ echo '
+
diff --git a/include/projekttask.class.php b/include/projekttask.class.php
index 66e9081ba..00d6fcec8 100755
--- a/include/projekttask.class.php
+++ b/include/projekttask.class.php
@@ -1,5 +1,5 @@
+ * Authors: Christian Paminger ,
+ * Andreas Österreicher
*/
/**
* 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;
- }
- }
}
?>
diff --git a/include/rdf.class.php b/include/rdf.class.php
index 2c0f6e163..46fc6b9dc 100755
--- a/include/rdf.class.php
+++ b/include/rdf.class.php
@@ -1,5 +1,5 @@
+ * Authors: Christian Paminger ,
+ * Andreas Österreicher
+ */
+/**
+ * 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=''; // 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".'xml_ns.'="'.$this->rdf_url.'/rdf#"'."\n".'>'."\n\t"
- .''."\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".''
- ."\n\t\t".'';
+ $this->rdf_text.="\n\t\t".'';
foreach ($obj->attr as $attr)
$this->rdf_text.="\n\t\t\t<".$this->xml_ns.':'.$attr->name.'>value.']]>'.$this->xml_ns.':'.$attr->name.'>';
- $this->rdf_text.="\n\t\t".''."\n\t".'';
+ $this->rdf_text.="\n\t\t".'';
+ }
+ }
+
+ /**
+ * 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.=''."\n";
+ foreach ($this->sequence as $id)
+ {
+ $this->createRDFSequence($id);
+ }
+ $this->rdf_text.=''."\n";
+ }
+ else
+ {
+ $this->rdf_text.="\n\t".'';
+ if(isset($this->childs[$id]))
+ {
+ $this->rdf_text.=''."\n";
+ foreach($this->childs[$id] as $childid)
+ {
+ $this->createRDFSequence($childid);
+ }
+ $this->rdf_text.=''."\n";
+ }
+ $this->rdf_text.='';
+ }
+ }
+
+ /**
+ * Generiert den RDF Footer
+ */
public function createRdfFooter()
{
- $this->rdf_text.=''."\n".''."\n\t";
+ $this->rdf_text.=''."\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;
diff --git a/rdf/betreuerart.rdf.php b/rdf/betreuerart.rdf.php
index 9d40d4374..484b77ca7 100644
--- a/rdf/betreuerart.rdf.php
+++ b/rdf/betreuerart.rdf.php
@@ -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();
diff --git a/rdf/projektphase.rdf.php b/rdf/projektphase.rdf.php
index 2f6ac0a8b..3f48ed278 100755
--- a/rdf/projektphase.rdf.php
+++ b/rdf/projektphase.rdf.php
@@ -17,21 +17,15 @@
*
* Authors: Christian Paminger
*/
-header("Content-type: application/xhtml+xml");
-echo '';
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 '
-';
+$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 '
-
- projektphase_id.']]>
- projekt_kurzbz.']]>
- projektphase_fk.']]>
- bezeichnung.']]>
- beschreibung.']]>
- start.']]>
- ende.']]>
- budget.']]>
- personentage.']]>
- '."\n";
+ $i=$oRdf->newObjekt($phase->projektphase_id);
- echo '
-
- '."\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.='
- '.$projekt->oe_kurzbz.'
- '.$projekt->oe_kurzbz.'
-
-
-
-
-
-
-
-
- '."\n";
- $descr.='
- titel.']]>
- oe_kurzbz.']]>
- projekt_kurzbz.']]>
-
-
- nummer.']]>
- titel.']]>
- beschreibung.']]>
- beginn.']]>
- ende.']]>
- '."\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;$jresult);$j++)
@@ -107,92 +110,28 @@ else
$projektphase=$projektphase_obj->result[$j];
//var_dump($projektphase);
- $descr.='
- bezeichnung.']]>
- oe_kurzbz.']]>
- projekt_kurzbz.']]>
- bezeichnung.']]>
- projektphase_id.']]>
-
- bezeichnung.']]>
- beschreibung.']]>
- start.']]>
- ende.']]>
- budget.']]>
- 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.=''."\n";
- if (is_null($projektphase->projektphase_fk))
- {
- if ($j==0)
- $tmpStr='
- '."\n";
- $tmpStr.=' '."\n";
- $tmpStr.=check_subprojektphasen(&$projekt,&$projektphase_obj,$projektphase->projektphase_id);
- if ($j==count($projektphase_obj->result)-1)
- $tmpStr.='
- '."\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.='
-
- '."\n";
- }
- // Neue OE oder letzter Datensatz? Dann muss Sequenz geschlossen werden.
- if ($nextOE!=$currentOE || $i==count($projekt_obj->result)-1)
- {
- $sequenz.=' '."\n";
- if (isset($sequenzProjektphase[$projekt->projekt_kurzbz]))
- $sequenz.=$sequenzProjektphase[$projekt->projekt_kurzbz];
- $sequenz.='
- '."\n";
- }
- elseif ($lastOE==$currentOE || $nextOE==$currentOE || count($projekt_obj->result)==1)
- {
- $sequenz.=''."\n";
- if (isset($sequenzProjektphase[$projekt->projekt_kurzbz]))
- $sequenz.=$sequenzProjektphase[$projekt->projekt_kurzbz];
- }
- $lastOE=$currentOE;
- }
- $sequenz=''."\n\t".$sequenz.'
- '."\n";
- echo $descr."\n";
- echo $sequenz;
-
-
-}
-function check_subprojektphasen($projekt,$projektphase_obj,$projektphase_id)
-{
- global $rdf_url;
- $tmpStr='';
- $i=0;
- for ($j=0;$jresult);$j++)
- {
- $projektphase=$projektphase_obj->result[$j];
- if ($projektphase->projektphase_fk==$projektphase_id)
- {
- //var_dump($projektphase);
- if ($i==0)
- {
- $tmpStr='
- '."\n";
- }
- $tmpStr.=' '."\n";
- $i++;
- }
- }
- if ($i>0)
- {
- $tmpStr.='
- '."\n";
- }
- return $tmpStr;
+ }
}
+
+$oRdf->sendRdfText();
?>
-
diff --git a/rdf/projekttask.rdf.php b/rdf/projekttask.rdf.php
index 65e21ab6c..17f213031 100755
--- a/rdf/projekttask.rdf.php
+++ b/rdf/projekttask.rdf.php
@@ -17,14 +17,11 @@
*
* Authors: Christian Paminger
*/
-header("Content-type: application/xhtml+xml");
-echo '';
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);
-?>
-
-
-result);$i++)
+foreach($projekttask_obj->result as $projekttask)
{
- $projekttask=$projekttask_obj->result[$i];
- $currentPT=$projekttask->projekttask_id;
- $nextPT=(($iresult)-1)?$projekttask_obj->result[$i+1]->projekttask_id:null);
+ $i=$oRdf->newObjekt($projekttask->projekttask_id);
- $descr.='
- '.$projekttask->projekttask_id.'
- '.$projekttask->projektphase_id.'
- '.$projekttask->bezeichnung.'
- '.$projekttask->beschreibung.'
- '.$projekttask->aufwand.'
- '.$projekttask->mantis_id.'
- '."\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.='
-
- '."\n";
- // Neue OE oder letzter Datensatz? Dann muss Sequenz geschlossen werden.
- if ($nextPT!=$currentPT || $i==count($projekttask_obj->result)-1)
- {
- $sequenz.=' '."\n";
- $sequenz.='
- '."\n";
- }
- elseif ($lastPT==$currentPT || $nextPT==$currentPT || count($projekttask_obj->result)==1)
- $sequenz.=''."\n";
- $lastPT=$currentPT;
+ if($projekttask->projekttask_fk!='')
+ $oRdf->addSequence($projekttask->projekttask_id, $projekttask->projekttask_fk);
+ else
+ $oRdf->addSequence($projekttask->projekttask_id);
}
-$sequenz=''."\n\t".$sequenz.'
- '."\n";
-echo $descr."\n";
-echo $sequenz;
-
-
+$oRdf->sendRdfText();
?>
-
diff --git a/soap/projekttask.soap.php b/soap/projekttask.soap.php
index 673fdd6e4..26ab8d574 100644
--- a/soap/projekttask.soap.php
+++ b/soap/projekttask.soap.php
@@ -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");
+}
+
?>
diff --git a/soap/projekttask.wsdl.php b/soap/projekttask.wsdl.php
index 98fd09be6..d2765c5a8 100644
--- a/soap/projekttask.wsdl.php
+++ b/soap/projekttask.wsdl.php
@@ -33,6 +33,14 @@ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+
+
+
+
+
+
+
+
@@ -85,6 +93,10 @@ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+
+
+
+
@@ -116,6 +128,15 @@ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
+
+ " />
+
+
+
+
+
+
+