Files
Facilitor/APPL/BES/addFavourites.asp
Jos Groot Lipman c21c199ade FSN#29330 Minder risico op SQL Injection (niet per se direct gevaarlijk)
svn path=/Website/branches/v5.4.1/; revision=21273
2014-04-09 08:40:23 +00:00

154 lines
5.2 KiB
Plaintext

<%@ LANGUAGE="JavaScript" %>
<% /*
$Revision$
$Id$
File: Bes/addFavourites.asp
Description: Voegt favorieten toe aan de favorietenlijst van een persoon
Parameters:
srtdeel_key item key van item die toegevoegt moet worden aan de favorieten lijst
Context: Binnen ModalForm die wordt geopend als gebruiker knopje 'Favorieten toevoegen'
drukt bij een bestelling
Note:
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<html>
<head>
<%
FCLTHeader.Generate();
%>
</head>
<script type='text/javascript'>
// Zorg voor de submit
function doSubmit()
{
document.forms.u2.submit();
}
</script>
<%
var submitting = getQParamInt('submit', 0) == 1;;
var srtdeel_key = getQParamInt('srtdeel_key');
if (submitting) {
protectRequest.validateToken();
// Sla de ingevoerde gegevens op in een nieuwe bestellingsaanvraag
%>
<body id="info" topmargin='0' onLoad="">
<%
fav = getFParam("fav", "");
fav_name = getFParam("fav_name", "");
message = "";
// controleer of het item al binnen de favorieten lijst bestaat
sql = "SELECT bes_favoriet_key"
+ " FROM bes_favoriet"
+ (fav_name == ""
? (fav == ""
? " WHERE bes_favoriet_naam IS NULL"
: " WHERE bes_favoriet_naam = " + safe.quoted_sql(fav))
: " WHERE bes_favoriet_naam = " + safe.quoted_sql(fav_name))
+ " AND prs_perslid_key = " + user_key
+ " AND bes_srtdeel_key = " + srtdeel_key;
oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
message = L("lcl_bes_fav_item_exist");
} else {
// Voeg item aan de favorieten lijst toe
sql = "INSERT INTO bes_favoriet ("
+ "bes_favoriet_naam"
+ ", prs_perslid_key"
+ ", bes_srtdeel_key"
+ ") VALUES (" + safe.quoted_sql(fav_name||fav)
+ ", " + user_key
+ ", " + srtdeel_key
+ ")";
Oracle.Execute(sql);
message = L("lcl_bes_fav_item_added");
}
%>
<script type='text/javascript'>
FcltMgr.closeDetail(window, { warning: "<%=message%>" });
</script>
<%
} else {
// Maak het favorieten formulier
%>
<body class="modal" id="bes_add_fav" onLoad="document.u2.fav_name.focus();">
<form action="../Bes/addFavourites.asp?submit=1&srtdeel_key=<%=srtdeel_key%>" method="post" name="u2" onsubmit="return false;"'>
<% BLOCK_START("favInfo", L("lcl_bes_favour_add")); %>
<%
var disc_key = getQParamInt('disc_key');
sql = "SELECT COALESCE(bes_srtdeel_nr,'')||' '||"+ lcl.xsql('bes_srtdeel_omschrijving', 'bes_srtdeel_key')
+ ", COALESCE("+lcl.xsql('bes_srtdeel_eenheid', 'bes_srtdeel_key')+",'')"
+ " FROM bes_v_aanwezigsrtdeel d"
+ " WHERE d.bes_srtdeel_key = " + srtdeel_key;
oRs = Oracle.Execute(sql);
srtdeel_oms = oRs(0).value;
srtdeel_eenh = oRs(1).value;
oRs.Close();
ROFIELDTR("fld", L("lcl_bes_srtdeel"), srtdeel_oms );
%>
<tr>
<td class='label'><label for="fav"><%=L("lcl_bes_favour_list")%>:</label></td>
<td><select name="fav" id="fav"><%
// eigen favorieten lijsten van een bepaalde categorie
sql = " SELECT " + safe.quoted_sql(L("lcl_bes_select_fav_list")) + ", 'A' FROM DUAL"
+ " UNION"
+ " SELECT bf.bes_favoriet_naam"
+ ", 'B'"
+ " FROM bes_v_aanwezigsrtdeel d"
+ ", bes_v_aanwezigsrtgroep g"
+ ", bes_favoriet bf"
+ " WHERE d.bes_srtgroep_key = g.bes_srtgroep_key"
+ " AND d.bes_srtdeel_key = bf.bes_srtdeel_key"
+ " AND bf.bes_favoriet_naam IS NULL"
+ " AND bf.prs_perslid_key = " + user_key
+ " AND g.ins_discipline_key = " + disc_key
+ " UNION"
+ " SELECT bf.bes_favoriet_naam"
+ ", 'C'"
+ " FROM bes_v_aanwezigsrtdeel d"
+ ", bes_v_aanwezigsrtgroep g"
+ ", bes_favoriet bf"
+ " WHERE d.bes_srtgroep_key = g.bes_srtgroep_key"
+ " AND d.bes_srtdeel_key = bf.bes_srtdeel_key"
+ " AND bf.bes_favoriet_naam IS NOT NULL"
+ " AND bf.prs_perslid_key = " + user_key
+ " AND g.ins_discipline_key = " + disc_key
+ " ORDER BY 2, 1";
var oRs = Oracle.Execute(sql);
while (!oRs.eof) {
%><option value='<%=oRs(1).value == 'A'?"":safe.html(oRs(0).value)%>' <%=oRs(1).value == 'A'?"selected":""%>><%=safe.html(oRs(0).value)%></option><%
oRs.MoveNext();
}
oRs.close();
%></select>
</td>
</tr>
<%
RWFIELDTR("fav_name", "fld", L("lcl_bes_new_favour_list"), "");
BLOCK_END();
var buttons = [ {title: L("lcl_submit"), icon:"opslaan.png", action:"doSubmit()" },
{title: L("lcl_cancel"), icon: "undo.png", action:"FcltMgr.closeDetail(window, { cancel: true })" } ];
CreateButtons(buttons);
IFACE.FORM_END();
%>
</form>
<%
}
%>
</body>
</html>