HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/RImmers2/portal.photomenu.nl/wwwroot/debug.js
// ===================================================
// IMPORTANT: only for development
// Total.js - framework for Node.js
// https://www.totaljs.com
// ===================================================

const fs = require("fs");
const options = {};
var util = require('util');
const logPath = `./log/txtlog.txt`;
var logFile = fs.createWriteStream(logPath, { flags: 'w' });
  // Or 'w' to truncate the file every time the process starts.
var logStdout = process.stdout;

function sendEmail(fromaddress,toaddress,txtsubject,txthtml,bodytext) {
  var nodemailer = require('nodemailer');
  var smtpTransport = require('nodemailer-smtp-transport');
  var transporter = nodemailer.createTransport(smtpTransport({
   host: 'localhost',
   port: 25,
   secure: false
  }));
   
   transporter.sendMail({
   from: fromaddress,
   to: toaddress,
   subject: txtsubject,
   html: txthtml,
   text: bodytext
  }).catch(err => {
        console.log(err);
  });  
}

console.log = function () {
  var errMsg = util.format.apply(null, arguments);
  logFile.write(new Date().format('dd-MM-yyyy HH:mm:ss') + ' ' + errMsg + '\n');
  logStdout.write(errMsg + '\n');
  //sendEmail('info@photomenu.nl','info@photomenu.nl','Portal error',errMsg,errMsg);
}
console.error = console.log;

// options.ip = '127.0.0.1';
 options.port = process.env.PORT;
// options.config = { name: 'Total.js' };
// options.https = { key: fs.readFileSync('keys/agent2-key.pem'), cert: fs.readFileSync('keys/agent2-cert.pem')};
// options.sleep = 3000;
// options.debugger = 40894;

function debug(){require("total.js");var port=parseInt(process.argv[process.argv.length-1]);return isNaN(port)||(options||(options={}),options.port=port),port>0&&!options.port&&(options.port=port||8e3),options.https?F.https("debug",options):(F.http("debug",options),void(first?F.emit("debug-start"):F.emit("debug-restart")))}function app(){function onFilter(path,isDirectory){return!isDirectory&&REG_THEMES.test(path)?REG_THEMES_INDEX.test(path):!!isDirectory||REG_EXTENSION.test(path)}function onIncrease(clear){clear&&(clearTimeout(pidIncrease),speed=TIME),pidIncrease=setTimeout(function(){speed+=TIME,speed>4e3&&(speed=4e3),onIncrease()},12e4)}function onComplete(f){fs.readdir(directory,function(err,arr){for(var length=arr.length,i=0;i<length;i++){var name=arr[i];"debug.js"!==name&&REG_FILES.test(name)&&f.push(name)}length=f.length;for(var i=0;i<length;i++){var name=f[i];void 0===files[name]&&(files[name]=isLoaded?0:null)}refresh()})}function refresh(){for(var filenames=Object.keys(files),length=filenames.length,i=0;i<length;i++){var filename=filenames[i];!function(filename){async.await(function(next){fs.stat(filename,function(err,stat){var stamp="--- # --- [ "+(new Date).format("yyyy-MM-dd HH:mm:ss")+" ] ";if(err)delete files[filename],changes.push(stamp.replace("#","REM")+prefix+filename.replace(directory,"")),force=!0;else{var ticks=stat.mtime.getTime();null!=files[filename]&&files[filename]!==ticks&&(changes.push(stamp.replace("#",0===files[filename]?"ADD":"UPD")+prefix+filename.replace(directory,"")),force=!0),files[filename]=ticks}next()})})}(filename)}async.complete(function(){if(isLoaded=!0,setTimeout(refresh_directory,speed),onIncrease(),1===status&&force){onIncrease(!0),restart();for(var length=changes.length,i=0;i<length;i++)console.log(changes[i]);changes=[],force=!1}})}function refresh_directory(){utils.ls(directories,onComplete,onFilter)}function restart(){if(null!==app){try{isSkip=!0,process.kill(app.pid)}catch(err){}app=null}var arr=process.argv,port=arr.pop();if(process.execArgv.indexOf("--debug")!==-1){var key="--debug="+(options.debugger||40894);process.execArgv.indexOf(key)===-1&&process.execArgv.push(key)}first?first=!1:arr.push("restart"),arr.push("debugging"),arr.push(port),app=fork(path.join(directory,"debug.js"),arr),app.on("message",function(msg){"eaddrinuse"===msg&&process.exit(1)}),app.on("exit",function(){return isSkip===!1?(app=null,void process.exit()):(isSkip=!1,void(255===status&&(app=null)))}),0===status&&app.send("debugging"),status=1}function end(){if(!arguments.callee.isEnd){if(arguments.callee.isEnd=!0,fs.unlink(pid,noop),null===app)return void process.exit(0);isSkip=!0,process.kill(app.pid),app=null,process.exit(0)}}function noop(){}const fork=require("child_process").fork,utils=require("total.js/utils"),directories=[directory+"/controllers",directory+"/definitions",directory+"/isomorphic",directory+"/modules",directory+"/resources",directory+"/models",directory+"/source",directory+"/workers",directory+"/packages",directory+"/themes"],async=new utils.Async,prefix="---------------------------------> ";var pidIncrease,files={},force=!1,changes=[],app=null,status=0,pid="",pidInterval=null,isLoaded=!1,isSkip=!1,speed=TIME;process.on("SIGTERM",end),process.on("SIGINT",end),process.on("exit",end),process.pid>0&&(console.log(prefix+"PID: "+process.pid+" (v"+VERSION+")"),pid=path.join(directory,"debug.pid"),fs.writeFileSync(pid,process.pid),pidInterval=setInterval(function(){fs.exists(pid,function(e){e||(fs.unlink(pid,noop),null!==app&&(isSkip=!0,process.kill(app.pid)),process.exit(0))})},2e3)),restart(),refresh_directory()}function run(){if(isDebugging)return void debug();var filename=path.join(directory,"debug.pid");return fs.existsSync(filename)?(fs.unlinkSync(filename),void setTimeout(function(){app()},3e3)):void app()}const isDebugging=process.argv.indexOf("debugging")!==-1,directory=process.cwd(),path=require("path"),VERSION="6.0",TIME=2e3,REG_FILES=/config\-debug|config\-release|config|versions|sitemap|dependencies|\.js|\.resource/i,REG_THEMES=/\/themes\//i,REG_THEMES_INDEX=/themes(\/|\\)?[a-z0-9_.-]+(\/|\\)?index\.js/i,REG_EXTENSION=/\.(js|resource|package)/i;var first=process.argv.indexOf("restart")===-1;process.on("uncaughtException",function(e){e.toString().indexOf("ESRCH")==-1&&console.log(e)}),run();