show user messages in fas

This commit is contained in:
Gerry Raab
2016-07-07 09:39:27 +02:00
parent 03d84be366
commit aaef564d52
3 changed files with 149 additions and 4 deletions
+56 -1
View File
@@ -20,7 +20,35 @@
require_once('../config/vilesci.config.inc.php');
?>
// ********** FUNKTIONEN ********** //
var MessagePersonID='';
var MessagePersonID=null;
var MessagesTreeDatasource=''; // Datasource des Adressen Trees
var MessagesSelectID='';
var MessagesTreeSinkObserver =
{
onBeginLoad : function(pSink) {},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('messages-tree').builder.rebuild();
}
};
var MessagesTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
//window.setTimeout(KontaktAdressenTreeSelectID,10);
}
};
// ****
// * Laedt die Trees
@@ -29,4 +57,31 @@ function loadMessages(person_id)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
MessagePersonID = person_id;
//Adressen laden
url = "<?php echo APP_ROOT; ?>rdf/messages.rdf.php?person_id="+person_id+"&"+gettimestamp();
var tree=document.getElementById('messages-tree');
try
{
MessagesTreeDatasource.removeXMLSinkObserver(MessagesTreeSinkObserver);
tree.builder.removeListener(MessagesTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
tree.database.RemoveDataSource(oldDatasources.getNext());
}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
MessagesTreeDatasource = rdfService.GetDataSource(url);
MessagesTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
MessagesTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
tree.database.AddDataSource(MessagesTreeDatasource);
MessagesTreeDatasource.addXMLSinkObserver(MessagesTreeSinkObserver);
tree.builder.addListener(MessagesTreeListener);
}
+9 -3
View File
@@ -66,7 +66,7 @@ echo ']>
<hbox style="padding-top: 10px">
<tree id="messages-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/messages"
datasources="<?php echo APP_ROOT; ?>rdf/messages.rdf.php?foo=<?php echo time(); ?>" ref="http://www.technikum-wien.at/messages/alle"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
onselect="messagesAuswahl()"
context="messages-tree-popup"
@@ -78,7 +78,12 @@ echo ']>
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/messages/rdf#betreff"/>
sort="rdf:http://www.technikum-wien.at/messages/rdf#subject"/>
<treecol id="messages-tree-body" label="Body" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/messages/rdf#body"/>
<treecol id="messages-tree-message_id" label="MessageID" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/messages/rdf#message_id"/>
@@ -89,7 +94,8 @@ echo ']>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/messages/rdf#betreff"/>
<treecell label="rdf:http://www.technikum-wien.at/messages/rdf#subject"/>
<treecell label="rdf:http://www.technikum-wien.at/messages/rdf#body"/>
<treecell label="rdf:http://www.technikum-wien.at/messages/rdf#message_id"/>
</treerow>
</treeitem>
+84
View File
@@ -0,0 +1,84 @@
<?php
/* Copyright (C) 2006 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
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* 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>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Gerald Raab <gerald.raab@technikum-wien.at>.
*/
// 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 '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// DAO
require_once('../config/vilesci.config.inc.php');
require_once('../include/basis_db.class.php');
$rdf_url='http://www.technikum-wien.at/messages';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:MESSAGES="<?php echo $rdf_url; ?>/rdf#"
>
<RDF:Seq about="<?php echo $rdf_url ?>/alle">
<?php
if(isset($_GET['optional']) && $_GET['optional']=='true')
{
echo '
<RDF:li>
<RDF:Description id="" about="'.$rdf_url.'/" >
<MESSAGES:subject></MESSAGES:subject>
<MESSAGES:body></MESSAGES:body>
<MESSAGES:message_id></MESSAGES:message_id>
</RDF:Description>
</RDF:li>
';
}
if (isset($_GET['person_id']) && is_numeric($_GET['person_id']))
$where = " where person_id = ".$_GET['person_id'];
else
$where = '';
$qry = "SELECT * FROM public.tbl_msg_message".$where." ORDER BY message_id";
$db = new basis_db();
if($db->db_query($qry))
{
while($row = $db->db_fetch_object())
{
?>
<RDF:li>
<RDF:Description id="<?php echo $row->message_id; ?>" about="<?php echo $rdf_url.'/'.$row->message_id; ?>" >
<MESSAGES:subject><![CDATA[<?php echo $row->subject; ?>]]></MESSAGES:subject>
<MESSAGES:body><![CDATA[<?php echo $row->body; ?>]]></MESSAGES:body>
<MESSAGES:message_id><![CDATA[<?php echo $row->message_id; ?>]]></MESSAGES:message_id>
</RDF:Description>
</RDF:li>
<?php
}
}
?>
</RDF:Seq>
</RDF:RDF>