133 lines
4.0 KiB
Plaintext
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));
|
|
%>
|