diff --git a/content/messages.js.php b/content/messages.js.php
index 7e0e56f6c..4d87f65b3 100644
--- a/content/messages.js.php
+++ b/content/messages.js.php
@@ -23,7 +23,7 @@ require_once('../config/vilesci.config.inc.php');
var MessagePersonID=null;
var MessagesTreeDatasource=''; // Datasource des Adressen Trees
var MessagesSelectID='';
-
+var MessageSenderPersonID='';
var MessagesTreeSinkObserver =
{
@@ -53,11 +53,12 @@ var MessagesTreeListener =
// ****
// * Laedt die Trees
// ****
-function loadMessages(person_id)
+function loadMessages(person_id, fas_person_id)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
MessagePersonID = person_id;
-
+ MessageSenderPersonID=fas_person_id;
+
//Adressen laden
url = "rdf/messages.rdf.php?person_id="+person_id+"&"+gettimestamp();
var tree=document.getElementById('messages-tree');
@@ -92,7 +93,7 @@ function loadMessages(person_id)
// ****
function MessagesNewMessage()
{
- window.open('/index.ci.php/system/Messages/outbox/'+MessagePersonID,'Outbox','');
+ window.open('/index.ci.php/system/Messages/write/'+MessageSenderPersonID+'/'+MessagePersonID,'Message','');
}
/**
@@ -108,6 +109,21 @@ function MessagesSendAnswer()
else
{
var MessageId = getTreeCellText(tree, 'messages-tree-message_id', tree.currentIndex);
- window.open('/index.ci.php/system/Messages/outbox/'+MessagePersonID+'/'+MessageId,'Outbox','');
+ var RecipientID = getTreeCellText(tree, 'messages-tree-recipient_id', tree.currentIndex);
+ window.open('/index.ci.php/system/Messages/reply/'+MessageId+'/'+RecipientID,'Reply','');
}
}
+
+function MessageAuswahl()
+{
+ var tree=document.getElementById('messages-tree');
+ if(tree.currentIndex==-1)
+ {
+ alert("Bitte markieren Sie zuerst eine Nachricht");
+ }
+ else
+ {
+ var text = getTreeCellText(tree, 'messages-tree-body', tree.currentIndex);
+ }
+ document.getElementById('message-wysiwyg').value=text;
+}
diff --git a/content/messages.xul.php b/content/messages.xul.php
index 3a228e2de..86cccb3ae 100644
--- a/content/messages.xul.php
+++ b/content/messages.xul.php
@@ -26,6 +26,7 @@ header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/variable.class.php');
+require_once('../include/benutzer.class.php');
$user=get_uid();
$variable = new variable();
@@ -34,6 +35,9 @@ if(!$variable->loadVariables($user))
die('Fehler beim Laden der Variablen:'.$variable->errormsg);
}
+$benutzer = new benutzer();
+$benutzer->load($user);
+
echo ''."\n";
echo '';
@@ -50,7 +54,7 @@ echo ']>
);"
+ onload="loadMessages(person_id."'"; ?>);"
>
@@ -65,11 +69,16 @@ echo ']>
+
+
+
+
+
@@ -80,15 +89,35 @@ echo ']>
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/messages/rdf#subject"/>
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -98,17 +127,18 @@ echo ']>
+
+
+
+
+
-
-
-
-
-
+
diff --git a/rdf/messages.rdf.php b/rdf/messages.rdf.php
index 606d4c72d..951cd7cc8 100644
--- a/rdf/messages.rdf.php
+++ b/rdf/messages.rdf.php
@@ -19,66 +19,63 @@
* Andreas Oesterreicher and
* Gerald Raab .
*/
-// header für no cache
-header("Cache-Control: no-cache");
-header("Cache-Control: post-check=0, pre-check=0",false);
-header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
-header("Pragma: no-cache");
-// content type setzen
-header("Content-type: application/xhtml+xml");
-// xml
-echo '';
-// DAO
require_once('../config/vilesci.config.inc.php');
require_once('../include/basis_db.class.php');
+require_once('../include/rdf.class.php');
+require_once('../include/functions.inc.php');
+require_once('../include/benutzerberechtigung.class.php');
-$rdf_url='http://www.technikum-wien.at/messages';
+$uid = get_uid();
+$rechte = new benutzerberechtigung();
+$rechte->getBerechtigungen($uid);
+if(!$rechte->isBerechtigt('basis/message','s'))
+ die($rechte->errormsg);
-?>
+$oRdf = new rdf('MESSAGES','http://www.technikum-wien.at/messages');
-
-
-
-
-
-
-
-
-
-
-
-';
-}
if (isset($_GET['person_id']) && is_numeric($_GET['person_id']))
- $where = " where r.person_id = ".$_GET['person_id'];
+ $person_id = $_GET['person_id'];
else
- $where = '';
+ die('Parameter person_id is missing');
-$qry = "SELECT m.* FROM public.tbl_msg_message m join public.tbl_msg_recipient r using(message_id)".$where." ORDER BY message_id";
$db = new basis_db();
+$qry = "
+SELECT
+ m.*,
+ (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=m.person_id) as sender,
+ (SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id=r.person_id) as recipient,
+ m.person_id as sender_id,
+ r.person_id as recipient_id
+FROM
+ public.tbl_msg_message m
+ JOIN public.tbl_msg_recipient r USING(message_id)
+WHERE
+ r.person_id=".$db->db_add_param($person_id, FHC_INTEGER)."
+ OR m.person_id=".$db->db_add_param($person_id, FHC_INTEGER)."
+ORDER BY
+ message_id";
if($db->db_query($qry))
{
+ $oRdf->sendHeader();
while($row = $db->db_fetch_object())
{
-?>
-
-
- subject; ?>]]>
- body; ?>]]>
- message_id; ?>]]>
-
-
-newObjekt($row->message_id);
+ $oRdf->obj[$i]->setAttribut('subject',$row->subject,true);
+ $oRdf->obj[$i]->setAttribut('body',$row->body,true);
+ $oRdf->obj[$i]->setAttribut('message_id',$row->message_id,true);
+ $oRdf->obj[$i]->setAttribut('insertamum',$row->insertamum,true);
+ $oRdf->obj[$i]->setAttribut('status',$row->insertamum,true);
+ $oRdf->obj[$i]->setAttribut('sender',$row->sender,true);
+ $oRdf->obj[$i]->setAttribut('recipient',$row->recipient,true);
+ $oRdf->obj[$i]->setAttribut('sender_id',$row->sender_id,true);
+ $oRdf->obj[$i]->setAttribut('recipient_id',$row->recipient_id,true);
+
+ if($row->relationmessage_id!='')
+ $oRdf->addSequence($row->message_id, $row->relationmessage_id);
+ else
+ $oRdf->addSequence($row->message_id);
}
}
-?>
-
-
+$oRdf->sendRdfText();
+?>
\ No newline at end of file