Files
Facilitor/APPL/MGT/mgt_genericsql.asp

125 lines
3.8 KiB
Plaintext

<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: mgt_genericsql.asp
Description: Ingang om generiek sql SELECT statement uit te voeren
Context: Rechtstreeks of vanuit logfile
Notes:
*/
%>
<!-- #include file="../shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<%
FCLTHeader.Requires({ plugins: ["jQuery"] })
__Logging = 0; // Is te laat...
Application("otap_environment") == "O" || user.checkAutorisation("WEB_FACFAC");
var sql = getFParam("sql", getQParam("sql", ""));
/*
//Onze SQL-statement zo maar naar een cloud-service sturen mag vast niet van ISO-27001
*/
%>
<html>
<head>
<% FCLTHeader.Generate({outputmode: 0}); %>
<style>
table.rstable td {
border-left: 1px solid #bbb;
}
body#searchbody td {
line-height:1.2em!important;
}
.message {
background-color: orange;
color: black;
padding: 2px 5px 4px 5px;
height: 20px;
vertical-align: middle;
}
</style>
<script>
<% if (sql == "opener")
{
sql = "";
%>
$(function()
{
if (window.opener && window.opener.genericsql)
{
$("#sql").val(window.opener.genericsql);
$("form").submit();
}
});
<% }
%>
$(function ()
{
<% if (getQParamInt("autoexec", 0) == 1) { %>
doSubmit();
<% } else { %>
doFormat();
<% } %>
}
);
function doSubmit()
{
doFormat();
document.forms.u2.submit();
}
function doFormat()
{
var sql = $("#sql").val();
// Als er exact 1 SELECT, FROM en WHERE is doen we een beetje formatting
if ( sql.indexOf("\n") == -1 &&
(sql.match(/SELECT/ig) || []).length == 1 &&
(sql.match(/FROM/ig) || []).length == 1 &&
(sql.match(/WHERE/ig) || []).length <= 1
)
{
sql = "_"+sql.trim();
sql = sql.replace(/_SELECT/i, "SELECT");
sql = sql.replace(/ FROM/i, "\nFROM");
sql = sql.replace(/ WHERE/i, "\nWHERE");
sql = sql.replace(/ ORDER BY/i, "\nORDER BY");
sql = sql.replace(/ GROUP BY/i, "\nGROUP BY");
sql = sql.replace(/ AND/ig, "\n AND");
sql = sql.replace(/ , /ig, ", ");
}
$("#sql").val(sql);
}
</script>
</head>
<body id="searchbody">
<form id="u2" name="u2" method="post" action="mgt_genericsql_list.asp" target="workFrame">
<% SEARCH_PAGE_START({ header: L("lcl_menu_fac_anysql") });
BLOCK_START("the-sql", "", { icon: "fa-database", wide: true, nopadding: true });
RWTEXTAREATR("sql", "fldtxt", "", sql, { html: "style='height:200px' spellcheck='false'", maxlength: 999999, no_bb_codes: true });
BLOCK_END();
var buttons = [ {title: L("lcl_usrrap_uitvoeren"), action: "doSubmit()", id: "bSearch", icon: "fa-fclt-save" } ];
SIMPLE_BLOCK_START();
CreateButtons(buttons, { entersubmit: true, showIcons: true });
SIMPLE_BLOCK_END();
SEARCH_PAGE_END();
%>
</form>
<div id="result">
<iframe width="100%" height="100%"
src="../Shared/empty.asp"
name="workFrame" id="workFrame"
onload="FcltMgr.iframeLoaded(this)"
frameborder="0" scrolling="no">
</iframe>
</div>
</body>
</html><% ASPPAGE_END(); %>