Files
Facilitor/APPL/API/shorturl.asp
Peter Feij 88792de0f9 FSN#24267 Links in XML op kunnen nemen
svn path=/Website/trunk/; revision=15586
2012-10-04 15:07:02 +00:00

77 lines
2.8 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
*/
LCL_Disable = 1;
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
rest = rest.substring(("u="+u).length+1);
var sql = "SELECT fac_bookmark_path,"
+ " fac_bookmark_query,"
+ " prs_perslid_key_auth,"
+ " fac_bookmark_unauth_url"
+ " FROM fac_bookmark"
+ " WHERE fac_bookmark_id = " + safe.quoted_sql(u)
+ " AND (fac_bookmark_expire IS NULL OR fac_bookmark_expire > SYSDATE)";
var oRs = Oracle.Execute(sql);
if (oRs.Eof)
{
Response.Write("BOOKMARK URL NOT FOUND");
Response.End;
}
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));
%>