Files
Facilitor/APPL/FAC/fac_user_messages.asp
Peter Feij 413498318a 0-versie
svn path=/Website/trunk/; revision=6
2009-10-05 06:44:06 +00:00

134 lines
4.4 KiB
Plaintext

<%@language="javascript"%>
<% /*
$Revision: 1 $
$Modtime: 26-09-09 0:06 $
File: fac_user_messages.asp (formerly news/news.asp)
Status: 99% (goed genoeg)
Description: Toont de gebruikersberichten (statusinfo) in een grid
Note: Niet erg gewijzigd, wel wat harde aannames toegevoegd,
er worden bv maar 25 regels getoond, max
Functioneel is de noodzaak voor deze info veel minder
geworden vanwege fac_list die veel meer info toont.
Geen resulttable hier, bij uitzondering
Hoeft niet, maag wel. Ook styling zou naar css mogen.
*/ %>
<%Response.Expires=0;%>
<!-- #include file="../../cust/install.inc" -->
<!-- #include file="../Shared/escape.inc" -->
<html>
<head>
<% FCLTHeader.Generate() %>
<script type="text/javascript" src="fac_user_messages.js"></script>
<!-- #include file="../Shared/datetime.inc" -->
<meta http-equiv="refresh" content="<%=refreshrate%>">
<style>
td.markread { vertical-align:top;
padding-top:4px;
width:13px;
height:13px;
cursor:hand;
background-image:url(../Pictures/tree_ok.gif) ;
background-repeat:no-repeat;
background-position:top; z-index:10;
}
</style>
</head>
<body class="statusinfo" onLoad="setTimeout('if (parent.SetMessInfo) parent.SetMessInfo(newMess, totalMess)', 100);">
<table cellspacing="0" cellpadding="0" border="0" width='100%'>
<%
if( user_key != -1 ) {
var sql = "SELECT "
+ "m.web_user_mess_dsc"
+ ", COALESCE(sn.fac_srtnotificatie_url,'-1')"
+ ", COALESCE(m.web_user_mess_action_params, ' ')"
+ ", m.web_user_mess_action_status"
+ ", m.web_user_mess_action_datum tijd"
+ ", m.web_user_message_key"
+ ", web_user_mess_prioriteit"
+ " FROM web_user_messages m, fac_srtnotificatie sn"
+ " WHERE (m.prs_perslid_key_receiver = " + user_key
+ " OR m.prs_perslid_key_receiver IS NULL) " // General messages
+ " AND sn.fac_srtnotificatie_key(+)=m.fac_srtnotificatie_key"
+ " AND ROWNUM <= 20" /* lekker niet configureerbaar */
+ " ORDER BY m.web_user_mess_action_datum DESC, m.web_user_message_key DESC";
oRs = Oracle.Execute(sql);
var newMess = 0, total = 0;
var maxMess = 2;
var maxPassed = false;
while (!oRs.eof)
{
var isNew = 0;
if (parseInt(oRs(3), 10) == 1)
{
newMess ++;
isNew = 1;
}
total++;
if (oRs(1) != "-1" )
var action = replace("" + oRs(1) + oRs(2), "#", "&") + "&statusinfo=";
else
var action = false;
var headline=oRs(0).value;
if (action) {
// limit the length if it's too long and the user may click on it
if (headline.length > portalnewslength)
headline = headline.substr(0,portalnewslength)+'...';
}
if (portalnewsmax == -1 || total <= portalnewsmax) {
%>
<tr messKey=<%=oRs("web_user_message_key")%> class="<% = (isNew ? (oRs(6).value==1?'newstextFreshRed':'newstextFresh') : 'newstext')%>">
<td class="markread" title="<%=lcl_mark_as_read%>"
onClick="javascript:MarkAsRead(this, <%=isNew?1:0%>)"
</td>
<td valign="top"> <% // as small as possible %>
&nbsp;<nobr><%=toDateTimeString(new Date(oRs("tijd").value))%></nobr></td>
<td valign="top" align="left" style="padding-left:10px;">
<% if (action) { %>
<a class="<% = (isNew ? (oRs(6).value==1?'newstextFreshRed':'newstextFresh') : 'newstext')%>"
href="<%=isNew?'setReadFlag.asp?messKey='+parseInt(oRs(5),10)+'&act=../'+escape(action):'../'+action%>"
target="_parent"><% = headline %></a>
<% } else { %>
<% = headline %>
<% } %>
</td>
</tr>
<%
} else if (!maxPassed) {
%>
<tr>
<td></td>
<td></td>
<td class=newstext><% =lcl_news_andmore %></td>
</tr>
<%
maxPassed = true;
}
oRs.MoveNext();
}
} else {
var newMess = 0;
var total = 0;
}
%>
</table>
<script type="text/javascript">
var newMess = <% = newMess %>;
var totalMess = '<% = total %><% = maxPassed?lcl_news_moreexist_mark:"" %>';
</script>
<% // hidFrame is voor setReadFlag() %>
<iframe src="../Shared/empty.asp" id="hidFrame" style="display:none"></iframe>
</html>