1061 lines
36 KiB
XML
1061 lines
36 KiB
XML
<?xml version="1.0"?>
|
|
|
|
<xsl:stylesheet
|
|
version="1.0"
|
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
|
|
xmlns:portalserver="http://www.redhat.com/portalserver/1.0"
|
|
xmlns:portlet="http://www.arsdigita.com/portlet/1.0"
|
|
xmlns:km="http://www.arsdigita.com/km/1.0"
|
|
xmlns:deditor="http://www.arsdigita.com/deditor/1.0"
|
|
xmlns:admin="http://www.arsdigita.com/admin-ui/1.0"
|
|
xmlns:cms="http://www.arsdigita.com/cms/1.0">
|
|
|
|
<!-- The order of imports below is important. Please don't change
|
|
them without appropriate testing. -->
|
|
|
|
<xsl:import href="../../acs-admin/xsl/admin_en.xsl"/>
|
|
<xsl:import href="../../categorization/xsl/categorization.xsl"/>
|
|
<xsl:import href="../../bebop/xsl/DimensionalNavbar.xsl"/>
|
|
<xsl:import href="../../toolbox/xsl/ControlBar.xsl"/>
|
|
<xsl:import href="../../portlets/xsl/freeform-html-portlet.xsl"/>
|
|
<xsl:import href="../../portlets/xsl/time-of-day-portlet.xsl"/>
|
|
<xsl:import href="../../portlets/xsl/rss-feed-portlet.xsl"/>
|
|
|
|
<xsl:output method="html" indent="yes"/>
|
|
|
|
<xsl:param name="contextPath"/>
|
|
|
|
<xsl:variable name="assets-dir">/packages/portalserver/www/assets</xsl:variable>
|
|
<xsl:variable name="css-dir">/packages/portalserver/www/css</xsl:variable>
|
|
|
|
<xsl:template match="bebop:page[@class='portalserver']">
|
|
<html>
|
|
<head>
|
|
<title><xsl:value-of select="bebop:title"/></title>
|
|
<link href="{$css-dir}/portalserver.css" rel="stylesheet" type="text/css"/>
|
|
<xsl:for-each select="bebop:stylesheet">
|
|
<link href="{@href}" rel="stylesheet" type="{@type}"/>
|
|
</xsl:for-each>
|
|
|
|
<xsl:value-of select="portalserver:styleblock" disable-output-escaping="yes"/>
|
|
|
|
</head>
|
|
<body>
|
|
<xsl:apply-templates select="portalserver:header"/>
|
|
|
|
<xsl:apply-templates select="portalserver:body"/>
|
|
|
|
<xsl:apply-templates select="portalserver:footer"/>
|
|
|
|
<xsl:apply-templates select="portalserver:styleblock"/>
|
|
|
|
<!--
|
|
This is here so the the bebop page structure is displayed under /debug/
|
|
-->
|
|
<xsl:apply-templates select="*[position()>4]"/>
|
|
</body>
|
|
</html>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:page[@class='portalserveradmin']">
|
|
<html>
|
|
<head>
|
|
<title><xsl:value-of select="bebop:title"/></title>
|
|
<link href="{$css-dir}/portalserver.css" rel="stylesheet" type="text/css"/>
|
|
<xsl:for-each select="bebop:stylesheet">
|
|
<link href="{@href}" rel="stylesheet" type="{@type}"/>
|
|
</xsl:for-each>
|
|
|
|
<xsl:value-of select="portalserver:styleblock" disable-output-escaping="yes"/>
|
|
|
|
</head>
|
|
<body>
|
|
<xsl:apply-templates select="portalserver:header"/>
|
|
|
|
<xsl:apply-templates select="portalserver:body"/>
|
|
|
|
<xsl:apply-templates select="portalserver:footer"/>
|
|
|
|
<xsl:apply-templates select="portalserver:styleblock"/>
|
|
|
|
<!--
|
|
This is here so the the bebop page structure is displayed under /debug/
|
|
-->
|
|
<xsl:apply-templates select="*[position()>4]"/>
|
|
</body>
|
|
</html>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="km:search">
|
|
<form class="globalSearch" action="{@url}" method="get" name="SimpleSearchForm">
|
|
<input type="text" name="searchString" value="Search" size="12" onClick="this.value = '';"></input>
|
|
</form>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:link[@class='portalControlProfileLink']">
|
|
<xsl:call-template name="bebop:link" />
|
|
<br />
|
|
</xsl:template>
|
|
|
|
<xsl:template match="portalserver:header">
|
|
|
|
<table class="globalHeader">
|
|
<tr>
|
|
<xsl:if test="@id='admin'"> <!-- show logo for admin page headers -->
|
|
<td class="globalLogo"></td>
|
|
</xsl:if>
|
|
<td class="globalNavigation">
|
|
<xsl:if test="bebop:dimensionalNavbar[@class = 'portalNavbar']">
|
|
<xsl:apply-templates select="bebop:dimensionalNavbar[@class = 'portalNavbar']"/>
|
|
</xsl:if>
|
|
</td>
|
|
<td style="margin: 0; border: 0; padding: 0;">
|
|
<table align="right" style="margin: 0; border: 0; padding: 0;">
|
|
<tr>
|
|
<td style="margin: 0; border: 0; padding: 0; padding-right: 18px;">
|
|
<xsl:apply-templates select="km:search"/>
|
|
</td>
|
|
<!-- Help link currently commented out, but code retained -->
|
|
<!-- <td class="global-link-icon"><a href="/assets/help/toc_main.html"><img src="/assets/lifesaver.png" height="18" width="21"/></a></td>
|
|
<td class="global-link"><a href="/assets/help/toc_main.html">Help</a></td> -->
|
|
|
|
<xsl:if test="../portalserver:global/bebop:link[@id='personalize_link']">
|
|
<td>
|
|
<xsl:apply-templates select="../portalserver:global/bebop:link[@id='personalize_link']"/>
|
|
</td>
|
|
</xsl:if>
|
|
|
|
<td class="global-link-icon"><a href="{../portalserver:global/bebop:link[@class = 'signoutLink']/@href}"><img src="/assets/lock.png" height="18" width="14"/></a></td>
|
|
<td class="global-link"><a href="{../portalserver:global/bebop:link[@class = 'signoutLink']/@href}">Sign out</a></td>
|
|
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<table width="100%" cellspacing="0" cellpadding="0" border="0">
|
|
<tr>
|
|
<td bgcolor="#878175">
|
|
<table cellspacing="0" cellpadding="0" border="0">
|
|
<tr>
|
|
<td height="1"></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
<table class="setInside"><tr><td class="setInside">
|
|
|
|
<table class="localHeader">
|
|
<tr>
|
|
<td class="localTitle">
|
|
<xsl:value-of select="../bebop:title"/>
|
|
</td>
|
|
<td class="localControl">
|
|
<xsl:apply-templates select="bebop:link[@class = 'portalControlProfileLink']"/>
|
|
<xsl:apply-templates select="bebop:link[@class = 'portalControl']"/>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
</td></tr></table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="portalserver:body">
|
|
<table class="setInside"><tr><td class="setInside">
|
|
|
|
<!-- XXX once we make portal tabs generate XML just like ordinary tabs, this rule repeat can go away. -->
|
|
|
|
<xsl:variable name="portalTabs" select="bebop:list[@class = 'portalTabs']"/>
|
|
|
|
<xsl:choose>
|
|
|
|
<xsl:when test="count($portalTabs/bebop:cell) > 1">
|
|
<!--
|
|
If there is only one tab in this portal, don't bother to
|
|
display it.
|
|
-->
|
|
|
|
<table cellpadding="0" cellspacing="0" border="0" class="tabs">
|
|
<tr valign="bottom">
|
|
<td class="trimSpace"><xsl:text> </xsl:text></td>
|
|
<xsl:for-each select="$portalTabs/bebop:cell">
|
|
<xsl:choose>
|
|
<xsl:when test="@selected">
|
|
<!-- start currently active tab -->
|
|
<td class="tabBeginning"><xsl:text>  </xsl:text></td>
|
|
<td class="activeTab" nowrap="nowrap"><xsl:value-of select="bebop:portal/@title"/></td>
|
|
<td class="tabEnd"><xsl:text>  </xsl:text></td>
|
|
<td class="trimSpace"><xsl:text> </xsl:text></td>
|
|
<!-- end currently active tab -->
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<!-- start inactive tab -->
|
|
<td>
|
|
<table cellpadding="0" cellspacing="0" border="0">
|
|
<tr height="3"><td><img src="/assets/general/spacer.gif" height="3"/></td></tr>
|
|
<tr height="23">
|
|
<td class="tabBeginningOff"><xsl:text>  </xsl:text></td>
|
|
<td class="inactiveTab" nowrap="nowrap"><xsl:apply-templates select="bebop:link"/></td>
|
|
<td class="tabEndOff"><xsl:text>  </xsl:text></td>
|
|
</tr>
|
|
</table>
|
|
<td class="trimSpace"><xsl:text> </xsl:text></td>
|
|
</td>
|
|
<!-- end inactive tab -->
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:for-each>
|
|
<td class="trimSpace" width="100%"><xsl:text> </xsl:text></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<table class="topRuleUnderTabs">
|
|
<tr><td></td></tr>
|
|
</table>
|
|
</xsl:when>
|
|
<xsl:when test="not(bebop:tabbedPane)">
|
|
<table class="topRuleNoTabs">
|
|
<tr><td></td></tr>
|
|
</table>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
|
|
<xsl:apply-templates/>
|
|
|
|
<!-- end of div class="setInside" -->
|
|
</td></tr></table>
|
|
|
|
<table class="bottomRule">
|
|
<tr><td></td></tr>
|
|
</table>
|
|
|
|
</xsl:template>
|
|
|
|
<xsl:template match="cms:dimensionalNavbar[@class = 'portalNavbar']">
|
|
<xsl:for-each select="*">
|
|
<xsl:choose>
|
|
<xsl:when test="position() != last()">
|
|
<xsl:apply-templates select="."/>
|
|
<span class="contextBarSeparator"><xsl:text disable-output-escaping="yes">&nbsp;&gt;&nbsp;</xsl:text></span>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<span class="immediateContext"><xsl:apply-templates select="."/></span>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:for-each>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:list[@class = 'portalTabs']">
|
|
<xsl:apply-templates select="bebop:cell/bebop:portal"/>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:list[@class = 'tabLayouts']">
|
|
<table class="tabLayouts">
|
|
<tr>
|
|
<xsl:for-each select="*">
|
|
<td>
|
|
<xsl:apply-templates/>
|
|
</td>
|
|
</xsl:for-each>
|
|
</tr>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:link[@class = 'W']">
|
|
<a href="{@href}" onclick="{@onclick}">
|
|
<img src ="/assets/cw/W_off.png" border="0" width="70" height ="30">
|
|
<xsl:attribute name="alt">
|
|
<xsl:apply-templates/>
|
|
</xsl:attribute>
|
|
</img>
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:link[@class = 'NW']">
|
|
<a href="{@href}" onclick="{@onclick}">
|
|
<img src ="/assets/cw/NW_off.png" border="0" width="70" height ="30">
|
|
<xsl:attribute name="alt">
|
|
<xsl:apply-templates/>
|
|
</xsl:attribute>
|
|
</img>
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:link[@class = 'WN']">
|
|
<a href="{@href}" onclick="{@onclick}">
|
|
<img src ="/assets/cw/WN_off.png" border="0" width="70" height ="30">
|
|
<xsl:attribute name="alt">
|
|
<xsl:apply-templates/>
|
|
</xsl:attribute>
|
|
</img>
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:link[@class = 'NWN']">
|
|
<a href="{@href}" onclick="{@onclick}">
|
|
<img src ="/assets/cw/NWN_off.png" border="0" width="70" height ="30">
|
|
<xsl:attribute name="alt">
|
|
<xsl:apply-templates/>
|
|
</xsl:attribute>
|
|
</img>
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:link[@class = 'NNN']">
|
|
<a href="{@href}" onclick="{@onclick}">
|
|
<img src ="/assets/cw/NNN_off.png" border="0" width="70" height ="30">
|
|
<xsl:attribute name="alt">
|
|
<xsl:apply-templates/>
|
|
</xsl:attribute>
|
|
</img>
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:label[@class = 'W']">
|
|
<a href="{@href}" onclick="{@onclick}">
|
|
<img src ="/assets/cw/W_on.png" border="0" width="70" height ="30">
|
|
<xsl:attribute name="alt">
|
|
<xsl:apply-templates/>
|
|
</xsl:attribute>
|
|
</img>
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:label[@class = 'NW']">
|
|
<a href="{@href}" onclick="{@onclick}">
|
|
<img src ="/assets/cw/NW_on.png" border="0" width="70" height ="30">
|
|
<xsl:attribute name="alt">
|
|
<xsl:apply-templates/>
|
|
</xsl:attribute>
|
|
</img>
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:label[@class = 'WN']">
|
|
<a href="{@href}" onclick="{@onclick}">
|
|
<img src ="/assets/cw/WN_on.png" border="0" width="70" height ="30">
|
|
<xsl:attribute name="alt">
|
|
<xsl:apply-templates/>
|
|
</xsl:attribute>
|
|
</img>
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:label[@class = 'NWN']">
|
|
<a href="{@href}" onclick="{@onclick}">
|
|
<img src ="/assets/cw/NWN_on.png" border="0" width="70" height ="30">
|
|
<xsl:attribute name="alt">
|
|
<xsl:apply-templates/>
|
|
</xsl:attribute>
|
|
</img>
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:label[@class = 'NNN']">
|
|
<a href="{@href}" onclick="{@onclick}">
|
|
<img src ="/assets/cw/NNN_on.png" border="0" width="70" height ="30">
|
|
<xsl:attribute name="alt">
|
|
<xsl:apply-templates/>
|
|
</xsl:attribute>
|
|
</img>
|
|
</a>
|
|
</xsl:template>
|
|
|
|
|
|
<xsl:template match="bebop:splitPanel">
|
|
<table class="splitPanel">
|
|
<xsl:if test="not(bebop:cell/bebop:label[text() = '&nbsp;'])">
|
|
<tr>
|
|
<td colspan="3" class="splitPanelHeader">
|
|
<table width="100%" cellspacing="4" cellpadding="0" border="0">
|
|
<tr><td><xsl:apply-templates select="bebop:cell[1]"/></td></tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</xsl:if>
|
|
<tr>
|
|
<td class="splitPanelLeft">
|
|
<table width="100%" cellspacing="4" cellpadding="0" border="0">
|
|
<tr><td><xsl:apply-templates select="bebop:cell[2]"/></td></tr>
|
|
</table>
|
|
</td>
|
|
<td class="inactiveTabColor" width="2"><img src="/assets/general/spacer.gif" width="2"/></td>
|
|
<td class="splitPanelRight">
|
|
<table width="100%" cellspacing="4" cellpadding="0" border="0">
|
|
<tr><td><xsl:apply-templates select="bebop:cell[3]"/></td></tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:splitPanel[@class='archiver']">
|
|
<table class="splitPanel">
|
|
<xsl:if test="not(bebop:cell/bebop:label[text() = '&nbsp;'])">
|
|
<tr>
|
|
<td colspan="3" class="splitPanelHeader">
|
|
<table width="100%" cellspacing="4" cellpadding="0" border="0">
|
|
<tr><td><xsl:apply-templates select="bebop:cell[1]"/></td></tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
<tr><td colspan="3" class="inactiveTabColor" height="2"><img src="/assets/general/spacer.gif" height="2"/></td></tr>
|
|
</xsl:if>
|
|
<tr>
|
|
<td width="35%">
|
|
<table width="100%" cellspacing="4" cellpadding="0" border="0">
|
|
<tr><td><xsl:apply-templates select="bebop:cell[2]"/></td></tr>
|
|
</table>
|
|
</td>
|
|
<td class="inactiveTabColor" width="2"><img src="/assets/general/spacer.gif" width="2"/></td>
|
|
<td width="65%">
|
|
<table width="100%" cellspacing="4" cellpadding="0" border="0">
|
|
<tr><td><xsl:apply-templates select="bebop:cell[3]"/></td></tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:tabbedPane">
|
|
<xsl:variable name="tabs" select="bebop:tabStrip/bebop:tab"/>
|
|
|
|
<table cellpadding="0" cellspacing="0" border="0" class="tabs">
|
|
<tr>
|
|
<td class="trimSpace"><xsl:text> </xsl:text></td>
|
|
<xsl:for-each select="$tabs">
|
|
<xsl:choose>
|
|
<xsl:when test="@current = 't'">
|
|
<!-- start currently active tab -->
|
|
<td class="tabBeginning"><xsl:text>  </xsl:text></td>
|
|
<td class="activeTab" nowrap="nowrap"><xsl:value-of select="bebop:label"/></td>
|
|
<td class="tabEnd"><xsl:text>  </xsl:text></td>
|
|
<td class="trimSpace"><xsl:text> </xsl:text></td>
|
|
<!-- end currently active tab -->
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<!-- start inactive tab -->
|
|
<td>
|
|
<table cellpadding="0" cellspacing="0" border="0">
|
|
<tr height="3"><td></td></tr>
|
|
<tr height="23">
|
|
<td class="tabBeginningOff"><xsl:text>  </xsl:text></td>
|
|
<td class="inactiveTab" nowrap="nowrap"><a href="{@href}"><xsl:apply-templates select="bebop:label"/></a>
|
|
</td>
|
|
<td class="tabEndOff"><xsl:text>  </xsl:text></td>
|
|
</tr>
|
|
</table>
|
|
<td class="trimSpace"><xsl:text> </xsl:text></td>
|
|
</td>
|
|
<!-- end inactive tab -->
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:for-each>
|
|
<td class="trimSpace" width="100%"><xsl:text> </xsl:text></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<table class="topRuleUnderTabs">
|
|
<tr><td></td></tr>
|
|
</table>
|
|
|
|
<xsl:apply-templates select="bebop:currentPane/*"/>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:tabbedPane[@class='portalserver_admin']">
|
|
<div class="tabs">
|
|
<table class="tab-set">
|
|
<tr>
|
|
<xsl:for-each select="bebop:tabStrip/bebop:tab">
|
|
<xsl:choose>
|
|
<xsl:when test="@current">
|
|
<td class="current-tab-label"><xsl:apply-templates/></td>
|
|
<td class="current-tab-end"/>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<td class="label"><a href="{@href}"><xsl:apply-templates/></a></td>
|
|
<td class="end"/>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<td class="tab-spacer"/>
|
|
</xsl:for-each>
|
|
</tr>
|
|
</table>
|
|
<table class="rule"><tr><td></td></tr></table>
|
|
<xsl:apply-templates select="bebop:currentPane"/>
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:portal">
|
|
<xsl:choose>
|
|
<xsl:when test="sum(bebop:portlet) = 0">
|
|
<p align="center"><em>This tab does not have any portlets yet.</em></p>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<table class="portalLayoutNW" cellspacing="0">
|
|
<tr>
|
|
<td class="narrowColumn">
|
|
<xsl:for-each select="bebop:portlet[@cellNumber = '1']">
|
|
<xsl:apply-templates select="."/>
|
|
</xsl:for-each>
|
|
</td>
|
|
<td class="columnSeparator"><img src="/assets/general/spacer.gif" width="5"/></td>
|
|
<td class="wideColumn">
|
|
<xsl:for-each select="bebop:portlet[@cellNumber = '2']">
|
|
<xsl:apply-templates select="."/>
|
|
</xsl:for-each>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:portal[@style = 'W']">
|
|
<xsl:choose>
|
|
<xsl:when test="sum(bebop:portlet) = 0">
|
|
<p align="center"><em>This tab does not have any portlets yet.</em></p>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<table class="portalLayoutW" cellspacing="0">
|
|
<tr>
|
|
<td class="VeryWideColumn">
|
|
<xsl:apply-templates/>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:portal[@style = 'NW']">
|
|
<xsl:choose>
|
|
<xsl:when test="sum(bebop:portlet) = 0">
|
|
<p align="center"><em>This tab does not have any portlets yet.</em></p>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<table class="portalLayoutNW" cellspacing="0">
|
|
<tr>
|
|
<td class="narrowColumn">
|
|
<xsl:for-each select="bebop:portlet[@cellNumber = '1' or @cellNumber = '3']">
|
|
<xsl:apply-templates select="."/>
|
|
</xsl:for-each>
|
|
</td>
|
|
<td class="columnSeparator"><img src="/assets/general/spacer.gif" width="5"/></td>
|
|
<td class="wideColumn">
|
|
<xsl:for-each select="bebop:portlet[@cellNumber = '2']">
|
|
<xsl:apply-templates select="."/>
|
|
</xsl:for-each>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:portal[@style = 'WN']">
|
|
<xsl:choose>
|
|
<xsl:when test="sum(bebop:portlet) = 0">
|
|
<p align="center"><em>This tab does not have any portlets yet.</em></p>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<table class="portalLayoutWN" cellspacing="0">
|
|
<tr>
|
|
<td class="wideColumn">
|
|
<xsl:for-each select="bebop:portlet[@cellNumber = '1' or @cellNumber = '3']">
|
|
<xsl:apply-templates select="."/>
|
|
</xsl:for-each>
|
|
</td>
|
|
<td class="columnSeparator"><img src="/assets/general/spacer.gif" width="5"/></td>
|
|
<td class="narrowColumn">
|
|
<xsl:for-each select="bebop:portlet[@cellNumber = '2']">
|
|
<xsl:apply-templates select="."/>
|
|
</xsl:for-each>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:portal[@style = 'NWN']">
|
|
<xsl:choose>
|
|
<xsl:when test="sum(bebop:portlet) = 0">
|
|
<p align="center"><em>This tab does not have any portlets yet.</em></p>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<table class="portalLayoutNWN" cellspacing="0">
|
|
<tr>
|
|
<td class="narrowColumnLeft">
|
|
<xsl:for-each select="bebop:portlet[@cellNumber = '1']">
|
|
<xsl:apply-templates select="."/>
|
|
</xsl:for-each>
|
|
</td>
|
|
<td class="columnSeparator"><img src="/assets/general/spacer.gif" width="5"/></td>
|
|
<td class="wideColumn">
|
|
<xsl:for-each select="bebop:portlet[@cellNumber = '2']">
|
|
<xsl:apply-templates select="."/>
|
|
</xsl:for-each>
|
|
</td>
|
|
<td class="columnSeparator"><img src="/assets/general/spacer.gif" width="5"/></td>
|
|
<td class="narrowColumnRight">
|
|
<xsl:for-each select="bebop:portlet[@cellNumber = '3']">
|
|
<xsl:apply-templates select="."/>
|
|
</xsl:for-each>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:portal[@style = 'NNN']">
|
|
<xsl:choose>
|
|
<xsl:when test="sum(bebop:portlet) = 0">
|
|
<p align="center"><em>This tab does not have any portlets yet.</em></p>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<table class="portalLayoutNNN" cellspacing="0">
|
|
<tr>
|
|
<td class="narrowColumnLeft">
|
|
<xsl:for-each select="bebop:portlet[@cellNumber = '1']">
|
|
<xsl:apply-templates select="."/>
|
|
</xsl:for-each>
|
|
</td>
|
|
<td class="columnSeparator"><img src="/assets/general/spacer.gif" width="5"/></td>
|
|
<td class="narrowColumnCenter">
|
|
<xsl:for-each select="bebop:portlet[@cellNumber = '2']">
|
|
<xsl:apply-templates select="."/>
|
|
</xsl:for-each>
|
|
</td>
|
|
<td class="columnSeparator"><img src="/assets/general/spacer.gif" width="5"/></td>
|
|
<td class="narrowColumnRight">
|
|
<xsl:for-each select="bebop:portlet[@cellNumber = '3']">
|
|
<xsl:apply-templates select="."/>
|
|
</xsl:for-each>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:portlet">
|
|
<table class="portlet" cellspacing="0"> <!-- IE5.5 ignores border-spacing CSS prop, so cellspacing attr is necesssary -->
|
|
<tr>
|
|
<td class="portletHeader"><xsl:value-of select="@title"/></td>
|
|
<td class="portletIcon">
|
|
<xsl:choose>
|
|
<xsl:when test="@configure">
|
|
<xsl:if test="@leftURL">
|
|
<a href="{@leftURL}"><img src="{$assets-dir}/Left16.gif" width="16" height="16" alt="Move Portlet left" align="bottom" border="0"/></a>
|
|
</xsl:if>
|
|
|
|
<xsl:if test="@prevURL">
|
|
<a href="{@prevURL}"><img src="{$assets-dir}/Up16.gif" width="16" height="16" alt="Move Portlet Up" align="bottom" border="0"/></a>
|
|
</xsl:if>
|
|
|
|
<xsl:if test="@nextURL">
|
|
<a href="{@nextURL}"><img src="{$assets-dir}/Down16.gif" width="16" height="16" alt="Move Portlet Down" align="bottom" border="0"/></a>
|
|
</xsl:if>
|
|
|
|
<xsl:if test="@rightURL">
|
|
<a href="{@rightURL}"><img src="{$assets-dir}/Right16.gif" width="16" height="16" alt="Move Portlet right" align="bottom" border="0"/></a>
|
|
</xsl:if>
|
|
|
|
<xsl:if test="@cfgURL">
|
|
<a href="{@cfgURL}"><img src="/assets/general/Edit16.gif" width="16" height="16" alt="Customize Portlet" align="bottom" border="0"/></a>
|
|
</xsl:if>
|
|
|
|
<a href="{@delURL}" onclick="return confirm('Are you sure you want to delete this portlet?')"><img src="{$assets-dir}/Delete16.gif" width="16" height="16" alt="Remove Portlet" align="bottom" border="0"/></a>
|
|
</xsl:when>
|
|
|
|
<xsl:otherwise>
|
|
<xsl:choose>
|
|
<xsl:when test="@applicationlink">
|
|
<a href="{@applicationlink}"><img src="{$assets-dir}/ZoomIn16.gif" width="16" height="16" alt="Zoom In" align="bottom" border="0"/></a>
|
|
</xsl:when>
|
|
|
|
<xsl:otherwise>
|
|
<!-- replace with grayed out button -->
|
|
<img src="/assets/general/spacer.gif" width="16" height="16" align="bottom" border="0"/>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="portletBody" colspan="2">
|
|
<xsl:apply-templates/>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
|
|
<xsl:template match="bebop:itemDetail">
|
|
<table width="100%" cellpadding="2" cellspacing="0" border="0">
|
|
<xsl:for-each select="bebop:property">
|
|
<tr>
|
|
<td width="25%" align="right" valign="top"><b><small><xsl:value-of select="bebop:name"/>:</small></b></td>
|
|
<td width="75%"><xsl:apply-templates select="*[name()!='bebop:name']"/></td>
|
|
</tr>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="bebop:action">
|
|
<tr>
|
|
<td width="25%" align="right" valign="top">
|
|
<xsl:if test="position() = 1"><b><small>Actions:</small></b></xsl:if>
|
|
</td>
|
|
<td width="75%"><xsl:apply-templates select="bebop:link"/></td>
|
|
</tr>
|
|
</xsl:for-each>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="portalserver:appsDisplay">
|
|
<table class="sectionHeader" width="100%">
|
|
<tbody>
|
|
<tr><td>View and Manage <xsl:value-of select="@name"/></td></tr>
|
|
</tbody>
|
|
</table>
|
|
<table width="100%">
|
|
<tbody>
|
|
<tr>
|
|
<td align="right"><xsl:apply-templates select="bebop:link"/></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<br/>
|
|
<table border="0" width="100%" class="fancy">
|
|
<thead>
|
|
<tr>
|
|
<th><xsl:value-of select="@name"/></th>
|
|
<th>Description</th>
|
|
<th class="icon">Configure Tool</th>
|
|
<th><xsl:text> </xsl:text></th>
|
|
<th class="numeric"><xsl:text> </xsl:text></th>
|
|
<th>Portlets</th>
|
|
<th class="icon">Configure Portlet</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<xsl:for-each select="portalserver:appsDisplayApp">
|
|
<xsl:if test="position() > 1">
|
|
<tr><td class="subDivider" colspan="7">
|
|
<img src="/packages/jigsaw/www/assets/spacer.gif"
|
|
width="1" height="2"/>
|
|
</td></tr>
|
|
</xsl:if>
|
|
<tr>
|
|
<xsl:variable name="portletCount" select="count(portalserver:appsDisplayAppPortlet)"/>
|
|
<td rowspan="{$portletCount}">
|
|
<xsl:apply-templates select="bebop:link[1]"/>
|
|
</td>
|
|
<td rowspan="{$portletCount}">
|
|
<xsl:value-of select="portalserver:appsDisplayAppDescription"/>
|
|
<xsl:text> </xsl:text>
|
|
</td>
|
|
<td rowspan="{$portletCount}" class="icon">
|
|
<xsl:apply-templates select="bebop:link[2]"/>
|
|
</td>
|
|
<td rowspan="{$portletCount}">
|
|
<xsl:text> </xsl:text>
|
|
</td>
|
|
<xsl:choose>
|
|
<xsl:when test="$portletCount > 0">
|
|
<td class="numeric">1.</td>
|
|
<td><xsl:value-of select="portalserver:appsDisplayAppPortlet[1]/@name"/></td>
|
|
<td class="icon"><xsl:apply-templates select="portalserver:appsDisplayAppPortlet[1]/bebop:link"/></td>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<td class="numeric"><xsl:text> </xsl:text></td>
|
|
<td><i>None</i></td>
|
|
<td class="icon"><xsl:text> </xsl:text></td>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</tr>
|
|
<xsl:for-each select="portalserver:appsDisplayAppPortlet[position() > 1]">
|
|
<tr>
|
|
<td class="numeric"><xsl:value-of select="position()+1"/>.</td>
|
|
<td><xsl:value-of select="@name"/></td>
|
|
<td class="icon"><xsl:apply-templates select="bebop:link"/></td>
|
|
</tr>
|
|
</xsl:for-each>
|
|
</xsl:for-each>
|
|
</tbody>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="km:portletSimpleSearch">
|
|
<form action="{@url}search.jsp" method="get" name="SimpleSearchForm">
|
|
<table border="0" cellpadding="0" cellspacing="2" width="100%">
|
|
<tr>
|
|
<td>
|
|
<table width="100%" cellspacing="2" cellpadding="0" border="0">
|
|
<tr>
|
|
<td>
|
|
<input name="searchString" type="text" size="40" value=""></input>
|
|
<xsl:text> </xsl:text>
|
|
<input value=" Search " name="search" type="submit"/>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<input type="radio" name="scope" value="this" checked="checked"/> This Workspace
|
|
<input type="radio" name="scope" value="all"/> Entire System
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td><a href="{@url}search-advanced.jsp">Advanced Search</a></td>
|
|
</tr>
|
|
</table>
|
|
</form>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:link[@class = 'downloadLink']">
|
|
<a href="{@href}" onclick="{@onclick}">
|
|
<img border="0">
|
|
<xsl:attribute name="alt">
|
|
<xsl:apply-templates/>
|
|
</xsl:attribute>
|
|
<xsl:attribute name="src">
|
|
<xsl:value-of select="//@assets"/>/assets/download.gif</xsl:attribute>
|
|
</img>
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:link[@class = 'shiftleft']">
|
|
<a href="{@href}" onclick="{@onclick}">
|
|
<img src ="{$assets-dir}/Up16.gif" border="0" width="16" height ="16">
|
|
<xsl:attribute name="alt">
|
|
<xsl:apply-templates/>
|
|
</xsl:attribute>
|
|
</img>
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:link[@class = 'shiftright']">
|
|
<a href="{@href}" onclick="{@onclick}">
|
|
<img src ="{$assets-dir}/Down16.gif" border="0" width="16" height ="16">
|
|
<xsl:attribute name="alt">
|
|
<xsl:apply-templates/>
|
|
</xsl:attribute>
|
|
</img>
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:label[@class='nullArrow']">
|
|
<img src ="/assets/general/spacer.gif" border="0" width="16" height ="16">
|
|
</img>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:table"
|
|
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
|
|
<table class="fancy">
|
|
<xsl:for-each select="@*">
|
|
<xsl:attribute name="{name()}">
|
|
<xsl:value-of select="."/>
|
|
</xsl:attribute>
|
|
</xsl:for-each>
|
|
<xsl:apply-templates select="bebop:thead"/>
|
|
<xsl:apply-templates select="bebop:tbody"/>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:table[@class='plain']"
|
|
xmlns:bebop="http://www.arsdigita.com/bebop/1.0">
|
|
<table>
|
|
<xsl:for-each select="@*">
|
|
<xsl:attribute name="{name()}">
|
|
<xsl:value-of select="."/>
|
|
</xsl:attribute>
|
|
</xsl:for-each>
|
|
<xsl:apply-templates select="bebop:thead"/>
|
|
<xsl:apply-templates select="bebop:tbody"/>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="admin:groupInfo[@class='ecm']">
|
|
<ul>
|
|
<li> Group Name: <xsl:value-of select="@name"/> </li>
|
|
<li> Primary Email: <xsl:value-of select="@email"/> </li>
|
|
</ul>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="portalserver:styleblock">
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:boxPanel[@class='portaladminapps']">
|
|
<!--This template is for the portal-admin table of admin apps -->
|
|
<table border="0" width="100%" class="fancy">
|
|
<thead>
|
|
<tr>
|
|
<th>Application Link</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<xsl:for-each select="./bebop:cell">
|
|
<tr><td>
|
|
<xsl:apply-templates select="bebop:link"/>
|
|
</td></tr>
|
|
</xsl:for-each>
|
|
</tbody>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:radioGroup[@class='colorchoices']">
|
|
<table class="colorband">
|
|
<tr>
|
|
<xsl:for-each select="bebop:radio">
|
|
<td bgcolor="{@value}"></td>
|
|
</xsl:for-each>
|
|
</tr>
|
|
<tr>
|
|
<xsl:for-each select="bebop:radio">
|
|
<td><xsl:apply-templates select="."/></td>
|
|
</xsl:for-each>
|
|
</tr>
|
|
</table>
|
|
</xsl:template>
|
|
|
|
<!-- The template below overrides bebop Link.xsl action link spec so that
|
|
we can have a different image -->
|
|
<xsl:template name="bebop:actionLink" match="bebop:link[@class='actionLink']">
|
|
<!-- Begin Image -->
|
|
|
|
<!-- Image JavaScript -->
|
|
<script LANGUAGE="JavaScript">
|
|
<![CDATA[ <!-- begin script ]]>
|
|
|
|
<!-- This is ugly, but I need the whole output on one line =p -->
|
|
<![CDATA[ document.write(']]><a href="{@href}" onclick="{@onclick}"><img src="{$contextPath}/assets/action-generic.png" border="0" width="11" height="11"><xsl:attribute name="alt"><xsl:apply-templates mode="javascript-mode"/></xsl:attribute></img><![CDATA[')]]>
|
|
<![CDATA[ document.write(']]></a><![CDATA[')]]>
|
|
<![CDATA[ // end script --> ]]>
|
|
</script>
|
|
|
|
<!-- Image No JavaScript -->
|
|
<script LANGUAGE="JavaScript">
|
|
<![CDATA[ <!-- begin script ]]>
|
|
<![CDATA[document.write("\<!--") ]]>
|
|
<![CDATA[ // end script --> ]]>
|
|
</script>
|
|
|
|
<a href="{@href_no_javascript}">
|
|
<img src="{$contextPath}/assets/action-generic.png" border="0" width="11" height="11">
|
|
<xsl:attribute name="alt">
|
|
<xsl:apply-templates/>
|
|
</xsl:attribute>
|
|
</img>
|
|
</a>
|
|
|
|
<script LANGUAGE="JavaScript">
|
|
<![CDATA[ <!-- begin script ]]>
|
|
<![CDATA[document.write("\<!--") ]]>
|
|
<![CDATA[ // end script --> ]]>
|
|
</script>
|
|
|
|
<!-- Begin Link -->
|
|
|
|
<xsl:text> </xsl:text>
|
|
|
|
<script LANGUAGE="JavaScript">
|
|
<![CDATA[ <!-- begin script ]]>
|
|
|
|
<!-- This is ugly, but I need the whole output on one line =p -->
|
|
<![CDATA[ document.write(']]><a><xsl:for-each select="@*[name() != 'href_no_javascript']"><xsl:attribute name="{name()}"><xsl:value-of select="."/></xsl:attribute></xsl:for-each><xsl:apply-templates mode="javascript-mode"/><![CDATA[')]]>
|
|
<![CDATA[ document.write(']]></a><![CDATA[')]]>
|
|
<![CDATA[ // end script --> ]]>
|
|
</script>
|
|
|
|
<script LANGUAGE="JavaScript">
|
|
<![CDATA[ <!-- begin script ]]>
|
|
<![CDATA[document.write("\<!--") ]]>
|
|
<![CDATA[ // end script --> ]]>
|
|
</script>
|
|
<a>
|
|
<xsl:for-each select="@*[name() != 'href']">
|
|
<xsl:choose>
|
|
<xsl:when test="name() = 'href_no_javascript'">
|
|
<xsl:attribute name="href">
|
|
<xsl:value-of select="."/>
|
|
</xsl:attribute>
|
|
</xsl:when>
|
|
<xsl:when test="name() = 'onclick'">
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:attribute name="{name()}">
|
|
<xsl:value-of select="."/>
|
|
</xsl:attribute>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:for-each>
|
|
<xsl:apply-templates />
|
|
</a>
|
|
|
|
<script LANGUAGE="JavaScript">
|
|
<![CDATA[ <!-- begin script ]]>
|
|
<![CDATA[ document.write("--\>") ]]>
|
|
<![CDATA[ // end script --> ]]>
|
|
</script>
|
|
</xsl:template>
|
|
|
|
|
|
<xsl:template match="bebop:list[@class='onlinelist']">
|
|
<table border="1px" width="100%"><tr><td>
|
|
<table width="100%">
|
|
<tr bgcolor="#A21E1E">
|
|
<td><font color="#E1E1E1">Portal Name</font></td>
|
|
<td><font color="#E1E1E1">Creation Date</font></td>
|
|
</tr>
|
|
<xsl:for-each select="bebop:cell">
|
|
<tr>
|
|
<xsl:choose>
|
|
<xsl:when test="@selected">
|
|
<td><xsl:value-of select="bebop:label"/></td>
|
|
<td><xsl:value-of select="bebop:label/@style"/></td>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<td><xsl:apply-templates select="bebop:link"/></td>
|
|
<td><xsl:value-of select="bebop:link/@style"/></td>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</tr>
|
|
</xsl:for-each>
|
|
</table>
|
|
</td></tr></table>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bebop:list[@class='archivelist']">
|
|
<table border="1px" width="100%"><tr><td>
|
|
<table width="100%">
|
|
<tr bgcolor="#A21E1E">
|
|
<td><font color="#E1E1E1">Portal Name</font></td>
|
|
<td><font color="#E1E1E1">Archive Date</font></td>
|
|
</tr>
|
|
<xsl:for-each select="bebop:cell">
|
|
<tr>
|
|
<xsl:choose>
|
|
<xsl:when test="@selected">
|
|
<td><xsl:value-of select="bebop:label"/></td>
|
|
<td><xsl:value-of select="bebop:label/@style"/></td>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<td><xsl:apply-templates select="bebop:link"/></td>
|
|
<td><xsl:value-of select="bebop:link/@style"/></td>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</tr>
|
|
</xsl:for-each>
|
|
</table>
|
|
</td></tr></table>
|
|
</xsl:template>
|
|
|
|
</xsl:stylesheet>
|