Files
Facilitor/APPL/API/shorturl.asp
Jos Groot Lipman bf2db0262f FSN#25917 Self registratie kan beter
svn path=/Website/trunk/; revision=17432
2013-04-02 13:32:50 +00:00

84 lines
3.1 KiB
Plaintext

<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: shorturl.asp
Description: Redirect naar een bookmark url
Parameters: u Bookmark die in de bookmark tabel moet zitten.
Dit moet de eerste parameter zijn als er nog meer komen
k Een integer keywaarde die plat achter de bookmark_query wordt geplakt
-- Optionele parameter(s): die worden allemaal blind
doorgegeven naar het volgende scherm
Context: Vanuit root
Note: Welbeschouwd is dit gewoon een url-shortener
http://sgf12/Facilitor5iWork/?u=J448UIrR43
Het is verleidelijk de u= parameter ook door te geven maar
dat is in tegenspraak met het betekenisloos zijn van de u-param
Als je dat wilt moet je maar BOOKMARK's gebruiken
*/
ANONYMOUS_Allowed = 1;
%>
<!-- #include file="../Shared/common.inc"-->
<%
var u = getQParam("u");
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,
// dat is hier safer dan Request.QueryString
// 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"
+ " FROM fac_bookmark"
+ " WHERE fac_bookmark_id = " + safe.quoted_sql(u);
var oRs = Oracle.Execute(sql);
if (oRs.Eof)
{
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;
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
if (oRs("fac_bookmark_query").Value)
{
if (keyparam > -1)
{
rest = rest.substring(("k="+keyparam).length+1);
url += "?" + oRs("fac_bookmark_query").Value + keyparam + (rest?"&"+rest:"");
}
else
{
url += "?" + oRs("fac_bookmark_query").Value + (rest?"&"+rest:"");
}
}
else
{
if (rest)
url += "?" + rest;
}
oRs.Close();
Response.Redirect(protectQS.create(url));
%>