458 lines
15 KiB
XML
Executable File
458 lines
15 KiB
XML
Executable File
<?xml version="1.0"?>
|
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
|
xmlns:bebop="http://www.arsdigita.com/bebop/1.0"
|
|
xmlns:bmrk="http://www.redhat.com/bmrk/1.0"
|
|
xmlns:admin="http://www.arsdigita.com/admin-ui/1.0"
|
|
xmlns:cms="http://www.arsdigita.com/cms/1.0"
|
|
version="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:output method="html" indent="yes"/>
|
|
|
|
<xsl:param name="internal-theme"/>
|
|
|
|
|
|
<xsl:template match="bebop:page[@class='bmrk']">
|
|
<html>
|
|
<head>
|
|
<title><xsl:value-of select="bebop:title"/></title>
|
|
<!--
|
|
<style type="text/css">
|
|
BODY { background: white; color: black}
|
|
.main {background-color: #ffffff;}
|
|
table.globalHeader { background-color: rgb(225,225,225);}
|
|
table.bottomRule { background: rgb(162,30,30);}
|
|
table.topRuleNoTabs { background: rgb(162,30,30);}
|
|
</style>
|
|
-->
|
|
|
|
<link rel="stylesheet" type="text/css" href="{$internal-theme}/css/acs-master.css" />
|
|
<link rel="stylesheet" type="text/css" href="{$internal-theme}/packages/cms/xsl/admin/cms-admin.css" />
|
|
|
|
<xsl:for-each select="bebop:stylesheet">
|
|
<link href="{@href}" rel="stylesheet" type="{@type}"/>
|
|
</xsl:for-each>
|
|
|
|
<xsl:value-of select="bmrk:styleblock" disable-output-escaping="yes"/>
|
|
|
|
</head>
|
|
<body>
|
|
<xsl:apply-templates select="bmrk:header"/>
|
|
|
|
<xsl:apply-templates select="bmrk:body"/>
|
|
|
|
<xsl:apply-templates select="bmrk:footer"/>
|
|
|
|
<xsl:apply-templates select="bmrk: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:link[@class='portalControlProfileLink']">
|
|
<xsl:call-template name="bebop:link" />
|
|
<br />
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bmrk:header">
|
|
|
|
<table id="global-header">
|
|
<tr>
|
|
<td id="context">
|
|
<xsl:if test="bebop:dimensionalNavbar[@class = 'portalNavbar']">
|
|
<xsl:apply-templates select="bebop:dimensionalNavbar[@class = 'portalNavbar']"/>
|
|
</xsl:if>
|
|
</td>
|
|
<td>
|
|
<table id="global-links">
|
|
<tr>
|
|
<td class="global-link-icon">
|
|
<a href="{../bmrk:global/bebop:link[@class = 'signoutLink']/@href}">
|
|
<img src="{$internal-theme}/images/lock.png" height="18" width="14"/>
|
|
</a>
|
|
</td>
|
|
<td class="global-link">
|
|
<a href="{../bmrk:global/bebop:link[@class = 'signoutLink']/@href}">
|
|
Sign out
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<div id="page-title">
|
|
<xsl:value-of select="../bebop:title"/>
|
|
<table class="localHeader">
|
|
<tr>
|
|
<td class="localControl">
|
|
<xsl:apply-templates select="bebop:link[@class = 'portalControlProfileLink']"/>
|
|
<xsl:apply-templates select="bebop:link[@class = 'portalControl']"/>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bmrk:body">
|
|
<div>
|
|
<div class="tabbed-pane">
|
|
|
|
<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 class="tab-set">
|
|
|
|
<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="current-tab-label" nowrap="nowrap"><xsl:value-of select="bebop:portal/@title"/></td>
|
|
<td class="current-tab-end"><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="{$internal-theme}/images/spacer.gif" height="3"/></td></tr>
|
|
<tr height="23">
|
|
<td class="tabBeginningOff"><xsl:text>  </xsl:text></td>
|
|
<td class="tab-label" 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>
|
|
|
|
</div>
|
|
|
|
<xsl:apply-templates/>
|
|
|
|
</div>
|
|
|
|
<table class="bottomRule">
|
|
<tr><td></td></tr>
|
|
</table>
|
|
|
|
</xsl:template>
|
|
|
|
<xsl:template match="bmrk:question-answer-pair" xmlns:bmrk="http://www.arsdigita.com/bmrk/1.0">
|
|
<p>
|
|
<a name="{../@key}"/>
|
|
<h2>
|
|
Q.
|
|
<xsl:apply-templates select="bebop:label[@class='question']"/>
|
|
</h2>
|
|
<blockquote>
|
|
<b>A.</b>
|
|
<xsl:apply-templates select="bebop:label[@class='answer']"/>
|
|
</blockquote>
|
|
</p>
|
|
</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:splitPanel">
|
|
<table class="current-pane">
|
|
<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="{$internal-theme}/images/spacer.gif" height="2"/></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="{$internal-theme}/images/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: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">
|
|
<xsl:for-each select="bebop:tabStrip/bebop:tab">
|
|
<xsl:choose>
|
|
<xsl:when test="@current">
|
|
<table class="selected">
|
|
<tr>
|
|
<td class="label"><xsl:apply-templates/></td>
|
|
<td class="end"/>
|
|
</tr>
|
|
</table>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<a href="{@href}">
|
|
<table class="unselected">
|
|
<tr>
|
|
<td class="label"><xsl:apply-templates/></td>
|
|
<td class="end"/>
|
|
</tr>
|
|
</table>
|
|
</a>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:for-each>
|
|
<div class="rule"/>
|
|
<xsl:apply-templates select="bebop:currentPane"/>
|
|
</div>
|
|
</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="bebop:label[@class='nullArrow']">
|
|
<img src ="{$internal-theme}/images/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="bmrk:styleblock">
|
|
</xsl:template>
|
|
|
|
<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="{$internal-theme}/images/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="{$internal-theme}/images/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:stylesheet>
|