/* $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 replaceAll(str, find, replace) { function escapeRegExp(str) { return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); } return str.replace(new RegExp(escapeRegExp(find), 'g'), replace); } 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 } }