96 lines
2.9 KiB
JavaScript
96 lines
2.9 KiB
JavaScript
/*
|
|
$Id$
|
|
|
|
File: wsf_shared.js
|
|
Description: Hulpfuncties voor WSF bestanden
|
|
Context: bijvoorbeeld gen_import.wsf
|
|
Note: We herhalen hier de noodzakelijke functies van appl/shared/shared.inc
|
|
|
|
*/
|
|
|
|
function padout(number)
|
|
{ return (number < 10) ? "0" + number : number;
|
|
}
|
|
// Noot: altijd jaar vooraan, goed voor logfiles, niet bedoeld voor presentatie
|
|
function toDateString(jsDate)
|
|
{
|
|
return padout(jsDate.getFullYear()) + "-" + padout(jsDate.getMonth() + 1) + "-" + padout(jsDate.getDate());
|
|
}
|
|
function toDateTimeString(jsDate)
|
|
{
|
|
return toDateString(jsDate) + " "
|
|
+ padout(jsDate.getHours()) + ":" + padout(jsDate.getMinutes()) + ":" + padout(jsDate.getSeconds());
|
|
}
|
|
function __Log(s)
|
|
{
|
|
WScript.Echo(toDateTimeString(new Date) + " " + s);
|
|
}
|
|
function subfolderKey(pNiveau, pKey)
|
|
{
|
|
var keyStr = "0000000" + pKey;
|
|
var subfolder = pNiveau + keyStr.substr(keyStr.length - 7, 4) + "___/" + pNiveau + pKey;
|
|
return subfolder;
|
|
}
|
|
function Fill(i, c)
|
|
{ // Maakt een string met i tekens 'char'.
|
|
return new Array(i + 1).join(c);
|
|
}
|
|
|
|
function isOffline()
|
|
{
|
|
var fso = new ActiveXObject("Scripting.FileSystemObject");
|
|
if (fso.FileExists("../offline.html"))
|
|
return true;
|
|
if (fso.FileExists("../../offline.html"))
|
|
return true;
|
|
if (fso.FileExists("../../../temp/offline.html"))
|
|
return true;
|
|
|
|
return false;
|
|
}
|
|
|
|
function Connect2Oracle(modulename)
|
|
{
|
|
var udl = "../Oracle.udl";
|
|
var Oracle = new ActiveXObject("ADODB.Connection");
|
|
Oracle.Open('File Name='+udl);
|
|
if (modulename)
|
|
{ // Vind je terug in Toad/Session browser
|
|
var sql = "BEGIN DBMS_APPLICATION_INFO.SET_MODULE (" + safe.quoted_sql(modulename) + ", NULL); END;";
|
|
Oracle.Execute(sql);
|
|
}
|
|
sql = "BEGIN fac.initsession(NULL); END;"
|
|
Oracle.Execute(sql);
|
|
__Log("Session initiated: " + sql);
|
|
return Oracle;
|
|
}
|
|
|
|
String.prototype.format = function()
|
|
{
|
|
var formatted = this;
|
|
for (var i = 0; i < arguments.length; i++)
|
|
{
|
|
var regexp = new RegExp('\\{'+i+'\\}', 'gi');
|
|
formatted = formatted.replace(regexp, arguments[i]);
|
|
}
|
|
return formatted;
|
|
};
|
|
|
|
safe = { // extracted from shared.inc
|
|
quoted_sql: function (tekst, maxlen) // maxlen is optioneel
|
|
{
|
|
if (tekst == null)
|
|
return "NULL";
|
|
if (!maxlen)
|
|
maxlen = 4000;
|
|
tekst = tekst.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F]+/g, "?");
|
|
tekst = tekst.substr(0, maxlen);
|
|
return "'" + tekst.replace(/\'/g,"''") + "'"; // " syntax highlight correctie
|
|
},
|
|
filename: function (naam) // geen 'lage' karakters een geen (back)slashes, *,%,<,>, '"', ':', '?' and '|'
|
|
{
|
|
return naam.replace(/[\x00-\x1F|\/|\\|\*|\%\<\>\"\:\;\?\|]+/g, "_"); // " syntax highlight correctie
|
|
}
|
|
}
|
|
|