Merge 5.3.1 Gold C patches

svn path=/Website/trunk/; revision=18165
This commit is contained in:
Jos Groot Lipman
2013-06-13 10:21:34 +00:00
parent 2368985149
commit 990431765d
15 changed files with 133 additions and 58 deletions

View File

@@ -389,6 +389,13 @@ function myContourProcessor(cHandle)
function myIMGProcessor(IMGHandle) function myIMGProcessor(IMGHandle)
{ {
IMGHandle.setAntialias(S("fg_antialias")); IMGHandle.setAntialias(S("fg_antialias"));
// De meeste gefilterde lagen zitten niet eens meer in de temp-dwf
// De SLNK contour lagen zitten er echter altijd (sinds ergens tussen DLL 2.70 en 2.84)
// in dus die verbergen we hier
if (pContmode<0)
IMGHandle.SetLayers(myFilterLayer(pDiscs_arr));
var i; var i;
for (i = 0; i< S("fg_translateprintcolor").length; i++) for (i = 0; i< S("fg_translateprintcolor").length; i++)
{ {

View File

@@ -356,9 +356,7 @@ else { // In alle andere gevallen, dus normaliter (bij gevulde oRs) zijn dat nog
if ( kolomnaam.substring(0,7).toUpperCase() == "HIDE_F_" if ( kolomnaam.substring(0,7).toUpperCase() == "HIDE_F_"
||kolomnaam.substring(0,7).toUpperCase() == "FCLT_X_" ||kolomnaam.substring(0,7).toUpperCase() == "FCLT_X_"
||kolomnaam.substring(0,8).toUpperCase() == "FCLT_3D_" ||kolomnaam.substring(0,8).toUpperCase() == "FCLT_3D_"
||kolomnaam == "FCLT_KEY" ||kolomnaam == "FCLT_KEY")
||(kolomnaam.substring(0,5).toUpperCase() == "HTML_"
&& (l_print_table==1 || l_excel ==1)))
{ {
continue; // niet tonen, gewone FCLT_F_ .... blijven continue; // niet tonen, gewone FCLT_F_ .... blijven
} }

View File

@@ -128,7 +128,8 @@ FcltMgr =
if (href.indexOf("#" > 0)) if (href.indexOf("#" > 0))
href = "#" + href.split("#")[1]; href = "#" + href.split("#")[1];
var panel = $(href); var panel = $(href);
if (panel.length) // hmac beschermde pagina's zijn toch al heel snel invalid. Silent ignore.
if (panel.length && panel[0].getAttribute("reusesrc").indexOf("&hmac=") < 0)
{ {
autoopenurl.push(panel[0].getAttribute("reusesrc")); autoopenurl.push(panel[0].getAttribute("reusesrc"));
autoopenttl.push(ttl); autoopenttl.push(ttl);
@@ -339,7 +340,7 @@ FcltMgr =
{//alert("Removing"); {//alert("Removing");
var $frm = $("#" + frmid) var $frm = $("#" + frmid)
$frm.attr('src', "../shared/empty.html"); // lijkt geheugenlek IE9 te voorkomen $frm.attr('src', "../shared/empty.html"); // lijkt geheugenlek IE9 te voorkomen
$frm.remove(); // $frm.remove(); RWSN#26802: crasht IE8 uiteindelijk te veel
}, },
// De timeout vooromt vreemde IE9 problemen waarbij iface.button.enable klaagt dat iface niet bestaat. // De timeout vooromt vreemde IE9 problemen waarbij iface.button.enable klaagt dat iface niet bestaat.
@@ -349,7 +350,7 @@ FcltMgr =
// Verder: de nieuwe Id om te voorkomen dat de verkeerde *volgende* dialoog gesloten worden! (opdr_close==>mld_close) // Verder: de nieuwe Id om te voorkomen dat de verkeerde *volgende* dialoog gesloten worden! (opdr_close==>mld_close)
_removeIframe: function($frm) _removeIframe: function($frm)
{ {
var newid = "DELETE" + (new Date).getTime(); var newid = "DELETE" + (new Date).getTime() + Math.random();
$frm.css("display", "none"); $frm.css("display", "none");
$frm.attr("id", newid); $frm.attr("id", newid);
setTimeout("FcltMgr._doRemove('" + newid + "')", 1100); setTimeout("FcltMgr._doRemove('" + newid + "')", 1100);

View File

@@ -183,8 +183,9 @@ mld = {setmeldingstatus:
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
var nrOpen = oRs("nrOpen").Value; var nrOpen = oRs("nrOpen").Value;
if (nrOpen == 0) <<<<<<< .mine if (nrOpen == 0)
{ // Status is nu 99 (Niet opgelost). ======= if (nrOpen == 0)
>>>>>>> .theirs { // Status is nu 99 (Niet opgelost).
// Als de laatste opdrachten een offerte is dan wordt de status 991 of 992 (Offerte acceptatie of Offerte geaccepteerd). // Als de laatste opdrachten een offerte is dan wordt de status 991 of 992 (Offerte acceptatie of Offerte geaccepteerd).
// De status is dan afhankelijk van het aantal geaccepteerde offertes. // De status is dan afhankelijk van het aantal geaccepteerde offertes.
result = 99; result = 99;
@@ -198,7 +199,31 @@ mld = {setmeldingstatus:
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
var lastOpdrIsOff = oRs("mld_typeopdr_isofferte").Value == 1; var lastOpdrIsOff = oRs("mld_typeopdr_isofferte").Value == 1;
if (lastOpdrIsOff) if (lastOpdrIsOff)
{ // Aantal geaccepteerde offertes { // 99 = Niet opgelost
// 991 = Offerte acceptatie
// 992 = Offerte geaccepteerd
// Voorbeeld status van de melding met twee offerte opdrachten:
// Statussen
// Offerte 1: 6 6 2 2
// Offerte 2: 6 9 9 2
// nrToAccept: 2 1 0 0
// nrAccept: 0 1 1 0
// Melding status: 991 992 992 99
// Aantal te accepteren offertes
sql = "SELECT COUNT(o.mld_statusopdr_key) nrToAccept"
+ " FROM mld_opdr o"
+ " WHERE mld_melding_key = " + pmld_key
+ " AND o.mld_statusopdr_key = 6"
+ " AND o.mld_opdr_key > COALESCE((SELECT MAX (o1.mld_opdr_key)"
+ " FROM mld_opdr o1"
+ " , mld_typeopdr mo1"
+ " WHERE o1.mld_typeopdr_key = mo1.mld_typeopdr_key"
+ " AND mo1.mld_typeopdr_isofferte = 0"
+ " AND o1.mld_melding_key = " + pmld_key + "), 0)"
oRs = Oracle.Execute(sql);
var nrToAccept = oRs("nrToAccept").Value;
// Aantal geaccepteerde offertes
sql = "SELECT COUNT(o.mld_statusopdr_key) nrAccept" sql = "SELECT COUNT(o.mld_statusopdr_key) nrAccept"
+ " FROM mld_opdr o" + " FROM mld_opdr o"
+ " WHERE mld_melding_key = " + pmld_key + " WHERE mld_melding_key = " + pmld_key
@@ -211,7 +236,9 @@ mld = {setmeldingstatus:
+ " AND o1.mld_melding_key = " + pmld_key + "), 0)" + " AND o1.mld_melding_key = " + pmld_key + "), 0)"
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
var nrAccept = oRs("nrAccept").Value; var nrAccept = oRs("nrAccept").Value;
result = nrAccept == 0? 991 : 992; // Als een offerte is geaccepteerd dan status 992.
// Als er geen offerte is geaccepteerd dan kijken of er nog offerte afgemeld zijn die geaccepteerd/afgewezen kunnen worden, dan status 991 anders 99
result = (nrAccept == 1? 992 : (nrToAccept > 0? 991 : 99));
} }
} }
} }
@@ -292,7 +319,10 @@ mld = {setmeldingstatus:
var sql=""; var sql="";
if (mldstatus_str) if (mldstatus_str)
{ {
// Aantal openstaande opdrachten of offertes (opdracht of offerte doet er niet toe). // Aantal openstaande opdrachten of offertes
// Openstaande opdrachten hebben de status 10, 3, 4 of 5.
// Openstaande offertes hebben de status 10, 3, 4, 5 of 6.
// Offerte Acceptatie: offerte met een opdracht status 6 ook als open zien.
// Openstaande opdrachten en offertes hebben de status 10, 3, 4, 5 of 6 // Openstaande opdrachten en offertes hebben de status 10, 3, 4, 5 of 6
// Openstaande offertes hebben de status 10, 3, 4, 5 of 6 als // Openstaande offertes hebben de status 10, 3, 4, 5 of 6 als
// Offerte Acceptatie (offerte met een opdracht status 6) ook als open zien // Offerte Acceptatie (offerte met een opdracht status 6) ook als open zien
@@ -307,22 +337,43 @@ mld = {setmeldingstatus:
+ " AND o.mld_statusopdr_key NOT IN (1, 2, 6, 7, 9))" + " AND o.mld_statusopdr_key NOT IN (1, 2, 6, 7, 9))"
+ " END"; + " END";
// Aantal niet afgemelde offertes. // Aantal offertes niet in de status Afgewezen(1), Afgekeurd(2), Afgemeld(6) of Verwerkt(7).
// a) Aantal offertes die geen status 2 en 6 hebben (Er zijn geen opdrachten) => AND mld_opdr_key > 0 // Omdat de sql_offertes_afgerond en sql_offertes_toaccept altijd worden gebruikt
// b) Aantal offertes/opdrachten die geen status 2 en 6 hebben (Er zijn opdrachten van eerdere offertes) => AND mld_opdr_key > MAX(o1.mld_opdr_key) // in combinatie met "AND sql_opdr_be_open = 0" en/of "AND m.mld_melding_status = 4" is "o.mld_statusopdr_key = 9"
var sql_offertes_not_afgemeld = " (SELECT COUNT(o.mld_statusopdr_key)" // ook mogelijk i.p.v. o.mld_statusopdr_key NOT IN (1, 2, 6, 7). De statusen voor open opdrachten vallen er dan toch buiten.
+ " FROM mld_opdr o" // Een offerte die afgemeld, afgekeurd, afgewezen of verwerkt wordt, veranderd de status van de melding niet.
+ " , mld_typeopdr mo" // Een offerte die afgerond(9) wordt veranderd de status van de melding van "Offerte acceptatie" naar "Offerte geaccepteerd".
+ " WHERE o.mld_typeopdr_key = mo.mld_typeopdr_key" // a) Aantal afgeronde(9) offertes (die niet status 1, 2, 6 en/of 7 hebben)
+ " AND o.mld_melding_key = m.mld_melding_key" // (Er zijn geen opdrachten) => AND mld_opdr_key > 0
+ " AND mo.mld_typeopdr_isofferte = 1" // b) Aantal afgeronde(9) offertes/opdrachten (die geen status 1, 2, 6 en/of 7 hebben)
+ " AND o.mld_statusopdr_key NOT IN (2, 6)" // (Er zijn opdrachten van eerdere offertes) => AND mld_opdr_key > MAX(o1.mld_opdr_key)
+ " AND o.mld_opdr_key > COALESCE ((SELECT MAX(o1.mld_opdr_key)" var sql_offertes_afgerond = " (SELECT COUNT(o.mld_statusopdr_key)"
+ " FROM mld_opdr o1" + " FROM mld_opdr o"
+ " , mld_typeopdr mo1" + " , mld_typeopdr mo"
+ " WHERE o1.mld_typeopdr_key = mo1.mld_typeopdr_key" + " WHERE o.mld_typeopdr_key = mo.mld_typeopdr_key"
+ " AND mo1.mld_typeopdr_isofferte = 0" + " AND o.mld_melding_key = m.mld_melding_key"
+ " AND o1.mld_melding_key = m.mld_melding_key), 0))"; + " AND mo.mld_typeopdr_isofferte = 1"
+ " AND o.mld_statusopdr_key = 9" // AND o.mld_statusopdr_key NOT IN (1, 2, 6, 7)
+ " AND o.mld_opdr_key > COALESCE ((SELECT MAX(o1.mld_opdr_key)"
+ " FROM mld_opdr o1"
+ " , mld_typeopdr mo1"
+ " WHERE o1.mld_typeopdr_key = mo1.mld_typeopdr_key"
+ " AND mo1.mld_typeopdr_isofferte = 0"
+ " AND o1.mld_melding_key = m.mld_melding_key), 0))";
// Als alle offertes zijn afgewezen of afgekeurd en er zijn geen te accepteren offertes meer dan is de melding status "Niet opgelost"
var sql_offertes_toaccept = " (SELECT COUNT(o.mld_statusopdr_key)"
+ " FROM mld_opdr o"
+ " , mld_typeopdr mo"
+ " WHERE o.mld_typeopdr_key = mo.mld_typeopdr_key"
+ " AND o.mld_melding_key = m.mld_melding_key"
+ " AND mo.mld_typeopdr_isofferte = 1"
+ " AND o.mld_statusopdr_key = 6" // AND o.mld_statusopdr_key NOT IN (1, 2, 6, 7)
+ " AND o.mld_opdr_key > COALESCE ((SELECT MAX(o1.mld_opdr_key)"
+ " FROM mld_opdr o1"
+ " , mld_typeopdr mo1"
+ " WHERE o1.mld_typeopdr_key = mo1.mld_typeopdr_key"
+ " AND mo1.mld_typeopdr_isofferte = 0"
+ " AND o1.mld_melding_key = m.mld_melding_key), 0))";
// Is de laatste opdracht bij de melding een offerte? // Is de laatste opdracht bij de melding een offerte?
var sql_last_is_offertes = " COALESCE((SELECT 1" var sql_last_is_offertes = " COALESCE((SELECT 1"
@@ -379,7 +430,7 @@ mld = {setmeldingstatus:
// En daarnaast geldt: // En daarnaast geldt:
// Opdrachten: De laatste opdracht is geen offerte. // Opdrachten: De laatste opdracht is geen offerte.
// Offertes: Offertes met niet afgemelde (6) offertes niet tonen (laatste opdracht is een offerte). // Offertes: Offertes met niet afgemelde (6) offertes niet tonen (laatste opdracht is een offerte).
+ " OR ((" + sql_opdr_be_open + " = 0 AND (" + sql_offertes_not_afgemeld + " != 0 OR " + sql_last_is_offertes + " = 0))" + " OR ((" + sql_opdr_be_open + " = 0 AND (" + sql_offertes_afgerond + " != 0 OR " + sql_offertes_toaccept + " = 0 OR " + sql_last_is_offertes + " = 0))"
+ " AND (m.mld_melding_status = 4)))"; + " AND (m.mld_melding_status = 4)))";
} }
else else
@@ -387,7 +438,7 @@ mld = {setmeldingstatus:
// En daarnaast geldt: // En daarnaast geldt:
// Opdrachten: De laatste opdracht is geen offerte. // Opdrachten: De laatste opdracht is geen offerte.
// Offertes: Offertes met niet afgemelde (6) offertes niet tonen (laatste opdracht is een offerte). // Offertes: Offertes met niet afgemelde (6) offertes niet tonen (laatste opdracht is een offerte).
sql = " AND (" + sql_opdr_be_open + " = 0 AND (" + sql_offertes_not_afgemeld + " != 0 OR " + sql_last_is_offertes + " = 0))" sql = " AND (" + sql_opdr_be_open + " = 0 AND (" + sql_offertes_afgerond + " != 0 OR " + sql_offertes_toaccept + " = 0 OR " + sql_last_is_offertes + " = 0))"
+ " AND (m.mld_melding_status = 4)"; + " AND (m.mld_melding_status = 4)";
} }
} }
@@ -406,14 +457,14 @@ mld = {setmeldingstatus:
// Voor meldingstatus 4 geldt. // Voor meldingstatus 4 geldt.
// Opdrachten: Er zijn geen opdrachten. // Opdrachten: Er zijn geen opdrachten.
// Offertes: Alle offertes staan ter acceptatie (zijn afgemeld (6)) (laatste opdracht is een offerte) // Offertes: Alle offertes staan ter acceptatie (zijn afgemeld (6)) (laatste opdracht is een offerte)
+ " OR ((" + sql_opdr_be_open + " = -1 OR (" + sql_offertes_not_afgemeld + " = 0 AND " + sql_last_is_offertes + " = 1))" + " OR ((" + sql_opdr_be_open + " = -1 OR (" + sql_offertes_afgerond + " = 0 AND " + sql_offertes_toaccept + " > 0 AND " + sql_last_is_offertes + " = 1))"
+ " AND (m.mld_melding_status = 4)))"; + " AND (m.mld_melding_status = 4)))";
} }
else else
{ // Voor meldingstatus 4 geldt. { // Voor meldingstatus 4 geldt.
// Opdrachten: Er zijn geen opdrachten. // Opdrachten: Er zijn geen opdrachten.
// Offertes: Alle offertes staan ter acceptatie (zijn afgemeld (6)) (laatste opdracht is een offerte) // Offertes: Alle offertes staan ter acceptatie (zijn afgemeld (6)) (laatste opdracht is een offerte)
sql = " AND (" + sql_opdr_be_open + " = -1 OR (" + sql_offertes_not_afgemeld + " = 0 AND " + sql_last_is_offertes + " = 1))" sql = " AND ((" + sql_opdr_be_open + " = -1 OR (" + sql_offertes_afgerond + " = 0 AND " + sql_offertes_toaccept + " > 0 AND " + sql_last_is_offertes + " = 1))"
+ " AND (m.mld_melding_status = 4))"; + " AND (m.mld_melding_status = 4))";
} }
} }

View File

@@ -889,6 +889,7 @@ function recalcEinddatum()
var startwerkdag_uur = Math.floor(startwerkdag); var startwerkdag_uur = Math.floor(startwerkdag);
var startwerkdag_min = (startwerkdag - Math.floor(startwerkdag)) * 60; var startwerkdag_min = (startwerkdag - Math.floor(startwerkdag)) * 60;
var startdatebegin = new Date(startdate.getFullYear(), startdate.getMonth(), startdate.getDate(), startwerkdag_uur, startwerkdag_min); var startdatebegin = new Date(startdate.getFullYear(), startdate.getMonth(), startdate.getDate(), startwerkdag_uur, startwerkdag_min);
var sysdate = new Date();
if (stdm_info.startdatum == 1) if (stdm_info.startdatum == 1)
{ // Situatie 1: Einddatum = TRUNC(startdatum) + 8:00 uur + SLA { // Situatie 1: Einddatum = TRUNC(startdatum) + 8:00 uur + SLA
@@ -896,7 +897,8 @@ function recalcEinddatum()
// Echter als de startdatum vandaag is moet wel voor de begintijd de huidige sysdate tijd genomen worden tijdens het opslaan. // Echter als de startdatum vandaag is moet wel voor de begintijd de huidige sysdate tijd genomen worden tijdens het opslaan.
// Anders geldt de acceptatietijd (in uren) onterecht al vanaf het begin van de dag. // Anders geldt de acceptatietijd (in uren) onterecht al vanaf het begin van de dag.
// Voor het bepalen/berekenen van de einddatum laten de startdatum gewoon aan het begin van de dag beginnen. // Voor het bepalen/berekenen van de einddatum laten de startdatum gewoon aan het begin van de dag beginnen.
var startdatum = startdatebegin.getTime(); // Begin werkdag var startdate_is_today = (startdate.midnight().getTime() == sysdate.midnight().getTime());
startdatum = (startdate_is_today? sysdate.getTime() : startdatebegin.getTime());
} }
else else
{ // Situatie 2: Einddatum = COALESCE(huidige waarde, sysdate) + SLA { // Situatie 2: Einddatum = COALESCE(huidige waarde, sysdate) + SLA

View File

@@ -236,9 +236,7 @@ if (savemode)
// LET OP!!!: Als setting "mld_disc_params_startdatum" is gezet dan wordt eigenlijk verondersteld dat de SLA in dagen is en niet in uren. // LET OP!!!: Als setting "mld_disc_params_startdatum" is gezet dan wordt eigenlijk verondersteld dat de SLA in dagen is en niet in uren.
// Echter als de startdatum vandaag is moet wel voor de begintijd de huidige sysdate tijd genomen worden tijdens het opslaan. // Echter als de startdatum vandaag is moet wel voor de begintijd de huidige sysdate tijd genomen worden tijdens het opslaan.
// Anders geldt de acceptatietijd (in uren) onterecht al vanaf het begin van de dag. // Anders geldt de acceptatietijd (in uren) onterecht al vanaf het begin van de dag.
var startdate_is_today = (startdate.getFullYear() == sysdate.getFullYear() && var startdate_is_today = (startdate.midnight().getTime() == sysdate.midnight().getTime());
startdate.getMonth() == sysdate.getMonth() &&
startdate.getDate() == sysdate.getDate());
startdate = (startdate_is_today? sysdate : startdatebegin); startdate = (startdate_is_today? sysdate : startdatebegin);
fields.push({ dbs: "mld_melding_datum", typ: "datetime", val: startdate, track: L("lcl_mld_startdate") }); // Begin werkdag fields.push({ dbs: "mld_melding_datum", typ: "datetime", val: startdate, track: L("lcl_mld_startdate") }); // Begin werkdag
} }

View File

@@ -40,7 +40,7 @@ var sql = "SELECT prs_perslid_key, "
+ " prs_perslid_flags" + " prs_perslid_flags"
+ " FROM prs_v_aanwezigperslid" + " FROM prs_v_aanwezigperslid"
+ " WHERE (UPPER(prs_perslid_email) =" + safe.quoted_sql_upper(email) + " OR " + " WHERE (UPPER(prs_perslid_email) =" + safe.quoted_sql_upper(email) + " OR "
+ " UPPER(prs_perslid_oslogin) = " + safe.quoted_sql_upper(email) + ")"; + " UPPER(prs_perslid_oslogin) = " + safe.quoted_sql_upper(email, 30) + ")";
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
if (!oRs.eof) if (!oRs.eof)
{ {
@@ -53,7 +53,7 @@ if (!oRs.eof)
{ {
var sql = "DELETE prs_v_aanwezigperslid" var sql = "DELETE prs_v_aanwezigperslid"
+ " WHERE (UPPER(prs_perslid_email) =" + safe.quoted_sql_upper(email) + " OR " + " WHERE (UPPER(prs_perslid_email) =" + safe.quoted_sql_upper(email) + " OR "
+ " UPPER(prs_perslid_oslogin) = " + safe.quoted_sql_upper(email) + ")" + " UPPER(prs_perslid_oslogin) = " + safe.quoted_sql_upper(email, 30) + ")"
+ " AND BITAND(prs_perslid_flags, 2) = 2"; + " AND BITAND(prs_perslid_flags, 2) = 2";
Oracle.Execute(sql); // Cascadeert ook de bookmark weg trouwens Oracle.Execute(sql); // Cascadeert ook de bookmark weg trouwens
} }
@@ -91,7 +91,7 @@ if (S("self_register_groep_key") > 0)
// else komt die _DEFAULT groep wel zodra we prs_perslid_oslogin zetten // else komt die _DEFAULT groep wel zodra we prs_perslid_oslogin zetten
sql = "UPDATE prs_perslid" sql = "UPDATE prs_perslid"
+ " SET prs_perslid_oslogin = " + safe.quoted_sql(email) + " SET prs_perslid_oslogin = " + safe.quoted_sql(email, 30)
+ " WHERE prs_perslid_key = " + prs_key; + " WHERE prs_perslid_key = " + prs_key;
var err = Oracle.Execute(sql, true); var err = Oracle.Execute(sql, true);
if (err.friendlyMsg) if (err.friendlyMsg)

View File

@@ -48,7 +48,7 @@ if (S("qv_ticket_auth")) // http://qv.dijkoraad.local/QvAjaxZfc/FcltGetTicket.as
%> %>
<div id="result"> <div id="result">
<iframe width="100%" height="800px" <iframe style="min-height:600px; width:100%"
src="<%= safe.htmlattr(scmd) %>" src="<%= safe.htmlattr(scmd) %>"
name="workFrame" id="workFrame" name="workFrame" id="workFrame"
onload="FcltMgr.iframeLoaded(this)" onload="FcltMgr.iframeLoaded(this)"

View File

@@ -60,6 +60,7 @@ Response.Expires = this.FCLTEXPIRES||-1; // Do not cache our ASP files
settings.loadSET(); settings.loadSET();
device.init(); device.init();
var overrule_lcl = {};
function tryOverrule(path) function tryOverrule(path)
{ {
var fso = Server.CreateObject("Scripting.FileSystemObject"); var fso = Server.CreateObject("Scripting.FileSystemObject");
@@ -76,8 +77,7 @@ function tryOverrule(path)
}, },
LCL: function (naam, waarde) LCL: function (naam, waarde)
{ {
if (cache_lcls[naam]) overrule_lcl[naam] = waarde;
cache_lcls[naam].txt = waarde;
}, },
APPLICATION: function (naam, waarde) APPLICATION: function (naam, waarde)
{ {

View File

@@ -155,8 +155,8 @@ function tryLogin(username, wachtwoord, mobile) {
logins.push(" upper(prs_perslid_email) = " + safe.quoted_sql_upper(username)); logins.push(" upper(prs_perslid_email) = " + safe.quoted_sql_upper(username));
else else
{ {
logins.push(" prs_perslid_oslogin = " + safe.quoted_sql_upper(username)); logins.push(" prs_perslid_oslogin = " + safe.quoted_sql_upper(username, 30));
logins.push(" prs_perslid_oslogin2 = " + safe.quoted_sql_upper(username)); logins.push(" prs_perslid_oslogin2 = " + safe.quoted_sql_upper(username, 30));
} }
var sql = " SELECT prs_perslid_key, " var sql = " SELECT prs_perslid_key, "
+ " prs_perslid_flags, " + " prs_perslid_flags, "

View File

@@ -758,7 +758,10 @@ var protectQS =
{ {
createTime.setMinutes(createTime.getMinutes() + params.expire); createTime.setMinutes(createTime.getMinutes() + params.expire);
__Log("HMAC: Te laat: je had voor {0} moeten zijn.".format(toDateTimeString(createTime, true))); __Log("HMAC: Te laat: je had voor {0} moeten zijn.".format(toDateTimeString(createTime, true)));
INTERNAL_ERROR_HMAC_LATE; if (params.errorpage)
Response.Redirect(params.errorpage);
else
INTERNAL_ERROR_HMAC_LATE;
} }
var indexHmac = String(Request.QueryString).indexOf("&hmac="); var indexHmac = String(Request.QueryString).indexOf("&hmac=");
@@ -794,7 +797,10 @@ var protectQS =
{ {
__Log("HMAC: " + hmacArr[1]); __Log("HMAC: " + hmacArr[1]);
__Log("SHOULD: " + should_hmac); __Log("SHOULD: " + should_hmac);
INTERNAL_ERROR_HMAC_TAMPERING; if (params.errorpage)
Response.Redirect(params.errorpage);
else
INTERNAL_ERROR_HMAC_TAMPERING;
} }
} }
} }

View File

@@ -9,7 +9,7 @@
Note: Sinds 5.2.2 zitten de settings in de database Note: Sinds 5.2.2 zitten de settings in de database
*/ */
var FCLTVersion="5.3.1b"; // software versie var FCLTVersion="5.3.1c"; // software versie
var FCLTMinDatabaseSchema="18"; var FCLTMinDatabaseSchema="18";
var custpath = rooturl + "/cust/" + customerId; // path to customer files var custpath = rooturl + "/cust/" + customerId; // path to customer files

View File

@@ -1150,17 +1150,17 @@ END:VCALENDAR
<b><xsl:value-of select="//lcl/FAC/aanvrager"/>:</b> <b><xsl:value-of select="//lcl/FAC/aanvrager"/>:</b>
</td> </td>
<td align="left" width="34%"> <td align="left" width="34%">
<xsl:value-of select="melder/naam_full"/> <xsl:value-of select="voor/naam_full"/>
</td> </td>
<td align="right" width="16%"> <td align="right" width="16%">
<b><xsl:value-of select="//lcl/FAC/telefoon"/>:</b> <b><xsl:value-of select="//lcl/FAC/telefoon"/>:</b>
</td> </td>
<td align="left" width="34%"> <td align="left" width="34%">
<xsl:if test="melder/telefoonnr=''">-</xsl:if> <xsl:if test="voor/telefoonnr=''">-</xsl:if>
<xsl:value-of select="melder/telefoonnr"/> <xsl:value-of select="voor/telefoonnr"/>
</td> </td>
</tr> </tr>
<xsl:if test="string(voor/naam_full)!=string(melder/naam_full)"> <xsl:if test="string(voor/naam_full)!=string(voor/naam_full)">
<tr> <tr>
<td align="right" width="16%"><b><xsl:value-of select="//lcl/MLD/meldingvoor"/>:</b></td> <td align="right" width="16%"><b><xsl:value-of select="//lcl/MLD/meldingvoor"/>:</b></td>
<td align="left" width="34%"><xsl:value-of select="voor/naam_full"/></td> <td align="left" width="34%"><xsl:value-of select="voor/naam_full"/></td>
@@ -1171,14 +1171,14 @@ END:VCALENDAR
<b><xsl:value-of select="//lcl/FAC/locatie"/>:</b> <b><xsl:value-of select="//lcl/FAC/locatie"/>:</b>
</td> </td>
<td align="left"> <td align="left">
<xsl:value-of select="melder/werkplek/plaats/regio/district/locatie/code"/>&#xA0; <xsl:value-of select="voor/werkplek/plaats/regio/district/locatie/code"/>&#xA0;
<xsl:if test="melder/werkplek/plaats/regio/district/locatie/omschrijving!=''">(<xsl:value-of select="melder/werkplek/plaats/regio/district/locatie/omschrijving"/>)</xsl:if> <xsl:if test="voor/werkplek/plaats/regio/district/locatie/omschrijving!=''">(<xsl:value-of select="voor/werkplek/plaats/regio/district/locatie/omschrijving"/>)</xsl:if>
</td> </td>
<td align="right" valign="top"> <td align="right" valign="top">
<b><xsl:value-of select="//lcl/FAC/afdeling"/>:</b> <b><xsl:value-of select="//lcl/FAC/afdeling"/>:</b>
</td> </td>
<td align="left"> <td align="left">
<xsl:value-of select="melder/afdeling/omschrijving"/> <xsl:value-of select="voor/afdeling/omschrijving"/>
</td> </td>
</tr> </tr>
<tr> <tr>
@@ -1186,9 +1186,9 @@ END:VCALENDAR
<b><xsl:value-of select="//lcl/FAC/werkplek"/>:</b> <b><xsl:value-of select="//lcl/FAC/werkplek"/>:</b>
</td> </td>
<td align="left"> <td align="left">
<xsl:value-of select="melder/werkplek/plaats/regio/district/locatie/gebouw/code"/>-<xsl:value-of select="melder/werkplek/plaats/regio/district/locatie/gebouw/naam"/><br/> <xsl:value-of select="voor/werkplek/plaats/regio/district/locatie/gebouw/code"/>-<xsl:value-of select="voor/werkplek/plaats/regio/district/locatie/gebouw/naam"/><br/>
<xsl:value-of select="melder/werkplek/plaats/regio/district/locatie/gebouw/verdieping/code"/>.<xsl:value-of select="melder/werkplek/plaats/regio/district/locatie/gebouw/verdieping/ruimte/nr"/>&#xA0; <xsl:value-of select="voor/werkplek/plaats/regio/district/locatie/gebouw/verdieping/code"/>.<xsl:value-of select="voor/werkplek/plaats/regio/district/locatie/gebouw/verdieping/ruimte/nr"/>&#xA0;
<xsl:if test="melder/werkplek/plaats/regio/district/locatie/gebouw/verdieping/ruimte/omschrijving!=''">(<xsl:value-of select="melder/werkplek/plaats/regio/district/locatie/gebouw/verdieping/ruimte/omschrijving"/>)</xsl:if> <xsl:if test="voor/werkplek/plaats/regio/district/locatie/gebouw/verdieping/ruimte/omschrijving!=''">(<xsl:value-of select="voor/werkplek/plaats/regio/district/locatie/gebouw/verdieping/ruimte/omschrijving"/>)</xsl:if>
</td> </td>
<td colspan="2"/> <td colspan="2"/>
</tr> </tr>
@@ -1372,7 +1372,7 @@ END:VCALENDAR
</xsl:template> </xsl:template>
<xsl:template match="melding" mode="kto"> <xsl:template match="melding" mode="kto">
<br/>Geachte heer/mevrouw <xsl:value-of select="melder/tussenvoegsel"/>&#xA0;<xsl:value-of select="melder/naam"/>,<br/><br/> <br/>Geachte heer/mevrouw <xsl:value-of select="voor/tussenvoegsel"/>&#xA0;<xsl:value-of select="voor/naam"/>,<br/><br/>
<br/>De melding <xsl:value-of select="discipline/srtdiscipline/prefix"/><xsl:value-of select="key"/> (<xsl:value-of select="stdmelding/omschrijving"/>) is onlangs verwerkt. <br/>De melding <xsl:value-of select="discipline/srtdiscipline/prefix"/><xsl:value-of select="key"/> (<xsl:value-of select="stdmelding/omschrijving"/>) is onlangs verwerkt.
<br/>Om je in de toekomst nog beter van dienst te kunnen zijn is je mening omtrent de uitgevoerde werkzaamheden van belang. <br/>Om je in de toekomst nog beter van dienst te kunnen zijn is je mening omtrent de uitgevoerde werkzaamheden van belang.
<br/>Wij verzoeken je <br/>Wij verzoeken je

View File

@@ -152,6 +152,16 @@ lcl = {
} }
oRs.Close(); oRs.Close();
this.hascached = true; this.hascached = true;
// Optionele overrules in cust/custenv.wsc en cust/XXXX/custenv.inc
// Waren al ingelezen in common.inc/tryOverrule(). Nu toepassen.
var naam;
for (naam in overrule_lcl)
{
if (cache_lcls[naam])
cache_lcls[naam].txt = overrule_lcl[naam];
}
__Log("LCL's cached: " + nn + (nn==0?" <span style='background-color:#0ff'>Misschien LCL_Disable = 1 toevoegen?</span>":"")); __Log("LCL's cached: " + nn + (nn==0?" <span style='background-color:#0ff'>Misschien LCL_Disable = 1 toevoegen?</span>":""));
}, },

View File

@@ -16,7 +16,9 @@ ANONYMOUS_Allowed = 1;
<!--#include file="../shared/useragent.inc" --> <!--#include file="../shared/useragent.inc" -->
<% <%
if (Request.QueryString.Count > 0) if (Request.QueryString.Count > 0)
protectQS.verify(); // Voorkom Un-validated Redirects and Forwards protectQS.verify( { errorpage: rooturl + "/" } ); // Voorkom Un-validated Redirects and Forwards
// errorpage omdat mensen nog wel eens een bookmark naar de inlogpagina inclusief
// HMAC leggen en we daar niet al te moeilijk over willen doen.
var ret_page = getQParam("ret_page", rooturl + "/"); var ret_page = getQParam("ret_page", rooturl + "/");
var querystring = getQParam("querystring", ""); var querystring = getQParam("querystring", "");