Files
Facilitor/APPL/FAC/fac_scan_cust.asp
Jos Groot Lipman 06cefb3af5 DJIN#36213 SAML/Authenticatie verbeteringen. Hernoemen fac_idp naar aut_idp
svn path=/Website/trunk/; revision=33445
2017-04-10 13:08:34 +00:00

133 lines
4.0 KiB
Plaintext

<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: fac_scan_cust.asp
Description: FACILITOR remote support
API om omgevings data op te halen
In het bijzonder alle CUST folders en de SHA-check van
bestanden.
Wordt incidenteel aangeroepen als iemand op de FACWS001
portal 'refresh' klikt.
Context: Je moet ingelogd zijn als FACFAC bij een bepaalde klant
maar eigenlijk maakt het niet uit bij welke: de hele
CUST folder wordt gescanned
*/
var JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc"-->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="./fac_verify_sha.inc" -->
<%
user.checkAutorisation("WEB_FACFAC");
var fullPath = Server.MapPath("../../CUST");
var fso = Server.CreateObject("Scripting.FileSystemObject")
var startFolder = fso.GetFolder(fullPath)
var fc1 = new Enumerator(startFolder.SubFolders);
var Oracle = Server.CreateObject("ADODB.Connection");
var aFCLT = [];
var tmStartAll = new Date();
for (; !fc1.atEnd(); fc1.moveNext())
{
var fldr = fc1.item();
filename = fldr.Path.toUpperCase();
var udl = fldr.Path + "\\oracle.udl";
result = { cust: fldr.Name.toUpperCase() };
if (!fso.FileExists(udl))
{
result.error = "No Oracle.udl";
aFCLT.push(result);
continue;
}
try
{
var str = "File Name=" + udl;
Oracle.Open(str);
result.datasource = Oracle.Properties("Data source").Value;
result.uname = Oracle.Properties("User Name").Value;
var sql = "SELECT 'DB'||fac_version_schema fac_version_schema"
+ " FROM fac_version";
var oRs = Oracle.Execute(sql);
result.schemaversion = oRs("fac_version_schema").Value;
oRs.Close();
var sql = "SELECT aut_idp_audience"
+ " FROM aut_idp"
+ " WHERE aut_idp_type = 4" // JWT
+ " AND aut_idp_code = 'FACILITORSUPPORT'";
var oRs = Oracle.Execute(sql);
if (!oRs.Eof)
result.support_idp_audience = oRs("aut_idp_audience").Value;
oRs.Close();
var sql = "SELECT count(*) FROM fac_v_orderqueue";
var oRs = Oracle.Execute(sql);
result.orderqueue = oRs(0).Value;
oRs.Close();
Oracle.Close();
}
catch (e)
{ // database user Afwezig of geen record in fac_version
try
{
oRs.Close()
} catch (e2) {};
try
{
Oracle.Close();
} catch (e2) {};
var ForReading = 1;
var tsUnicode = -1;
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.OpenTextFile(udl, ForReading, true, tsUnicode);
var s = f.ReadLine();
s = f.ReadLine();
s = f.ReadLine(); //3e regel is interessant
// Provider=OraOLEDB.Oracle.1;Password=xxxxx;Persist Security Info=True;User ID=hcas;Data Source=fclt
var sa = s.split(";");
var data = ["UDL=" + fso.GetAbsolutePathName(udl)];
for (var i = 0; i < sa.length; i++)
{
var itma = sa[i].split("=");
if (itma.length == 2)
{
if (itma[0] == 'Provider' || itma[0] == 'User ID' || itma[0] == 'Data Source')
data.push(sa[i]);
}
}
f.Close();
result.error = e.description + "\n" + data.join("\n");
}
aFCLT.push(result);
}
result = { aFCLT: aFCLT,
retrieved: new Date().getTime(),
duration : new Date().getTime() - tmStartAll,
svnrevision: parseInt("$Revision$".replace(/\D/g,''))
};
var SHAinfo = findSHAinfo();
if (SHAinfo) // niet @Trunk
{
delete SHAinfo["ok"]; // die geloven we wel
result.SHAinfo = SHAinfo;
}
Response.Write(JSON.stringify(result));
%>