var cmn=require("../$common.js"), fs=require("fs"); var moddir; var accounts=require("./accounts.json"); // {: {q: "question", a: "answer"}} var questiondb={}; // {: {id, name, description, questions: []}} var questionsets={}; // {: []} var userlists={}; function uniqidstr(validp){ for(var len=6;;len++){ var str=""; for(var i=0;i0;i--){ j=Math.floor(Math.random()*(i+1)); v=a[i]; a[i]=a[j]; a[j]=v; } } module.exports=function(app,io,_moddir){ moddir=_moddir; try { questiondb=JSON.parse(fs.readFileSync(moddir+"/questiondb.json")); questionsets=JSON.parse(fs.readFileSync(moddir+"/questionsets.json")); userlists=JSON.parse(fs.readFileSync(moddir+"/userlists.json")); } catch(e){ console.log("error on reading zelfoverhoor db"); questiondb={}; questionsets={}; userlists={}; persistDB(); } app.get("/zelfoverhoor",function(req,res){ res.sendFile(moddir+"/index.html"); }); app.get("/zelfoverhoor/qs/:id",function(req,res){ var qset=questionsets[req.params.id]; if(qset==null){ res.status(404).sendFile(moddir+"/notfound.html"); return; } var list=[]; for(var i=0;i",req.params.id) .replace("/*###QUESTIONSET###*/",JSON.stringify(resset))); }); }); app.use(["/zelfoverhoor/docent","/zelfoverhoor/docent/*"],cmn.authgen(accounts)); app.get("/zelfoverhoor/docent",function(req,res){ fs.readFile(moddir+"/docent.html",function(err,data){ if(err)throw err; res.send(String(data) .replace(//g,req.authuser)); }); }); app.get("/zelfoverhoor/docent/sets",function(req,res){ if(userlists[req.authuser]==null){ userlists[req.authuser]=[]; } var ul=userlists[req.authuser]; var list=[]; for(var i=0;i