AAIT#29734 Deeplinks naar meldingen niet meer per se via bookmark tabel maakt device detectie simpeler
svn path=/Website/trunk/; revision=24663
This commit is contained in:
@@ -22,6 +22,26 @@
|
||||
<!-- #include file="../Shared/common.inc"-->
|
||||
<%
|
||||
var u = getQParam("u");
|
||||
var known_bookmarks =
|
||||
{
|
||||
'afspraak': { gui: 'appl/bez/bez_afspraak.asp?afspr_key=', mob: 'appl/pda/afspraak.asp?afs_key=' },
|
||||
'bestelling': { gui: 'appl/bes/bes_bestelling.asp?bes_key=', mob: 'appl/pda/bestelling.asp?bes_key=' },
|
||||
'bestelopdr': { gui: 'appl/bes/bes_opdr.asp?ordernr=' },
|
||||
'contract': { gui: 'appl/cnt/cnt_contract.asp?cnt_key=', mob: 'appl/pda/contract.asp?cnt_key=' },
|
||||
'deel': { gui: 'appl/ins/ins_deel.asp?ins_key=', mob: 'appl/pda/ins_deel.asp?ins_key=' },
|
||||
'factuur': { gui: 'appl/fin/fin_factuur.asp?fin_key=', mob: 'appl/pda/factuur.asp?fin_key=' },
|
||||
'gebouw': { gui: 'appl/alg/alg_gebouw.asp?key=' },
|
||||
'locatie': { gui: 'appl/alg/alg_locatie.asp?key=' },
|
||||
'melding': { gui: 'appl/mld/mld_melding.asp?mld_key=', mob: 'appl/pda/melding.asp?mld_key=' },
|
||||
'message': { gui: 'appl/msg/msg_message.asp?message_key=' },
|
||||
'opdracht': { gui: 'appl/mld/mld_opdr.asp?opdr_key=', mob: 'appl/pda/order.asp?opdr_key=' },
|
||||
'perslid': { gui: 'appl/prs/prs_perslid.asp?prs_key=', mob: 'appl/pda/user_info.asp?prs_key=' },
|
||||
'reservering': { gui: 'appl/res/res_reservering.asp?rsv_ruimte_key=', mob: 'appl/pda/reservering.asp?rsv_ruimte_key=' },
|
||||
'ruimte': { gui: 'appl/alg/alg_ruimte.asp?key=', mob: 'appl/pda/ruimte.asp?ruimte_key=' },
|
||||
'verdieping': { gui: 'appl/alg/alg_verdieping.asp?key='},
|
||||
'xreservering': { gui: 'appl/res/res_reservering.asp?rsv_ruimte_key='}
|
||||
}
|
||||
|
||||
var keyparam = getQParamInt("k", -1);
|
||||
// For flexiblity reasons: Literal or runtime parameter(s), just pass through...
|
||||
var rest = String(Request.ServerVariables("QUERY_STRING")); // Request.ServerVariables("QUERY_STRING") is url-encoded,
|
||||
@@ -29,75 +49,69 @@
|
||||
// Strip eventuele leading &fac_id=XXXX er ook af.
|
||||
rest = rest.substring(rest.indexOf("u=")).substring(("u="+u).length+1);
|
||||
|
||||
var sql = "SELECT fac_bookmark_path,"
|
||||
+ " fac_bookmark_query,"
|
||||
+ " prs_perslid_key_auth,"
|
||||
+ " fac_bookmark_unauth_url,"
|
||||
+ " fac_bookmark_expire,"
|
||||
+ " fac_bookmark_refreshtime"
|
||||
+ " FROM fac_bookmark"
|
||||
+ " WHERE fac_bookmark_id = " + safe.quoted_sql(u);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs.Eof)
|
||||
if (u in known_bookmarks)
|
||||
{
|
||||
shared.simpel_page(L("lcl_fac_bookmark_unknown"));
|
||||
}
|
||||
if (oRs("fac_bookmark_expire").Value != null)
|
||||
{
|
||||
var expire = new Date(oRs("fac_bookmark_expire").Value);
|
||||
if (expire <= new Date)
|
||||
{
|
||||
shared.simpel_page(L("lcl_fac_bookmark_expired"));
|
||||
}
|
||||
}
|
||||
|
||||
var url = oRs("fac_bookmark_path").Value;
|
||||
var refresher = oRs("fac_bookmark_refreshtime").Value;
|
||||
|
||||
if (oRs("prs_perslid_key_auth").Value)
|
||||
{
|
||||
Session("fallback_user_key") = oRs("prs_perslid_key_auth").Value; // wordt opgepikt door loginTry.asp
|
||||
}
|
||||
else
|
||||
Session("unauth_url") = oRs("fac_bookmark_unauth_url").Value; // wordt opgepikt door common.asp
|
||||
|
||||
var params = oRs("fac_bookmark_query").Value;
|
||||
if (params)
|
||||
{
|
||||
if (keyparam > -1)
|
||||
{
|
||||
rest = rest.substring(("k="+keyparam).length+1);
|
||||
params += keyparam;
|
||||
}
|
||||
if (rest)
|
||||
params += "&" + rest;
|
||||
if (device.test(device.isDesktop) || device.test(device.isTouch))
|
||||
url = known_bookmarks[u].gui;
|
||||
else
|
||||
url = known_bookmarks[u].mob || known_bookmarks[u].gui;
|
||||
url = rooturl + "/" + url + keyparam;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (rest)
|
||||
params = rest;
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
// Als getQParam maar dan uit een string. Altijd null als niet gevonden
|
||||
// Let op: de query mag niet (meer) URL-escaped zijn
|
||||
function getSParam (key, query)
|
||||
{
|
||||
var nn = 1;
|
||||
var params = query.split("&");
|
||||
for (var i in params)
|
||||
var sql = "SELECT fac_bookmark_path,"
|
||||
+ " fac_bookmark_query,"
|
||||
+ " prs_perslid_key_auth,"
|
||||
+ " fac_bookmark_unauth_url,"
|
||||
+ " fac_bookmark_expire,"
|
||||
+ " fac_bookmark_refreshtime"
|
||||
+ " FROM fac_bookmark"
|
||||
+ " WHERE fac_bookmark_id = " + safe.quoted_sql(u);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs.Eof)
|
||||
{
|
||||
var xx = params[i].split("=");
|
||||
if (xx[0].toUpperCase() == key.toUpperCase() && xx.length > 1)
|
||||
shared.simpel_page(L("lcl_fac_bookmark_unknown"));
|
||||
}
|
||||
if (oRs("fac_bookmark_expire").Value != null)
|
||||
{
|
||||
var expire = new Date(oRs("fac_bookmark_expire").Value);
|
||||
if (expire <= new Date)
|
||||
{
|
||||
return String(xx[1]);
|
||||
shared.simpel_page(L("lcl_fac_bookmark_expired"));
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
if (params)
|
||||
url = url + "?" + params;
|
||||
var url = oRs("fac_bookmark_path").Value;
|
||||
var refresher = oRs("fac_bookmark_refreshtime").Value;
|
||||
|
||||
if (oRs("prs_perslid_key_auth").Value)
|
||||
{
|
||||
Session("fallback_user_key") = oRs("prs_perslid_key_auth").Value; // wordt opgepikt door loginTry.asp
|
||||
}
|
||||
else
|
||||
Session("unauth_url") = oRs("fac_bookmark_unauth_url").Value; // wordt opgepikt door common.asp
|
||||
|
||||
var params = oRs("fac_bookmark_query").Value;
|
||||
if (params)
|
||||
{
|
||||
if (keyparam > -1)
|
||||
{
|
||||
rest = rest.substring(("k="+keyparam).length+1);
|
||||
params += keyparam;
|
||||
}
|
||||
if (rest)
|
||||
params += "&" + rest;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (rest)
|
||||
params = rest;
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
if (params)
|
||||
url = url + "?" + params;
|
||||
}
|
||||
|
||||
// Als de bookmark een refreshrate heeft ingesteld wordt automatisch gerefreshed
|
||||
// Voorkom recursie met norefresh
|
||||
|
||||
Reference in New Issue
Block a user