123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed Materials - Property of IBM
- IBM Cognos Products: ps
- (C) Copyright IBM Corp. 2005, 2014
- US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- -->
- <!--
- Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
- Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
- -->
- <xts:morphlet xmlns:xts="http://developer.cognos.com/schemas/xts/">
- <xts:block id="getContent" mode="interpret" processor="XSLT" type="exec">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
-
- <!-- perform a simple request just to validate the passport -->
- <xsl:template match="/">
- <xts:sequence>
- <xts:append>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:search>~</cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- </cm:properties>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
-
- <xts:block id="process" processor="XSLT" type="exec" mandatory="false" dependency="getContent">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
-
- <xsl:stylesheet version="1.0"
- xmlns:xts="http://developer.cognos.com/schemas/xts/"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
-
- <pf:variables/>
-
- <xsl:template match="/">
- <xts:sequence>
- <xts:append>
- <computed-data>
- <passport><xsl:value-of select="$CAMPassportCookie"/></passport>
- <AS-ticket>
- <xsl:choose>
- <xsl:when test="/root/cookies/cookie[@name='AS_TICKET'] != ''">
- <xsl:value-of select="/root/cookies/cookie[@name='AS_TICKET']"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/root/output//*[local-name()='setCookieVars']/item[name='AS_TICKET']/value"/>
- </xsl:otherwise>
- </xsl:choose>
- </AS-ticket>
- <CRN-cookie>
- <xsl:choose>
- <xsl:when test="/root/cookies/cookie[@name='CRN'] and /root/cookies/cookie[@name='CRN'] != ''">
- <xsl:value-of select="/root/cookies/cookie[@name='CRN']"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/root/output//*[local-name()='setCookieVars']/item[name='CRN']/value"/>
- </xsl:otherwise>
- </xsl:choose>
- </CRN-cookie>
- <cafContextId>
- <xsl:if test="$passport != '' and string(key('env-param','ui.compid')) != ''">
- <xsl:value-of select="xtsext:cafaction( concat( 'get_contextid_setcomponent_',key('env-param','ui.compid'),'_settemplatename_close_setpassportid_',$passport ), '' )"/>
- </xsl:if>
- </cafContextId>
- </computed-data>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
-
- <xts:block id="getconfig" type="exec" mode="interpret" processor="XSLT">
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
- <xsl:template match="/">
- <xts:sequence>
- <xts:append>
- <xts:function name="getConfiguration">
- <xts:param name="CPSPropagatePassport"/>
- </xts:function>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
-
- <xts:block id="close" processor="XSLT" type="exec" mode="output" mimeType="text/html" dependency="process getconfig">
- <!-- get the portal logicsheet -->
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
- <!-- add portal variables -->
- <pf:variables/>
- <pf:modalVariables/>
- <xsl:template match="/root">
- <xsl:variable name="testenv" select="boolean(/root/env/param[@name='testenv'])"/>
- <xsl:text disable-output-escaping='yes'><!DOCTYPE html></xsl:text>
- <html lang="{$productLocale}">
- <head>
- <meta http-equiv="expires" content="0"/>
- <script>
- <xsl:choose>
- <xsl:when test="/root/configuration/property[@name='CPSPropagatePassport'] = 'true'">
- var passport = "";
- </xsl:when>
- <xsl:otherwise>
- var passport = "<xsl:value-of select="xtsext:javascriptencode(string(/root/computed-data/passport))"/>";
- </xsl:otherwise>
- </xsl:choose>
-
- if( window.external && window.external.HasSetPassport || '<xsl:value-of select="$testenv"/>' == 'true') {
- <xsl:choose>
- <xsl:when test="$testenv">
- window.opener.SetPassport( passport );
- </xsl:when>
- <xsl:otherwise>
- window.external.SetPassport( passport );
- </xsl:otherwise>
- </xsl:choose>
- }
-
- var cafContextId = "<xsl:value-of select="/root/computed-data/cafContextId"/>";<xsl:text/>
- if ( window.external && window.external.HasSetCAFContextId || '<xsl:value-of select="$testenv"/>' == 'true') {
- <xsl:choose>
- <xsl:when test="$testenv">
- window.opener.SetCAFContextId(cafContextId);
- </xsl:when>
- <xsl:otherwise>
- window.external.SetCAFContextId(cafContextId);
- </xsl:otherwise>
- </xsl:choose>
- }
- var ticket = "<xsl:value-of select="xtsext:javascriptencode(string(/root/computed-data/AS-ticket))"/>";<xsl:text/>
- if( window.external && window.external.HasSetASTicket || '<xsl:value-of select="$testenv"/>' == 'true') {
- <xsl:choose>
- <xsl:when test="$testenv">
- window.opener.SetASTicket( ticket );
- </xsl:when>
- <xsl:otherwise>
- window.external.SetASTicket( ticket );
- </xsl:otherwise>
- </xsl:choose>
- }
- var crn = "<xsl:value-of select="xtsext:javascriptencode(xtsext:urldecode(string(/root/computed-data/CRN-cookie)))"/>";<xsl:text/>
- if( window.external && window.external.HasSetCookie || '<xsl:value-of select="$testenv"/>' == 'true') {
- <xsl:choose>
- <xsl:when test="$testenv">
- window.opener.SetCookie(crn);
- </xsl:when>
- <xsl:otherwise>
- window.external.SetCookie(crn);
- </xsl:otherwise>
- </xsl:choose>
- }
- <xsl:if test="/root/env/param[@name='d'] = '1' or /root/session/param[@name='debug'] = '1'">
- alert("cam_passport_cookie: " + passport);
- alert("AS_TICKET: " + ticket);
- alert("CRN: " + crn);
- </xsl:if>
- <!-- Set the right call back target -->
- var callBackTarget = <xsl:value-of select="$callBackTargetJSVar"/>;
-
- if( callBackTarget && callBackTarget.<xsl:value-of select="$callBackFunctionName"/>)
- {
- callBackTarget.<xsl:value-of select="$callBackFunctionName"/>('ok', null);
- }
- if( window.external && window.external.HasOnClose ) {
- window.external.OnClose(0);
- }
- else {
- <xsl:if test="string(/root/env/param[@name='ui.compid']) != 'ca'">
- window.close();
- </xsl:if>
- }
- <!--
- * XSS Checking information
- * Call below generates XSS information, namely:
- * 1. Is XSS on?
- * 2. The XSS charset
- * for a client to use
- -->
- <xsl:value-of select="xtsext:cafaction( 'get_jsconfig','' )"/>
- </script>
- </head>
- <body/>
- </html>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="debug" dependency="close" condition=".[/root/env/param[@name='d'] = '1' or /root/session/param[@name='debug'] = '1']" type="exec" mode="output" processor="XSLT" mandatory="false" mimeType="text/html">
- <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dbg="http://developer.cognos.com/schemas/xts/logicsheets/xslt/debug/" exclude-result-prefixes="dbg">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
- <dbg:templates/>
- <xsl:template match="/">
- <dbg:dumpxml select="/root"/>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- </xts:morphlet>
|